added new model by david (LLNL/UCLA)
This commit is contained in:
parent
125276283b
commit
ced00954fe
|
@ -85,7 +85,7 @@ endif
|
||||||
|
|
||||||
ifneq "$(FASTBUILD)" "YES"
|
ifneq "$(FASTBUILD)" "YES"
|
||||||
STANDARD_CHECK_ifort ?=-stand f08 -standard-semantics
|
STANDARD_CHECK_ifort ?=-stand f08 -standard-semantics
|
||||||
STANDARD_CHECK_gfortran ?=-std=f2008 -pedantic-errors
|
STANDARD_CHECK_gfortran ?=-std=f2008ts -pedantic-errors
|
||||||
endif
|
endif
|
||||||
#-std=f2008ts: for newer gfortran
|
#-std=f2008ts: for newer gfortran
|
||||||
#-pedantic: more strict on standard, enables some warnings
|
#-pedantic: more strict on standard, enables some warnings
|
||||||
|
@ -316,10 +316,11 @@ THERMAL_FILES = \
|
||||||
VACANCY_FILES = \
|
VACANCY_FILES = \
|
||||||
vacancy_constant.o vacancy_generation.o
|
vacancy_constant.o vacancy_generation.o
|
||||||
|
|
||||||
CONSTITUTIVE_FILES = \
|
PLASTIC_FILES = \
|
||||||
plastic_dislotwin.o plastic_dislokmc.o plastic_j2.o plastic_phenopowerlaw.o \
|
plastic_dislotwin.o plastic_disloKMC.o plastic_disloUCLA.o plastic_j2.o plastic_phenopowerlaw.o \
|
||||||
plastic_titanmod.o plastic_nonlocal.o plastic_none.o constitutive.o
|
plastic_titanmod.o plastic_nonlocal.o plastic_none.o constitutive.o
|
||||||
|
|
||||||
|
|
||||||
HOMOGENIZATION_FILES = \
|
HOMOGENIZATION_FILES = \
|
||||||
homogenization_RGC.o homogenization_isostrain.o homogenization_none.o homogenization.o
|
homogenization_RGC.o homogenization_isostrain.o homogenization_none.o homogenization.o
|
||||||
|
|
||||||
|
@ -335,7 +336,7 @@ DAMASK_spectral.exe: INTERFACENAME := DAMASK_spectral_interface.f90
|
||||||
|
|
||||||
SPECTRAL_FILES = prec.o DAMASK_interface.o IO.o libs.o numerics.o debug.o math.o \
|
SPECTRAL_FILES = prec.o DAMASK_interface.o IO.o libs.o numerics.o debug.o math.o \
|
||||||
FEsolving.o mesh.o material.o lattice.o \
|
FEsolving.o mesh.o material.o lattice.o \
|
||||||
$(DAMAGE_FILES) $(THERMAL_FILES) $(VACANCY_FILES) $(CONSTITUTIVE_FILES) \
|
$(DAMAGE_FILES) $(THERMAL_FILES) $(VACANCY_FILES) $(PLASTIC_FILES) \
|
||||||
crystallite.o $(HOMOGENIZATION_FILES) CPFEM.o \
|
crystallite.o $(HOMOGENIZATION_FILES) CPFEM.o \
|
||||||
DAMASK_spectral_utilities.o DAMASK_spectral_solverBasic.o \
|
DAMASK_spectral_utilities.o DAMASK_spectral_solverBasic.o \
|
||||||
DAMASK_spectral_solverAL.o DAMASK_spectral_solverBasicPETSc.o DAMASK_spectral_solverPolarisation.o
|
DAMASK_spectral_solverAL.o DAMASK_spectral_solverBasicPETSc.o DAMASK_spectral_solverPolarisation.o
|
||||||
|
@ -345,6 +346,7 @@ DAMASK_spectral.exe: DAMASK_spectral_driver.o
|
||||||
-o DAMASK_spectral.exe DAMASK_spectral_driver.o \
|
-o DAMASK_spectral.exe DAMASK_spectral_driver.o \
|
||||||
$(SPECTRAL_FILES) $(LIBRARIES) $(LIB_DIRS) $(RUN_PATH) $(SUFFIX)
|
$(SPECTRAL_FILES) $(LIBRARIES) $(LIB_DIRS) $(RUN_PATH) $(SUFFIX)
|
||||||
|
|
||||||
|
|
||||||
DAMASK_spectral_driver.o: DAMASK_spectral_driver.f90 DAMASK_spectral_solverBasic.o \
|
DAMASK_spectral_driver.o: DAMASK_spectral_driver.f90 DAMASK_spectral_solverBasic.o \
|
||||||
DAMASK_spectral_solverAL.o \
|
DAMASK_spectral_solverAL.o \
|
||||||
DAMASK_spectral_solverBasicPETSc.o \
|
DAMASK_spectral_solverBasicPETSc.o \
|
||||||
|
@ -378,7 +380,7 @@ DAMASK_FEM.exe: INCLUDE_DIRS += -I./
|
||||||
|
|
||||||
FEM_FILES = prec.o DAMASK_interface.o FEZoo.o IO.o libs.o numerics.o debug.o math.o \
|
FEM_FILES = prec.o DAMASK_interface.o FEZoo.o IO.o libs.o numerics.o debug.o math.o \
|
||||||
FEsolving.o mesh.o material.o lattice.o \
|
FEsolving.o mesh.o material.o lattice.o \
|
||||||
$(DAMAGE_FILES) $(THERMAL_FILES) $(VACANCY_FILES) $(CONSTITUTIVE_FILES) \
|
$(DAMAGE_FILES) $(THERMAL_FILES) $(VACANCY_FILES) $(PLASTIC_FILES) \
|
||||||
crystallite.o $(HOMOGENIZATION_FILES) CPFEM.o \
|
crystallite.o $(HOMOGENIZATION_FILES) CPFEM.o \
|
||||||
FEM_utilities.o FEM_mech.o FEM_thermal.o FEM_damage.o FEM_vacancyDiffusion.o
|
FEM_utilities.o FEM_mech.o FEM_thermal.o FEM_damage.o FEM_vacancyDiffusion.o
|
||||||
|
|
||||||
|
@ -434,7 +436,8 @@ constitutive.o: constitutive.f90 \
|
||||||
plastic_nonlocal.o \
|
plastic_nonlocal.o \
|
||||||
plastic_titanmod.o \
|
plastic_titanmod.o \
|
||||||
plastic_dislotwin.o \
|
plastic_dislotwin.o \
|
||||||
plastic_dislokmc.o \
|
plastic_disloKMC.o \
|
||||||
|
plastic_disloUCLA.o \
|
||||||
plastic_phenopowerlaw.o \
|
plastic_phenopowerlaw.o \
|
||||||
plastic_j2.o \
|
plastic_j2.o \
|
||||||
plastic_none.o \
|
plastic_none.o \
|
||||||
|
@ -448,7 +451,10 @@ plastic_nonlocal.o: plastic_nonlocal.f90 \
|
||||||
plastic_titanmod.o: plastic_titanmod.f90 \
|
plastic_titanmod.o: plastic_titanmod.f90 \
|
||||||
lattice.o
|
lattice.o
|
||||||
|
|
||||||
plastic_dislokmc.o: plastic_dislokmc.f90 \
|
plastic_disloKMC.o: plastic_disloKMC.f90 \
|
||||||
|
lattice.o
|
||||||
|
|
||||||
|
plastic_disloUCLA.o: plastic_disloUCLA.f90 \
|
||||||
lattice.o
|
lattice.o
|
||||||
|
|
||||||
plastic_dislotwin.o: plastic_dislotwin.f90 \
|
plastic_dislotwin.o: plastic_dislotwin.f90 \
|
||||||
|
|
|
@ -30,7 +30,8 @@
|
||||||
#include "plastic_phenopowerlaw.f90"
|
#include "plastic_phenopowerlaw.f90"
|
||||||
#include "plastic_titanmod.f90"
|
#include "plastic_titanmod.f90"
|
||||||
#include "plastic_dislotwin.f90"
|
#include "plastic_dislotwin.f90"
|
||||||
#include "plastic_dislokmc.f90"
|
#include "plastic_disloKMC.f90"
|
||||||
|
#include "plastic_disloUCLA.f90"
|
||||||
#include "plastic_nonlocal.f90"
|
#include "plastic_nonlocal.f90"
|
||||||
#include "constitutive.f90"
|
#include "constitutive.f90"
|
||||||
#include "crystallite.f90"
|
#include "crystallite.f90"
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
[Tungsten]
|
||||||
|
elasticity hooke
|
||||||
|
#plasticity dislotwin
|
||||||
|
#plasticity dislokmc
|
||||||
|
plasticity disloucla
|
||||||
|
|
||||||
|
### Material parameters ###
|
||||||
|
lattice_structure bcc
|
||||||
|
C11 523.0e9 # From Marinica et al. Journal of Physics: Condensed Matter(2013)
|
||||||
|
C12 202.0e9
|
||||||
|
C44 161.0e9
|
||||||
|
|
||||||
|
grainsize 2.7e-5 # Average grain size [m] 2.0e-5
|
||||||
|
SolidSolutionStrength 0.0 # Strength due to elements in solid solution
|
||||||
|
|
||||||
|
### Dislocation glide parameters ###
|
||||||
|
#per family
|
||||||
|
Nslip 12 0
|
||||||
|
slipburgers 2.72e-10 2.72e-10 # Burgers vector of slip system [m]
|
||||||
|
rhoedge0 1.0e12 1.0e12 # Initial edge dislocation density [m/m**3] 1.0e12
|
||||||
|
rhoedgedip0 1.0 1.0 # Initial edged dipole dislocation density [m/m**3]
|
||||||
|
Qedge 2.725e-19 2.725e-19 # Activation energy for dislocation glide [J]
|
||||||
|
v0 3693.4 755.59 # Initial glide velocity [m/s] 1.0e-4 (kmC 3693.4 ; 755.59)
|
||||||
|
p_slip 0.86 0.22 # p-exponent in glide velocity
|
||||||
|
q_slip 1.69 1.01 # q-exponent in glide velocity
|
||||||
|
u_slip 2.47 0.38 # u-exponent of stress pre-factor (kmC)
|
||||||
|
s_slip 0.00 0.50 # self hardening in glide velocity (kmC)
|
||||||
|
tau_peierls 2.03e9 2.03e9 # peierls stress [Pa]
|
||||||
|
#nonschmid_a1 1.00 1.00 # a1 coeff. non schmid law
|
||||||
|
#nonschmid_a2 0.00 0.00 # a2 coeff. non schmid law
|
||||||
|
|
||||||
|
#mobility law
|
||||||
|
kink_height 2.567e-10 2.567e-10 # kink height sqrt(6)/3*lattice_parameter [m]
|
||||||
|
omega 9.1e11 9.1e11 # attemp frequency (from kMC paper) [s^(-1)]
|
||||||
|
kink_width 29.95e-10 29.95e-10 # kink pair width ~ 11 b (kMC paper) [m]
|
||||||
|
dislolength 78.0e-10 78.0e-10 # dislocation length (ideally lambda) [m] initial value 25b
|
||||||
|
#friction_coeff 8.3e-5 8.3e-5 # friction coeff. B (kMC) [Pa*s]
|
||||||
|
#
|
||||||
|
|
||||||
|
#hardening
|
||||||
|
dipoleformationfactor 0 0 # to have hardening due to dipole formation off
|
||||||
|
CLambdaSlip 10.0 10.0 # Adj. parameter controlling dislocation mean free path
|
||||||
|
D0 4.0e-5 4.0e-5 # Vacancy diffusion prefactor [m**2/s]
|
||||||
|
Qsd 4.5e-19 4.5e-19 # Activation energy for climb [J]
|
||||||
|
Catomicvolume 1.0 1.0 # Adj. parameter controlling the atomic volume [in b]
|
||||||
|
Cedgedipmindistance 1.0 1.0 # Adj. parameter controlling the minimum dipole distance [in b]
|
||||||
|
interaction_slipslip 0.0625 0.0625 0.72 0.05 0.09 0.06 # Queyreau
|
||||||
|
nonschmid_coefficients 0 0.56 0.75 0 0 0 #??????????????
|
|
@ -117,6 +117,7 @@ subroutine constitutive_init(temperature_init)
|
||||||
PLASTICITY_phenopowerlaw_ID, &
|
PLASTICITY_phenopowerlaw_ID, &
|
||||||
PLASTICITY_dislotwin_ID, &
|
PLASTICITY_dislotwin_ID, &
|
||||||
PLASTICITY_dislokmc_ID, &
|
PLASTICITY_dislokmc_ID, &
|
||||||
|
PLASTICITY_disloucla_ID, &
|
||||||
PLASTICITY_titanmod_ID, &
|
PLASTICITY_titanmod_ID, &
|
||||||
PLASTICITY_nonlocal_ID ,&
|
PLASTICITY_nonlocal_ID ,&
|
||||||
ELASTICITY_HOOKE_label, &
|
ELASTICITY_HOOKE_label, &
|
||||||
|
@ -125,6 +126,7 @@ subroutine constitutive_init(temperature_init)
|
||||||
PLASTICITY_PHENOPOWERLAW_label, &
|
PLASTICITY_PHENOPOWERLAW_label, &
|
||||||
PLASTICITY_DISLOTWIN_label, &
|
PLASTICITY_DISLOTWIN_label, &
|
||||||
PLASTICITY_DISLOKMC_label, &
|
PLASTICITY_DISLOKMC_label, &
|
||||||
|
PLASTICITY_DISLOUCLA_label, &
|
||||||
PLASTICITY_TITANMOD_label, &
|
PLASTICITY_TITANMOD_label, &
|
||||||
PLASTICITY_NONLOCAL_label, &
|
PLASTICITY_NONLOCAL_label, &
|
||||||
LOCAL_DAMAGE_none_ID, &
|
LOCAL_DAMAGE_none_ID, &
|
||||||
|
@ -161,6 +163,7 @@ subroutine constitutive_init(temperature_init)
|
||||||
use plastic_phenopowerlaw
|
use plastic_phenopowerlaw
|
||||||
use plastic_dislotwin
|
use plastic_dislotwin
|
||||||
use plastic_dislokmc
|
use plastic_dislokmc
|
||||||
|
use plastic_disloucla
|
||||||
use plastic_titanmod
|
use plastic_titanmod
|
||||||
use plastic_nonlocal
|
use plastic_nonlocal
|
||||||
use damage_none
|
use damage_none
|
||||||
|
@ -199,6 +202,7 @@ subroutine constitutive_init(temperature_init)
|
||||||
if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_DISLOKMC_ID)) call plastic_dislokmc_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_DISLOKMC_ID)) call plastic_dislokmc_init(FILEUNIT)
|
||||||
|
if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_TITANMOD_ID)) call plastic_titanmod_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_TITANMOD_ID)) call plastic_titanmod_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then
|
if (any(phase_plasticity == PLASTICITY_NONLOCAL_ID)) then
|
||||||
call plastic_nonlocal_init(FILEUNIT)
|
call plastic_nonlocal_init(FILEUNIT)
|
||||||
|
@ -274,6 +278,11 @@ subroutine constitutive_init(temperature_init)
|
||||||
thisNoutput => plastic_dislokmc_Noutput
|
thisNoutput => plastic_dislokmc_Noutput
|
||||||
thisOutput => plastic_dislokmc_output
|
thisOutput => plastic_dislokmc_output
|
||||||
thisSize => plastic_dislokmc_sizePostResult
|
thisSize => plastic_dislokmc_sizePostResult
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
outputName = PLASTICITY_DISLOUCLA_label
|
||||||
|
thisNoutput => plastic_disloucla_Noutput
|
||||||
|
thisOutput => plastic_disloucla_output
|
||||||
|
thisSize => plastic_disloucla_sizePostResult
|
||||||
case (PLASTICITY_TITANMOD_ID)
|
case (PLASTICITY_TITANMOD_ID)
|
||||||
outputName = PLASTICITY_TITANMOD_label
|
outputName = PLASTICITY_TITANMOD_label
|
||||||
thisNoutput => plastic_titanmod_Noutput
|
thisNoutput => plastic_titanmod_Noutput
|
||||||
|
@ -477,6 +486,7 @@ function constitutive_homogenizedC(ipc,ip,el)
|
||||||
PLASTICITY_TITANMOD_ID, &
|
PLASTICITY_TITANMOD_ID, &
|
||||||
PLASTICITY_DISLOTWIN_ID, &
|
PLASTICITY_DISLOTWIN_ID, &
|
||||||
PLASTICITY_DISLOKMC_ID, &
|
PLASTICITY_DISLOKMC_ID, &
|
||||||
|
PLASTICITY_DISLOUCLA_ID, &
|
||||||
plasticState,&
|
plasticState,&
|
||||||
mappingConstitutive
|
mappingConstitutive
|
||||||
|
|
||||||
|
@ -486,6 +496,8 @@ function constitutive_homogenizedC(ipc,ip,el)
|
||||||
plastic_dislotwin_homogenizedC
|
plastic_dislotwin_homogenizedC
|
||||||
use plastic_dislokmc, only: &
|
use plastic_dislokmc, only: &
|
||||||
plastic_dislokmc_homogenizedC
|
plastic_dislokmc_homogenizedC
|
||||||
|
use plastic_disloucla, only: &
|
||||||
|
plastic_disloucla_homogenizedC
|
||||||
use lattice, only: &
|
use lattice, only: &
|
||||||
lattice_C66
|
lattice_C66
|
||||||
|
|
||||||
|
@ -502,6 +514,8 @@ function constitutive_homogenizedC(ipc,ip,el)
|
||||||
constitutive_homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el)
|
constitutive_homogenizedC = plastic_dislotwin_homogenizedC(ipc,ip,el)
|
||||||
case (PLASTICITY_DISLOKMC_ID)
|
case (PLASTICITY_DISLOKMC_ID)
|
||||||
constitutive_homogenizedC = plastic_dislokmc_homogenizedC(ipc,ip,el)
|
constitutive_homogenizedC = plastic_dislokmc_homogenizedC(ipc,ip,el)
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
constitutive_homogenizedC = plastic_disloucla_homogenizedC(ipc,ip,el)
|
||||||
case (PLASTICITY_TITANMOD_ID)
|
case (PLASTICITY_TITANMOD_ID)
|
||||||
constitutive_homogenizedC = plastic_titanmod_homogenizedC (ipc,ip,el)
|
constitutive_homogenizedC = plastic_titanmod_homogenizedC (ipc,ip,el)
|
||||||
case default
|
case default
|
||||||
|
@ -569,6 +583,7 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, subdt, ipc, ip, el)
|
||||||
material_phase, &
|
material_phase, &
|
||||||
PLASTICITY_dislotwin_ID, &
|
PLASTICITY_dislotwin_ID, &
|
||||||
PLASTICITY_dislokmc_ID, &
|
PLASTICITY_dislokmc_ID, &
|
||||||
|
PLASTICITY_disloucla_ID, &
|
||||||
PLASTICITY_titanmod_ID, &
|
PLASTICITY_titanmod_ID, &
|
||||||
PLASTICITY_nonlocal_ID, &
|
PLASTICITY_nonlocal_ID, &
|
||||||
LOCAL_DAMAGE_isoBrittle_ID, &
|
LOCAL_DAMAGE_isoBrittle_ID, &
|
||||||
|
@ -586,6 +601,8 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, subdt, ipc, ip, el)
|
||||||
plastic_dislotwin_microstructure
|
plastic_dislotwin_microstructure
|
||||||
use plastic_dislokmc, only: &
|
use plastic_dislokmc, only: &
|
||||||
plastic_dislokmc_microstructure
|
plastic_dislokmc_microstructure
|
||||||
|
use plastic_disloucla, only: &
|
||||||
|
plastic_disloucla_microstructure
|
||||||
use damage_isoBrittle, only: &
|
use damage_isoBrittle, only: &
|
||||||
damage_isoBrittle_microstructure
|
damage_isoBrittle_microstructure
|
||||||
use damage_isoDuctile, only: &
|
use damage_isoDuctile, only: &
|
||||||
|
@ -620,6 +637,8 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, subdt, ipc, ip, el)
|
||||||
call plastic_dislotwin_microstructure(constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
call plastic_dislotwin_microstructure(constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
case (PLASTICITY_DISLOKMC_ID)
|
case (PLASTICITY_DISLOKMC_ID)
|
||||||
call plastic_dislokmc_microstructure(constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
call plastic_dislokmc_microstructure(constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
call plastic_disloucla_microstructure(constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
case (PLASTICITY_TITANMOD_ID)
|
case (PLASTICITY_TITANMOD_ID)
|
||||||
call plastic_titanmod_microstructure (constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
call plastic_titanmod_microstructure (constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
case (PLASTICITY_NONLOCAL_ID)
|
case (PLASTICITY_NONLOCAL_ID)
|
||||||
|
@ -676,6 +695,7 @@ subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, ipc, ip, el)
|
||||||
PLASTICITY_PHENOPOWERLAW_ID, &
|
PLASTICITY_PHENOPOWERLAW_ID, &
|
||||||
PLASTICITY_DISLOTWIN_ID, &
|
PLASTICITY_DISLOTWIN_ID, &
|
||||||
PLASTICITY_DISLOKMC_ID, &
|
PLASTICITY_DISLOKMC_ID, &
|
||||||
|
PLASTICITY_DISLOUCLA_ID, &
|
||||||
PLASTICITY_TITANMOD_ID, &
|
PLASTICITY_TITANMOD_ID, &
|
||||||
PLASTICITY_NONLOCAL_ID
|
PLASTICITY_NONLOCAL_ID
|
||||||
use plastic_j2, only: &
|
use plastic_j2, only: &
|
||||||
|
@ -689,6 +709,9 @@ subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, ipc, ip, el)
|
||||||
use plastic_dislokmc, only: &
|
use plastic_dislokmc, only: &
|
||||||
plastic_dislokmc_LpAndItsTangent, &
|
plastic_dislokmc_LpAndItsTangent, &
|
||||||
plastic_dislokmc_totalNslip
|
plastic_dislokmc_totalNslip
|
||||||
|
use plastic_disloucla, only: &
|
||||||
|
plastic_disloucla_LpAndItsTangent, &
|
||||||
|
plastic_disloucla_totalNslip
|
||||||
use plastic_titanmod, only: &
|
use plastic_titanmod, only: &
|
||||||
plastic_titanmod_LpAndItsTangent, &
|
plastic_titanmod_LpAndItsTangent, &
|
||||||
plastic_titanmod_totalNslip
|
plastic_titanmod_totalNslip
|
||||||
|
@ -743,6 +766,12 @@ subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, ipc, ip, el)
|
||||||
constitutive_getTemperature(ipc,ip,el), &
|
constitutive_getTemperature(ipc,ip,el), &
|
||||||
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el), &
|
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el), &
|
||||||
ipc,ip,el)
|
ipc,ip,el)
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
nSlip = plastic_disloucla_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
||||||
|
call plastic_disloucla_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v, &
|
||||||
|
constitutive_getTemperature(ipc,ip,el), &
|
||||||
|
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el), &
|
||||||
|
ipc,ip,el)
|
||||||
case (PLASTICITY_TITANMOD_ID)
|
case (PLASTICITY_TITANMOD_ID)
|
||||||
nSlip = plastic_titanmod_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
nSlip = plastic_titanmod_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
||||||
call plastic_titanmod_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v, &
|
call plastic_titanmod_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v, &
|
||||||
|
@ -1130,6 +1159,7 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, subdt, su
|
||||||
PLASTICITY_phenopowerlaw_ID, &
|
PLASTICITY_phenopowerlaw_ID, &
|
||||||
PLASTICITY_dislotwin_ID, &
|
PLASTICITY_dislotwin_ID, &
|
||||||
PLASTICITY_dislokmc_ID, &
|
PLASTICITY_dislokmc_ID, &
|
||||||
|
PLASTICITY_disloucla_ID, &
|
||||||
PLASTICITY_titanmod_ID, &
|
PLASTICITY_titanmod_ID, &
|
||||||
PLASTICITY_nonlocal_ID, &
|
PLASTICITY_nonlocal_ID, &
|
||||||
LOCAL_DAMAGE_gurson_ID
|
LOCAL_DAMAGE_gurson_ID
|
||||||
|
@ -1144,6 +1174,9 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, subdt, su
|
||||||
use plastic_dislokmc, only: &
|
use plastic_dislokmc, only: &
|
||||||
plastic_dislokmc_dotState, &
|
plastic_dislokmc_dotState, &
|
||||||
plastic_dislokmc_totalNslip
|
plastic_dislokmc_totalNslip
|
||||||
|
use plastic_disloucla, only: &
|
||||||
|
plastic_disloucla_dotState, &
|
||||||
|
plastic_disloucla_totalNslip
|
||||||
use plastic_titanmod, only: &
|
use plastic_titanmod, only: &
|
||||||
plastic_titanmod_dotState, &
|
plastic_titanmod_dotState, &
|
||||||
plastic_titanmod_totalNslip
|
plastic_titanmod_totalNslip
|
||||||
|
@ -1194,6 +1227,10 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, subdt, su
|
||||||
nSlip = plastic_dislokmc_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
nSlip = plastic_dislokmc_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
||||||
call plastic_dislokmc_dotState (Tstar_v,constitutive_getTemperature(ipc,ip,el), &
|
call plastic_dislokmc_dotState (Tstar_v,constitutive_getTemperature(ipc,ip,el), &
|
||||||
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el),ipc,ip,el)
|
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el),ipc,ip,el)
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
nSlip = plastic_disloucla_totalNslip(phase_plasticityInstance(material_phase(ipc,ip,el)))
|
||||||
|
call plastic_disloucla_dotState (Tstar_v,constitutive_getTemperature(ipc,ip,el), &
|
||||||
|
nSlip,constitutive_getSlipDamage(nSlip,Tstar_v,ipc,ip,el),ipc,ip,el)
|
||||||
case (PLASTICITY_TITANMOD_ID)
|
case (PLASTICITY_TITANMOD_ID)
|
||||||
call plastic_titanmod_dotState (Tstar_v,constitutive_getTemperature(ipc,ip,el), &
|
call plastic_titanmod_dotState (Tstar_v,constitutive_getTemperature(ipc,ip,el), &
|
||||||
ipc,ip,el)
|
ipc,ip,el)
|
||||||
|
@ -1827,6 +1864,7 @@ function constitutive_getVacancyMobility33(ipc, ip, el)
|
||||||
el !< element number
|
el !< element number
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
constitutive_getVacancyMobility33
|
constitutive_getVacancyMobility33
|
||||||
|
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
nSlip
|
nSlip
|
||||||
|
|
||||||
|
@ -1895,6 +1933,7 @@ function constitutive_postResults(Tstar_v, FeArray, ipc, ip, el)
|
||||||
PLASTICITY_PHENOPOWERLAW_ID, &
|
PLASTICITY_PHENOPOWERLAW_ID, &
|
||||||
PLASTICITY_DISLOTWIN_ID, &
|
PLASTICITY_DISLOTWIN_ID, &
|
||||||
PLASTICITY_DISLOKMC_ID, &
|
PLASTICITY_DISLOKMC_ID, &
|
||||||
|
PLASTICITY_DISLOUCLA_ID, &
|
||||||
PLASTICITY_TITANMOD_ID, &
|
PLASTICITY_TITANMOD_ID, &
|
||||||
PLASTICITY_NONLOCAL_ID, &
|
PLASTICITY_NONLOCAL_ID, &
|
||||||
LOCAL_DAMAGE_isoBrittle_ID, &
|
LOCAL_DAMAGE_isoBrittle_ID, &
|
||||||
|
@ -1916,6 +1955,8 @@ function constitutive_postResults(Tstar_v, FeArray, ipc, ip, el)
|
||||||
plastic_dislotwin_postResults
|
plastic_dislotwin_postResults
|
||||||
use plastic_dislokmc, only: &
|
use plastic_dislokmc, only: &
|
||||||
plastic_dislokmc_postResults
|
plastic_dislokmc_postResults
|
||||||
|
use plastic_disloucla, only: &
|
||||||
|
plastic_disloucla_postResults
|
||||||
use plastic_titanmod, only: &
|
use plastic_titanmod, only: &
|
||||||
plastic_titanmod_postResults
|
plastic_titanmod_postResults
|
||||||
use plastic_nonlocal, only: &
|
use plastic_nonlocal, only: &
|
||||||
|
@ -1979,6 +2020,9 @@ function constitutive_postResults(Tstar_v, FeArray, ipc, ip, el)
|
||||||
case (PLASTICITY_DISLOKMC_ID)
|
case (PLASTICITY_DISLOKMC_ID)
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_dislokmc_postResults(Tstar_v,constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
plastic_dislokmc_postResults(Tstar_v,constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
|
case (PLASTICITY_DISLOUCLA_ID)
|
||||||
|
constitutive_postResults(startPos:endPos) = &
|
||||||
|
plastic_disloucla_postResults(Tstar_v,constitutive_getTemperature(ipc,ip,el),ipc,ip,el)
|
||||||
case (PLASTICITY_NONLOCAL_ID)
|
case (PLASTICITY_NONLOCAL_ID)
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_nonlocal_postResults (Tstar_v,FeArray,ip,el)
|
plastic_nonlocal_postResults (Tstar_v,FeArray,ip,el)
|
||||||
|
|
|
@ -26,6 +26,7 @@ module material
|
||||||
PLASTICITY_phenopowerlaw_label = 'phenopowerlaw', &
|
PLASTICITY_phenopowerlaw_label = 'phenopowerlaw', &
|
||||||
PLASTICITY_dislotwin_label = 'dislotwin', &
|
PLASTICITY_dislotwin_label = 'dislotwin', &
|
||||||
PLASTICITY_dislokmc_label = 'dislokmc', &
|
PLASTICITY_dislokmc_label = 'dislokmc', &
|
||||||
|
PLASTICITY_disloucla_label = 'disloucla', &
|
||||||
PLASTICITY_titanmod_label = 'titanmod', &
|
PLASTICITY_titanmod_label = 'titanmod', &
|
||||||
PLASTICITY_nonlocal_label = 'nonlocal', &
|
PLASTICITY_nonlocal_label = 'nonlocal', &
|
||||||
LOCAL_DAMAGE_none_LABEL = 'none', &
|
LOCAL_DAMAGE_none_LABEL = 'none', &
|
||||||
|
@ -62,6 +63,7 @@ module material
|
||||||
PLASTICITY_phenopowerlaw_ID, &
|
PLASTICITY_phenopowerlaw_ID, &
|
||||||
PLASTICITY_dislotwin_ID, &
|
PLASTICITY_dislotwin_ID, &
|
||||||
PLASTICITY_dislokmc_ID, &
|
PLASTICITY_dislokmc_ID, &
|
||||||
|
PLASTICITY_disloucla_ID, &
|
||||||
PLASTICITY_titanmod_ID, &
|
PLASTICITY_titanmod_ID, &
|
||||||
PLASTICITY_nonlocal_ID
|
PLASTICITY_nonlocal_ID
|
||||||
end enum
|
end enum
|
||||||
|
@ -240,6 +242,7 @@ module material
|
||||||
PLASTICITY_phenopowerlaw_ID, &
|
PLASTICITY_phenopowerlaw_ID, &
|
||||||
PLASTICITY_dislotwin_ID, &
|
PLASTICITY_dislotwin_ID, &
|
||||||
PLASTICITY_dislokmc_ID, &
|
PLASTICITY_dislokmc_ID, &
|
||||||
|
PLASTICITY_disloucla_ID, &
|
||||||
PLASTICITY_titanmod_ID, &
|
PLASTICITY_titanmod_ID, &
|
||||||
PLASTICITY_nonlocal_ID, &
|
PLASTICITY_nonlocal_ID, &
|
||||||
LOCAL_DAMAGE_none_ID, &
|
LOCAL_DAMAGE_none_ID, &
|
||||||
|
@ -843,6 +846,8 @@ subroutine material_parsePhase(fileUnit,myPart)
|
||||||
phase_plasticity(section) = PLASTICITY_DISLOTWIN_ID
|
phase_plasticity(section) = PLASTICITY_DISLOTWIN_ID
|
||||||
case (PLASTICITY_DISLOKMC_label)
|
case (PLASTICITY_DISLOKMC_label)
|
||||||
phase_plasticity(section) = PLASTICITY_DISLOKMC_ID
|
phase_plasticity(section) = PLASTICITY_DISLOKMC_ID
|
||||||
|
case (PLASTICITY_DISLOUCLA_label)
|
||||||
|
phase_plasticity(section) = PLASTICITY_DISLOUCLA_ID
|
||||||
case (PLASTICITY_TITANMOD_label)
|
case (PLASTICITY_TITANMOD_label)
|
||||||
phase_plasticity(section) = PLASTICITY_TITANMOD_ID
|
phase_plasticity(section) = PLASTICITY_TITANMOD_ID
|
||||||
case (PLASTICITY_NONLOCAL_label)
|
case (PLASTICITY_NONLOCAL_label)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue