Made corresponding changes in the constitutive files and DAMASK_spectral_driver and interface files with respect to the changes made to IO.f90

This commit is contained in:
Mahesh Balasubramaniam 2013-02-06 16:45:34 +00:00
parent b591dd5f33
commit 362cbf3359
6 changed files with 213 additions and 130 deletions

View File

@ -143,7 +143,7 @@ program DAMASK_spectral_Driver
read(myUnit,'(a1024)',END = 100) line
if (IO_isBlank(line)) cycle ! skip empty lines
positions = IO_stringPos(line,maxNchunks)
do i = 1_pInt, maxNchunks ! reading compulsory parameters for loadcase
do i = 1_pInt, positions(1) ! reading compulsory parameters for loadcase
select case (IO_lc(IO_stringValue(line,positions,i)))
case('l','velocitygrad','velgrad','velocitygradient')
N_l = N_l + 1_pInt
@ -170,7 +170,7 @@ program DAMASK_spectral_Driver
if (IO_isBlank(line)) cycle ! skip empty lines
currentLoadCase = currentLoadCase + 1_pInt
positions = IO_stringPos(line,maxNchunks)
do i = 1_pInt, maxNchunks
do i = 1_pInt, positions(1)
select case (IO_lc(IO_stringValue(line,positions,i)))
case('fdot','dotf','l','velocitygrad','velgrad','velocitygradient') ! assign values for the deformation BC matrix
temp_valueVector = 0.0_pReal
@ -180,7 +180,9 @@ program DAMASK_spectral_Driver
else
loadCases(currentLoadCase)%deformation%myType = 'l'
endif
forall (j = 1_pInt:9_pInt) temp_maskVector(j) = IO_stringValue(line,positions,i+j) /= '*' ! true if not a *
do j = 1_pInt, 9_pInt
temp_maskVector(j) = IO_stringValue(line,positions,i+j) /= '*' ! true if not a *
enddo
do j = 1_pInt,9_pInt
if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable
enddo
@ -191,7 +193,9 @@ program DAMASK_spectral_Driver
loadCases(currentLoadCase)%deformation%values = math_plain9to33(temp_valueVector) ! values in 3x3 notation
case('p','pk1','piolakirchhoff','stress', 's')
temp_valueVector = 0.0_pReal
forall (j = 1_pInt:9_pInt) temp_maskVector(j) = IO_stringValue(line,positions,i+j) /= '*' ! true if not a *
do j = 1_pInt, 9_pInt
temp_maskVector(j) = IO_stringValue(line,positions,i+j) /= '*' ! true if not a *
enddo
do j = 1_pInt,9_pInt
if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable
enddo
@ -226,12 +230,16 @@ program DAMASK_spectral_Driver
case default
k = 0_pInt
end select
forall(j = 1_pInt:3_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+k+j)
do j = 1_pInt, 3_pInt
temp_valueVector(j) = IO_floatValue(line,positions,i+k+j)
enddo
if (l == 1_pInt) temp_valueVector(1:3) = temp_valueVector(1:3) * inRad ! convert to rad
loadCases(currentLoadCase)%rotation = math_EulerToR(temp_valueVector(1:3)) ! convert rad Eulers to rotation matrix
case('rotation','rot') ! assign values for the rotation of currentLoadCase matrix
temp_valueVector = 0.0_pReal
forall (j = 1_pInt:9_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+j)
do j = 1_pInt, 9_pInt
temp_valueVector(j) = IO_floatValue(line,positions,i+j)
enddo
loadCases(currentLoadCase)%rotation = math_plain9to33(temp_valueVector)
end select
enddo; enddo

View File

@ -84,7 +84,7 @@ subroutine DAMASK_interface_init(loadCaseParameterIn,geometryParameterIn)
integer :: &
i
integer, parameter :: &
maxNchunks = 10 !< DAMASK_spectral + (l,g,w,r)*2 + h
maxNchunks = 128 !< DAMASK_spectral + (l,g,w,r)*2 + h
integer, dimension(1+ 2* maxNchunks) :: &
positions
integer, dimension(8) :: &
@ -110,7 +110,7 @@ subroutine DAMASK_interface_init(loadCaseParameterIn,geometryParameterIn)
else if ( .not.( present(loadcaseParameterIn) .and. present(geometryParameterIn))) then ! none parameters given in function call, trying to get them from command line
call get_command(commandLine)
positions = IIO_stringPos(commandLine,maxNchunks)
do i = 1, maxNchunks
do i = 1, positions(1)
tag = IIO_lc(IIO_stringValue(commandLine,positions,i)) ! extract key
select case(tag)
case ('-h','--help')

