From 362cbf33599ddc3ee3fa7f55f8665727d7545bed Mon Sep 17 00:00:00 2001 From: Mahesh Balasubramaniam Date: Wed, 6 Feb 2013 16:45:34 +0000 Subject: [PATCH] Made corresponding changes in the constitutive files and DAMASK_spectral_driver and interface files with respect to the changes made to IO.f90 --- code/DAMASK_spectral_driver.f90 | 20 ++- code/DAMASK_spectral_interface.f90 | 4 +- code/constitutive_dislotwin.f90 | 45 ++++--- code/constitutive_nonlocal.f90 | 45 ++++--- code/constitutive_phenopowerlaw.f90 | 38 ++++-- code/constitutive_titanmod.f90 | 191 ++++++++++++++++------------ 6 files changed, 213 insertions(+), 130 deletions(-) diff --git a/code/DAMASK_spectral_driver.f90 b/code/DAMASK_spectral_driver.f90 index 1ac351aa6..9e7553a2f 100644 --- a/code/DAMASK_spectral_driver.f90 +++ b/code/DAMASK_spectral_driver.f90 @@ -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 diff --git a/code/DAMASK_spectral_interface.f90 b/code/DAMASK_spectral_interface.f90 index a2f826991..1b8c524d5 100644 --- a/code/DAMASK_spectral_interface.f90 +++ b/code/DAMASK_spectral_interface.f90 @@ -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') diff --git a/code/constitutive_dislotwin.f90 b/code/constitutive_dislotwin.f90 index 72f621af7..8e2e2b6ef 100644 --- a/code/constitutive_dislotwin.f90 +++ b/code/constitutive_dislotwin.f90 @@ -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') diff --git a/code/constitutive_nonlocal.f90 b/code/constitutive_nonlocal.f90 index b6f73788f..b466ac805 100644 --- a/code/constitutive_nonlocal.f90 +++ b/code/constitutive_nonlocal.f90 @@ -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') diff --git a/code/constitutive_phenopowerlaw.f90 b/code/constitutive_phenopowerlaw.f90 index 5cb478fd5..4a46a5fec 100644 --- a/code/constitutive_phenopowerlaw.f90 +++ b/code/constitutive_phenopowerlaw.f90 @@ -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 diff --git a/code/constitutive_titanmod.f90 b/code/constitutive_titanmod.f90 index b67738b59..934e35185 100644 --- a/code/constitutive_titanmod.f90 +++ b/code/constitutive_titanmod.f90 @@ -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