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 read(myUnit,'(a1024)',END = 100) line
if (IO_isBlank(line)) cycle ! skip empty lines if (IO_isBlank(line)) cycle ! skip empty lines
positions = IO_stringPos(line,maxNchunks) 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))) select case (IO_lc(IO_stringValue(line,positions,i)))
case('l','velocitygrad','velgrad','velocitygradient') case('l','velocitygrad','velgrad','velocitygradient')
N_l = N_l + 1_pInt N_l = N_l + 1_pInt
@ -170,7 +170,7 @@ program DAMASK_spectral_Driver
if (IO_isBlank(line)) cycle ! skip empty lines if (IO_isBlank(line)) cycle ! skip empty lines
currentLoadCase = currentLoadCase + 1_pInt currentLoadCase = currentLoadCase + 1_pInt
positions = IO_stringPos(line,maxNchunks) 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))) select case (IO_lc(IO_stringValue(line,positions,i)))
case('fdot','dotf','l','velocitygrad','velgrad','velocitygradient') ! assign values for the deformation BC matrix case('fdot','dotf','l','velocitygrad','velgrad','velocitygradient') ! assign values for the deformation BC matrix
temp_valueVector = 0.0_pReal temp_valueVector = 0.0_pReal
@ -180,7 +180,9 @@ program DAMASK_spectral_Driver
else else
loadCases(currentLoadCase)%deformation%myType = 'l' loadCases(currentLoadCase)%deformation%myType = 'l'
endif 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 do j = 1_pInt,9_pInt
if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable
enddo enddo
@ -191,7 +193,9 @@ program DAMASK_spectral_Driver
loadCases(currentLoadCase)%deformation%values = math_plain9to33(temp_valueVector) ! values in 3x3 notation loadCases(currentLoadCase)%deformation%values = math_plain9to33(temp_valueVector) ! values in 3x3 notation
case('p','pk1','piolakirchhoff','stress', 's') case('p','pk1','piolakirchhoff','stress', 's')
temp_valueVector = 0.0_pReal 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 do j = 1_pInt,9_pInt
if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable if (temp_maskVector(j)) temp_valueVector(j) = IO_floatValue(line,positions,i+j) ! read value where applicable
enddo enddo
@ -226,12 +230,16 @@ program DAMASK_spectral_Driver
case default case default
k = 0_pInt k = 0_pInt
end select 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 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 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 case('rotation','rot') ! assign values for the rotation of currentLoadCase matrix
temp_valueVector = 0.0_pReal 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) loadCases(currentLoadCase)%rotation = math_plain9to33(temp_valueVector)
end select end select
enddo; enddo enddo; enddo

View File

@ -84,7 +84,7 @@ subroutine DAMASK_interface_init(loadCaseParameterIn,geometryParameterIn)
integer :: & integer :: &
i i
integer, parameter :: & 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) :: & integer, dimension(1+ 2* maxNchunks) :: &
positions positions
integer, dimension(8) :: & 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 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) call get_command(commandLine)
positions = IIO_stringPos(commandLine,maxNchunks) positions = IIO_stringPos(commandLine,maxNchunks)
do i = 1, maxNchunks do i = 1, positions(1)
tag = IIO_lc(IIO_stringValue(commandLine,positions,i)) ! extract key tag = IIO_lc(IIO_stringValue(commandLine,positions,i)) ! extract key
select case(tag) select case(tag)
case ('-h','--help') case ('-h','--help')

View File

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

View File

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

View File

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

View File