View File

@ -304,38 +304,49 @@ do ! read thru sections of
case ('c66')
constitutive_dislotwin_Cslip_66(6,6,i) = IO_floatValue(line,positions,2_pInt)
case ('nslip')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
case ('ntwin')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_dislotwin_Ntwin(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
case ('rhoedge0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_rhoEdge0(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('rhoedgedip0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_rhoEdgeDip0(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('slipburgers')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_burgersPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('twinburgers')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_dislotwin_burgersPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('qedge')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_QedgePerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('v0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_v0PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('ndot0')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_dislotwin_Ndot0PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('twinsize')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_dislotwin_twinsizePerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('clambdaslip')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_dislotwin_CLambdaSlipPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('grainsize')
constitutive_dislotwin_GrainSize(i) = IO_floatValue(line,positions,2_pInt)
case ('maxtwinfraction')
@ -365,17 +376,21 @@ do ! read thru sections of
case ('catomicvolume')
constitutive_dislotwin_CAtomicVolume(i) = IO_floatValue(line,positions,2_pInt)
case ('interaction_slipslip','interactionslipslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_dislotwin_interaction_SlipSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_sliptwin','interactionsliptwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_dislotwin_interaction_SlipTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_twinslip','interactiontwinslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_dislotwin_interaction_TwinSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_twintwin','interactiontwintwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_dislotwin_interaction_TwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('sfe_0k')
constitutive_dislotwin_SFE_0K(i) = IO_floatValue(line,positions,2_pInt)
case ('dsfe_dt')

View File

@ -456,40 +456,51 @@ do
case ('c66')
constitutive_nonlocal_Cslip_66(6,6,i) = IO_floatValue(line,positions,2_pInt)
case ('nslip')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_Nslip(f,i) = IO_intValue(line,positions,1_pInt+f)
enddo
case ('rhosgledgepos0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoSglEdgePos0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('rhosgledgeneg0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoSglEdgeNeg0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('rhosglscrewpos0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoSglScrewPos0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('rhosglscrewneg0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoSglScrewNeg0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('rhodipedge0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoDipEdge0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('rhodipscrew0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_rhoDipScrew0(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('lambda0')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_lambda0PerSlipFamily(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case ('burgers')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_burgersPerSlipFamily(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('cutoffradius','r')
constitutive_nonlocal_R(i) = IO_floatValue(line,positions,2_pInt)
case('minimumdipoleheightedge','ddipminedge')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,1_pInt,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('minimumdipoleheightscrew','ddipminscrew')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_minimumDipoleHeightPerSlipFamily(f,2_pInt,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('atomicvolume')
constitutive_nonlocal_atomicVolume(i) = IO_floatValue(line,positions,2_pInt)
case('selfdiffusionprefactor','dsd0')
@ -503,18 +514,21 @@ do
case('significantn','significant_n','significantdislocations','significant_dislcations')
constitutive_nonlocal_significantN(i) = IO_floatValue(line,positions,2_pInt)
case ('interaction_slipslip')
forall (it = 1_pInt:lattice_maxNinteraction) &
do it = 1_pInt, lattice_maxNinteraction
constitutive_nonlocal_interactionSlipSlip(it,i) = IO_floatValue(line,positions,1_pInt+it)
enddo
case('linetension','linetensioneffect','linetension_effect')
constitutive_nonlocal_linetensionEffect(i) = IO_floatValue(line,positions,2_pInt)
case('edgejog','edgejogs','edgejogeffect','edgejog_effect')
constitutive_nonlocal_edgeJogFactor(i) = IO_floatValue(line,positions,2_pInt)
case('peierlsstressedge','peierlsstress_edge')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_peierlsStressPerSlipFamily(f,1_pInt,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('peierlsstressscrew','peierlsstress_screw')
forall (f = 1_pInt:lattice_maxNslipFamily) &
do f = 1_pInt, lattice_maxNslipFamily
constitutive_nonlocal_peierlsStressPerSlipFamily(f,2_pInt,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('doublekinkwidth')
constitutive_nonlocal_doublekinkwidth(i) = IO_floatValue(line,positions,2_pInt)
case('solidsolutionenergy')
@ -550,8 +564,9 @@ do
case('shortrangestresscorrection')
constitutive_nonlocal_shortRangeStressCorrection(i) = IO_floatValue(line,positions,2_pInt) > 0.0_pReal
case ('nonschmid_coefficients')
forall (f = 1_pInt:lattice_maxNonSchmid) &
do f = 1_pInt, lattice_maxNonSchmid
constitutive_nonlocal_nonSchmidCoeff(f,i) = IO_floatValue(line,positions,1_pInt+f)
enddo
case('deadzonescaling','deadzone','deadscaling')
constitutive_nonlocal_deadZoneScaling(i) = IO_floatValue(line,positions,2_pInt) > 0.0_pReal
case('probabilisticmultiplication','randomsources','randommultiplication','discretesources')

View File

@ -283,30 +283,35 @@ subroutine constitutive_phenopowerlaw_init(myFile)
case ('c66')
constitutive_phenopowerlaw_Cslip_66(6,6,i) = IO_floatValue(line,positions,2_pInt)
case ('nslip')
forall (j = 1_pInt:lattice_maxNslipFamily)&
do j = 1_pInt, lattice_maxNslipFamily
constitutive_phenopowerlaw_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
case ('gdot0_slip')
constitutive_phenopowerlaw_gdot0_slip(i) = IO_floatValue(line,positions,2_pInt)
case ('n_slip')
constitutive_phenopowerlaw_n_slip(i) = IO_floatValue(line,positions,2_pInt)
case ('tau0_slip')
forall (j = 1_pInt:lattice_maxNslipFamily)&
constitutive_phenopowerlaw_tau0_slip(j,i) = IO_floatValue(line,positions,1_pInt+j)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_phenopowerlaw_tau0_slip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('tausat_slip')
forall (j = 1_pInt:lattice_maxNslipFamily)&
constitutive_phenopowerlaw_tausat_slip(j,i) = IO_floatValue(line,positions,1_pInt+j)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_phenopowerlaw_tausat_slip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('a_slip', 'w0_slip')
constitutive_phenopowerlaw_a_slip(i) = IO_floatValue(line,positions,2_pInt)
case ('ntwin')
forall (j = 1_pInt:lattice_maxNtwinFamily)&
constitutive_phenopowerlaw_Ntwin(j,i) = IO_intValue(line,positions,1_pInt+j)
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_phenopowerlaw_Ntwin(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
case ('gdot0_twin')
constitutive_phenopowerlaw_gdot0_twin(i) = IO_floatValue(line,positions,2_pInt)
case ('n_twin')
constitutive_phenopowerlaw_n_twin(i) = IO_floatValue(line,positions,2_pInt)
case ('tau0_twin')
forall (j = 1_pInt:lattice_maxNtwinFamily)&
constitutive_phenopowerlaw_tau0_twin(j,i) = IO_floatValue(line,positions,1_pInt+j)
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_phenopowerlaw_tau0_twin(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('s_pr')
constitutive_phenopowerlaw_spr(i) = IO_floatValue(line,positions,2_pInt)
case ('twin_b')
@ -333,20 +338,25 @@ subroutine constitutive_phenopowerlaw_init(myFile)
case ('atol_twinfrac')
constitutive_phenopowerlaw_aTolTwinfrac(i) = IO_floatValue(line,positions,2_pInt)
case ('interaction_slipslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_phenopowerlaw_interaction_SlipSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_sliptwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_phenopowerlaw_interaction_SlipTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_twinslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_phenopowerlaw_interaction_TwinSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('interaction_twintwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_phenopowerlaw_interaction_TwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case ('nonschmid_coefficients')
forall (j = 1_pInt:lattice_maxNonSchmid) &
do j = 1_pInt, lattice_maxNonSchmid
constitutive_phenopowerlaw_nonSchmidCoeff(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
case default
call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_phenopowerlaw_label//')')
end select

View File

@ -464,89 +464,110 @@ enddo
constitutive_titanmod_kinkf0(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag,constitutive_titanmod_kinkf0(i)
case ('nslip')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_Nslip(1:4,i)
case ('ntwin')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_Ntwin(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_Ntwin(1:4,i)
case ('rho_edge0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_rho_edge0(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_rho_edge0(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_rho_edge0(1:4,i)
case ('rho_screw0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_rho_screw0(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_rho_screw0(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_rho_screw0(1:4,i)
case ('slipburgers')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_burgersPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_burgersPerSlipFamily(1:4,i)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_burgersPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_burgersPerSlipFamily(1:4,i)
case ('twinburgers')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
constitutive_titanmod_burgersPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_burgersPerTwinFamily(1:4,i)
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_burgersPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_burgersPerTwinFamily(1:4,i)
case ('f0')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_f0_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_f0_PerSlipFamily(1:4,i)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_f0_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_f0_PerSlipFamily(1:4,i)
case ('twinf0')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
constitutive_titanmod_twinf0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinf0_PerTwinFamily(1:4,i)
case ('tau0e')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_tau0e_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_tau0e_PerSlipFamily(1:4,i)
case ('twintau0')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
constitutive_titanmod_twintau0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twintau0_PerTwinFamily(1:4,i)
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinf0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_twinf0_PerTwinFamily(1:4,i)
case ('tau0e')
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_tau0e_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_tau0e_PerSlipFamily(1:4,i)
case ('twintau0')
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twintau0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_twintau0_PerTwinFamily(1:4,i)
case ('tau0s')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_tau0s_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_tau0s_PerSlipFamily(1:4,i)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_tau0s_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_tau0s_PerSlipFamily(1:4,i)
case ('capre')
forall (j = 1_pInt:lattice_maxNslipFamily) &
constitutive_titanmod_capre_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_capre_PerSlipFamily(1:4,i)
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_capre_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_capre_PerSlipFamily(1:4,i)
case ('caprs')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_caprs_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_caprs_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_caprs_PerSlipFamily(1:4,i)
case ('v0e')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_v0e_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_v0e_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_v0e_PerSlipFamily(1:4,i)
case ('twingamma0')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twingamma0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twingamma0_PerTwinFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_twingamma0_PerTwinFamily(1:4,i)
case ('v0s')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_v0s_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_v0s_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_v0s_PerSlipFamily(1:4,i)
case ('kinkcriticallength')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_kinkcriticallength_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_kinkcriticallength_PerSlipFamily(1:4,i)
case ('twinsize')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinsizePerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('celambdaslip')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_CeLambdaSlipPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('twinlambdaslip')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinlambdaslipPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinlambdaslipPerTwinFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_twinlambdaslipPerTwinFamily(1:4,i)
case ('cslambdaslip')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_CsLambdaSlipPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('grainsize')
constitutive_titanmod_GrainSize(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag
@ -554,33 +575,40 @@ enddo
constitutive_titanmod_MaxTwinFraction(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag
case ('pe')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_pe_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_pe_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_pe_PerSlipFamily(1:4,i)
case ('twinp')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinp_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinp_PerTwinFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_twinp_PerTwinFamily(1:4,i)
case ('ps')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_ps_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_ps_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_ps_PerSlipFamily(1:4,i)
case ('qe')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_qe_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_qe_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_qe_PerSlipFamily(1:4,i)
case ('twinq')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinq_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinq_PerTwinFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_twinq_PerTwinFamily(1:4,i)
case ('qs')
forall (j = 1_pInt:lattice_maxNslipFamily) &
do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_qs_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_qs_PerSlipFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_qs_PerSlipFamily(1:4,i)
case ('twinshearconstant')
forall (j = 1_pInt:lattice_maxNtwinFamily) &
do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinshearconstant_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinshearconstant_PerTwinFamily(1:4,i)
enddo
write(6,*) tag,constitutive_titanmod_twinshearconstant_PerTwinFamily(1:4,i)
case ('dc')
constitutive_titanmod_dc(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag
@ -591,33 +619,40 @@ enddo
constitutive_titanmod_aTolRho(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag
case ('interactionslipslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interactionSlipSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactionee')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interaction_ee(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactionss')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interaction_ss(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactiones')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interaction_es(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactionsliptwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interactionSlipTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactiontwinslip')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interactionTwinSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case ('interactiontwintwin')
forall (j = 1_pInt:lattice_maxNinteraction) &
do j = 1_pInt, lattice_maxNinteraction
constitutive_titanmod_interactionTwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag
enddo
write(6,*) tag
case default
call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_titanmod_label//')')
end select