4.8.3.10. GET_FFLEX_NODEACC

GET_FFLEX_NODEACC subroutine returns acceleration vectors for a node of FFlex body. This is an auxiliary subroutine for Nodal_Force and Nodal_Force_Ext.

Table 4.65 Function Name

Language type

Subroutine

FORTRAN

call get_fflex_nodeacc (ifbody,NodeSeq,MKID,nMK,Acc,ErrFlg)

C/C++

get_fflex_nodeacc (ifbody,NodeSeq,MKID[2],2,Acc,&Errflg)

Table 4.66 Parameter information

Variable Name

Size

Description

ifbody

int

Sequential id of FFlex body defined in RecurDyn/Solver. This is a related argument with the 5th argument of Nodal_Force_Ext subroutine.

NodeSeq

int

Node sequential id defined in RecurDyn/Solver. This is a related argument with the 6th argument of Nodal_Force_Ext subroutine.

MKID

int[2]

An array of integer type. Each value should be zero or a marker id. 1st value is defined as base marker. 2nd value is defined as reference marker.

nMK

double*

An integer variable for considering base and reference marker. If nMK is 0, then the subroutine returns global acceleration vectors of NodeSeq. If nMK is 1, then the subroutine calculates acceleration vectors considering base marker. If nMK is 2, then the subroutine calculates acceleration vectors considering base and reference marker.

Acc

double[6]

An array of double precision type. The array size must be 6. First 3 values mean a relative acceleration vector.
\(\frac{d^2}{dt^2} \left\{ \mathbf{A}_{r}^{T}(\mathbf{r_FFlexNode}-\mathbf{r}_b) \right\}\)
Where,
\(\mathbf{A}_{r}\) is a orientation matrix of the reference marker (=MKID[1]).
\({{\mathbf{r}}_{FFlexNode}}\) is a global position vector of NodeSeq.
\({{\mathbf{r}}_{b}}\) is a global position vector of the base marker (=MKID[0]).
The last 3 values mean a relative angular acceleration vector.
\(\frac{d^2}{dt^2}\left\{ \mathbf{A}_{r}^{T}(\mathbf{\omega}_{FFlexNode}-\mathbf{\omega}_b)\right\}\)
Where,
\({{\mathbf{\omega }}_{FFlexNode}}\) is a global angular velocity vector of NodeSeq.
\({{\mathbf{\omega }}_{b}}\) is a angular velocity vector of the base marker (=MKID[0]).

Errflg

int

Error flag.
If the result of this argument is -1 (means TRUE in Fortran logical value), there is no error.
The others mean that there is an error.

Code Example

Refer to GET_FFLEX_NODEPOS.