Field
Class Field()
Field(parent='MODEL', name='Field_n', label='Field_n', active=True,
b1=None, b2=None, k=36 * [0], c=36 * [0], f=6 * [0], length=6 * [0],
damping_type='CRATIO', cratio=0, origin=None, ornt_meth='TWOAXES')
Creates a field.
Keyword Arguments
Argument | Data Type | Description | Default |
---|---|---|---|
name | String | The variable name. | Field_n, for next available integer n. |
label | String | The descriptive label. | Field_n, for next available integer n. |
parent | Object | The parent. | MODEL |
active | Boolean | Used to activate or deactivate this entity. | True |
b1 | Body | The first body constrained by the field. | None |
b2 | Body | The second body constrained by the field. | None |
k | NumericVector | Stiffness values of the 6x6 stiffness matrix. | 36*[0] |
c | NumericVector | The damping coefficients of the 6x6 damping matrix. | 36*[0] |
f | NumericVector | The force values for the six components (3 forces, 3 torques) at the corresponding lengths (length1 : length6). Zero force would mean a free length at the given lengths. | 6*[0] |
length | NumericVector | The reference lengths between the i marker and the j marker. | 6*[0] |
damping_type | Enum | Use CRATIO to apply damping as a percentage of stiffness, or use MATRIX to supply a 6x6 damping matrix. One of MATRIX or CRATIO. | CRATIO |
cratio | Double | Damping as a percentage of stiffness, applied to each stiffness. | 0 |
origin | Reference | The location. | None |
ornt_meth | Enum | The orientation method. One of TWOAXES, ONEAXIS or ANGLES. | TWOAXES |
ornt_dir1 | Enum | The direction used to orient axis 1. One of X, Y or Z. | Z |
align_meth1 | MultiRef | Alignment method for axis 1. One of Point, Vector or DxDyDz. | DxDyDz |
align_pt1 | Reference | The point when align_meth1 is Point. | None |
align_vec1 | Reference | The point reference when align_meth1 is Point. | None |
ornt_dir2 | Enum | The direction used to orient axis 2. One of X, Y or Z. | X |
align_meth2 | MultiRef | Alignment method for axis 1. One of Point, Vector or DxDyDz. | DxDyDz |
align_pt2 | Reference | The point when align_meth2 is Point. | None |
align_vec2 | Reference | The point reference when align_meth2 is Point. | None |
e1 | Double | The e1 Euler angle (z:x':z'') in radians with respect to rm. | 0 |
e2 | Double | The e2 Euler angle (z:x':z'') in radians with respect to rm. | 0 |
e3 | Double | The e3 Euler angle (z:x':z'') in radians with respect to rm. | 0 |
rm | Reference | The reference marker when ornt_meth is ANGLES. | Global_Frame |
x1 | Double | The direction cosine x1 for axis 1. | 0 |
y1 | Double | The direction cosine y1 for axis 1. | 0 |
z1 | Double | The direction cosine z1 for axis 1. | 1 |
x2 | Double | The direction cosine x2 for axis 2. | 1 |
y2 | Double | The direction cosine y2 for axis 2. | 0 |
z2 | Double | The direction cosine z2 for axis 2. | 0 |
user | Bool | Use user defined properties, if true. | False |
usr_sub | Function | The expression passed to the user dll. When using solver expressions, Templex syntax (within ) is used and all variables are enclosed in braces {} and the rest is treated as literal. | 'USER()' |
local_funcname | String | The function/subroutine name. | 'MOTSUB' |
use_local_dll | Bool | Uses a local function instead of default if True. | False |
local_dll | File | The path of the local dll which has the local_funcname. | '' |
local_func_type | Enum | The type of the user subroutine. one of DLL, PYTHON or MATLAB. | 'DLL' |
Instances
Instance | Type | Description |
---|---|---|
xaxis | Vector | The vector in x direction of orientation. |
yaxis | Vector | The vector in y direction of orientation. |
zaxis | Vector | The vector in z direction of orientation. |
Examples
Create and modify attributes of a
Field.
>>> # Import mview module
>>> from hw import mview
>>> #Create a field
>>> f = mview.Field()
>>> b_1 = mview.Body()
>>> b_2 = mview.Body()
>>> p1 = mview.Point()
>>> f.b1 = b_1
>>> f.b2 = b_2
>>> f.origin = p1
>>> f.b1.name
'Body_1'
>>> f.b2.name
'Body_2'
>>> f.damping_type
'CRATIO'
>>> # Change the damping value
>>> f.cratio = 0.4
>>> f.cratio
0.4
>>> # Change the force values for the six components
>>> f.f = [1,2,3,4,5,6]
>>> f.f
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]