Force: Frequency Dependent

Model ElementForce: Frequency Dependent defines a frequency dependent force and/or torque acting on a Reference_Marker.

Description

It can be used to model a frequency dependent force or a torque. The frequency dependent force or torque are defined with respect to another Reference_Marker. The components must be defined using a user defined subroutine. They may be a function of any system state and time.

Format

<Force_FreqDependent
       id                         = "integer"
     [ label                      = "string" ] 
       i_marker_id                = "integer"
       j_marker_id                = "integer"   
       ref_marker_id              = "integer"
       preload_expr               = "motionsolve_expression"
       dof                        = "real"  
       {
            usrsub_dll_name       = "valid_path_name"
            usrsub_param_string   = "USER( [[par_1 [, ...][,par_n]] )"
            usrsub_fnc_name       = "custom_fnc_name" >
          | script_name           = valid_path_name             
            interpreter           = "string"  
            usrsub_param_string   = "USER( [[par_1 [, ...][,par_n]] )"
            usrsub_fnc_name       = "custom_fnc_name"     
       }               
/>

Attributes

id
Element identification number (integer>0). This number is unique among all Force_FreqDependent elements.
label
The name of the Force_FreqDependent element.
i_marker_id
Specifies the Reference_Marker at which the force is applied. This is designated as the point of application of the force.
j_marker_id
Specifies the ​Reference_Marker​ at which an equal and opposite reaction force is applied.
ref_marker_id
Specifies the Reference_Marker whose coordinate system is used as the basis for defining the components of the force.
dof
Specifies the degrees of freedom in which Force_FreqDependent is defined from 1 to 6, representing the translation x,y,z and the rotation z,y,z.
preload_expr
Specifies the time domain preload as a function expression. This preload from the previous static or transient analysis is used in FFOSUB in a frequency response analysis.
usrsub_param_string
The list of parameters that are passed from the data file to the user defined subroutine. Use this keyword only when type = USERSUB is selected.
usrsub_dll_name
Specifies the path and name of the DLL or shared library containing the user subroutine. MotionSolve uses this information to load the user subroutine in the DLL at run time.
usrsub_fnc_name
Specifies an alternative name for the user subroutine FFOSUB.
script_name
Specifies the path and name of the user written script that contains the routine specified by usrsub_fnc_name.
interpreter
Specifies the interpreted language that the user script is written in (example: "PYTHON"). See User-Written Subroutines for a choice of valid interpreted languages.

Example

The following example shows the use of a Force_FreqDependent element to model a force in the X direction along Reference_Marker 1, using the subroutine ffosub.py with a preload expression from a previous time domain simulation.

<Force_FreqDependent
     id                   = "18"
     dof                  = "1"
     i_marker_id          = "1801"
     j_marker_id          = "1802"
     ref_marker_id        = "1"
     usrsub_param_string  = "USER()"
     interpreter          = "Python"
     script_name          = "ffosub.py"
     usrsub_fnc_name      = "FFOSUB"
     preload_expr         = "DZ(30101011,30102020,30101010)"
/>

Comments

  1. i_marker_id is designated as the point of application of the Force_FreqDependent.
  2. ​preload_expr​ can be any time domain expression, depending on the usage in ​FFOSUB
  3. Force_FreqDependent can act on all types of bodies: Body_Rigid, Body_Flexible, and Body_Point.