SYSARY

 

SYSARY subroutine returns an array of values when it is invoked.

 

Langunage type

SubRoutine

FORTRAN

call sysary(what, mkid, nid, result, nresult, errflg)

C/C++

sysary(what, mkid, nid, &result, nresult, errflg)

 

Where FORCE is type for SYSARY subroutine, mkid and nid must be defined as an integer array and integer. The force_x must be defined as a double precision. The errflg must be defined as a logical in FORTRAN language or an integer in C/C++ language.

 

Parameter information

 

Variable Name

Size

Description

what

char [30]

The type name.

mkid

int *

The ID array of marker.

nid

int

The number of marker in mkid array.

result

double *

The Result array.

nresult

int

Ending point of the SWEEP function. (x value)

errflg

logical

If an error is encountered in invoking Predefined subroutine, this variable becomes true. This variable must be declared as a logical variable.

 

The available types are tabulated in SYSARY as follows.

 

TYPES FOR SYSARY

 

     FORCE

 

FUNCTION ARRANGEMENT NAME

FORCE

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

6

RESULT

Result(1) = FX Result(2) = FY Result(3) = FZ

Result(4) = TX Result(5) = TY Result(6) = TZ

TYPE

Force & Torque

 

     TFORCE

 

FUNCTION ARRANGEMENT NAME

TFORCE

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = FX Result(2) = FY Result(3) = FZ

TYPE

Force

 

     RFORCE

 

FUNCTION ARRANGEMENT NAME

RFORCE

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = TX Result(2) = TY Result(3) = TZ

TYPE

Torque

 

     DISP

 

FUNCTION ARRANGEMENT NAME

DISP

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

6

RESULT

Result(1) = DX Result(2) = DY Result(3) = DZ

Result(4) = PSI Result(5) = THETA Result(6) = PHI

TYPE

 

 

     TDISP

 

FUNCTION ARRANGEMENT NAME

TDISP

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = DX Result(2) = DY Result(3) = DZ

TYPE

 

 

     RDISP

 

FUNCTION ARRANGEMENT NAME

RDISP

SIZE_INTEGER_PARAMETER

1 – 2

SIZE_RESULT

3

RESULT

Result(1) = PSI Result(2) = THETA Result(3) = PHI

TYPE

 

 

     AM

 

FUNCTION ARRANGEMENT NAME

AM

SIZE_INTEGER_PARAMETER

1 – 2

SIZE_RESULT

9

RESULT

Result(1) = A(1,1) Result(2) = A(2,1)

Result(3) = A(3,1) Result(4) = A(1,2)

Result(5) = A(2,2) Result(6) = A(3,2)

Result(7) = A(1,3) Result(8) = A(2,3)

Result(9) = A(3,3)

TYPE

 

 

     VEL

 

FUNCTION ARRANGEMENT NAME

VEL

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

6

RESULT

Result(1) = VX Result(2) = VY

Result(3) = VZ Result(4) = WX

Result(5) = WY Result(6) = WZ

TYPE

 

 

     TVEL

 

FUNCTION ARRANGEMENT NAME

TVEL

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = VX Result(2) = VY Result(3) = VZ

TYPE

 

 

     RVEL

 

FUNCTION ARRANGEMENT NAME

RVEL

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = WX Result(2) = WY Result(3) = WZ

TYPE

 

 

     ACC

 

FUNCTION ARRANGEMENT NAME

ACC

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

6

RESULT

Result(1) = ACCX Result(2) = ACCY

Result(3) = ACCZ Result(4) = WDTX

Result(5) = WDTY Result(6) = WDTZ

TYPE

 

 

     TACC

 

FUNCTION ARRANGEMENT NAME

TACC

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = ACCX Result(2) = ACCY Result(3) = ACCZ

TYPE

 

 

     RACC

 

FUNCTION ARRANGEMENT NAME

RACC

SIZE_INTEGER_PARAMETER

1 – 3

SIZE_RESULT

3

RESULT

Result(1) = WDTX Result(2) = WDTY Result(3) = WDTZ

TYPE

 

q

Note

The SYSARY function should be called every time in the user subroutine. Because the mkid used in the SYSARY function is registered only one time initially. Using SYSARY within if statement is highly unrecommended.