C---- SUB. AXIAL_FORCE : AXIAL(TRA,ROT) SUBROUTINE AXIAL_FORCE & (TIME,UPAR,NPAR,JFLAG,IFLAG,RESULT) C---- TO EXPORT * SUBROUTINE !DEC$ ATTRIBUTES DLLEXPORT,C::AXIAL_FORCE
C---- INCLUDE SYSTEM CALL INCLUDE 'SYSCAL.F'
C---- DEFINE VARIABLES C Parameter Information C TIME : Simulation time of RD/Solver. (Input) C UPAR : Parameters defined by user. (Input) C NPAR : Number of user parameters. (Input) C JFLAG : When RD/Solver evaluates a Jacobian, the flag is true. (Input) C IFLAG : When RD/Solver initializes arrays, the flag is true. (Input) C RESULT : Returned axial force or torque value. (Output)
DOUBLE PRECISION TIME, UPAR(*) INTEGER NPAR LOGICAL JFLAG, IFLAG DOUBLE PRECISION RESULT[REFERENCE]
C---- USER STATEMENT C---- LOCAL VARIABLE DEFINITIONS DOUBLE PRECISION VALUE(3),DY,VY DOUBLE PRECISION MKID(6),PI INTEGER ID(2) LOGICAL ERRFLG
C---- ASSIGN IMPACT PARAMETERS ID(1) = INT(UPAR(1)) ID(2) = INT(UPAR(2)) DO I = 1, 6 MKID(I) = UPAR(I+2) ENDDO PI = ACOS(-1.0D0)
C---- CALL AUXILIARY SUBROUTINES FOR CALCULATIONS CALL SYSFNC('DY',ID,2,DY,ERRFLG) CALL SYSFNC('VY',ID,2,VY,ERRFLG)
CALL RD_BISTOP(DY,VY,MKID(1),MKID(2),MKID(3),MKID(4),MKID(5), & ,MKID(6),0,VALUE,ERRFLG)
C---- ASSIGN THE RETURNED VALUE RESULT = VALUE(1)
RETURN END |