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 C upar: Parameters defined by user C npar: Number of user parameters C jflag: When RD/Solver evaluates a Jacobian, the flag is true. C iflag: When RD/Solver initializes arrays, the flag is true. C result: Returned value
DOUBLE PRECISION TIME, UPAR(*) INTEGER NPAR LOGICAL JFLAG, IFLAG DOUBLE PRECISION RESULT[REFERENCE] CHARACTER(len=256) messageString;
C---- USER STATEMENT
C---- LOCAL VARIABLE DEFINITIONS INTEGER MKID(3), ID, OPENFILE(1), ivar DOUBLE PRECISION DISP, VALUE(1) LOGICAL ERRFLG, REPFLG
C---- ASSIGN IMPACT PARAMETERS MKID(1) = INT(UPAR(1)) MKID(2) = INT(UPAR(2)) MKID(3) = INT(UPAR(3)) ID = INT(UPAR(4))
C---- CALL AUXILIARY SUBROUTINES FOR CALCULATIONS CALL SYSFNC('DX', MKID, 3, DISP, ERRFLG) CALL RD_AKISPL(DISP, 0, ID, 0, VALUE(1), ERRFLG)
C---- ASSIGN THE RETURNED VALUE RESULT = VALUE(1)
C---- WRITE RESULTS IN THE OUTPUT WINDOW WRITE(messageString,*) 'Result = ',RESULT CALL PRINTMSG(messageString//char(0),len(trim(messageString)))
RETURN END |