Model Element |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Force_PTdSF element defines a contact force between a deformable surface and point. The deformable surface is defined using the Reference_DeformSurface element. A sphere of an arbitrary radius is specified to be centered at the point. When the distance between the point and the surface becomes less than the sphere radius, a repulsive contact force is applied. Two types of contact force models are supported: Linear and Poisson. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Format |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
<Force_PTdSF id = "integer" [ label = "string" ] i_marker_id = "integer" [ radius = "real" ] ref_dsurface_id = "integer" { force_model = "LINEAR" [ stiffness = "real" ] [ damping = "real" ] | force_model = "POISSON" [ penalty = "real" ] [ restitution_coef = "real" ] | force_model = "USERSUB" { usrsub_param_string = "USER( [[par_1][, ...][, par_n]] )" [ usrsub_dll_name = "valid_path_name" [ usrsub_fnc_name = "custom_fnc_name" ] | script_name = valid_path_name interpreter = "PYTHON" | "MATLAB" usrsub_param_string = "USER( [[par_1 [, ...][,par_n]] )" [ usrsub_fnc_name = "custom_fnc_name" ] } } [ flip_normal = { "TRUE" | "FALSE" } ] /> |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Attributes |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
Element identification number (integer>0). This number is unique among all Force_PTdSF elements. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
label |
The name of the Force_PTdSF elements. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
i_marker_id |
Specifies a Reference_Marker used to define a sphere geometry. The sphere is centered at the origin of the Reference_Marker and is attached to the parent body of the Reference_Marker. The radius of this sphere is specified by the radius attribute. This sphere geometry is used for detecting contact with the deformable surface. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
radius |
Radius of the sphere geometry centered at the origin of the I marker. Default = 0.0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
ref_dsurface_id |
Specifies the deformable surface used to define the Force_PTdSF element. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
force_model |
Select from LINEAR, POISSON or USERSUB. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
stiffness |
Stiffness coefficient for the contact force model. Only used when the force_model is set to LINEAR. The stiffness must be positive. Default = 0.0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
damping |
Damping coefficient for the contact force model. Only used when the force_model is set to LINEAR. The damping must be positive. Default = 0.0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
penalty |
Specifies the stiffness coefficient that is to be used for calculating the spring force. A large value for penalty permits only a small penetration between the two contacting geometries; a small value permits a larger penetration. Hertzian contact theory may be used to estimate the local stiffness. See The Roark's Formulas for Stress and Strain for more information on calculating Hertzian contact stiffness parameters. Only used when the force_model is set to POISSON. The penalty must be positive. Default = 0.0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
restitution_coef |
Defines the coefficient of restitution (COR) between the contacting bodies. A value of zero specifies perfectly plastic contact meaning that the two bodies coalesce after contact. A value of one specifies perfectly elastic contact. No energy is lost in the collision and the relative velocity of separation equals the relative velocity of approach. Only used when the force_model is set to POISSON. The restitution_coef must lie between 0.0 and 1.0. Default = 1.0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
usrsub_param_string |
The list of parameters that are passed from the data file to the user defined subroutine, PTDSFSUB. This attribute is common to all types of user subroutines and scripts. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 the name of the function to be called by MotionSolve. The default function name is PTDSFSUB. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
script_name |
Specifies the path and name of the user written script that contains the routine specified by usrsub_fnc_name. Only used when the interpreter is set to PYTHON or MATLAB. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
interpreter |
Specifies the interpreted language that the user script is written in. Valid choices are MATLAB or PYTHON. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
flip_normal |
A Boolean flag (TRUE/FALSE). TRUE means that the element normals are generated using the right hand rule. Specifically, if one curls the fingers of the right hand in the order N1, N2, and N3 of a triangular element, then the thumb provides the direction of the normal vector. FALSE means the converse: The normal vector points in the direction opposite to the right hand thumb. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comments |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
where Force_PTdSF may thus be used to simulate flex to rigid body contact by attaching the deformable surface to the nodes of a flexible body.
Note:
If the current u or v value goes out of this range, MotionSolve will not calculate a force for that element. However, this may lead to incorrect results. You are encouraged to check the results for correctness in such a situation. For more information, please refer to the Reference_DeformSurface model element.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
<Reference_DeformSurface id = "1" end_type = "NATURAL" num_marker_row = "7" num_marker_col = "7"> 30101490 30101500 30101510 30101520 30101530 30101540 30101540 30101420 30109781 30113791 30117801 30121811 30125821 30101480 30101350 30108711 30112721 30116731 30120741 30124751 30101410 30101120 30102061 30103071 30104081 30105091 30106101 30101130 30101140 30110571 30114581 30118591 30122601 30126611 30101200 30101210 30111641 30115651 30119661 30123671 30127681 30101270 30101280 30101290 30101300 30101310 30101320 30101330 30101340 </Reference_DeformSurface>
<Force_PTdSF id = "1" i_marker_id = "30107850" radius = "10.0" ref_dsurface_id = "1" force_model = "LINEAR" stiffness = "1000.0" damping = "0.1" />
<Post_Graphic id = "500000" type = "DeformSurface" surface_id = "1" nseg_u = "30" nseg_v = "30" /> |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note: You must ensure that the starting position of the point referenced by the i_marker_id in the Force_PTdSF element is within the range described above. If this is not the case, the simulation may fail. |
Model Element |
|
Description |
|
PTDSFF defines a force between a point and a deformable surface. |
|
Declaration |
|
def PTDSFF(id, LABEL=””, I=, DSURFACE=, FLIP_NORMAL= False, RADIUS=, FORCE_MODEL= "", STIFFNESS= 0.0, DAMPING= 0.0, PENALTY= 0.0, RESTITUTION_COEF= 1.0, FUNCTION="", ROUTINE="", SCRIPT=""): |
|
Attributes |
|
id |
Element identification number (integer>0). This number is unique among all PTDSFF elements. |
LABEL |
The name of the PTDSFF element. |
I |
Defines the marker ID of the point. |
DSURFACE |
Defines the ID of the deformed surface. |
FLIP_NORMAL |
Specifies whether the deformable surface normal should be flipped. Choose from TRUE or FALSE. |
RADIUS |
Specifies the radius of the spherical geometry centered at marker I. |
FORCE_MODEL |
Specifies the force model. Select from the options LINEAR, POISSON, or USERSUB. |
STIFFNESS |
Specifies the stiffness coefficient for the LINEAR contact force model. |
DAMPING |
Specifies the damping coefficient for the LINEAR contact force model. |
PENALTY |
Specifies the penalty parameter for the POISSON contact force model. |
RESTITUTION_COEF |
Specifies the restitution coefficient for the POISSON contact force model. |
FUNCTION |
The list of parameters that are passed from the data file to the user defined subroutine. This attribute is common to all types of user subroutines and scripts. |
ROUTINE |
Specifies an alternative name for the user subroutine PTDSFSUB. |
SCRIPT |
Specifies the path and name of the user written script that contains the routine. |
CommentsSee Force_PTDSF |
|
ExampleThe example below shows a definition of a PTDSFF. PTDSFF(1, I=30107780, DSURFACE=1, RADIUS=10.0, FORCE_MODEL="LINEAR", STIFFNESS=1000.0, DAMPING=0.1) |