Model ElementNforce defines a force and torque acting between many markers. The
force and the torque can only be linear functions of the relative displacement and velocity
of the various markers.
Attribute Summary
Name |
Property |
Modifiable by
command? |
Designable? |
id |
Int
() |
|
|
label |
Str
() |
Yes |
|
imarkers |
Reference (Marker, count=0) |
|
Yes |
j |
Reference (Marker) |
Yes |
Yes |
cratio |
Double () |
Yes |
FD Only |
cmatrix |
Reference ("Matrix") |
Yes |
FD Only |
kmatrix |
Reference ("Matrix") |
Yes |
FD Only |
length |
Reference ("Matrix") |
Yes |
FD Only |
force |
Reference ("Matrix") |
Yes |
FD Only |
active |
Bool
() |
Yes |
|
Usage
Nforce (j=objMarker, imarkers=list, kmatrix=objMatrix, optional_attributes)
Attributes
- j
- Reference to an existing Marker object
- Specifies the Marker that is the reference coordinate system for
Nforce. All inputs such as stiffness and damping
matrices and forces are measured in j. Relative
displacements, velocities and force vectors are computed in this coordinate
system.
- The j attribute is mandatory.
- imarkers
- List of existing Marker objects
- Specifies the list of IMARKERS between which the NFORCE
is applied.
- The imarkers attribute is mandatory.
- kmatrix
- Reference to an existing Matrix object
- Specifies the MATRIX element which contains the stiffness matrix. This is an
6N*6N matrix, where N is the
number of I markers.
- The kmatrix attribute is mandatory.
- kmatrix should be positive semi-definite. This means for
any deformation Δ, the matrix product
ΔT[kmatrix]Δ ≥ 0.
- id
- Integer
- Specifies the element identification number. This number must be unique
among all the Nforce objects in the model.
- This attribute is optional. MotionSolve will
automatically create an ID when one is not specified.
- Range of values: id > 0
- label
- String
- Specifies the name of the Nforce object.
- This attribute is optional. When not specified, MotionSolve will create a label for you.
- cratio
- Double
- Defines a damping scale factor. If this is specified, the damping matrix is
calculated as C = cratio * K.
- The cratio attribute is optional.
- cratio ≥ 0
- The default value for cratio = 0
Note: cratio and cmatrix are
mutually exclusive. You may specify neither or only one of
these.
- cmatrix
- Reference to an existing Matrix object
- Specifies the MATRIX element that contains the damping
matrix. This is a 6N*6N matrix, where
N is the number of I markers.
- The cmatrix attribute is optional.
- Default is a zero matrix.
- When specified, cmatrix should be positive semi-definite.
This means for any deformation velocity
v, the matrix product
vT[cmatrix]v ≥ 0.
Note: cratio and cmatrix are
mutually exclusive. You may specify neither or only one of
these.
- force
- Reference to an existing Matrix object
- Specifies the 6N*1 MATRIX element which contains the
preload values for each pair of markers between which the
NFORCE is applied. N is the number
of IMARKERS.
- The force attribute is optional.
- Default is a zero matrix.
- length
- Reference to an existing Matrix object
- Specifies the 3N*1
MATRIX element which contains the length values for each
pair of markers between which the NFORCE is applied.
N is the number of IMARKERS.
- The length attribute is optional.
- When omitted, the imarkers are taken to be at their
reference locations. This means that at the input configuration, all
deformations are computed as zero.
- active
- Boolean
- Select one from "TRUE" or "FALSE"
- "TRUE" indicates that the element is active in the model and it affects
the behavior of the system
- "FALSE" indicates that the element is inactive in the model and it does
not affect the behavior of the system. It is almost as if the entity
was removed from the model, of course with the exception that can be
turned "ON" when desirable.
- The attribute active is optional. When not specified,
active defaults to "TRUE".
Example
The example below shows how the
NFORCE element may be
defined.
# Define the necessary markers
m10 = Marker (body=p10, qp=[1.4,3.1,1.61], zp=[1.5,3.1,1.61])
m101 = Marker (body=p11, qp=[-4.4, 9.3, 5.31])
m102 = Marker (body=p12, qp=[8.14, 2.01, 1.11])
m103 = Marker (body=p13, qp=[0.0, 4.56,2.02])
# Define the Nforce
nfo1 = Nforce (label="Truss", j=m10, imarkers=[m101,m102,m103], kmatrix=mat11, cratio=0.01)