@ -464,89 +464,110 @@ enddo
constitutive_titanmod_kinkf0(i) = IO_floatValue(line,positions,2_pInt) constitutive_titanmod_kinkf0(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag,constitutive_titanmod_kinkf0(i) write(6,*) tag,constitutive_titanmod_kinkf0(i)
case ('nslip') case ('nslip')
forall (j = 1_pInt:lattice_maxNslipFamily) & do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j) constitutive_titanmod_Nslip(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_Nslip(1:4,i) write(6,*) tag,constitutive_titanmod_Nslip(1:4,i)
case ('ntwin') 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) constitutive_titanmod_Ntwin(j,i) = IO_intValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_Ntwin(1:4,i) write(6,*) tag,constitutive_titanmod_Ntwin(1:4,i)
case ('rho_edge0') 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) 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') 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) 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') case ('slipburgers')
forall (j = 1_pInt:lattice_maxNslipFamily) & do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_burgersPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_burgersPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_burgersPerSlipFamily(1:4,i) enddo
write(6,*) tag,constitutive_titanmod_burgersPerSlipFamily(1:4,i)
case ('twinburgers') case ('twinburgers')
forall (j = 1_pInt:lattice_maxNtwinFamily) & do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_burgersPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_burgersPerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_burgersPerTwinFamily(1:4,i) enddo
write(6,*) tag,constitutive_titanmod_burgersPerTwinFamily(1:4,i)
case ('f0') case ('f0')
forall (j = 1_pInt:lattice_maxNslipFamily) & do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_f0_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_f0_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_f0_PerSlipFamily(1:4,i) enddo
write(6,*) tag,constitutive_titanmod_f0_PerSlipFamily(1:4,i)
case ('twinf0') case ('twinf0')
forall (j = 1_pInt:lattice_maxNtwinFamily) & do j = 1_pInt, lattice_maxNtwinFamily
constitutive_titanmod_twinf0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_twinf0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_twinf0_PerTwinFamily(1:4,i) enddo
case ('tau0e') write(6,*) tag,constitutive_titanmod_twinf0_PerTwinFamily(1:4,i)
forall (j = 1_pInt:lattice_maxNslipFamily) & case ('tau0e')
constitutive_titanmod_tau0e_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) do j = 1_pInt, lattice_maxNslipFamily
write(6,*) tag,constitutive_titanmod_tau0e_PerSlipFamily(1:4,i) constitutive_titanmod_tau0e_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
case ('twintau0') enddo
forall (j = 1_pInt:lattice_maxNtwinFamily) & write(6,*) tag,constitutive_titanmod_tau0e_PerSlipFamily(1:4,i)
constitutive_titanmod_twintau0_PerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) case ('twintau0')
write(6,*) tag,constitutive_titanmod_twintau0_PerTwinFamily(1:4,i) 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') case ('tau0s')
forall (j = 1_pInt:lattice_maxNslipFamily) & do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_tau0s_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_tau0s_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_tau0s_PerSlipFamily(1:4,i) enddo
write(6,*) tag,constitutive_titanmod_tau0s_PerSlipFamily(1:4,i)
case ('capre') case ('capre')
forall (j = 1_pInt:lattice_maxNslipFamily) & do j = 1_pInt, lattice_maxNslipFamily
constitutive_titanmod_capre_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j) constitutive_titanmod_capre_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag,constitutive_titanmod_capre_PerSlipFamily(1:4,i) enddo
write(6,*) tag,constitutive_titanmod_capre_PerSlipFamily(1:4,i)
case ('caprs') 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) 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') 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) 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') 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) 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') 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) 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') 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) constitutive_titanmod_kinkcriticallength_PerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
enddo
write(6,*) tag,constitutive_titanmod_kinkcriticallength_PerSlipFamily(1:4,i) write(6,*) tag,constitutive_titanmod_kinkcriticallength_PerSlipFamily(1:4,i)
case ('twinsize') 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) constitutive_titanmod_twinsizePerTwinFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('celambdaslip') 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) constitutive_titanmod_CeLambdaSlipPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('twinlambdaslip') 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) 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') 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) constitutive_titanmod_CsLambdaSlipPerSlipFamily(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('grainsize') case ('grainsize')
constitutive_titanmod_GrainSize(i) = IO_floatValue(line,positions,2_pInt) constitutive_titanmod_GrainSize(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag write(6,*) tag
@ -554,33 +575,40 @@ enddo
constitutive_titanmod_MaxTwinFraction(i) = IO_floatValue(line,positions,2_pInt) constitutive_titanmod_MaxTwinFraction(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag write(6,*) tag
case ('pe') 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) 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') 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) 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') 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) 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') 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) 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') 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) 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') 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) 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') 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) 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') case ('dc')
constitutive_titanmod_dc(i) = IO_floatValue(line,positions,2_pInt) constitutive_titanmod_dc(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag write(6,*) tag
@ -591,33 +619,40 @@ enddo
constitutive_titanmod_aTolRho(i) = IO_floatValue(line,positions,2_pInt) constitutive_titanmod_aTolRho(i) = IO_floatValue(line,positions,2_pInt)
write(6,*) tag write(6,*) tag
case ('interactionslipslip') 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) constitutive_titanmod_interactionSlipSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactionee') 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) constitutive_titanmod_interaction_ee(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactionss') 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) constitutive_titanmod_interaction_ss(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactiones') 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) constitutive_titanmod_interaction_es(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactionsliptwin') 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) constitutive_titanmod_interactionSlipTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactiontwinslip') 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) constitutive_titanmod_interactionTwinSlip(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case ('interactiontwintwin') 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) constitutive_titanmod_interactionTwinTwin(j,i) = IO_floatValue(line,positions,1_pInt+j)
write(6,*) tag enddo
write(6,*) tag
case default case default
call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_titanmod_label//')') call IO_error(210_pInt,ext_msg=tag//' ('//constitutive_titanmod_label//')')
end select end select