CPFEM.f90 >>> A very small, not important thing.
homogenization.f90 and crystallite.f90 >>> Correction in the algorithm to count the iteration distribution (for better statistics). material.config and numerics.config >>> more collection of parameters.
This commit is contained in:
parent
f27d66a9ae
commit
3ea17dd2fd
|
@ -217,7 +217,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt
|
||||||
! deformation gradient outdated or any actual deformation gradient differs more than relevantStrain from the stored one
|
! deformation gradient outdated or any actual deformation gradient differs more than relevantStrain from the stored one
|
||||||
if (terminallyIll .or. outdatedFFN1 .or. any(abs(ffn1 - materialpoint_F(:,:,IP,cp_en)) > relevantStrain)) then
|
if (terminallyIll .or. outdatedFFN1 .or. any(abs(ffn1 - materialpoint_F(:,:,IP,cp_en)) > relevantStrain)) then
|
||||||
if (.not. terminallyIll .and. .not. outdatedFFN1) then
|
if (.not. terminallyIll .and. .not. outdatedFFN1) then
|
||||||
write(6,'(a11,x,i5,x,i2,x,a10,/,3(3(f10.3,x),/))') 'outdated at',cp_en,IP,'FFN1 now:',ffn1(:,1),ffn1(:,2),ffn1(:,3)
|
write(6,'(a11,x,i5,x,i2,x,a10,/,3(3(f10.6,x),/))') 'outdated at',cp_en,IP,'FFN1 now:',ffn1(:,1),ffn1(:,2),ffn1(:,3)
|
||||||
outdatedFFN1 = .true.
|
outdatedFFN1 = .true.
|
||||||
endif
|
endif
|
||||||
CPFEM_cs(1:ngens,IP,cp_en) = CPFEM_odd_stress
|
CPFEM_cs(1:ngens,IP,cp_en) = CPFEM_odd_stress
|
||||||
|
|
|
@ -368,7 +368,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
crystallite_subLp0(:,:,g,i,e) = crystallite_Lp(:,:,g,i,e) ! ...plastic velocity gradient
|
crystallite_subLp0(:,:,g,i,e) = crystallite_Lp(:,:,g,i,e) ! ...plastic velocity gradient
|
||||||
constitutive_subState0(g,i,e)%p = constitutive_state(g,i,e)%p ! ...microstructure
|
constitutive_subState0(g,i,e)%p = constitutive_state(g,i,e)%p ! ...microstructure
|
||||||
crystallite_subTstar0_v(:,g,i,e) = crystallite_Tstar_v(:,g,i,e) ! ...2nd PK stress
|
crystallite_subTstar0_v(:,g,i,e) = crystallite_Tstar_v(:,g,i,e) ! ...2nd PK stress
|
||||||
else ! already at final time
|
elseif (crystallite_onTrack(g,i,e)) ! this crystallite just converged
|
||||||
!$OMP CRITICAL (distributionCrystallite)
|
!$OMP CRITICAL (distributionCrystallite)
|
||||||
debug_CrystalliteLoopDistribution(min(nCryst+1,NiterationCrystallite)) = &
|
debug_CrystalliteLoopDistribution(min(nCryst+1,NiterationCrystallite)) = &
|
||||||
debug_CrystalliteLoopDistribution(min(nCryst+1,NiterationCrystallite)) + 1
|
debug_CrystalliteLoopDistribution(min(nCryst+1,NiterationCrystallite)) + 1
|
||||||
|
|
|
@ -301,7 +301,7 @@ subroutine materialpoint_stressAndItsTangent(&
|
||||||
if (homogenization_sizeState(i,e) > 0_pInt) &
|
if (homogenization_sizeState(i,e) > 0_pInt) &
|
||||||
homogenization_subState0(i,e)%p = homogenization_state(i,e)%p ! ...internal state of homog scheme
|
homogenization_subState0(i,e)%p = homogenization_state(i,e)%p ! ...internal state of homog scheme
|
||||||
materialpoint_subF0(:,:,i,e) = materialpoint_subF(:,:,i,e) ! ...def grad
|
materialpoint_subF0(:,:,i,e) = materialpoint_subF(:,:,i,e) ! ...def grad
|
||||||
else ! already at final time
|
elseif (materialpoint_requested(i,e)) ! this materialpoint just converged ! already at final time
|
||||||
!$OMP CRITICAL (distributionHomog)
|
!$OMP CRITICAL (distributionHomog)
|
||||||
debug_MaterialpointLoopDistribution(min(nHomog+1,NiterationHomog)) = &
|
debug_MaterialpointLoopDistribution(min(nHomog+1,NiterationHomog)) = &
|
||||||
debug_MaterialpointLoopDistribution(min(nHomog+1,NiterationHomog)) + 1
|
debug_MaterialpointLoopDistribution(min(nHomog+1,NiterationHomog)) + 1
|
||||||
|
|
|
@ -6,6 +6,16 @@
|
||||||
type isostrain
|
type isostrain
|
||||||
Ngrains 1
|
Ngrains 1
|
||||||
|
|
||||||
|
[Grain_Cluster]
|
||||||
|
type RGC
|
||||||
|
ngrains 8
|
||||||
|
clustersize 2 2 2 # product of these numbers must be equal to ngrains(!)
|
||||||
|
grainsizeparameter 3.2e+3 3.2e+3 3.2e+3 # 3.9e3 3.6e3 3.9e3
|
||||||
|
overproportionality 1.6e+0 1.6e+0 1.6e+0 # 1.6e0 1.6e0 1.6e0
|
||||||
|
(output) constitutivework
|
||||||
|
(output) penaltyenergy
|
||||||
|
(output) magnitudemismatch
|
||||||
|
|
||||||
[Taylor2]
|
[Taylor2]
|
||||||
type isostrain
|
type isostrain
|
||||||
Ngrains 2
|
Ngrains 2
|
||||||
|
@ -23,6 +33,9 @@ Ngrains 2
|
||||||
[Aluminum_j2]
|
[Aluminum_j2]
|
||||||
(constituent) phase 1 texture 1 fraction 1.0
|
(constituent) phase 1 texture 1 fraction 1.0
|
||||||
|
|
||||||
|
[DP_Steel]
|
||||||
|
(constituent) phase 1 texture 1 fraction 0.82
|
||||||
|
(constituent) phase 2 texture 1 fraction 0.18
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
<phase>
|
<phase>
|
||||||
|
@ -125,10 +138,73 @@ Qsd 2.3e-19
|
||||||
lambda0 100 0 0 0 # prefactor for mean free path
|
lambda0 100 0 0 0 # prefactor for mean free path
|
||||||
interaction_SlipSlip 1.0 2.2 3.0 1.6 3.8 4.5 # Dislocation interaction coefficient
|
interaction_SlipSlip 1.0 2.2 3.0 1.6 3.8 4.5 # Dislocation interaction coefficient
|
||||||
|
|
||||||
|
[BCC_Ferrite]
|
||||||
|
constitution phenopowerlaw
|
||||||
|
lattice_structure bcc
|
||||||
|
Nslip 12 0 0 0 # per family
|
||||||
|
Ntwin 0 0 0 0 # per family
|
||||||
|
c11 233.3e9
|
||||||
|
c12 135.5e9
|
||||||
|
c44 118.0e9
|
||||||
|
gdot0_slip 0.001
|
||||||
|
n_slip 20
|
||||||
|
tau0_slip 88.0e6 0 0 0 # per family
|
||||||
|
tausat_slip 201.0e6 0 0 0 # per family
|
||||||
|
gdot0_twin 0.001
|
||||||
|
n_twin 20
|
||||||
|
tau0_twin 31.0e6 0 0 0 # per family
|
||||||
|
s_pr 0 # push-up factor for slip saturation due to twinning
|
||||||
|
twin_b 0
|
||||||
|
twin_c 0
|
||||||
|
twin_d 0
|
||||||
|
twin_e 0
|
||||||
|
h0_slipslip 391.0e6
|
||||||
|
h0_sliptwin 0
|
||||||
|
h0_twinslip 0
|
||||||
|
h0_twintwin 0
|
||||||
|
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||||
|
interaction_sliptwin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
interaction_twinslip 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
interaction_twintwin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
w0_slip 1.0
|
||||||
|
|
||||||
|
[BCC_Martensite]
|
||||||
|
constitution phenopowerlaw
|
||||||
|
lattice_structure bcc
|
||||||
|
Nslip 12 0 0 0 # per family
|
||||||
|
Ntwin 0 0 0 0 # per family
|
||||||
|
c11 511.1e9
|
||||||
|
c12 296.9e9
|
||||||
|
c44 258.5e9
|
||||||
|
gdot0_slip 0.001
|
||||||
|
n_slip 20
|
||||||
|
tau0_slip 396.0e6 0 0 0 # per family
|
||||||
|
tausat_slip 1120.0e6 0 0 0 # per family
|
||||||
|
gdot0_twin 0.001
|
||||||
|
n_twin 20
|
||||||
|
tau0_twin 31.0e6 0 0 0 # per family
|
||||||
|
s_pr 0 # push-up factor for slip saturation due to twinning
|
||||||
|
twin_b 0
|
||||||
|
twin_c 0
|
||||||
|
twin_d 0
|
||||||
|
twin_e 0
|
||||||
|
h0_slipslip 215000.0e6
|
||||||
|
h0_sliptwin 0
|
||||||
|
h0_twinslip 0
|
||||||
|
h0_twintwin 0
|
||||||
|
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||||
|
interaction_sliptwin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
interaction_twinslip 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
interaction_twintwin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
w0_slip 4.0
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
<texture>
|
<texture>
|
||||||
#####################
|
#####################
|
||||||
|
|
||||||
|
[Rolling]
|
||||||
|
hybridIA DP_EBSD.linearODF
|
||||||
|
|
||||||
[random]
|
[random]
|
||||||
|
|
||||||
[001]
|
[001]
|
||||||
|
|
|
@ -7,8 +7,8 @@ iJacoLpresiduum 1 # frequency of Jacobian update of residuum
|
||||||
pert_Fg 1.0e-7 # strain perturbation for FEM Jacobi
|
pert_Fg 1.0e-7 # strain perturbation for FEM Jacobi
|
||||||
nHomog 25 # homogenization loop limit
|
nHomog 25 # homogenization loop limit
|
||||||
nCryst 20 # crystallite loop limit (only for debugging info, real loop limit is "subStepMin")
|
nCryst 20 # crystallite loop limit (only for debugging info, real loop limit is "subStepMin")
|
||||||
nState 40 # state loop limit
|
nState 50 # state loop limit
|
||||||
nStress 80 # stress loop limit
|
nStress 200 # stress loop limit
|
||||||
subStepMin 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
|
subStepMin 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
|
||||||
rTol_crystalliteState 1.0e-6 # relative tolerance in crystallite state loop
|
rTol_crystalliteState 1.0e-6 # relative tolerance in crystallite state loop
|
||||||
rTol_crystalliteStress 1.0e-6 # relative tolerance in crystallite stress loop
|
rTol_crystalliteStress 1.0e-6 # relative tolerance in crystallite stress loop
|
||||||
|
@ -17,8 +17,7 @@ aTol_crystalliteStress 1.0e-8 # absolute tolerance in crystallite stress
|
||||||
aTol_RGC 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
aTol_RGC 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
||||||
rTol_RGC 1.0e-3 # relative ...
|
rTol_RGC 1.0e-3 # relative ...
|
||||||
aMax_RGC 1.0e+12 # absolute upper-limit of RGC residuum (in Pa)
|
aMax_RGC 1.0e+12 # absolute upper-limit of RGC residuum (in Pa)
|
||||||
rMax_RGC 1.0e+3 # relative ...
|
rMax_RGC 1.0e+4 # relative ...
|
||||||
perturbPenalty_RGC 1.0e-8 # perturbation for computing penalty tangent
|
perturbPenalty_RGC 1.0e-8 # perturbation for computing penalty tangent
|
||||||
relevantMismatch_RGC 1.0e-5 # minimum threshold of mismatch
|
relevantMismatch_RGC 1.0e-6 # minimum threshold of mismatch
|
||||||
|
fixed_seed 1234 # put any number larger than zero, integer, if you want to have a pseudo random distribution
|
||||||
fixed_seed 1234 # put any number larger than zero, integer, if you want to have a pseudo random distribution
|
|
||||||
|
|
Loading…
Reference in New Issue