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:
parent
b591dd5f33
commit
362cbf3359
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue