condensed error reporting for constitutive_XYZ_init

removed erroneous check for structure>3
This commit is contained in:
Philip Eisenlohr 2012-07-17 17:36:24 +00:00
parent 2e271fbe56
commit 7c6fc121fd
7 changed files with 188 additions and 162 deletions

View File

@ -1263,45 +1263,13 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
case (205_pInt) case (205_pInt)
msg = 'unknown lattice structure encountered' msg = 'unknown lattice structure encountered'
case (208_pInt)
msg = 'unknown material parameter for no plasticity phase:'
case (210_pInt) case (210_pInt)
msg = 'unknown material parameter for j2 plasticity phase:' msg = 'unknown material parameter:'
case (211_pInt) case (211_pInt)
msg = 'material parameter for j2 plasticity phase out of bounds:' msg = 'material parameter out of bounds:'
case (212_pInt) case (212_pInt)
msg = 'unknown plasticity output for j2 plasticity:' msg = 'unknown plasticity output:'
case (220_pInt)
msg = 'unknown material parameter for phenopowerlaw plasticity phase:'
case (221_pInt)
msg = 'material parameter for phenopowerlaw plasticity phase out of bounds:'
case (222_pInt)
msg = 'unknown plasticity output for phenopowerlaw plasticity:'
case (230_pInt)
msg = 'unknown material parameter for titanmod plasticity phase:'
case (231_pInt)
msg = 'material parameter for titanmod plasticity phase out of bounds:'
case (232_pInt)
msg = 'unknown plasticity output for titanmod plasticity:'
case (240_pInt)
msg = 'unknown material parameter for dislotwin plasticity phase:'
case (241_pInt)
msg = 'material parameter for dislotwin plasticity phase out of bounds:'
case (242_pInt)
msg = 'unknown plasticity output for dislotwin plasticity:'
case (243_pInt)
msg = 'zero stacking fault energy'
case (250_pInt)
msg = 'unknown material parameter for nonlocal plasticity phase:'
case (251_pInt)
msg = 'material parameter for nonlocal plasticity phase out of bounds:'
case (252_pInt)
msg = 'unknown plasticity output for nonlocal plasticity:'
case (253_pInt) case (253_pInt)
msg = 'element type not supported for nonlocal plasticity' msg = 'element type not supported for nonlocal plasticity'

View File

