diff --git a/examples/ConfigFiles/numerics.yaml b/examples/ConfigFiles/numerics.yaml index 4180a7d8a..2ff31930e 100644 --- a/examples/ConfigFiles/numerics.yaml +++ b/examples/ConfigFiles/numerics.yaml @@ -78,7 +78,6 @@ crystallite: iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp commercialFEM: - ijacostiffness: 1 # frequency of stiffness update unitlength: 1 # physical length of one computational length unit generic: diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index 05255e2a1..ec36ffe12 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -103,7 +103,6 @@ end subroutine CPFEM_initAll subroutine CPFEM_init class(tNode), pointer :: & - num_commercialFEM, & debug_CPFEM print'(/,a)', ' <<<+- CPFEM init -+>>>'; flush(IO_STDOUT) @@ -112,12 +111,6 @@ subroutine CPFEM_init allocate(CPFEM_dcsdE( 6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) allocate(CPFEM_dcsdE_knownGood(6,6,discretization_nIP,discretization_nElem), source= 0.0_pReal) -!------------------------------------------------------------------------------ -! read numerical parameters and do sanity check - num_commercialFEM => config_numerics%get('commercialFEM',defaultVal=emptyDict) - num%iJacoStiffness = num_commercialFEM%get_asInt('ijacostiffness',defaultVal=1) - if (num%iJacoStiffness < 1) call IO_error(301,ext_msg='iJacoStiffness') - !------------------------------------------------------------------------------ ! read debug options @@ -161,7 +154,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS integer(pInt) elCP, & ! crystal plasticity element number i, j, k, l, m, n, ph, homog, mySource - logical updateJaco ! flag indicating if Jacobian has to be updated real(pReal), parameter :: ODD_STRESS = 1e15_pReal, & !< return value for stress if terminallyIll ODD_JACOBIAN = 1e50_pReal !< return value for jacobian if terminallyIll @@ -204,12 +196,11 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS CPFEM_dcsde(1:6,1:6,ip,elCP) = ODD_JACOBIAN * math_eye(6) else validCalculation - updateJaco = mod(cycleCounter,num%iJacoStiffness) == 0 FEsolving_execElem = elCP FEsolving_execIP = ip if (debugCPFEM%extensive) & print'(a,i8,1x,i2)', '<< CPFEM >> calculation for elFE ip ',elFE,ip - call materialpoint_stressAndItsTangent(updateJaco, dt) + call materialpoint_stressAndItsTangent(dt) terminalIllness: if (terminallyIll) then diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index dc6430c72..b32e8aa5f 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -827,7 +827,7 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& materialpoint_F = reshape(F,[3,3,1,product(grid(1:2))*grid3]) ! set materialpoint target F to estimated field - call materialpoint_stressAndItsTangent(.true.,timeinc) ! calculate P field + call materialpoint_stressAndItsTangent(timeinc) ! calculate P field P = reshape(materialpoint_P, [3,3,grid(1),grid(2),grid3]) P_av = sum(sum(sum(P,dim=5),dim=4),dim=3) * wgt ! average of P diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 0e9ca386b..9ba5ae6de 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -204,10 +204,9 @@ end subroutine homogenization_init !-------------------------------------------------------------------------------------------------- !> @brief parallelized calculation of stress and corresponding tangent at material points !-------------------------------------------------------------------------------------------------- -subroutine materialpoint_stressAndItsTangent(updateJaco,dt) +subroutine materialpoint_stressAndItsTangent(dt) real(pReal), intent(in) :: dt !< time increment - logical, intent(in) :: updateJaco !< initiating Jacobian update integer :: & NiterationHomog, & NiterationMPstate, & @@ -375,7 +374,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt) enddo cutBackLooping - if(updateJaco) call crystallite_stressTangent + call crystallite_stressTangent if (.not. terminallyIll ) then call crystallite_orientations() ! calculate crystal orientations diff --git a/src/mesh/FEM_utilities.f90 b/src/mesh/FEM_utilities.f90 index 4d9786112..4927d0c1c 100644 --- a/src/mesh/FEM_utilities.f90 +++ b/src/mesh/FEM_utilities.f90 @@ -160,7 +160,7 @@ subroutine utilities_constitutiveResponse(timeinc,P_av,forwardData) print'(/,a)', ' ... evaluating constitutive response ......................................' - call materialpoint_stressAndItsTangent(.true.,timeinc) ! calculate P field + call materialpoint_stressAndItsTangent(timeinc) ! calculate P field cutBack = .false. ! reset cutBack status