better print then write
- shorter, always writes to STDOUT also, report only details (paper) of active models
This commit is contained in:
parent
84b9104302
commit
0153bca277
|
@ -446,7 +446,7 @@ subroutine constitutive_init
|
||||||
call damage_init
|
call damage_init
|
||||||
call thermal_init
|
call thermal_init
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6)
|
print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(6)
|
||||||
|
|
||||||
constitutive_source_maxSizeDotState = 0
|
constitutive_source_maxSizeDotState = 0
|
||||||
PhaseLoop2:do p = 1,phases%length
|
PhaseLoop2:do p = 1,phases%length
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
!----------------------------------------------------------------------------------------------------
|
!----------------------------------------------------------------------------------------------------
|
||||||
!> @brief internal microstructure state for all plasticity constitutive models
|
!> @brief internal microstructure state for all plasticity constitutive models
|
||||||
!----------------------------------------------------------------------------------------------------
|
!----------------------------------------------------------------------------------------------------
|
||||||
submodule(constitutive) constitutive_plastic
|
submodule(constitutive) constitutive_plastic
|
||||||
|
|
||||||
|
@ -198,6 +198,8 @@ module subroutine plastic_init
|
||||||
integer :: p
|
integer :: p
|
||||||
class(tNode), pointer :: phases
|
class(tNode), pointer :: phases
|
||||||
|
|
||||||
|
print'(/,a)', ' <<<+- constitutive_plastic init -+>>>'
|
||||||
|
|
||||||
phases => config_material%get('phase')
|
phases => config_material%get('phase')
|
||||||
|
|
||||||
allocate(plasticState(phases%length))
|
allocate(plasticState(phases%length))
|
||||||
|
@ -215,7 +217,7 @@ module subroutine plastic_init
|
||||||
|
|
||||||
do p = 1, phases%length
|
do p = 1, phases%length
|
||||||
phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p))
|
phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
end subroutine plastic_init
|
end subroutine plastic_init
|
||||||
|
@ -355,7 +357,7 @@ end subroutine constitutive_plastic_LpAndItsTangents
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------
|
||||||
!> @brief writes plasticity constitutive results to HDF5 output file
|
!> @brief writes plasticity constitutive results to HDF5 output file
|
||||||
!--------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------
|
||||||
module subroutine plastic_results
|
module subroutine plastic_results
|
||||||
|
|
||||||
integer :: p
|
integer :: p
|
||||||
|
|
|
@ -96,16 +96,15 @@ module function plastic_disloTungsten_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_disloTungsten init -+>>>'
|
print'(/,a)', ' <<<+- plastic_dislotungsten init -+>>>'
|
||||||
|
|
||||||
write(6,'(/,a)') ' Cereceda et al., International Journal of Plasticity 78:242–256, 2016'
|
|
||||||
write(6,'(a)') ' https://dx.doi.org/10.1016/j.ijplas.2015.09.002'
|
|
||||||
|
|
||||||
myPlasticity = plastic_active('disloTungsten')
|
myPlasticity = plastic_active('disloTungsten')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
|
print*, 'Cereceda et al., International Journal of Plasticity 78:242–256, 2016'
|
||||||
|
print*, 'https://dx.doi.org/10.1016/j.ijplas.2015.09.002'
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
allocate(state(Ninstance))
|
allocate(state(Ninstance))
|
||||||
|
@ -179,7 +178,7 @@ module function plastic_disloTungsten_init() result(myPlasticity)
|
||||||
prm%Q_cl = pl%get_asFloat('Q_cl')
|
prm%Q_cl = pl%get_asFloat('Q_cl')
|
||||||
prm%atomicVolume = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal
|
prm%atomicVolume = pl%get_asFloat('f_at') * prm%b_sl**3.0_pReal
|
||||||
prm%D_a = pl%get_asFloat('D_a') * prm%b_sl
|
prm%D_a = pl%get_asFloat('D_a') * prm%b_sl
|
||||||
|
|
||||||
prm%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.)
|
prm%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.)
|
||||||
|
|
||||||
! expand: family => system
|
! expand: family => system
|
||||||
|
@ -410,19 +409,19 @@ module subroutine plastic_disloTungsten_results(instance,group)
|
||||||
associate(prm => param(instance), stt => state(instance), dst => dependentState(instance))
|
associate(prm => param(instance), stt => state(instance), dst => dependentState(instance))
|
||||||
outputsLoop: do o = 1,size(prm%output)
|
outputsLoop: do o = 1,size(prm%output)
|
||||||
select case(trim(prm%output(o)))
|
select case(trim(prm%output(o)))
|
||||||
case('rho_mob')
|
case('rho_mob')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_mob,trim(prm%output(o)), &
|
||||||
'mobile dislocation density','1/m²')
|
'mobile dislocation density','1/m²')
|
||||||
case('rho_dip')
|
case('rho_dip')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%rho_dip,trim(prm%output(o)), &
|
||||||
'dislocation dipole density''1/m²')
|
'dislocation dipole density''1/m²')
|
||||||
case('gamma_sl')
|
case('gamma_sl')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%gamma_sl,trim(prm%output(o)), &
|
||||||
'plastic shear','1')
|
'plastic shear','1')
|
||||||
case('Lambda_sl')
|
case('Lambda_sl')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,dst%Lambda_sl,trim(prm%output(o)), &
|
||||||
'mean free path for slip','m')
|
'mean free path for slip','m')
|
||||||
case('tau_pass')
|
case('tau_pass')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,dst%threshold_stress,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,dst%threshold_stress,trim(prm%output(o)), &
|
||||||
'threshold stress for slip','Pa')
|
'threshold stress for slip','Pa')
|
||||||
end select
|
end select
|
||||||
|
|
|
@ -143,22 +143,21 @@ module function plastic_dislotwin_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- constitutive_dislotwin init -+>>>'
|
print'(/,a)', ' <<<+- plastic_dislotwin init -+>>>'
|
||||||
|
|
||||||
write(6,'(/,a)') ' Ma and Roters, Acta Materialia 52(12):3603–3612, 2004'
|
|
||||||
write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2004.04.012'
|
|
||||||
|
|
||||||
write(6,'(/,a)') ' Roters et al., Computational Materials Science 39:91–95, 2007'
|
|
||||||
write(6,'(a)') ' https://doi.org/10.1016/j.commatsci.2006.04.014'
|
|
||||||
|
|
||||||
write(6,'(/,a)') ' Wong et al., Acta Materialia 118:140–151, 2016'
|
|
||||||
write(6,'(a,/)') ' https://doi.org/10.1016/j.actamat.2016.07.032'
|
|
||||||
|
|
||||||
myPlasticity = plastic_active('dislotwin')
|
myPlasticity = plastic_active('dislotwin')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
|
print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004'
|
||||||
|
print*, 'https://doi.org/10.1016/j.actamat.2004.04.012'//IO_EOL
|
||||||
|
|
||||||
|
print*, 'Roters et al., Computational Materials Science 39:91–95, 2007'
|
||||||
|
print*, 'https://doi.org/10.1016/j.commatsci.2006.04.014'//IO_EOL
|
||||||
|
|
||||||
|
print*, 'Wong et al., Acta Materialia 118:140–151, 2016'
|
||||||
|
print*, 'https://doi.org/10.1016/j.actamat.2016.07.032'
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
allocate(state(Ninstance))
|
allocate(state(Ninstance))
|
||||||
|
@ -414,7 +413,7 @@ module function plastic_dislotwin_init() result(myPlasticity)
|
||||||
+ size(['f_tr']) * prm%sum_N_tr
|
+ size(['f_tr']) * prm%sum_N_tr
|
||||||
sizeState = sizeDotState
|
sizeState = sizeDotState
|
||||||
|
|
||||||
|
|
||||||
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -49,7 +49,7 @@ contains
|
||||||
!> @brief Perform module initialization.
|
!> @brief Perform module initialization.
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function plastic_isotropic_init() result(myPlasticity)
|
module function plastic_isotropic_init() result(myPlasticity)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myPlasticity
|
logical, dimension(:), allocatable :: myPlasticity
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -67,18 +67,16 @@ module function plastic_isotropic_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_isotropic init -+>>>'
|
print'(/,a)', ' <<<+- plastic_isotropic init -+>>>'
|
||||||
|
|
||||||
write(6,'(/,a)') ' Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018'
|
|
||||||
write(6,'(a)') ' https://doi.org/10.1016/j.scriptamat.2017.09.047'
|
|
||||||
|
|
||||||
|
|
||||||
myPlasticity = plastic_active('isotropic')
|
myPlasticity = plastic_active('isotropic')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
|
print*, 'Maiti and Eisenlohr, Scripta Materialia 145:37–40, 2018'
|
||||||
|
print*, 'https://doi.org/10.1016/j.scriptamat.2017.09.047'
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
allocate(state(Ninstance))
|
allocate(state(Ninstance))
|
||||||
allocate(dotState(Ninstance))
|
allocate(dotState(Ninstance))
|
||||||
|
@ -96,7 +94,7 @@ module function plastic_isotropic_init() result(myPlasticity)
|
||||||
pl => phase%get('plasticity')
|
pl => phase%get('plasticity')
|
||||||
|
|
||||||
|
|
||||||
#if defined (__GFORTRAN__)
|
#if defined (__GFORTRAN__)
|
||||||
prm%output = output_asStrings(pl)
|
prm%output = output_asStrings(pl)
|
||||||
#else
|
#else
|
||||||
prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray)
|
prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray)
|
||||||
|
@ -339,7 +337,7 @@ module subroutine plastic_isotropic_results(instance,group)
|
||||||
associate(prm => param(instance), stt => state(instance))
|
associate(prm => param(instance), stt => state(instance))
|
||||||
outputsLoop: do o = 1,size(prm%output)
|
outputsLoop: do o = 1,size(prm%output)
|
||||||
select case(trim(prm%output(o)))
|
select case(trim(prm%output(o)))
|
||||||
case ('xi')
|
case ('xi')
|
||||||
call results_writeDataset(group,stt%xi,trim(prm%output(o)), &
|
call results_writeDataset(group,stt%xi,trim(prm%output(o)), &
|
||||||
'resistance against plastic flow','Pa')
|
'resistance against plastic flow','Pa')
|
||||||
end select
|
end select
|
||||||
|
|
|
@ -58,7 +58,7 @@ contains
|
||||||
!> @brief Perform module initialization.
|
!> @brief Perform module initialization.
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function plastic_kinehardening_init() result(myPlasticity)
|
module function plastic_kinehardening_init() result(myPlasticity)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myPlasticity
|
logical, dimension(:), allocatable :: myPlasticity
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -79,12 +79,11 @@ module function plastic_kinehardening_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_kinehardening init -+>>>'
|
print'(/,a)', ' <<<+- plastic_kinehardening init -+>>>'
|
||||||
|
|
||||||
myPlasticity = plastic_active('kinehardening')
|
myPlasticity = plastic_active('kinehardening')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
|
@ -384,7 +383,7 @@ module subroutine plastic_kinehardening_results(instance,group)
|
||||||
case('xi')
|
case('xi')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,trim(prm%output(o)), &
|
||||||
'resistance against plastic slip','Pa')
|
'resistance against plastic slip','Pa')
|
||||||
case('tau_b')
|
case('tau_b')
|
||||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss_back,trim(prm%output(o)), &
|
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss_back,trim(prm%output(o)), &
|
||||||
'back stress against plastic slip','Pa')
|
'back stress against plastic slip','Pa')
|
||||||
case ('sgn(gamma)')
|
case ('sgn(gamma)')
|
||||||
|
|
|
@ -9,10 +9,10 @@ submodule(constitutive:constitutive_plastic) plastic_none
|
||||||
contains
|
contains
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief module initialization
|
!> @brief Perform module initialization.
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function plastic_none_init() result(myPlasticity)
|
module function plastic_none_init() result(myPlasticity)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myPlasticity
|
logical, dimension(:), allocatable :: myPlasticity
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -24,20 +24,20 @@ module function plastic_none_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_none init -+>>>'
|
print'(/,a)', ' <<<+- plastic_none init -+>>>'
|
||||||
|
|
||||||
phases => config_material%get('phase')
|
phases => config_material%get('phase')
|
||||||
allocate(myPlasticity(phases%length), source = .false. )
|
allocate(myPlasticity(phases%length), source = .false.)
|
||||||
do p = 1, phases%length
|
do p = 1, phases%length
|
||||||
phase => phases%get(p)
|
phase => phases%get(p)
|
||||||
pl => phase%get('plasticity')
|
pl => phase%get('plasticity')
|
||||||
if(pl%get_asString('type') == 'none') myPlasticity(p) = .true.
|
if(pl%get_asString('type') == 'none') myPlasticity(p) = .true.
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
do p = 1, phases%length
|
do p = 1, phases%length
|
||||||
phase => phases%get(p)
|
phase => phases%get(p)
|
||||||
if(.not. myPlasticity(p)) cycle
|
if(.not. myPlasticity(p)) cycle
|
||||||
|
|
|
@ -159,8 +159,9 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief module initialization
|
!> @brief Perform module initialization.
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function plastic_nonlocal_init() result(myPlasticity)
|
module function plastic_nonlocal_init() result(myPlasticity)
|
||||||
|
@ -183,24 +184,22 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
||||||
phases, &
|
phases, &
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_nonlocal init -+>>>'
|
|
||||||
|
|
||||||
write(6,'(/,a)') ' Reuber et al., Acta Materialia 71:333–348, 2014'
|
print'(/,a)', ' <<<+- plastic_nonlocal init -+>>>'
|
||||||
write(6,'(a)') ' https://doi.org/10.1016/j.actamat.2014.03.012'
|
|
||||||
|
|
||||||
write(6,'(/,a)') ' Kords, Dissertation RWTH Aachen, 2014'
|
|
||||||
write(6,'(a)') ' http://publications.rwth-aachen.de/record/229993'
|
|
||||||
|
|
||||||
myPlasticity = plastic_active('nonlocal')
|
myPlasticity = plastic_active('nonlocal')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) then
|
if(Ninstance == 0) then
|
||||||
call geometry_plastic_nonlocal_disable
|
call geometry_plastic_nonlocal_disable
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
print*, 'Reuber et al., Acta Materialia 71:333–348, 2014'
|
||||||
|
print*, 'https://doi.org/10.1016/j.actamat.2014.03.012'//IO_EOL
|
||||||
|
|
||||||
|
print*, 'Kords, Dissertation RWTH Aachen, 2014'
|
||||||
|
print*, 'http://publications.rwth-aachen.de/record/229993'//IO_EOL
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
allocate(state(Ninstance))
|
allocate(state(Ninstance))
|
||||||
|
@ -224,14 +223,14 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
||||||
dst => microstructure(i))
|
dst => microstructure(i))
|
||||||
pl => phase%get('plasticity')
|
pl => phase%get('plasticity')
|
||||||
|
|
||||||
phase_localPlasticity(p) = .not. pl%contains('nonlocal')
|
phase_localPlasticity(p) = .not. pl%contains('nonlocal')
|
||||||
|
|
||||||
#if defined (__GFORTRAN__)
|
#if defined (__GFORTRAN__)
|
||||||
prm%output = output_asStrings(pl)
|
prm%output = output_asStrings(pl)
|
||||||
#else
|
#else
|
||||||
prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray)
|
prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
prm%atol_rho = pl%get_asFloat('atol_rho',defaultVal=1.0e4_pReal)
|
prm%atol_rho = pl%get_asFloat('atol_rho',defaultVal=1.0e4_pReal)
|
||||||
|
|
||||||
! This data is read in already in lattice
|
! This data is read in already in lattice
|
||||||
|
@ -519,7 +518,7 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
||||||
|
|
||||||
if(.not. myPlasticity(p)) cycle
|
if(.not. myPlasticity(p)) cycle
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
NipcMyPhase = count(material_phaseAt==p) * discretization_nIP
|
NipcMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||||
l = 0
|
l = 0
|
||||||
do t = 1,4
|
do t = 1,4
|
||||||
|
@ -543,7 +542,7 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
||||||
enddo
|
enddo
|
||||||
if (iD(param(i)%sum_N_sl,2,i) /= plasticState(p)%sizeState) &
|
if (iD(param(i)%sum_N_sl,2,i) /= plasticState(p)%sizeState) &
|
||||||
call IO_error(0, ext_msg = 'state indices not properly set (nonlocal)')
|
call IO_error(0, ext_msg = 'state indices not properly set (nonlocal)')
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end function plastic_nonlocal_init
|
end function plastic_nonlocal_init
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ contains
|
||||||
!> @brief Perform module initialization.
|
!> @brief Perform module initialization.
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function plastic_phenopowerlaw_init() result(myPlasticity)
|
module function plastic_phenopowerlaw_init() result(myPlasticity)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myPlasticity
|
logical, dimension(:), allocatable :: myPlasticity
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -88,15 +88,13 @@ module function plastic_phenopowerlaw_init() result(myPlasticity)
|
||||||
phase, &
|
phase, &
|
||||||
pl
|
pl
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- plastic_phenopowerlaw init -+>>>'
|
print'(/,a)', ' <<<+- plastic_phenopowerlaw init -+>>>'
|
||||||
|
|
||||||
|
|
||||||
myPlasticity = plastic_active('phenopowerlaw')
|
myPlasticity = plastic_active('phenopowerlaw')
|
||||||
|
|
||||||
Ninstance = count(myPlasticity)
|
Ninstance = count(myPlasticity)
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||||
if(Ninstance == 0) return
|
if(Ninstance == 0) return
|
||||||
|
|
||||||
allocate(param(Ninstance))
|
allocate(param(Ninstance))
|
||||||
allocate(state(Ninstance))
|
allocate(state(Ninstance))
|
||||||
allocate(dotState(Ninstance))
|
allocate(dotState(Ninstance))
|
||||||
|
@ -231,7 +229,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity)
|
||||||
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw
|
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw
|
||||||
sizeState = sizeDotState
|
sizeState = sizeDotState
|
||||||
|
|
||||||
|
|
||||||
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue