!DEC$ FREEFORM SUBROUTINE eval(F1Old, F1, tempOld, temp, sysT, delta, S1, Jac, nPar, par, nStates1, states1, nStates2, states2) BIND(C,NAME="eval") use iso_c_binding IMPLICIT none !!! Declaration of COMSOL-parameters !!! INTEGER(kind=c_int), INTENT(in) :: nPar, nStates1, nStates2 REAL(kind=c_double), DIMENSION(3,3), INTENT(in) :: F1Old, F1 ! Deformation gradient at current and previous step REAL(kind=c_double), DIMENSION(9), INTENT(in) :: sysT REAL(kind=c_double), INTENT(in) :: tempOld, temp, delta ! Current temperature and reference temperature for strain REAL(kind=c_double), DIMENSION(nPar), INTENT(in) :: par REAL(kind=c_double), DIMENSION(nStates1), INTENT(inout) :: states1 REAL(kind=c_double), DIMENSION(nStates2), INTENT(inout) :: states2 REAL(kind=c_double), DIMENSION(6), INTENT(out) :: S1 ! Second Piola-Kirchhoff stress in local configuration REAL(kind=c_double), DIMENSION(6,9), INTENT(out) :: Jac ! Jacobian S1 = 0._c_double Jac = 0._c_double Jac(1,1) = 1._c_double Jac(2,2) = 1._c_double Jac(3,3) = 1._c_double Jac(4,4) = 1._c_double Jac(4,5) = 1._c_double Jac(5,6) = 1._c_double Jac(5,7) = 1._c_double Jac(6,8) = 1._c_double Jac(6,9) = 1._c_double states1 = 0._c_double states2 = 0._c_double END SUBROUTINE eval