@ -407,7 +407,7 @@ do ! read thru sections of
case ('qedgepersbsystem') case ('qedgepersbsystem')
constitutive_dislotwin_sbQedge(i) = IO_floatValue(line,positions,2_pInt) constitutive_dislotwin_sbQedge(i) = IO_floatValue(line,positions,2_pInt)
case default case default
call IO_error(240_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_dislotwin_label//')')
end select end select
endif endif
enddo enddo
@ -418,31 +418,46 @@ enddo
myStructure = constitutive_dislotwin_structure(i) myStructure = constitutive_dislotwin_structure(i)
!* Sanity checks !* Sanity checks
if (myStructure < 1_pInt .or. myStructure > 3_pInt) call IO_error(205_pInt,e=i) if (myStructure < 1_pInt) call IO_error(205_pInt,e=i)
if (sum(constitutive_dislotwin_Nslip(:,i)) <= 0_pInt) call IO_error(241_pInt,e=i,ext_msg='nslip') if (sum(constitutive_dislotwin_Nslip(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='Nslip (' &
if (sum(constitutive_dislotwin_Ntwin(:,i)) < 0_pInt) call IO_error(241_pInt,e=i,ext_msg='ntwin') //constitutive_dislotwin_label//')')
if (sum(constitutive_dislotwin_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='Ntwin (' &
//constitutive_dislotwin_label//')')
do f = 1_pInt,lattice_maxNslipFamily do f = 1_pInt,lattice_maxNslipFamily
if (constitutive_dislotwin_Nslip(f,i) > 0_pInt) then if (constitutive_dislotwin_Nslip(f,i) > 0_pInt) then
if (constitutive_dislotwin_rhoEdge0(f,i) < 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='rhoEdge0') if (constitutive_dislotwin_rhoEdge0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rhoEdge0 (' &
if (constitutive_dislotwin_rhoEdgeDip0(f,i) < 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='rhoEdgeDip0') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='slipburgers') if (constitutive_dislotwin_rhoEdgeDip0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rhoEdgeDip0 (' &
if (constitutive_dislotwin_v0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='v0') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='slipBurgers (' &
//constitutive_dislotwin_label//')')
if (constitutive_dislotwin_v0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0 (' &
//constitutive_dislotwin_label//')')
endif endif
enddo enddo
do f = 1_pInt,lattice_maxNtwinFamily do f = 1_pInt,lattice_maxNtwinFamily
if (constitutive_dislotwin_Ntwin(f,i) > 0_pInt) then if (constitutive_dislotwin_Ntwin(f,i) > 0_pInt) then
if (constitutive_dislotwin_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='twinburgers') if (constitutive_dislotwin_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinburgers (' &
if (constitutive_dislotwin_Ndot0PerTwinFamily(f,i) < 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='ndot0') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_Ndot0PerTwinFamily(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='ndot0 (' &
//constitutive_dislotwin_label//')')
endif endif
enddo enddo
if (constitutive_dislotwin_CAtomicVolume(i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='cAtomicVolume') if (constitutive_dislotwin_CAtomicVolume(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='cAtomicVolume (' &
if (constitutive_dislotwin_D0(i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='D0') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_Qsd(i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='Qsd') if (constitutive_dislotwin_D0(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='D0 (' &
if (constitutive_dislotwin_aTolRho(i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='aTolRho') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_sbResistance(i) <= 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='sbResistance') if (constitutive_dislotwin_Qsd(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='Qsd (' &
if (constitutive_dislotwin_sbVelocity(i) < 0.0_pReal) call IO_error(241_pInt,e=i,ext_msg='sbVelocity') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='aTolRho (' &
//constitutive_dislotwin_label//')')
if (constitutive_dislotwin_sbResistance(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='sbResistance (' &
//constitutive_dislotwin_label//')')
if (constitutive_dislotwin_sbVelocity(i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='sbVelocity (' &
//constitutive_dislotwin_label//')')
if (constitutive_dislotwin_SFE_0K(i) == 0.0_pReal .AND. & if (constitutive_dislotwin_SFE_0K(i) == 0.0_pReal .AND. &
constitutive_dislotwin_dSFE_dT(i) == 0.0_pReal) call IO_error(243_pInt,e=i) constitutive_dislotwin_dSFE_dT(i) == 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='SFE (' &
//constitutive_dislotwin_label//')')
!* Determine total number of active slip or twin systems !* Determine total number of active slip or twin systems
constitutive_dislotwin_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_dislotwin_Nslip(:,i)) constitutive_dislotwin_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_dislotwin_Nslip(:,i))
@ -554,7 +569,7 @@ do i = 1_pInt,maxNinstance
case('sb_eigenvectors') case('sb_eigenvectors')
mySize = 9_pInt mySize = 9_pInt
case default case default
call IO_error(242_pInt,ext_msg=constitutive_dislotwin_output(o,i)) call IO_error(212_pInt,ext_msg=constitutive_dislotwin_output(o,i)//' ('//constitutive_dislotwin_label//')')
end select end select
if (mySize > 0_pInt) then ! any meaningful output found if (mySize > 0_pInt) then ! any meaningful output found

View File

@ -127,7 +127,7 @@ subroutine constitutive_j2_init(myFile)
integer(pInt), parameter :: maxNchunks = 7_pInt integer(pInt), parameter :: maxNchunks = 7_pInt
integer(pInt), dimension(1_pInt+2_pInt*maxNchunks) :: positions integer(pInt), dimension(1_pInt+2_pInt*maxNchunks) :: positions
integer(pInt) :: section = 0_pInt, maxNinstance, i,j,k, mySize integer(pInt) :: section = 0_pInt, maxNinstance, i,j,k,o, mySize
character(len=64) :: tag character(len=64) :: tag
character(len=1024) :: line character(len=1024) :: line
@ -248,30 +248,37 @@ subroutine constitutive_j2_init(myFile)
case ('atol_resistance') case ('atol_resistance')
constitutive_j2_aTolResistance(i) = IO_floatValue(line,positions,2_pInt) constitutive_j2_aTolResistance(i) = IO_floatValue(line,positions,2_pInt)
case default case default
call IO_error(210_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_j2_label//')')
end select end select
endif endif
enddo enddo
100 do i = 1_pInt,maxNinstance ! sanity checks 100 do i = 1_pInt,maxNinstance ! sanity checks
if (constitutive_j2_tau0(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='tau0') if (constitutive_j2_tau0(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='tau0 (' &
if (constitutive_j2_gdot0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='gdot0') //constitutive_j2_label//')')
if (constitutive_j2_n(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='n') if (constitutive_j2_gdot0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='gdot0 (' &
if (constitutive_j2_tausat(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='tausat') //constitutive_j2_label//')')
if (constitutive_j2_a(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='a') if (constitutive_j2_n(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='n (' &
if (constitutive_j2_fTaylor(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='taylorfactor') //constitutive_j2_label//')')
if (constitutive_j2_aTolResistance(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='aTol_resistance') if (constitutive_j2_tausat(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='tausat (' &
//constitutive_j2_label//')')
if (constitutive_j2_a(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='a (' &
//constitutive_j2_label//')')
if (constitutive_j2_fTaylor(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='taylorfactor (' &
//constitutive_j2_label//')')
if (constitutive_j2_aTolResistance(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='aTol_resistance (' &
//constitutive_j2_label//')')
enddo enddo
do i = 1_pInt,maxNinstance do i = 1_pInt,maxNinstance
do j = 1_pInt,constitutive_j2_Noutput(i) do o = 1_pInt,constitutive_j2_Noutput(i)
select case(constitutive_j2_output(j,i)) select case(constitutive_j2_output(o,i))
case('flowstress') case('flowstress')
mySize = 1_pInt mySize = 1_pInt
case('strainrate') case('strainrate')
mySize = 1_pInt mySize = 1_pInt
case default case default
call IO_error(212_pInt,ext_msg=constitutive_j2_output(j,i)) call IO_error(212_pInt,ext_msg=constitutive_j2_output(o,i)//' ('//constitutive_j2_label//')')
end select end select
if (mySize > 0_pInt) then ! any meaningful output found if (mySize > 0_pInt) then ! any meaningful output found

View File

@ -189,7 +189,7 @@ subroutine constitutive_none_init(myFile)
case ('c44') case ('c44')
constitutive_none_C44(i) = IO_floatValue(line,positions,2_pInt) constitutive_none_C44(i) = IO_floatValue(line,positions,2_pInt)
case default case default
call IO_error(208_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_none_label//')')
end select end select
endif endif
enddo enddo
@ -197,35 +197,11 @@ subroutine constitutive_none_init(myFile)
100 do i = 1_pInt,maxNinstance ! sanity checks 100 do i = 1_pInt,maxNinstance ! sanity checks
constitutive_none_structure(i) = lattice_initializeStructure(constitutive_none_structureName(i), & ! get structure constitutive_none_structure(i) = lattice_initializeStructure(constitutive_none_structureName(i), & ! get structure
constitutive_none_CoverA(i)) constitutive_none_CoverA(i))
if (constitutive_none_structure(i) < 1 ) call IO_error(205_pInt,e=i) myStructure = constitutive_none_structure(i)
! if (constitutive_j2_tau0(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='tau0') if (myStructure < 1_pInt) call IO_error(205_pInt,e=i)
! if (constitutive_j2_gdot0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='gdot0')
! if (constitutive_j2_n(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='n')
! if (constitutive_j2_tausat(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='tausat')
! if (constitutive_j2_a(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='a')
! if (constitutive_j2_fTaylor(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='taylorfactor')
! if (constitutive_j2_aTolResistance(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='aTol_resistance')
enddo enddo
do i = 1_pInt,maxNinstance do i = 1_pInt,maxNinstance
! do j = 1_pInt,constitutive_j2_Noutput(i)
! select case(constitutive_j2_output(j,i))
! case('flowstress')
! mySize = 1_pInt
! case('strainrate')
! mySize = 1_pInt
! case default
! call IO_error(212_pInt,ext_msg=constitutive_j2_output(j,i))
! end select
!
! if (mySize > 0_pInt) then ! any meaningful output found
! constitutive_j2_sizePostResult(j,i) = mySize
! constitutive_j2_sizePostResults(i) = &
! constitutive_j2_sizePostResults(i) + mySize
! endif
! enddo
! constitutive_none_sizePostResults(i) = 0_pInt
constitutive_none_sizeDotState(i) = 1_pInt constitutive_none_sizeDotState(i) = 1_pInt
constitutive_none_sizeState(i) = 1_pInt constitutive_none_sizeState(i) = 1_pInt

View File

@ -497,7 +497,7 @@ do
case('shortrangestresscorrection') case('shortrangestresscorrection')
constitutive_nonlocal_shortRangeStressCorrection(i) = IO_floatValue(line,positions,2_pInt) > 0.0_pReal constitutive_nonlocal_shortRangeStressCorrection(i) = IO_floatValue(line,positions,2_pInt) > 0.0_pReal
case default case default
call IO_error(250_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_nonlocal_label//')')
end select end select
endif endif
enddo enddo
@ -512,47 +512,79 @@ enddo
!*** sanity checks !*** sanity checks
if (myStructure < 1_pInt .or. myStructure > 3_pInt) call IO_error(205_pInt) if (myStructure < 1_pInt) call IO_error(205_pInt,e=i)
if (sum(constitutive_nonlocal_Nslip(:,i)) <= 0_pInt) call IO_error(251_pInt,ext_msg='Nslip') if (sum(constitutive_nonlocal_Nslip(:,i)) <= 0_pInt) call IO_error(211_pInt,ext_msg='Nslip (' &
//constitutive_nonlocal_label//')')
do o = 1_pInt,maxval(phase_Noutput) do o = 1_pInt,maxval(phase_Noutput)
if(len(constitutive_nonlocal_output(o,i)) > 64_pInt) call IO_error(666_pInt) if(len(constitutive_nonlocal_output(o,i)) > 64_pInt) call IO_error(666_pInt)
enddo enddo
do f = 1_pInt,lattice_maxNslipFamily do f = 1_pInt,lattice_maxNslipFamily
if (constitutive_nonlocal_Nslip(f,i) > 0_pInt) then if (constitutive_nonlocal_Nslip(f,i) > 0_pInt) then
if (constitutive_nonlocal_rhoSglEdgePos0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoSglEdgePos0') if (constitutive_nonlocal_rhoSglEdgePos0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoSglEdgePos0 (' &
if (constitutive_nonlocal_rhoSglEdgeNeg0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoSglEdgeNeg0') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoSglScrewPos0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoSglScrewPos0') if (constitutive_nonlocal_rhoSglEdgeNeg0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoSglEdgeNeg0 (' &
if (constitutive_nonlocal_rhoSglScrewNeg0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoSglScrewNeg0') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoDipEdge0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoDipEdge0') if (constitutive_nonlocal_rhoSglScrewPos0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoSglScrewPos0 (' &
if (constitutive_nonlocal_rhoDipScrew0(f,i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoDipScrew0') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='burgers') if (constitutive_nonlocal_rhoSglScrewNeg0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoSglScrewNeg0 (' &
if (constitutive_nonlocal_lambda0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='lambda0') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoDipEdge0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoDipEdge0 (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoDipScrew0(f,i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoDipScrew0 (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='Burgers (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_lambda0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='lambda0 (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,1,i) < 0.0_pReal) & if (constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,1,i) < 0.0_pReal) &
call IO_error(251_pInt,ext_msg='minimumDipoleHeightEdge') call IO_error(211_pInt,ext_msg='minimumDipoleHeightEdge (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,2,i) < 0.0_pReal) & if (constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,2,i) < 0.0_pReal) &
call IO_error(251_pInt,ext_msg='minimumDipoleHeightScrew') call IO_error(211_pInt,ext_msg='minimumDipoleHeightScrew (' &
if (constitutive_nonlocal_peierlsStressPerSlipFamily(f,1,i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='peierlsStressEdge') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_peierlsStressPerSlipFamily(f,2,i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='peierlsStressScrew') if (constitutive_nonlocal_peierlsStressPerSlipFamily(f,1,i) <= 0.0_pReal) &
call IO_error(211_pInt,ext_msg='peierlsStressEdge (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_peierlsStressPerSlipFamily(f,2,i) <= 0.0_pReal) &
call IO_error(211_pInt,ext_msg='peierlsStressScrew (' &
//constitutive_nonlocal_label//')')
endif endif
enddo enddo
if (any(constitutive_nonlocal_interactionSlipSlip(1:maxval(lattice_interactionSlipSlip(:,:,myStructure)),i) < 0.0_pReal)) & if (any(constitutive_nonlocal_interactionSlipSlip(1:maxval(lattice_interactionSlipSlip(:,:,myStructure)),i) < 0.0_pReal)) &
call IO_error(251_pInt,ext_msg='interaction_SlipSlip') call IO_error(211_pInt,ext_msg='interaction_SlipSlip (' &
if (constitutive_nonlocal_R(i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='r') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_atomicVolume(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='atomicVolume') if (constitutive_nonlocal_R(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='r (' &
if (constitutive_nonlocal_Dsd0(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='selfDiffusionPrefactor') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_Qsd(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='selfDiffusionEnergy') if (constitutive_nonlocal_atomicVolume(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='atomicVolume (' &
if (constitutive_nonlocal_aTolRho(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='aTol_rho') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_doublekinkwidth(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='doublekinkwidth') if (constitutive_nonlocal_Dsd0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='selfDiffusionPrefactor (' &
if (constitutive_nonlocal_solidSolutionEnergy(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='solidSolutionEnergy') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_solidSolutionSize(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='solidSolutionSize') if (constitutive_nonlocal_Qsd(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='selfDiffusionEnergy (' &
if (constitutive_nonlocal_solidSolutionConcentration(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='solidSolutionConcentration') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_p(i) <= 0.0_pReal .or. constitutive_nonlocal_p(i) > 1.0_pReal) call IO_error(251_pInt,ext_msg='p') if (constitutive_nonlocal_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='aTol_rho (' &
if (constitutive_nonlocal_q(i) < 1.0_pReal .or. constitutive_nonlocal_q(i) > 2.0_pReal) call IO_error(251_pInt,ext_msg='q') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_viscosity(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='viscosity') if (constitutive_nonlocal_doublekinkwidth(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='doublekinkwidth (' &
if (constitutive_nonlocal_fattack(i) <= 0.0_pReal) call IO_error(251_pInt,ext_msg='attackFrequency') //constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoSglScatter(i) < 0.0_pReal) call IO_error(251_pInt,ext_msg='rhoSglScatter') if (constitutive_nonlocal_solidSolutionEnergy(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='solidSolutionEnergy (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_solidSolutionSize(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='solidSolutionSize (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_solidSolutionConcentration(i) <= 0.0_pReal) &
call IO_error(211_pInt,ext_msg='solidSolutionConcentration (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_p(i) <= 0.0_pReal .or. constitutive_nonlocal_p(i) > 1.0_pReal) call IO_error(211_pInt,ext_msg='p (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_q(i) < 1.0_pReal .or. constitutive_nonlocal_q(i) > 2.0_pReal) call IO_error(211_pInt,ext_msg='q (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_viscosity(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='viscosity (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_fattack(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='attackFrequency (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_rhoSglScatter(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='rhoSglScatter (' &
//constitutive_nonlocal_label//')')
if (constitutive_nonlocal_surfaceTransmissivity(i) < 0.0_pReal & if (constitutive_nonlocal_surfaceTransmissivity(i) < 0.0_pReal &
.or. constitutive_nonlocal_surfaceTransmissivity(i) > 1.0_pReal) call IO_error(251_pInt,ext_msg='surfaceTransmissivity') .or. constitutive_nonlocal_surfaceTransmissivity(i) > 1.0_pReal) call IO_error(211_pInt,ext_msg='surfaceTransmissivity (' &
//constitutive_nonlocal_label//')')
!*** determine total number of active slip systems !*** determine total number of active slip systems
@ -705,7 +737,7 @@ do i = 1,maxNinstance
case('dislocationstress') case('dislocationstress')
mySize = 6_pInt mySize = 6_pInt
case default case default
call IO_error(252_pInt,ext_msg=constitutive_nonlocal_output(o,i)) call IO_error(212_pInt,ext_msg=constitutive_nonlocal_output(o,i)//' ('//constitutive_nonlocal_label//')')
end select end select
if (mySize > 0_pInt) then ! any meaningful output found if (mySize > 0_pInt) then ! any meaningful output found

View File

@ -385,7 +385,7 @@ subroutine constitutive_phenopowerlaw_init(myFile)
forall (j = 1_pInt:lattice_maxNinteraction) & forall (j = 1_pInt:lattice_maxNinteraction) &
constitutive_phenopowerlaw_interaction_twintwin(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_phenopowerlaw_interaction_twintwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
case default case default
call IO_error(220_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_phenopowerlaw_label//')')
end select end select
endif endif
enddo enddo
@ -405,19 +405,27 @@ subroutine constitutive_phenopowerlaw_init(myFile)
if (constitutive_phenopowerlaw_structure(i) < 1 ) call IO_error(205_pInt,e=i) if (constitutive_phenopowerlaw_structure(i) < 1 ) call IO_error(205_pInt,e=i)
if (any(constitutive_phenopowerlaw_tau0_slip(:,i) < 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tau0_slip(:,i) < 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='tau0_slip') constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='tau0_slip (' &
if (constitutive_phenopowerlaw_gdot0_slip(i) <= 0.0_pReal) call IO_error(221_pInt,e=i,ext_msg='gdot0_slip') //constitutive_phenopowerlaw_label//')')
if (constitutive_phenopowerlaw_n_slip(i) <= 0.0_pReal) call IO_error(221_pInt,e=i,ext_msg='n_slip') if (constitutive_phenopowerlaw_gdot0_slip(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='gdot0_slip (' &
//constitutive_phenopowerlaw_label//')')
if (constitutive_phenopowerlaw_n_slip(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='n_slip (' &
//constitutive_phenopowerlaw_label//')')
if (any(constitutive_phenopowerlaw_tausat_slip(:,i) <= 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tausat_slip(:,i) <= 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='tausat_slip') constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='tausat_slip (' &
//constitutive_phenopowerlaw_label//')')
if (any(constitutive_phenopowerlaw_a_slip(i) == 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_a_slip(i) == 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='a_slip') constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='a_slip (' &
//constitutive_phenopowerlaw_label//')')
if (any(constitutive_phenopowerlaw_tau0_twin(:,i) < 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tau0_twin(:,i) < 0.0_pReal .and. &
constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='tau0_twin') constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='tau0_twin (' &
//constitutive_phenopowerlaw_label//')')
if ( constitutive_phenopowerlaw_gdot0_twin(i) <= 0.0_pReal .and. & if ( constitutive_phenopowerlaw_gdot0_twin(i) <= 0.0_pReal .and. &
any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='gdot0_twin') any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='gdot0_twin (' &
//constitutive_phenopowerlaw_label//')')
if ( constitutive_phenopowerlaw_n_twin(i) <= 0.0_pReal .and. & if ( constitutive_phenopowerlaw_n_twin(i) <= 0.0_pReal .and. &
any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(221_pInt,e=i,ext_msg='n_twin') any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,e=i,ext_msg='n_twin (' &
//constitutive_phenopowerlaw_label//')')
if (constitutive_phenopowerlaw_aTolResistance(i) <= 0.0_pReal) & if (constitutive_phenopowerlaw_aTolResistance(i) <= 0.0_pReal) &
constitutive_phenopowerlaw_aTolResistance(i) = 1.0_pReal ! default absolute tolerance 1 Pa constitutive_phenopowerlaw_aTolResistance(i) = 1.0_pReal ! default absolute tolerance 1 Pa
@ -440,10 +448,9 @@ subroutine constitutive_phenopowerlaw_init(myFile)
constitutive_phenopowerlaw_hardeningMatrix_twinslip = 0.0_pReal constitutive_phenopowerlaw_hardeningMatrix_twinslip = 0.0_pReal
constitutive_phenopowerlaw_hardeningMatrix_twintwin = 0.0_pReal constitutive_phenopowerlaw_hardeningMatrix_twintwin = 0.0_pReal
do i = 1_pInt,maxNinstance do i = 1_pInt,maxNinstance
do j = 1_pInt,constitutive_phenopowerlaw_Noutput(i) do o = 1_pInt,constitutive_phenopowerlaw_Noutput(i)
select case(constitutive_phenopowerlaw_output(j,i)) select case(constitutive_phenopowerlaw_output(o,i))
case('resistance_slip', & case('resistance_slip', &
'shearrate_slip', & 'shearrate_slip', &
'resolvedstress_slip' & 'resolvedstress_slip' &
@ -459,11 +466,11 @@ subroutine constitutive_phenopowerlaw_init(myFile)
) )
mySize = 1_pInt mySize = 1_pInt
case default case default
call IO_error(222_pInt,ext_msg=constitutive_phenopowerlaw_output(j,i)) call IO_error(212_pInt,ext_msg=constitutive_phenopowerlaw_output(o,i)//' ('//constitutive_phenopowerlaw_label//')')
end select end select
if (mySize > 0_pInt) then ! any meaningful output found if (mySize > 0_pInt) then ! any meaningful output found
constitutive_phenopowerlaw_sizePostResult(j,i) = mySize constitutive_phenopowerlaw_sizePostResult(o,i) = mySize
constitutive_phenopowerlaw_sizePostResults(i) = & constitutive_phenopowerlaw_sizePostResults(i) = &
constitutive_phenopowerlaw_sizePostResults(i) + mySize constitutive_phenopowerlaw_sizePostResults(i) + mySize
endif endif

View File

@ -622,7 +622,7 @@ enddo
constitutive_titanmod_interactionTwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_interactionTwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag write(6,*) tag
case default case default
call IO_error(230_pInt,ext_msg=tag) call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_titanmod_label//')')
end select end select
endif endif
enddo enddo
@ -635,38 +635,59 @@ write(6,*) 'Material Property reading done'
myStructure = constitutive_titanmod_structure(i) myStructure = constitutive_titanmod_structure(i)
!* Sanity checks !* Sanity checks
if (myStructure < 1_pInt .or. myStructure > 3_pInt) call IO_error(205_pInt,e=i) if (myStructure < 1_pInt) call IO_error(205_pInt,e=i)
if (sum(constitutive_titanmod_Nslip(:,i)) <= 0_pInt) call IO_error(231_pInt,e=i,ext_msg='nslip') if (sum(constitutive_titanmod_Nslip(:,i)) <= 0_pInt) call IO_error(211_pInt,e=i,ext_msg='nslip (' &
if (sum(constitutive_titanmod_Ntwin(:,i)) < 0_pInt) call IO_error(231_pInt,e=i,ext_msg='ntwin') //constitutive_titanmod_label//')')
if (sum(constitutive_titanmod_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='ntwin (' &
//constitutive_titanmod_label//')')
do f = 1_pInt,lattice_maxNslipFamily do f = 1_pInt,lattice_maxNslipFamily
if (constitutive_titanmod_Nslip(f,i) > 0_pInt) then if (constitutive_titanmod_Nslip(f,i) > 0_pInt) then
if (constitutive_titanmod_rho_edge0(f,i) < 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='rho_edge0') if (constitutive_titanmod_rho_edge0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rho_edge0 (' &
if (constitutive_titanmod_rho_screw0(f,i) < 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='rho_screw0') //constitutive_titanmod_label//')')
if (constitutive_titanmod_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='slipburgers') if (constitutive_titanmod_rho_screw0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rho_screw0 (' &
if (constitutive_titanmod_f0_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='f0') //constitutive_titanmod_label//')')
if (constitutive_titanmod_tau0e_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='tau0e') if (constitutive_titanmod_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='slipburgers (' &
if (constitutive_titanmod_tau0s_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='tau0s') //constitutive_titanmod_label//')')
if (constitutive_titanmod_capre_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='capre') if (constitutive_titanmod_f0_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='f0 (' &
if (constitutive_titanmod_caprs_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='carrs') //constitutive_titanmod_label//')')
if (constitutive_titanmod_v0e_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='v0e') if (constitutive_titanmod_tau0e_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='tau0e (' &
if (constitutive_titanmod_v0s_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='v0s') //constitutive_titanmod_label//')')
if (constitutive_titanmod_tau0s_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='tau0s (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_capre_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='capre (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_caprs_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='caprs (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_v0e_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0e (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_v0s_PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0s (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_kinkcriticallength_PerSlipFamily(f,i) <= 0.0_pReal) & if (constitutive_titanmod_kinkcriticallength_PerSlipFamily(f,i) <= 0.0_pReal) &
call IO_error(231_pInt,e=i,ext_msg='kinkCriticalLength') call IO_error(211_pInt,e=i,ext_msg='kinkCriticalLength (' &
//constitutive_titanmod_label//')')
endif endif
enddo enddo
do f = 1_pInt,lattice_maxNtwinFamily do f = 1_pInt,lattice_maxNtwinFamily
if (constitutive_titanmod_Ntwin(f,i) > 0_pInt) then if (constitutive_titanmod_Ntwin(f,i) > 0_pInt) then
if (constitutive_titanmod_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='twinburgers') if (constitutive_titanmod_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinburgers (' &
if (constitutive_titanmod_twinf0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='twinf0') //constitutive_titanmod_label//')')
if (constitutive_titanmod_twinf0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinf0 (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_twinshearconstant_PerTwinFamily(f,i) <= 0.0_pReal) & if (constitutive_titanmod_twinshearconstant_PerTwinFamily(f,i) <= 0.0_pReal) &
call IO_error(231_pInt,e=i,ext_msg='twinshearconstant') call IO_error(211_pInt,e=i,ext_msg='twinshearconstant (' &
if (constitutive_titanmod_twintau0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='twintau0') //constitutive_titanmod_label//')')
if (constitutive_titanmod_twingamma0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='twingamma0') if (constitutive_titanmod_twintau0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twintau0 (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_twingamma0_PerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twingamma0 (' &
//constitutive_titanmod_label//')')
endif endif
enddo enddo
if (constitutive_titanmod_dc(i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='dc') if (constitutive_titanmod_dc(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='dc (' &
if (constitutive_titanmod_twinhpconstant(i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='twinhpconstant') //constitutive_titanmod_label//')')
if (constitutive_titanmod_aTolRho(i) <= 0.0_pReal) call IO_error(231_pInt,e=i,ext_msg='aTolRho') if (constitutive_titanmod_twinhpconstant(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinhpconstant (' &
//constitutive_titanmod_label//')')
if (constitutive_titanmod_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='aTolRho (' &
//constitutive_titanmod_label//')')
!* Determine total number of active slip or twin systems !* Determine total number of active slip or twin systems
constitutive_titanmod_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_titanmod_Nslip(:,i)) constitutive_titanmod_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_titanmod_Nslip(:,i))
@ -837,7 +858,7 @@ do i = 1_pInt,maxNinstance
) )
mySize = 1_pInt mySize = 1_pInt
case default case default
call IO_error(232_pInt,ext_msg=constitutive_titanmod_output(o,i)) call IO_error(212_pInt,ext_msg=constitutive_titanmod_output(o,i)//' ('//constitutive_titanmod_label//')')
end select end select
if (mySize > 0_pInt) then ! any meaningful output found if (mySize > 0_pInt) then ! any meaningful output found