polishing
This commit is contained in:
parent
e0e5683386
commit
7d196fbb25
|
@ -670,9 +670,9 @@ do while (any(crystallite_todo(:,:,FEsolving_execELem(1):FEsolving_execElem(2)))
|
||||||
crystallite_converged(g,i,e) = .false. ! start out non-converged
|
crystallite_converged(g,i,e) = .false. ! start out non-converged
|
||||||
endif
|
endif
|
||||||
|
|
||||||
enddo
|
enddo ! grains
|
||||||
enddo
|
enddo ! IPs
|
||||||
enddo
|
enddo ! elements
|
||||||
!$OMP END PARALLEL DO
|
!$OMP END PARALLEL DO
|
||||||
|
|
||||||
! --- integrate --- requires fully defined state array (basic + dependent state)
|
! --- integrate --- requires fully defined state array (basic + dependent state)
|
||||||
|
@ -692,7 +692,7 @@ do while (any(crystallite_todo(:,:,FEsolving_execELem(1):FEsolving_execElem(2)))
|
||||||
end select
|
end select
|
||||||
endif
|
endif
|
||||||
|
|
||||||
where(.not. crystallite_converged .and. crystallite_subStep > subStepMinCryst) &
|
where(.not. crystallite_converged .and. crystallite_subStep > subStepMinCryst) & ! do not try non-converged & fully cutbacked any further
|
||||||
crystallite_todo = .true.
|
crystallite_todo = .true.
|
||||||
|
|
||||||
NiterationCrystallite = NiterationCrystallite + 1_pInt
|
NiterationCrystallite = NiterationCrystallite + 1_pInt
|
||||||
|
@ -743,7 +743,6 @@ if(updateJaco) then
|
||||||
|
|
||||||
numerics_integrationMode = 2_pInt
|
numerics_integrationMode = 2_pInt
|
||||||
|
|
||||||
|
|
||||||
! --- BACKUP ---
|
! --- BACKUP ---
|
||||||
|
|
||||||
do e = FEsolving_execElem(1),FEsolving_execElem(2) ! iterate over elements to be processed
|
do e = FEsolving_execElem(1),FEsolving_execElem(2) ! iterate over elements to be processed
|
||||||
|
@ -771,7 +770,7 @@ if(updateJaco) then
|
||||||
dPdF_perturbation1 = crystallite_dPdF0 ! initialize stiffness with known good values from last increment
|
dPdF_perturbation1 = crystallite_dPdF0 ! initialize stiffness with known good values from last increment
|
||||||
dPdF_perturbation2 = crystallite_dPdF0 ! initialize stiffness with known good values from last increment
|
dPdF_perturbation2 = crystallite_dPdF0 ! initialize stiffness with known good values from last increment
|
||||||
do perturbation = 1,2 ! forward and backward perturbation
|
do perturbation = 1,2 ! forward and backward perturbation
|
||||||
if (iand(pert_method,perturbation) > 0) then ! mask for desired direction
|
if (iand(pert_method,perturbation) > 0_pInt) then ! mask for desired direction
|
||||||
myPert = -pert_Fg * (-1.0_pReal)**perturbation ! set perturbation step
|
myPert = -pert_Fg * (-1.0_pReal)**perturbation ! set perturbation step
|
||||||
do k = 1,3; do l = 1,3 ! ...alter individual components
|
do k = 1,3; do l = 1,3 ! ...alter individual components
|
||||||
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt) then
|
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt) then
|
||||||
|
@ -855,7 +854,8 @@ if(updateJaco) then
|
||||||
end select
|
end select
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
enddo; enddo ! k,l loop
|
enddo; enddo ! k,l component perturbation loop
|
||||||
|
|
||||||
endif
|
endif
|
||||||
enddo ! perturbation direction
|
enddo ! perturbation direction
|
||||||
|
|
||||||
|
@ -943,14 +943,14 @@ if(updateJaco) then
|
||||||
FDot_inv = crystallite_subF(1:3,1:3,g,i,e) - crystallite_F0(1:3,1:3,g,i,e)
|
FDot_inv = crystallite_subF(1:3,1:3,g,i,e) - crystallite_F0(1:3,1:3,g,i,e)
|
||||||
counter = 0.0_pReal
|
counter = 0.0_pReal
|
||||||
do p=1_pInt,3_pInt; do o=1_pInt,3_pInt
|
do p=1_pInt,3_pInt; do o=1_pInt,3_pInt
|
||||||
if (abs(FDot_inv(o,p)) .lt. relevantStrain) then
|
if (abs(FDot_inv(o,p)) < relevantStrain) then
|
||||||
FDot_inv(o,p) = 0.0_pReal
|
FDot_inv(o,p) = 0.0_pReal
|
||||||
else
|
else
|
||||||
counter = counter + 1.0_pReal
|
counter = counter + 1.0_pReal
|
||||||
FDot_inv(o,p) = crystallite_dt(g,i,e)/FDot_inv(o,p)
|
FDot_inv(o,p) = crystallite_dt(g,i,e)/FDot_inv(o,p)
|
||||||
endif
|
endif
|
||||||
enddo; enddo
|
enddo; enddo
|
||||||
if (counter .gt. 0.0_pReal) FDot_inv = FDot_inv/counter
|
if (counter > 0.0_pReal) FDot_inv = FDot_inv/counter
|
||||||
do p=1_pInt,3_pInt; do o=1_pInt,3_pInt
|
do p=1_pInt,3_pInt; do o=1_pInt,3_pInt
|
||||||
dFp_invdFdot(o,p,1:3,1:3) = Fpinv_rate(o,p)*FDot_inv
|
dFp_invdFdot(o,p,1:3,1:3) = Fpinv_rate(o,p)*FDot_inv
|
||||||
enddo; enddo
|
enddo; enddo
|
||||||
|
|
Loading…
Reference in New Issue