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 thermal_init
|
||||
|
||||
write(6,'(/,a)') ' <<<+- constitutive init -+>>>'; flush(6)
|
||||
print'(/,a)', ' <<<+- constitutive init -+>>>'; flush(6)
|
||||
|
||||
constitutive_source_maxSizeDotState = 0
|
||||
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
|
||||
|
||||
|
@ -198,6 +198,8 @@ module subroutine plastic_init
|
|||
integer :: p
|
||||
class(tNode), pointer :: phases
|
||||
|
||||
print'(/,a)', ' <<<+- constitutive_plastic init -+>>>'
|
||||
|
||||
phases => config_material%get('phase')
|
||||
|
||||
allocate(plasticState(phases%length))
|
||||
|
@ -215,7 +217,7 @@ module subroutine plastic_init
|
|||
|
||||
do p = 1, phases%length
|
||||
phase_plasticityInstance(p) = count(phase_plasticity(1:p) == phase_plasticity(p))
|
||||
enddo
|
||||
enddo
|
||||
|
||||
|
||||
end subroutine plastic_init
|
||||
|
@ -355,7 +357,7 @@ end subroutine constitutive_plastic_LpAndItsTangents
|
|||
|
||||
!--------------------------------------------------------------------------------------------
|
||||
!> @brief writes plasticity constitutive results to HDF5 output file
|
||||
!--------------------------------------------------------------------------------------------
|
||||
!--------------------------------------------------------------------------------------------
|
||||
module subroutine plastic_results
|
||||
|
||||
integer :: p
|
||||
|
|
|
@ -96,16 +96,15 @@ module function plastic_disloTungsten_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,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'
|
||||
print'(/,a)', ' <<<+- plastic_dislotungsten init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('disloTungsten')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
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(state(Ninstance))
|
||||
|
@ -179,7 +178,7 @@ module function plastic_disloTungsten_init() result(myPlasticity)
|
|||
prm%Q_cl = pl%get_asFloat('Q_cl')
|
||||
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%dipoleformation = pl%get_asBool('dipole_formation_factor', defaultVal = .true.)
|
||||
|
||||
! expand: family => system
|
||||
|
@ -410,19 +409,19 @@ module subroutine plastic_disloTungsten_results(instance,group)
|
|||
associate(prm => param(instance), stt => state(instance), dst => dependentState(instance))
|
||||
outputsLoop: do o = 1,size(prm%output)
|
||||
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)), &
|
||||
'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)), &
|
||||
'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)), &
|
||||
'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)), &
|
||||
'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)), &
|
||||
'threshold stress for slip','Pa')
|
||||
end select
|
||||
|
|
|
@ -143,22 +143,21 @@ module function plastic_dislotwin_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,a)') ' <<<+- constitutive_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'
|
||||
print'(/,a)', ' <<<+- plastic_dislotwin init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('dislotwin')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
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(state(Ninstance))
|
||||
|
@ -414,7 +413,7 @@ module function plastic_dislotwin_init() result(myPlasticity)
|
|||
+ size(['f_tr']) * prm%sum_N_tr
|
||||
sizeState = sizeDotState
|
||||
|
||||
|
||||
|
||||
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -49,7 +49,7 @@ contains
|
|||
!> @brief Perform module initialization.
|
||||
!> @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
|
||||
integer :: &
|
||||
|
@ -67,18 +67,16 @@ module function plastic_isotropic_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,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'
|
||||
|
||||
print'(/,a)', ' <<<+- plastic_isotropic init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('isotropic')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
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(state(Ninstance))
|
||||
allocate(dotState(Ninstance))
|
||||
|
@ -96,7 +94,7 @@ module function plastic_isotropic_init() result(myPlasticity)
|
|||
pl => phase%get('plasticity')
|
||||
|
||||
|
||||
#if defined (__GFORTRAN__)
|
||||
#if defined (__GFORTRAN__)
|
||||
prm%output = output_asStrings(pl)
|
||||
#else
|
||||
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))
|
||||
outputsLoop: do o = 1,size(prm%output)
|
||||
select case(trim(prm%output(o)))
|
||||
case ('xi')
|
||||
case ('xi')
|
||||
call results_writeDataset(group,stt%xi,trim(prm%output(o)), &
|
||||
'resistance against plastic flow','Pa')
|
||||
end select
|
||||
|
|
|
@ -58,7 +58,7 @@ contains
|
|||
!> @brief Perform module initialization.
|
||||
!> @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
|
||||
integer :: &
|
||||
|
@ -79,12 +79,11 @@ module function plastic_kinehardening_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,a)') ' <<<+- plastic_kinehardening init -+>>>'
|
||||
print'(/,a)', ' <<<+- plastic_kinehardening init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('kinehardening')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
if(Ninstance == 0) return
|
||||
|
||||
allocate(param(Ninstance))
|
||||
|
@ -384,7 +383,7 @@ module subroutine plastic_kinehardening_results(instance,group)
|
|||
case('xi')
|
||||
if(prm%sum_N_sl>0) call results_writeDataset(group,stt%crss,trim(prm%output(o)), &
|
||||
'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)), &
|
||||
'back stress against plastic slip','Pa')
|
||||
case ('sgn(gamma)')
|
||||
|
|
|
@ -9,10 +9,10 @@ submodule(constitutive:constitutive_plastic) plastic_none
|
|||
contains
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief module initialization
|
||||
!> @brief Perform module initialization.
|
||||
!> @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
|
||||
integer :: &
|
||||
|
@ -24,20 +24,20 @@ module function plastic_none_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,a)') ' <<<+- plastic_none init -+>>>'
|
||||
print'(/,a)', ' <<<+- plastic_none init -+>>>'
|
||||
|
||||
phases => config_material%get('phase')
|
||||
allocate(myPlasticity(phases%length), source = .false. )
|
||||
allocate(myPlasticity(phases%length), source = .false.)
|
||||
do p = 1, phases%length
|
||||
phase => phases%get(p)
|
||||
pl => phase%get('plasticity')
|
||||
if(pl%get_asString('type') == 'none') myPlasticity(p) = .true.
|
||||
enddo
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
Ninstance = count(myPlasticity)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
if(Ninstance == 0) return
|
||||
|
||||
|
||||
do p = 1, phases%length
|
||||
phase => phases%get(p)
|
||||
if(.not. myPlasticity(p)) cycle
|
||||
|
|
|
@ -159,8 +159,9 @@ submodule(constitutive:constitutive_plastic) plastic_nonlocal
|
|||
|
||||
contains
|
||||
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief module initialization
|
||||
!> @brief Perform module initialization.
|
||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module function plastic_nonlocal_init() result(myPlasticity)
|
||||
|
@ -183,24 +184,22 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
|||
phases, &
|
||||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,a)') ' <<<+- plastic_nonlocal init -+>>>'
|
||||
|
||||
write(6,'(/,a)') ' Reuber et al., Acta Materialia 71:333–348, 2014'
|
||||
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'
|
||||
print'(/,a)', ' <<<+- plastic_nonlocal init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('nonlocal')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
if(Ninstance == 0) then
|
||||
call geometry_plastic_nonlocal_disable
|
||||
return
|
||||
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(state(Ninstance))
|
||||
|
@ -224,14 +223,14 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
|||
dst => microstructure(i))
|
||||
pl => phase%get('plasticity')
|
||||
|
||||
phase_localPlasticity(p) = .not. pl%contains('nonlocal')
|
||||
phase_localPlasticity(p) = .not. pl%contains('nonlocal')
|
||||
|
||||
#if defined (__GFORTRAN__)
|
||||
prm%output = output_asStrings(pl)
|
||||
#else
|
||||
prm%output = pl%get_asStrings('output',defaultVal=emptyStringArray)
|
||||
#endif
|
||||
|
||||
|
||||
prm%atol_rho = pl%get_asFloat('atol_rho',defaultVal=1.0e4_pReal)
|
||||
|
||||
! This data is read in already in lattice
|
||||
|
@ -519,7 +518,7 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
|||
|
||||
if(.not. myPlasticity(p)) cycle
|
||||
i = i + 1
|
||||
|
||||
|
||||
NipcMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||
l = 0
|
||||
do t = 1,4
|
||||
|
@ -543,7 +542,7 @@ module function plastic_nonlocal_init() result(myPlasticity)
|
|||
enddo
|
||||
if (iD(param(i)%sum_N_sl,2,i) /= plasticState(p)%sizeState) &
|
||||
call IO_error(0, ext_msg = 'state indices not properly set (nonlocal)')
|
||||
enddo
|
||||
enddo
|
||||
|
||||
end function plastic_nonlocal_init
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ contains
|
|||
!> @brief Perform module initialization.
|
||||
!> @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
|
||||
integer :: &
|
||||
|
@ -88,15 +88,13 @@ module function plastic_phenopowerlaw_init() result(myPlasticity)
|
|||
phase, &
|
||||
pl
|
||||
|
||||
write(6,'(/,a)') ' <<<+- plastic_phenopowerlaw init -+>>>'
|
||||
|
||||
print'(/,a)', ' <<<+- plastic_phenopowerlaw init -+>>>'
|
||||
|
||||
myPlasticity = plastic_active('phenopowerlaw')
|
||||
|
||||
Ninstance = count(myPlasticity)
|
||||
write(6,'(a16,1x,i5,/)') '# instances:',Ninstance; flush(6)
|
||||
print'(a,i2)', ' # instances: ',Ninstance; flush(6)
|
||||
if(Ninstance == 0) return
|
||||
|
||||
|
||||
allocate(param(Ninstance))
|
||||
allocate(state(Ninstance))
|
||||
allocate(dotState(Ninstance))
|
||||
|
@ -231,7 +229,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity)
|
|||
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw
|
||||
sizeState = sizeDotState
|
||||
|
||||
|
||||
|
||||
call constitutive_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,0)
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue