introduced #EOF# as module wide parameter in IO.f90

renamed read/write binary file to read/write real/int
removed suffix job from readFile functions as the name of the model is needed as an argument
This commit is contained in:
Martin Diehl 2013-09-18 14:07:55 +00:00
parent 19a353edb4
commit 3eec0ecdcd
18 changed files with 674 additions and 671 deletions

View File

@ -137,8 +137,8 @@ subroutine CPFEM_init
use prec, only: & use prec, only: &
pInt pInt
use IO, only: & use IO, only: &
IO_read_jobBinaryFile,& IO_read_realFile,&
IO_read_jobBinaryIntFile, & IO_read_intFile, &
IO_timeStamp, & IO_timeStamp, &
IO_error IO_error
use numerics, only: & use numerics, only: &
@ -192,31 +192,31 @@ subroutine CPFEM_init
!$OMP END CRITICAL (write2out) !$OMP END CRITICAL (write2out)
endif endif
call IO_read_jobBinaryIntFile(777,'recordedPhase',modelName,size(material_phase)) call IO_read_intFile(777,'recordedPhase',modelName,size(material_phase))
read (777,rec=1) material_phase read (777,rec=1) material_phase
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedF',modelName,size(crystallite_F0)) call IO_read_realFile(777,'convergedF',modelName,size(crystallite_F0))
read (777,rec=1) crystallite_F0 read (777,rec=1) crystallite_F0
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedFp',modelName,size(crystallite_Fp0)) call IO_read_realFile(777,'convergedFp',modelName,size(crystallite_Fp0))
read (777,rec=1) crystallite_Fp0 read (777,rec=1) crystallite_Fp0
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedLp',modelName,size(crystallite_Lp0)) call IO_read_realFile(777,'convergedLp',modelName,size(crystallite_Lp0))
read (777,rec=1) crystallite_Lp0 read (777,rec=1) crystallite_Lp0
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergeddPdF',modelName,size(crystallite_dPdF0)) call IO_read_realFile(777,'convergeddPdF',modelName,size(crystallite_dPdF0))
read (777,rec=1) crystallite_dPdF0 read (777,rec=1) crystallite_dPdF0
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedTstar',modelName,size(crystallite_Tstar0_v)) call IO_read_realFile(777,'convergedTstar',modelName,size(crystallite_Tstar0_v))
read (777,rec=1) crystallite_Tstar0_v read (777,rec=1) crystallite_Tstar0_v
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedStateConst',modelName) call IO_read_realFile(777,'convergedStateConst',modelName)
m = 0_pInt m = 0_pInt
do i = 1,homogenization_maxNgrains; do j = 1,mesh_maxNips; do k = 1,mesh_NcpElems do i = 1,homogenization_maxNgrains; do j = 1,mesh_maxNips; do k = 1,mesh_NcpElems
do l = 1,size(constitutive_state0(i,j,k)%p) do l = 1,size(constitutive_state0(i,j,k)%p)
@ -226,7 +226,7 @@ subroutine CPFEM_init
enddo; enddo; enddo enddo; enddo; enddo
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergedStateHomog',modelName) call IO_read_realFile(777,'convergedStateHomog',modelName)
m = 0_pInt m = 0_pInt
do k = 1,mesh_NcpElems; do j = 1,mesh_maxNips do k = 1,mesh_NcpElems; do j = 1,mesh_maxNips
do l = 1,homogenization_sizeState(j,k) do l = 1,homogenization_sizeState(j,k)
@ -236,7 +236,7 @@ subroutine CPFEM_init
enddo; enddo enddo; enddo
close (777) close (777)
call IO_read_jobBinaryFile(777,'convergeddcsdE',modelName,size(CPFEM_dcsdE)) call IO_read_realFile(777,'convergeddcsdE',modelName,size(CPFEM_dcsdE))
read (777,rec=1) CPFEM_dcsdE read (777,rec=1) CPFEM_dcsdE
close (777) close (777)
restartRead = .false. restartRead = .false.
@ -324,7 +324,7 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, Temperature, dt, el
materialpoint_Temperature, & materialpoint_Temperature, &
materialpoint_stressAndItsTangent, & materialpoint_stressAndItsTangent, &
materialpoint_postResults materialpoint_postResults
use IO, only: IO_write_jobBinaryFile, & use IO, only: IO_write_jobRealFile, &
IO_warning IO_warning
use DAMASK_interface use DAMASK_interface
@ -422,31 +422,31 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, Temperature, dt, el
!$OMP END CRITICAL (write2out) !$OMP END CRITICAL (write2out)
endif endif
call IO_write_jobBinaryFile(777,'recordedPhase',size(material_phase)) call IO_write_jobRealFile(777,'recordedPhase',size(material_phase))
write (777,rec=1) material_phase write (777,rec=1) material_phase
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedF',size(crystallite_F0)) call IO_write_jobRealFile(777,'convergedF',size(crystallite_F0))
write (777,rec=1) crystallite_F0 write (777,rec=1) crystallite_F0
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedFp',size(crystallite_Fp0)) call IO_write_jobRealFile(777,'convergedFp',size(crystallite_Fp0))
write (777,rec=1) crystallite_Fp0 write (777,rec=1) crystallite_Fp0
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedLp',size(crystallite_Lp0)) call IO_write_jobRealFile(777,'convergedLp',size(crystallite_Lp0))
write (777,rec=1) crystallite_Lp0 write (777,rec=1) crystallite_Lp0
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergeddPdF',size(crystallite_dPdF0)) call IO_write_jobRealFile(777,'convergeddPdF',size(crystallite_dPdF0))
write (777,rec=1) crystallite_dPdF0 write (777,rec=1) crystallite_dPdF0
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedTstar',size(crystallite_Tstar0_v)) call IO_write_jobRealFile(777,'convergedTstar',size(crystallite_Tstar0_v))
write (777,rec=1) crystallite_Tstar0_v write (777,rec=1) crystallite_Tstar0_v
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedStateConst') call IO_write_jobRealFile(777,'convergedStateConst')
m = 0_pInt m = 0_pInt
do i = 1,homogenization_maxNgrains; do j = 1,mesh_maxNips; do k = 1,mesh_NcpElems do i = 1,homogenization_maxNgrains; do j = 1,mesh_maxNips; do k = 1,mesh_NcpElems
do l = 1,size(constitutive_state0(i,j,k)%p) do l = 1,size(constitutive_state0(i,j,k)%p)
@ -456,7 +456,7 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, Temperature, dt, el
enddo; enddo; enddo enddo; enddo; enddo
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergedStateHomog') call IO_write_jobRealFile(777,'convergedStateHomog')
m = 0_pInt m = 0_pInt
do k = 1,mesh_NcpElems; do j = 1,mesh_maxNips do k = 1,mesh_NcpElems; do j = 1,mesh_maxNips
do l = 1,homogenization_sizeState(j,k) do l = 1,homogenization_sizeState(j,k)
@ -466,7 +466,7 @@ subroutine CPFEM_general(mode, parallelExecution, ffn, ffn1, Temperature, dt, el
enddo; enddo enddo; enddo
close (777) close (777)
call IO_write_jobBinaryFile(777,'convergeddcsdE',size(CPFEM_dcsdE)) call IO_write_jobRealFile(777,'convergeddcsdE',size(CPFEM_dcsdE))
write (777,rec=1) CPFEM_dcsdE write (777,rec=1) CPFEM_dcsdE
close (777) close (777)

View File

@ -50,8 +50,6 @@ program DAMASK_spectral_Driver
IO_intValue, & IO_intValue, &
IO_error, & IO_error, &
IO_lc, & IO_lc, &
IO_read_jobBinaryFile, &
IO_write_jobBinaryFile, &
IO_intOut, & IO_intOut, &
IO_warning, & IO_warning, &
IO_timeStamp IO_timeStamp

View File

@ -129,8 +129,7 @@ subroutine AL_init(temperature)
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment)
use IO, only: & use IO, only: &
IO_intOut, & IO_intOut, &
IO_read_JobBinaryFile, & IO_read_realFile, &
IO_write_JobBinaryFile, &
IO_timeStamp IO_timeStamp
use debug, only: & use debug, only: &
debug_level, & debug_level, &
@ -217,38 +216,38 @@ subroutine AL_init(temperature)
write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') & write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') &
'reading values of increment', restartInc - 1_pInt, 'from file' 'reading values of increment', restartInc - 1_pInt, 'from file'
flush(6) flush(6)
call IO_read_jobBinaryFile(777,'F',& call IO_read_realFile(777,'F',&
trim(getSolverJobName()),size(F)) trim(getSolverJobName()),size(F))
read (777,rec=1) F read (777,rec=1) F
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc',& call IO_read_realFile(777,'F_lastInc',&
trim(getSolverJobName()),size(F_lastInc)) trim(getSolverJobName()),size(F_lastInc))
read (777,rec=1) F_lastInc read (777,rec=1) F_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc2',& call IO_read_realFile(777,'F_lastInc2',&
trim(getSolverJobName()),size(F_lastInc2)) trim(getSolverJobName()),size(F_lastInc2))
read (777,rec=1) F_lastInc2 read (777,rec=1) F_lastInc2
close (777) close (777)
F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F
F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc
call IO_read_jobBinaryFile(777,'F_lambda',& call IO_read_realFile(777,'F_lambda',&
trim(getSolverJobName()),size(F_lambda)) trim(getSolverJobName()),size(F_lambda))
read (777,rec=1) F_lambda read (777,rec=1) F_lambda
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lambda_lastInc',& call IO_read_realFile(777,'F_lambda_lastInc',&
trim(getSolverJobName()),size(F_lambda_lastInc)) trim(getSolverJobName()),size(F_lambda_lastInc))
read (777,rec=1) F_lambda_lastInc read (777,rec=1) F_lambda_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot)) call IO_read_realFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot))
read (777,rec=1) f_aimDot read (777,rec=1) f_aimDot
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg)) call IO_read_realFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg))
read (777,rec=1) C_volAvg read (777,rec=1) C_volAvg
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc)) call IO_read_realFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc))
read (777,rec=1) C_volAvgLastInc read (777,rec=1) C_volAvgLastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real)) call IO_read_realFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real))
read (777,rec=1) C_minMaxAvg read (777,rec=1) C_minMaxAvg
close (777) close (777)
endif endif
@ -289,7 +288,7 @@ use mesh, only: &
mesh_ipCoordinates, & mesh_ipCoordinates, &
mesh_deformedCoordsFFT mesh_deformedCoordsFFT
use IO, only: & use IO, only: &
IO_write_JobBinaryFile IO_write_jobRealFile
use DAMASK_spectral_Utilities, only: & use DAMASK_spectral_Utilities, only: &
grid, & grid, &
geomSize, & geomSize, &
@ -343,25 +342,25 @@ use mesh, only: &
if (restartWrite) then if (restartWrite) then
write(6,'(/,a)') ' writing converged results for restart' write(6,'(/,a)') ' writing converged results for restart'
flush(6) flush(6)
call IO_write_jobBinaryFile(777,'F',size(F)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F',size(F)) ! writing deformation gradient field to file
write (777,rec=1) F write (777,rec=1) F
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_lastInc write (777,rec=1) F_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lambda',size(F_lambda)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F_lambda',size(F_lambda)) ! writing deformation gradient field to file
write (777,rec=1) F_lambda write (777,rec=1) F_lambda
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lambda_lastInc',size(F_lambda_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lambda_lastInc',size(F_lambda_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_lambda_lastInc write (777,rec=1) F_lambda_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_aimDot',size(F_aimDot)) call IO_write_jobRealFile(777,'F_aimDot',size(F_aimDot))
write (777,rec=1) F_aimDot write (777,rec=1) F_aimDot
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvg',size(C_volAvg)) call IO_write_jobRealFile(777,'C_volAvg',size(C_volAvg))
write (777,rec=1) C_volAvg write (777,rec=1) C_volAvg
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvgLastInc',size(C_volAvgLastInc)) call IO_write_jobRealFile(777,'C_volAvgLastInc',size(C_volAvgLastInc))
write (777,rec=1) C_volAvgLastInc write (777,rec=1) C_volAvgLastInc
close(777) close(777)
endif endif
@ -661,8 +660,8 @@ subroutine AL_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dummy,ierr
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! stress BC handling ! stress BC handling
F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc
err_BC = maxval(abs((1.0_pReal - mask_stress)*math_mul3333xx33(C_scale,F_aim-F_av) + & err_BC = maxval(abs((-mask_stress+1.0_pReal)*math_mul3333xx33(C_scale,F_aim-F_av) + &
mask_stress *(P_av - params%P_BC))) ! mask = 0.0 for no bc mask_stress *(P_av - params%P_BC))) ! mask = 0.0 for no bc
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! error calculation ! error calculation
@ -687,10 +686,10 @@ subroutine AL_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,dummy,ierr
write(6,'(1/,a)') ' ... reporting .............................................................' write(6,'(1/,a)') ' ... reporting .............................................................'
write(6,'(/,a,f12.2,a,es8.2,a,es9.2,a)') ' error curl = ', & write(6,'(/,a,f12.2,a,es8.2,a,es9.2,a)') ' error curl = ', &
err_curl/curlTol,' (',err_curl,' -, tol =',curlTol,')' err_curl/curlTol,' (',err_curl,' -, tol =',curlTol,')'
write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', & write(6,' (a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', &
err_div/divTol, ' (',err_div,' / m, tol =',divTol,')' err_div/divTol, ' (',err_div, ' / m, tol =',divTol,')'
write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error stress BC = ', & write(6,' (a,f12.2,a,es8.2,a,es9.2,a)') ' error BC = ', &
err_BC/BC_tol, ' (',err_BC, ' Pa, tol =',BC_tol,')' err_BC/BC_tol, ' (',err_BC, ' Pa, tol =',BC_tol,')'
write(6,'(/,a)') ' ===========================================================================' write(6,'(/,a)') ' ==========================================================================='
flush(6) flush(6)

View File

@ -69,8 +69,7 @@ subroutine basic_init(temperature)
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment)
use IO, only: & use IO, only: &
IO_read_JobBinaryFile, & IO_read_realFile, &
IO_write_JobBinaryFile, &
IO_intOut, & IO_intOut, &
IO_timeStamp IO_timeStamp
use debug, only: & use debug, only: &
@ -124,11 +123,11 @@ subroutine basic_init(temperature)
write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') & write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') &
'reading values of increment', restartInc - 1_pInt, 'from file' 'reading values of increment', restartInc - 1_pInt, 'from file'
flush(6) flush(6)
call IO_read_jobBinaryFile(777,'F',& call IO_read_realFile(777,'F',&
trim(getSolverJobName()),size(F)) trim(getSolverJobName()),size(F))
read (777,rec=1) F read (777,rec=1) F
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc',& call IO_read_realFile(777,'F_lastInc',&
trim(getSolverJobName()),size(F_lastInc)) trim(getSolverJobName()),size(F_lastInc))
read (777,rec=1) F_lastInc read (777,rec=1) F_lastInc
close (777) close (777)
@ -136,16 +135,16 @@ subroutine basic_init(temperature)
F_aim = sum(sum(sum(F,dim=5),dim=4),dim=3) * wgt ! average of F F_aim = sum(sum(sum(F,dim=5),dim=4),dim=3) * wgt ! average of F
F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc
call IO_read_jobBinaryFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot)) call IO_read_realFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot))
read (777,rec=1) f_aimDot read (777,rec=1) f_aimDot
close (777) close (777)
call IO_read_jobBinaryFile(777,'C',trim(getSolverJobName()),size(C)) call IO_read_realFile(777,'C',trim(getSolverJobName()),size(C))
read (777,rec=1) C read (777,rec=1) C
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_lastInc',trim(getSolverJobName()),size(C_lastInc)) call IO_read_realFile(777,'C_lastInc',trim(getSolverJobName()),size(C_lastInc))
read (777,rec=1) C_lastInc read (777,rec=1) C_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real)) call IO_read_realFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real))
read (777,rec=1) temp3333_Real read (777,rec=1) temp3333_Real
close (777) close (777)
endif endif
@ -179,7 +178,7 @@ type(tSolutionState) function basic_solution(&
mesh_ipCoordinates,& mesh_ipCoordinates,&
mesh_deformedCoordsFFT mesh_deformedCoordsFFT
use IO, only: & use IO, only: &
IO_write_JobBinaryFile, & IO_write_jobRealFile, &
IO_intOut IO_intOut
use debug, only: & use debug, only: &
debug_level, & debug_level, &
@ -242,19 +241,19 @@ type(tSolutionState) function basic_solution(&
if (restartWrite) then if (restartWrite) then
write(6,'(/,a)') ' writing converged results for restart' write(6,'(/,a)') ' writing converged results for restart'
flush(6) flush(6)
call IO_write_jobBinaryFile(777,'F',size(F)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F',size(F)) ! writing deformation gradient field to file
write (777,rec=1) F write (777,rec=1) F
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_lastInc write (777,rec=1) F_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_aimDot',size(f_aimDot)) call IO_write_jobRealFile(777,'F_aimDot',size(f_aimDot))
write (777,rec=1) f_aimDot write (777,rec=1) f_aimDot
close(777) close(777)
call IO_write_jobBinaryFile(777,'C',size(C)) call IO_write_jobRealFile(777,'C',size(C))
write (777,rec=1) C write (777,rec=1) C
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_lastInc',size(C_lastInc)) call IO_write_jobRealFile(777,'C_lastInc',size(C_lastInc))
write (777,rec=1) C_lastInc write (777,rec=1) C_lastInc
close(777) close(777)
endif endif

View File

@ -115,8 +115,7 @@ subroutine basicPETSc_init(temperature)
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment)
use IO, only: & use IO, only: &
IO_intOut, & IO_intOut, &
IO_read_JobBinaryFile, & IO_read_realFile, &
IO_write_JobBinaryFile, &
IO_timeStamp IO_timeStamp
use debug, only: & use debug, only: &
debug_level, & debug_level, &
@ -196,31 +195,31 @@ subroutine basicPETSc_init(temperature)
write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') & write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') &
'reading values of increment', restartInc - 1_pInt, 'from file' 'reading values of increment', restartInc - 1_pInt, 'from file'
flush(6) flush(6)
call IO_read_jobBinaryFile(777,'F',& call IO_read_realFile(777,'F',&
trim(getSolverJobName()),size(F)) trim(getSolverJobName()),size(F))
read (777,rec=1) F read (777,rec=1) F
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc',& call IO_read_realFile(777,'F_lastInc',&
trim(getSolverJobName()),size(F_lastInc)) trim(getSolverJobName()),size(F_lastInc))
read (777,rec=1) F_lastInc read (777,rec=1) F_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc2',& call IO_read_realFile(777,'F_lastInc2',&
trim(getSolverJobName()),size(F_lastInc2)) trim(getSolverJobName()),size(F_lastInc2))
read (777,rec=1) F_lastInc2 read (777,rec=1) F_lastInc2
close (777) close (777)
F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F
F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc
call IO_read_jobBinaryFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot)) call IO_read_realFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot))
read (777,rec=1) f_aimDot read (777,rec=1) f_aimDot
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg)) call IO_read_realFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg))
read (777,rec=1) C_volAvg read (777,rec=1) C_volAvg
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc)) call IO_read_realFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc))
read (777,rec=1) C_volAvgLastInc read (777,rec=1) C_volAvgLastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real)) call IO_read_realFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real))
read (777,rec=1) temp3333_Real read (777,rec=1) temp3333_Real
close (777) close (777)
endif endif
@ -254,7 +253,7 @@ type(tSolutionState) function basicPETSc_solution( &
mesh_ipCoordinates,& mesh_ipCoordinates,&
mesh_deformedCoordsFFT mesh_deformedCoordsFFT
use IO, only: & use IO, only: &
IO_write_JobBinaryFile IO_write_JobRealFile
use DAMASK_spectral_Utilities, only: & use DAMASK_spectral_Utilities, only: &
grid, & grid, &
geomSize, & geomSize, &
@ -302,22 +301,22 @@ type(tSolutionState) function basicPETSc_solution( &
if (restartWrite) then if (restartWrite) then
write(6,'(/,a)') ' writing converged results for restart' write(6,'(/,a)') ' writing converged results for restart'
flush(6) flush(6)
call IO_write_jobBinaryFile(777,'F',size(F)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F',size(F)) ! writing deformation gradient field to file
write (777,rec=1) F write (777,rec=1) F
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_lastInc write (777,rec=1) F_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lastInc2',size(F_lastInc2)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lastInc2',size(F_lastInc2)) ! writing F_lastInc field to file
write (777,rec=1) F_lastInc2 write (777,rec=1) F_lastInc2
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_aimDot',size(F_aimDot)) call IO_write_jobRealFile(777,'F_aimDot',size(F_aimDot))
write (777,rec=1) F_aimDot write (777,rec=1) F_aimDot
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvg',size(C_volAvg)) call IO_write_jobRealFile(777,'C_volAvg',size(C_volAvg))
write (777,rec=1) C_volAvg write (777,rec=1) C_volAvg
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvgLastInc',size(C_volAvgLastInc)) call IO_write_jobRealFile(777,'C_volAvgLastInc',size(C_volAvgLastInc))
write (777,rec=1) C_volAvgLastInc write (777,rec=1) C_volAvgLastInc
close(777) close(777)
endif endif

View File

@ -129,8 +129,7 @@ subroutine Polarisation_init(temperature)
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran >4.6 at the moment)
use IO, only: & use IO, only: &
IO_intOut, & IO_intOut, &
IO_read_JobBinaryFile, & IO_read_realFile, &
IO_write_JobBinaryFile, &
IO_timeStamp IO_timeStamp
use debug, only : & use debug, only : &
debug_level, & debug_level, &
@ -217,38 +216,38 @@ subroutine Polarisation_init(temperature)
write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') & write(6,'(/,a,'//IO_intOut(restartInc-1_pInt)//',a)') &
'reading values of increment', restartInc - 1_pInt, 'from file' 'reading values of increment', restartInc - 1_pInt, 'from file'
flush(6) flush(6)
call IO_read_jobBinaryFile(777,'F',& call IO_read_realFile(777,'F',&
trim(getSolverJobName()),size(F)) trim(getSolverJobName()),size(F))
read (777,rec=1) F read (777,rec=1) F
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc',& call IO_read_realFile(777,'F_lastInc',&
trim(getSolverJobName()),size(F_lastInc)) trim(getSolverJobName()),size(F_lastInc))
read (777,rec=1) F_lastInc read (777,rec=1) F_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_lastInc2',& call IO_read_realFile(777,'F_lastInc2',&
trim(getSolverJobName()),size(F_lastInc2)) trim(getSolverJobName()),size(F_lastInc2))
read (777,rec=1) F_lastInc2 read (777,rec=1) F_lastInc2
close (777) close (777)
F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F F_aim = reshape(sum(sum(sum(F,dim=4),dim=3),dim=2) * wgt, [3,3]) ! average of F
F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc F_aim_lastInc = sum(sum(sum(F_lastInc,dim=5),dim=4),dim=3) * wgt ! average of F_lastInc
call IO_read_jobBinaryFile(777,'F_tau',& call IO_read_realFile(777,'F_tau',&
trim(getSolverJobName()),size(F_tau)) trim(getSolverJobName()),size(F_tau))
read (777,rec=1) F_tau read (777,rec=1) F_tau
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_tau_lastInc',& call IO_read_realFile(777,'F_tau_lastInc',&
trim(getSolverJobName()),size(F_tau_lastInc)) trim(getSolverJobName()),size(F_tau_lastInc))
read (777,rec=1) F_tau_lastInc read (777,rec=1) F_tau_lastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot)) call IO_read_realFile(777,'F_aimDot',trim(getSolverJobName()),size(f_aimDot))
read (777,rec=1) f_aimDot read (777,rec=1) f_aimDot
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg)) call IO_read_realFile(777,'C_volAvg',trim(getSolverJobName()),size(C_volAvg))
read (777,rec=1) C_volAvg read (777,rec=1) C_volAvg
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc)) call IO_read_realFile(777,'C_volAvgLastInc',trim(getSolverJobName()),size(C_volAvgLastInc))
read (777,rec=1) C_volAvgLastInc read (777,rec=1) C_volAvgLastInc
close (777) close (777)
call IO_read_jobBinaryFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real)) call IO_read_realFile(777,'C_ref',trim(getSolverJobName()),size(temp3333_Real))
read (777,rec=1) C_minMaxAvg read (777,rec=1) C_minMaxAvg
close (777) close (777)
endif endif
@ -289,7 +288,7 @@ use mesh, only: &
mesh_ipCoordinates, & mesh_ipCoordinates, &
mesh_deformedCoordsFFT mesh_deformedCoordsFFT
use IO, only: & use IO, only: &
IO_write_JobBinaryFile IO_write_jobRealFile
use DAMASK_spectral_Utilities, only: & use DAMASK_spectral_Utilities, only: &
grid, & grid, &
geomSize, & geomSize, &
@ -343,25 +342,25 @@ use mesh, only: &
if (restartWrite) then if (restartWrite) then
write(6,'(/,a)') ' writing converged results for restart' write(6,'(/,a)') ' writing converged results for restart'
flush(6) flush(6)
call IO_write_jobBinaryFile(777,'F',size(F)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F',size(F)) ! writing deformation gradient field to file
write (777,rec=1) F write (777,rec=1) F
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_lastInc',size(F_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_lastInc write (777,rec=1) F_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_tau',size(F_tau)) ! writing deformation gradient field to file call IO_write_jobRealFile(777,'F_tau',size(F_tau)) ! writing deformation gradient field to file
write (777,rec=1) F_tau write (777,rec=1) F_tau
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_tau_lastInc',size(F_tau_lastInc)) ! writing F_lastInc field to file call IO_write_jobRealFile(777,'F_tau_lastInc',size(F_tau_lastInc)) ! writing F_lastInc field to file
write (777,rec=1) F_tau_lastInc write (777,rec=1) F_tau_lastInc
close (777) close (777)
call IO_write_jobBinaryFile(777,'F_aimDot',size(F_aimDot)) call IO_write_jobRealFile(777,'F_aimDot',size(F_aimDot))
write (777,rec=1) F_aimDot write (777,rec=1) F_aimDot
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvg',size(C_volAvg)) call IO_write_jobRealFile(777,'C_volAvg',size(C_volAvg))
write (777,rec=1) C_volAvg write (777,rec=1) C_volAvg
close(777) close(777)
call IO_write_jobBinaryFile(777,'C_volAvgLastInc',size(C_volAvgLastInc)) call IO_write_jobRealFile(777,'C_volAvgLastInc',size(C_volAvgLastInc))
write (777,rec=1) C_volAvgLastInc write (777,rec=1) C_volAvgLastInc
close(777) close(777)
endif endif
@ -659,8 +658,8 @@ subroutine Polarisation_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! stress BC handling ! stress BC handling
F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc
err_BC = maxval(abs((1.0_pReal - mask_stress)*math_mul3333xx33(C_scale,F_aim-F_av) + & err_BC = maxval(abs((-mask_stress+1.0_pReal)*math_mul3333xx33(C_scale,F_aim-F_av) + &
mask_stress *(P_av - params%P_BC))) ! mask = 0.0 for no bc mask_stress *(P_av - params%P_BC))) ! mask = 0.0 for no bc
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! error calculation ! error calculation
@ -685,10 +684,10 @@ subroutine Polarisation_converged(snes_local,PETScIter,xnorm,snorm,fnorm,reason,
write(6,'(1/,a)') ' ... reporting .............................................................' write(6,'(1/,a)') ' ... reporting .............................................................'
write(6,'(/,a,f12.2,a,es8.2,a,es9.2,a)') ' error curl = ', & write(6,'(/,a,f12.2,a,es8.2,a,es9.2,a)') ' error curl = ', &
err_curl/curlTol,' (',err_curl,' -, tol =',curlTol,')' err_curl/curlTol,' (',err_curl,' -, tol =',curlTol,')'
write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', & write(6,' (a,f12.2,a,es8.2,a,es9.2,a)') ' error divergence = ', &
err_div/divTol, ' (',err_div,' / m, tol =',divTol,')' err_div/divTol, ' (',err_div, ' / m, tol =',divTol,')'
write(6,'(a,f12.2,a,es8.2,a,es9.2,a)') ' error BC = ', & write(6,' (a,f12.2,a,es8.2,a,es9.2,a)') ' error BC = ', &
err_BC/BC_tol, ' (',err_BC, ' Pa, tol =',BC_tol,')' err_BC/BC_tol, ' (',err_BC, ' Pa, tol =',BC_tol,')'
write(6,'(/,a)') ' ===========================================================================' write(6,'(/,a)') ' ==========================================================================='
flush(6) flush(6)

View File

@ -318,7 +318,7 @@ end subroutine utilities_init
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine utilities_updateGamma(C,saveReference) subroutine utilities_updateGamma(C,saveReference)
use IO, only: & use IO, only: &
IO_write_jobBinaryFile IO_write_jobRealFile
use numerics, only: & use numerics, only: &
memory_efficient memory_efficient
use math, only: & use math, only: &
@ -337,7 +337,7 @@ subroutine utilities_updateGamma(C,saveReference)
if (saveReference) then if (saveReference) then
write(6,'(/,a)') ' writing reference stiffness to file' write(6,'(/,a)') ' writing reference stiffness to file'
flush(6) flush(6)
call IO_write_jobBinaryFile(777,'C_ref',size(C_ref)) call IO_write_jobRealFile(777,'C_ref',size(C_ref))
write (777,rec=1) C_ref write (777,rec=1) C_ref
close(777) close(777)
endif endif

File diff suppressed because it is too large Load Diff

View File

@ -92,7 +92,7 @@ subroutine constitutive_init
IO_open_file, & IO_open_file, &
IO_open_jobFile_stat, & IO_open_jobFile_stat, &
IO_write_jobFile, & IO_write_jobFile, &
IO_write_jobBinaryIntFile, & IO_write_jobIntFile, &
IO_timeStamp IO_timeStamp
use mesh, only: & use mesh, only: &
mesh_maxNips, & mesh_maxNips, &
@ -426,7 +426,7 @@ subroutine constitutive_init
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! write out state size file ! write out state size file
call IO_write_jobBinaryIntFile(777,'sizeStateConst', size(constitutive_sizeState)) call IO_write_jobIntFile(777,'sizeStateConst', size(constitutive_sizeState))
write (777,rec=1) constitutive_sizeState write (777,rec=1) constitutive_sizeState
close(777) close(777)

View File

@ -489,48 +489,48 @@ enddo
myStructure = constitutive_dislotwin_structure(i) myStructure = constitutive_dislotwin_structure(i)
!* Sanity checks !* Sanity checks
if (myStructure < 1_pInt) call IO_error(205_pInt,e=i) if (myStructure < 1_pInt) call IO_error(205_pInt,el=i)
if (sum(constitutive_dislotwin_Nslip(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='Nslip (' & if (sum(constitutive_dislotwin_Nslip(:,i)) < 0_pInt) call IO_error(211_pInt,el=i,ext_msg='Nslip (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (sum(constitutive_dislotwin_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='Ntwin (' & if (sum(constitutive_dislotwin_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,el=i,ext_msg='Ntwin (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
do f = 1_pInt,lattice_maxNslipFamily do f = 1_pInt,lattice_maxNslipFamily
if (constitutive_dislotwin_Nslip(f,i) > 0_pInt) then if (constitutive_dislotwin_Nslip(f,i) > 0_pInt) then
if (constitutive_dislotwin_rhoEdge0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rhoEdge0 (' & if (constitutive_dislotwin_rhoEdge0(f,i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='rhoEdge0 (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_rhoEdgeDip0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rhoEdgeDip0 (' & if (constitutive_dislotwin_rhoEdgeDip0(f,i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='rhoEdgeDip0 (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='slipBurgers (' & if (constitutive_dislotwin_burgersPerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='slipBurgers (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_v0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0 (' & if (constitutive_dislotwin_v0PerSlipFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='v0 (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
endif endif
enddo enddo
do f = 1_pInt,lattice_maxNtwinFamily do f = 1_pInt,lattice_maxNtwinFamily
if (constitutive_dislotwin_Ntwin(f,i) > 0_pInt) then if (constitutive_dislotwin_Ntwin(f,i) > 0_pInt) then
if (constitutive_dislotwin_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinburgers (' & if (constitutive_dislotwin_burgersPerTwinFamily(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='twinburgers (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_Ndot0PerTwinFamily(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='ndot0 (' & if (constitutive_dislotwin_Ndot0PerTwinFamily(f,i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='ndot0 (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
endif endif
enddo enddo
if (constitutive_dislotwin_CAtomicVolume(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='cAtomicVolume (' & if (constitutive_dislotwin_CAtomicVolume(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='cAtomicVolume (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_D0(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='D0 (' & if (constitutive_dislotwin_D0(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='D0 (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_Qsd(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='Qsd (' & if (constitutive_dislotwin_Qsd(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='Qsd (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_SFE_0K(i) == 0.0_pReal .and. & if (constitutive_dislotwin_SFE_0K(i) == 0.0_pReal .and. &
constitutive_dislotwin_dSFE_dT(i) == 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='SFE (' & constitutive_dislotwin_dSFE_dT(i) == 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='SFE (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='aTolRho (' & if (constitutive_dislotwin_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='aTolRho (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_aTolTwinFrac(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='aTolTwinFrac (' & if (constitutive_dislotwin_aTolTwinFrac(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='aTolTwinFrac (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_sbResistance(i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='sbResistance (' & if (constitutive_dislotwin_sbResistance(i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='sbResistance (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
if (constitutive_dislotwin_sbVelocity(i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='sbVelocity (' & if (constitutive_dislotwin_sbVelocity(i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='sbVelocity (' &
//constitutive_dislotwin_label//')') //constitutive_dislotwin_label//')')
!* Determine total number of active slip or twin systems !* Determine total number of active slip or twin systems
constitutive_dislotwin_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_dislotwin_Nslip(:,i)) constitutive_dislotwin_Nslip(:,i) = min(lattice_NslipSystem(:,myStructure),constitutive_dislotwin_Nslip(:,i))

View File

@ -261,7 +261,7 @@ subroutine constitutive_j2_init(myFile)
enddo enddo
sanityChecks: do i = 1_pInt,maxNinstance sanityChecks: do i = 1_pInt,maxNinstance
if (constitutive_j2_structureName(i) == '') call IO_error(205_pInt,e=i) if (constitutive_j2_structureName(i) == '') call IO_error(205_pInt,el=i)
if (constitutive_j2_tau0(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='tau0 (' & if (constitutive_j2_tau0(i) < 0.0_pReal) call IO_error(211_pInt,ext_msg='tau0 (' &
//CONSTITUTIVE_J2_label//')') //CONSTITUTIVE_J2_label//')')
if (constitutive_j2_gdot0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='gdot0 (' & if (constitutive_j2_gdot0(i) <= 0.0_pReal) call IO_error(211_pInt,ext_msg='gdot0 (' &

View File

@ -172,7 +172,7 @@ subroutine constitutive_none_init(myFile)
enddo enddo
do i = 1_pInt,maxNinstance do i = 1_pInt,maxNinstance
if (constitutive_none_structureName(i) == '') call IO_error(205_pInt,e=i) if (constitutive_none_structureName(i) == '') call IO_error(205_pInt,el=i)
enddo enddo
instancesLoop: do i = 1_pInt,maxNinstance instancesLoop: do i = 1_pInt,maxNinstance

View File

@ -611,7 +611,7 @@ do i = 1_pInt,maxNinstance
!*** sanity checks !*** sanity checks
if (myStructure < 1_pInt) & if (myStructure < 1_pInt) &
call IO_error(205_pInt,e=i) call IO_error(205_pInt,el=i)
if (sum(Nslip(:,i)) <= 0_pInt) & if (sum(Nslip(:,i)) <= 0_pInt) &
call IO_error(211_pInt,ext_msg='Nslip ('//CONSTITUTIVE_NONLOCAL_LABEL//')') call IO_error(211_pInt,ext_msg='Nslip ('//CONSTITUTIVE_NONLOCAL_LABEL//')')
do o = 1_pInt,maxval(phase_Noutput) do o = 1_pInt,maxval(phase_Noutput)

View File

@ -27,8 +27,7 @@
module constitutive_phenopowerlaw module constitutive_phenopowerlaw
use prec, only: & use prec, only: &
pReal,& pReal,&
pInt,& pInt
tol_math_check
implicit none implicit none
private private
@ -119,6 +118,8 @@ contains
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine constitutive_phenopowerlaw_init(myFile) subroutine constitutive_phenopowerlaw_init(myFile)
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
use prec, only: &
tol_math_check
use math, only: & use math, only: &
math_Mandel3333to66, & math_Mandel3333to66, &
math_Voigt66to3333 math_Voigt66to3333
@ -429,28 +430,28 @@ subroutine constitutive_phenopowerlaw_init(myFile)
constitutive_phenopowerlaw_totalNslip(i) = sum(constitutive_phenopowerlaw_Nslip(:,i)) ! how many slip systems altogether constitutive_phenopowerlaw_totalNslip(i) = sum(constitutive_phenopowerlaw_Nslip(:,i)) ! how many slip systems altogether
constitutive_phenopowerlaw_totalNtwin(i) = sum(constitutive_phenopowerlaw_Ntwin(:,i)) ! how many twin systems altogether constitutive_phenopowerlaw_totalNtwin(i) = sum(constitutive_phenopowerlaw_Ntwin(:,i)) ! how many twin systems altogether
if (constitutive_phenopowerlaw_structure(i) < 1 ) call IO_error(205_pInt,i=i) if (constitutive_phenopowerlaw_structure(i) < 1 ) call IO_error(205_pInt,el=i)
if (any(constitutive_phenopowerlaw_tau0_slip(:,i) < 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tau0_slip(:,i) < 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='tau0_slip (' & constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='tau0_slip (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (constitutive_phenopowerlaw_gdot0_slip(i) <= 0.0_pReal) call IO_error(211_pInt,i=i,ext_msg='gdot0_slip (' & if (constitutive_phenopowerlaw_gdot0_slip(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='gdot0_slip (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (constitutive_phenopowerlaw_n_slip(i) <= 0.0_pReal) call IO_error(211_pInt,i=i,ext_msg='n_slip (' & if (constitutive_phenopowerlaw_n_slip(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='n_slip (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (any(constitutive_phenopowerlaw_tausat_slip(:,i) <= 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tausat_slip(:,i) <= 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='tausat_slip (' & constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='tausat_slip (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (any(constitutive_phenopowerlaw_a_slip(i) == 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_a_slip(i) == 0.0_pReal .and. &
constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='a_slip (' & constitutive_phenopowerlaw_Nslip(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='a_slip (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (any(constitutive_phenopowerlaw_tau0_twin(:,i) < 0.0_pReal .and. & if (any(constitutive_phenopowerlaw_tau0_twin(:,i) < 0.0_pReal .and. &
constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='tau0_twin (' & constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='tau0_twin (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if ( constitutive_phenopowerlaw_gdot0_twin(i) <= 0.0_pReal .and. & if ( constitutive_phenopowerlaw_gdot0_twin(i) <= 0.0_pReal .and. &
any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='gdot0_twin (' & any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='gdot0_twin (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if ( constitutive_phenopowerlaw_n_twin(i) <= 0.0_pReal .and. & if ( constitutive_phenopowerlaw_n_twin(i) <= 0.0_pReal .and. &
any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,i=i,ext_msg='n_twin (' & any(constitutive_phenopowerlaw_Ntwin(:,i) > 0)) call IO_error(211_pInt,el=i,ext_msg='n_twin (' &
//CONSTITUTIVE_PHENOPOWERLAW_label//')') //CONSTITUTIVE_PHENOPOWERLAW_label//')')
if (constitutive_phenopowerlaw_aTolResistance(i) <= 0.0_pReal) & if (constitutive_phenopowerlaw_aTolResistance(i) <= 0.0_pReal) &
constitutive_phenopowerlaw_aTolResistance(i) = 1.0_pReal ! default absolute tolerance 1 Pa constitutive_phenopowerlaw_aTolResistance(i) = 1.0_pReal ! default absolute tolerance 1 Pa

View File

@ -615,58 +615,59 @@ subroutine constitutive_titanmod_init(myFile)
lattice_initializeStructure(constitutive_titanmod_structureName(i),constitutive_titanmod_CoverA(i)) lattice_initializeStructure(constitutive_titanmod_structureName(i),constitutive_titanmod_CoverA(i))
myStructure = constitutive_titanmod_structure(i) myStructure = constitutive_titanmod_structure(i)
if (myStructure < 1_pInt) call IO_error(205_pInt,e=i) if (myStructure < 1_pInt) call IO_error(205_pInt,el=i)
if (sum(constitutive_titanmod_Nslip(:,i)) <= 0_pInt) call IO_error(211_pInt,e=i,ext_msg='nslip (' & if (sum(constitutive_titanmod_Nslip(:,i)) <= 0_pInt) call IO_error(211_pInt,el=i,ext_msg='nslip (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (sum(constitutive_titanmod_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,e=i,ext_msg='ntwin (' & if (sum(constitutive_titanmod_Ntwin(:,i)) < 0_pInt) call IO_error(211_pInt,el=i,ext_msg='ntwin (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
do f = 1_pInt,lattice_maxNslipFamily do f = 1_pInt,lattice_maxNslipFamily
if (constitutive_titanmod_Nslip(f,i) > 0_pInt) then if (constitutive_titanmod_Nslip(f,i) > 0_pInt) then
if (constitutive_titanmod_rho_edge0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rho_edge0 (' & if (constitutive_titanmod_rho_edge0(f,i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='rho_edge0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_rho_screw0(f,i) < 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='rho_screw0 (' & if (constitutive_titanmod_rho_screw0(f,i) < 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='rho_screw0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_burgersPerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='slipburgers (' & if (constitutive_titanmod_burgersPerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='slipburgers (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_f0_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='f0 (' & if (constitutive_titanmod_f0_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='f0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_tau0e_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='tau0e (' & if (constitutive_titanmod_tau0e_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='tau0e (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_tau0s_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='tau0s (' & if (constitutive_titanmod_tau0s_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='tau0s (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_capre_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='capre (' & if (constitutive_titanmod_capre_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='capre (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_caprs_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='caprs (' & if (constitutive_titanmod_caprs_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='caprs (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_v0e_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0e (' & if (constitutive_titanmod_v0e_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='v0e (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_v0s_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='v0s (' & if (constitutive_titanmod_v0s_PerSlipFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='v0s (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_kinkcriticallength_PerSlipFam(f,i) <= 0.0_pReal) & if (constitutive_titanmod_kinkcriticallength_PerSlipFam(f,i) <= 0.0_pReal) &
call IO_error(211_pInt,e=i,ext_msg='kinkCriticalLength (' & call IO_error(211_pInt,el=i,ext_msg='kinkCriticalLength (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
endif endif
enddo enddo
do f = 1_pInt,lattice_maxNtwinFamily do f = 1_pInt,lattice_maxNtwinFamily
if (constitutive_titanmod_Ntwin(f,i) > 0_pInt) then if (constitutive_titanmod_Ntwin(f,i) > 0_pInt) then
if (constitutive_titanmod_burgersPerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinburgers (' & if (constitutive_titanmod_burgersPerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='twinburgers (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_twinf0_PerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinf0 (' & if (constitutive_titanmod_twinf0_PerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='twinf0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_twinshearconstant_PerTwinFam(f,i) <= 0.0_pReal) & if (constitutive_titanmod_twinshearconstant_PerTwinFam(f,i) <= 0.0_pReal) &
call IO_error(211_pInt,e=i,ext_msg='twinshearconstant (' & call IO_error(211_pInt,el=i,ext_msg='twinshearconstant (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_twintau0_PerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twintau0 (' & if (constitutive_titanmod_twintau0_PerTwinFam(f,i) <= 0.0_pReal)call IO_error(211_pInt,el=i,ext_msg='twintau0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_twingamma0_PerTwinFam(f,i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twingamma0 (' & if (constitutive_titanmod_twingamma0_PerTwinFam(f,i) <= 0.0_pReal) &
call IO_error(211_pInt,el=i,ext_msg='twingamma0 (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
endif endif
enddo enddo
if (constitutive_titanmod_dc(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='dc (' & if (constitutive_titanmod_dc(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='dc (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_twinhpconstant(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='twinhpconstant (' & if (constitutive_titanmod_twinhpconstant(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='twinhpconstant (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
if (constitutive_titanmod_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,e=i,ext_msg='aTolRho (' & if (constitutive_titanmod_aTolRho(i) <= 0.0_pReal) call IO_error(211_pInt,el=i,ext_msg='aTolRho (' &
//CONSTITUTIVE_TITANMOD_label//')') //CONSTITUTIVE_TITANMOD_label//')')
!* Determine total number of active slip or twin systems !* Determine total number of active slip or twin systems

View File

@ -104,7 +104,7 @@ subroutine homogenization_init(Temperature)
IO_open_file, & IO_open_file, &
IO_open_jobFile_stat, & IO_open_jobFile_stat, &
IO_write_jobFile, & IO_write_jobFile, &
IO_write_jobBinaryIntFile, & IO_write_jobIntFile, &
IO_timeStamp IO_timeStamp
use mesh, only: & use mesh, only: &
mesh_maxNips, & mesh_maxNips, &
@ -235,7 +235,7 @@ subroutine homogenization_init(Temperature)
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! write state size file out ! write state size file out
call IO_write_jobBinaryIntFile(777,'sizeStateHomog',size(homogenization_sizeState)) call IO_write_jobIntFile(777,'sizeStateHomog',size(homogenization_sizeState))
write (777,rec=1) homogenization_sizeState write (777,rec=1) homogenization_sizeState
close(777) close(777)

View File

@ -878,7 +878,7 @@ subroutine material_populateGrains
enddo enddo
if (grain /= myNgrains) & if (grain /= myNgrains) &
call IO_error(0,e = homog,i = micro,ext_msg = 'inconsistent grain count after volume calc') call IO_error(0,el = homog,ip = micro,ext_msg = 'inconsistent grain count after volume calc')
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! divide myNgrains as best over constituents ! divide myNgrains as best over constituents

View File

@ -1413,10 +1413,10 @@ function mesh_regrid(adaptive,resNewInput,minRes)
GeometryFile GeometryFile
use IO, only: & use IO, only: &
IO_open_file, & IO_open_file, &
IO_read_jobBinaryFile ,& IO_read_realFile ,&
IO_read_jobBinaryIntFile ,& IO_read_intFile ,&
IO_write_jobBinaryFile, & IO_write_jobRealFile, &
IO_write_jobBinaryIntFile, & IO_write_jobIntFile, &
IO_write_jobFile, & IO_write_jobFile, &
IO_error IO_error
use numerics, only: & use numerics, only: &
@ -1495,14 +1495,14 @@ function mesh_regrid(adaptive,resNewInput,minRes)
select case(myspectralsolver) select case(myspectralsolver)
case('basic') case('basic')
allocate(spectralF33(3,3,grid(1),grid(2),grid(3))) allocate(spectralF33(3,3,grid(1),grid(2),grid(3)))
call IO_read_jobBinaryFile(777,'F',trim(getSolverJobName()),size(spectralF33)) call IO_read_realFile(777,'F',trim(getSolverJobName()),size(spectralF33))
read (777,rec=1) spectralF33 read (777,rec=1) spectralF33
close (777) close (777)
Favg = sum(sum(sum(spectralF33,dim=5),dim=4),dim=3) * wgt Favg = sum(sum(sum(spectralF33,dim=5),dim=4),dim=3) * wgt
coordinates = reshape(mesh_deformedCoordsFFT(geomSize,spectralF33),[3,mesh_NcpElems]) coordinates = reshape(mesh_deformedCoordsFFT(geomSize,spectralF33),[3,mesh_NcpElems])
case('basicpetsc','al') case('basicpetsc','al')
allocate(spectralF9(9,grid(1),grid(2),grid(3))) allocate(spectralF9(9,grid(1),grid(2),grid(3)))
call IO_read_jobBinaryFile(777,'F',trim(getSolverJobName()),size(spectralF9)) call IO_read_realFile(777,'F',trim(getSolverJobName()),size(spectralF9))
read (777,rec=1) spectralF9 read (777,rec=1) spectralF9
close (777) close (777)
Favg = reshape(sum(sum(sum(spectralF9,dim=4),dim=3),dim=2) * wgt, [3,3]) Favg = reshape(sum(sum(sum(spectralF9,dim=4),dim=3),dim=2) * wgt, [3,3])
@ -1648,14 +1648,14 @@ function mesh_regrid(adaptive,resNewInput,minRes)
case('basic') case('basic')
allocate(spectralF33New(3,3,resNew(1),resNew(2),resNew(3))) allocate(spectralF33New(3,3,resNew(1),resNew(2),resNew(3)))
spectralF33New = spread(spread(spread(Favg,3,resNew(1)),4,resNew(2)),5,resNew(3)) spectralF33New = spread(spread(spread(Favg,3,resNew(1)),4,resNew(2)),5,resNew(3))
call IO_write_jobBinaryFile(777,'F',size(spectralF33New)) call IO_write_jobRealFile(777,'F',size(spectralF33New))
write (777,rec=1) spectralF33New write (777,rec=1) spectralF33New
close (777) close (777)
case('basicpetsc','al') case('basicpetsc','al')
allocate(spectralF9New(9,resNew(1),resNew(2),resNew(3))) allocate(spectralF9New(9,resNew(1),resNew(2),resNew(3)))
spectralF9New = spread(spread(spread(reshape(Favg,[9]),2,resNew(1)),3,resNew(2)),4,resNew(3)) spectralF9New = spread(spread(spread(reshape(Favg,[9]),2,resNew(1)),3,resNew(2)),4,resNew(3))
call IO_write_jobBinaryFile(777,'F',size(spectralF9New)) call IO_write_jobRealFile(777,'F',size(spectralF9New))
write (777,rec=1) spectralF9New write (777,rec=1) spectralF9New
close (777) close (777)
end select end select
@ -1663,14 +1663,14 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!--------------------------------------------------------------------------------- !---------------------------------------------------------------------------------
allocate(F_lastIncNew(3,3,resNew(1),resNew(2),resNew(3))) allocate(F_lastIncNew(3,3,resNew(1),resNew(2),resNew(3)))
call IO_read_jobBinaryFile(777,'F_aim_lastInc', & call IO_read_realFile(777,'F_aim_lastInc', &
trim(getSolverJobName()),size(Favg_LastInc)) trim(getSolverJobName()),size(Favg_LastInc))
read (777,rec=1) Favg_LastInc read (777,rec=1) Favg_LastInc
close (777) close (777)
F_lastIncNew = spread(spread(spread(Favg_LastInc,3,resNew(1)),4,resNew(2)),5,resNew(3)) F_lastIncNew = spread(spread(spread(Favg_LastInc,3,resNew(1)),4,resNew(2)),5,resNew(3))
call IO_write_jobBinaryFile(777,'convergedSpectralDefgrad_lastInc',size(F_LastIncNew)) call IO_write_jobRealFile(777,'convergedSpectralDefgrad_lastInc',size(F_LastIncNew))
write (777,rec=1) F_LastIncNew write (777,rec=1) F_LastIncNew
close (777) close (777)
@ -1679,7 +1679,7 @@ function mesh_regrid(adaptive,resNewInput,minRes)
! relocating data of material subroutine --------------------------------------------------------- ! relocating data of material subroutine ---------------------------------------------------------
allocate(material_phase (1,1, mesh_NcpElems)) allocate(material_phase (1,1, mesh_NcpElems))
allocate(material_phaseNew (1,1, NpointsNew)) allocate(material_phaseNew (1,1, NpointsNew))
call IO_read_jobBinaryIntFile(777,'recordedPhase',trim(getSolverJobName()),size(material_phase)) call IO_read_intFile(777,'recordedPhase',trim(getSolverJobName()),size(material_phase))
read (777,rec=1) material_phase read (777,rec=1) material_phase
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
@ -1691,7 +1691,7 @@ function mesh_regrid(adaptive,resNewInput,minRes)
write(6,*) material_phase(1,1,i), 'not found in material_phaseNew' write(6,*) material_phase(1,1,i), 'not found in material_phaseNew'
endif endif
enddo enddo
call IO_write_jobBinaryIntFile(777,'recordedPhase',size(material_phaseNew)) call IO_write_jobIntFile(777,'recordedPhase',size(material_phaseNew))
write (777,rec=1) material_phaseNew write (777,rec=1) material_phaseNew
close (777) close (777)
deallocate(material_phase) deallocate(material_phase)
@ -1699,14 +1699,14 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!--------------------------------------------------------------------------- !---------------------------------------------------------------------------
allocate(F (3,3,1,1, mesh_NcpElems)) allocate(F (3,3,1,1, mesh_NcpElems))
allocate(FNew (3,3,1,1, NpointsNew)) allocate(FNew (3,3,1,1, NpointsNew))
call IO_read_jobBinaryFile(777,'convergedF',trim(getSolverJobName()),size(F)) call IO_read_realFile(777,'convergedF',trim(getSolverJobName()),size(F))
read (777,rec=1) F read (777,rec=1) F
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
FNew(1:3,1:3,1,1,i) = F(1:3,1:3,1,1,indices(i)) FNew(1:3,1:3,1,1,i) = F(1:3,1:3,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergedF',size(FNew)) call IO_write_jobRealFile(777,'convergedF',size(FNew))
write (777,rec=1) FNew write (777,rec=1) FNew
close (777) close (777)
deallocate(F) deallocate(F)
@ -1714,14 +1714,14 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!--------------------------------------------------------------------- !---------------------------------------------------------------------
allocate(Fp (3,3,1,1,mesh_NcpElems)) allocate(Fp (3,3,1,1,mesh_NcpElems))
allocate(FpNew (3,3,1,1,NpointsNew)) allocate(FpNew (3,3,1,1,NpointsNew))
call IO_read_jobBinaryFile(777,'convergedFp',trim(getSolverJobName()),size(Fp)) call IO_read_realFile(777,'convergedFp',trim(getSolverJobName()),size(Fp))
read (777,rec=1) Fp read (777,rec=1) Fp
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
FpNew(1:3,1:3,1,1,i) = Fp(1:3,1:3,1,1,indices(i)) FpNew(1:3,1:3,1,1,i) = Fp(1:3,1:3,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergedFp',size(FpNew)) call IO_write_jobRealFile(777,'convergedFp',size(FpNew))
write (777,rec=1) FpNew write (777,rec=1) FpNew
close (777) close (777)
deallocate(Fp) deallocate(Fp)
@ -1729,13 +1729,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!------------------------------------------------------------------------ !------------------------------------------------------------------------
allocate(Lp (3,3,1,1,mesh_NcpElems)) allocate(Lp (3,3,1,1,mesh_NcpElems))
allocate(LpNew (3,3,1,1,NpointsNew)) allocate(LpNew (3,3,1,1,NpointsNew))
call IO_read_jobBinaryFile(777,'convergedLp',trim(getSolverJobName()),size(Lp)) call IO_read_realFile(777,'convergedLp',trim(getSolverJobName()),size(Lp))
read (777,rec=1) Lp read (777,rec=1) Lp
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
LpNew(1:3,1:3,1,1,i) = Lp(1:3,1:3,1,1,indices(i)) LpNew(1:3,1:3,1,1,i) = Lp(1:3,1:3,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergedLp',size(LpNew)) call IO_write_jobRealFile(777,'convergedLp',size(LpNew))
write (777,rec=1) LpNew write (777,rec=1) LpNew
close (777) close (777)
deallocate(Lp) deallocate(Lp)
@ -1743,13 +1743,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!---------------------------------------------------------------------------- !----------------------------------------------------------------------------
allocate(dcsdE (6,6,1,1,mesh_NcpElems)) allocate(dcsdE (6,6,1,1,mesh_NcpElems))
allocate(dcsdENew (6,6,1,1,NpointsNew)) allocate(dcsdENew (6,6,1,1,NpointsNew))
call IO_read_jobBinaryFile(777,'convergeddcsdE',trim(getSolverJobName()),size(dcsdE)) call IO_read_realFile(777,'convergeddcsdE',trim(getSolverJobName()),size(dcsdE))
read (777,rec=1) dcsdE read (777,rec=1) dcsdE
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
dcsdENew(1:6,1:6,1,1,i) = dcsdE(1:6,1:6,1,1,indices(i)) dcsdENew(1:6,1:6,1,1,i) = dcsdE(1:6,1:6,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergeddcsdE',size(dcsdENew)) call IO_write_jobRealFile(777,'convergeddcsdE',size(dcsdENew))
write (777,rec=1) dcsdENew write (777,rec=1) dcsdENew
close (777) close (777)
deallocate(dcsdE) deallocate(dcsdE)
@ -1757,13 +1757,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!--------------------------------------------------------------------------- !---------------------------------------------------------------------------
allocate(dPdF (3,3,3,3,1,1,mesh_NcpElems)) allocate(dPdF (3,3,3,3,1,1,mesh_NcpElems))
allocate(dPdFNew (3,3,3,3,1,1,NpointsNew)) allocate(dPdFNew (3,3,3,3,1,1,NpointsNew))
call IO_read_jobBinaryFile(777,'convergeddPdF',trim(getSolverJobName()),size(dPdF)) call IO_read_realFile(777,'convergeddPdF',trim(getSolverJobName()),size(dPdF))
read (777,rec=1) dPdF read (777,rec=1) dPdF
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
dPdFNew(1:3,1:3,1:3,1:3,1,1,i) = dPdF(1:3,1:3,1:3,1:3,1,1,indices(i)) dPdFNew(1:3,1:3,1:3,1:3,1,1,i) = dPdF(1:3,1:3,1:3,1:3,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergeddPdF',size(dPdFNew)) call IO_write_jobRealFile(777,'convergeddPdF',size(dPdFNew))
write (777,rec=1) dPdFNew write (777,rec=1) dPdFNew
close (777) close (777)
deallocate(dPdF) deallocate(dPdF)
@ -1771,13 +1771,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
!--------------------------------------------------------------------------- !---------------------------------------------------------------------------
allocate(Tstar (6,1,1,mesh_NcpElems)) allocate(Tstar (6,1,1,mesh_NcpElems))
allocate(TstarNew (6,1,1,NpointsNew)) allocate(TstarNew (6,1,1,NpointsNew))
call IO_read_jobBinaryFile(777,'convergedTstar',trim(getSolverJobName()),size(Tstar)) call IO_read_realFile(777,'convergedTstar',trim(getSolverJobName()),size(Tstar))
read (777,rec=1) Tstar read (777,rec=1) Tstar
close (777) close (777)
do i = 1, NpointsNew do i = 1, NpointsNew
TstarNew(1:6,1,1,i) = Tstar(1:6,1,1,indices(i)) TstarNew(1:6,1,1,i) = Tstar(1:6,1,1,indices(i))
enddo enddo
call IO_write_jobBinaryFile(777,'convergedTstar',size(TstarNew)) call IO_write_jobRealFile(777,'convergedTstar',size(TstarNew))
write (777,rec=1) TstarNew write (777,rec=1) TstarNew
close (777) close (777)
deallocate(Tstar) deallocate(Tstar)
@ -1785,13 +1785,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
! for the state, we first have to know the size------------------------------------------------------------------ ! for the state, we first have to know the size------------------------------------------------------------------
allocate(sizeStateConst(1,1,mesh_NcpElems)) allocate(sizeStateConst(1,1,mesh_NcpElems))
call IO_read_jobBinaryIntFile(777,'sizeStateConst',trim(getSolverJobName()),size(sizeStateConst)) call IO_read_intFile(777,'sizeStateConst',trim(getSolverJobName()),size(sizeStateConst))
read (777,rec=1) sizeStateConst read (777,rec=1) sizeStateConst
close (777) close (777)
maxsize = maxval(sizeStateConst(1,1,1:mesh_NcpElems)) maxsize = maxval(sizeStateConst(1,1,1:mesh_NcpElems))
allocate(StateConst (1,1,mesh_NcpElems,maxsize)) allocate(StateConst (1,1,mesh_NcpElems,maxsize))
call IO_read_jobBinaryFile(777,'convergedStateConst',trim(getSolverJobName())) call IO_read_realFile(777,'convergedStateConst',trim(getSolverJobName()))
k = 0_pInt k = 0_pInt
do i =1, mesh_NcpElems do i =1, mesh_NcpElems
do j = 1,sizeStateConst(1,1,i) do j = 1,sizeStateConst(1,1,i)
@ -1800,7 +1800,7 @@ function mesh_regrid(adaptive,resNewInput,minRes)
enddo enddo
enddo enddo
close(777) close(777)
call IO_write_jobBinaryFile(777,'convergedStateConst') call IO_write_jobRealFile(777,'convergedStateConst')
k = 0_pInt k = 0_pInt
do i = 1,NpointsNew do i = 1,NpointsNew
do j = 1,sizeStateConst(1,1,indices(i)) do j = 1,sizeStateConst(1,1,indices(i))
@ -1813,13 +1813,13 @@ function mesh_regrid(adaptive,resNewInput,minRes)
deallocate(StateConst) deallocate(StateConst)
!---------------------------------------------------------------------------- !----------------------------------------------------------------------------
allocate(sizeStateHomog(1,mesh_NcpElems)) allocate(sizeStateHomog(1,mesh_NcpElems))
call IO_read_jobBinaryIntFile(777,'sizeStateHomog',trim(getSolverJobName()),size(sizeStateHomog)) call IO_read_intFile(777,'sizeStateHomog',trim(getSolverJobName()),size(sizeStateHomog))
read (777,rec=1) sizeStateHomog read (777,rec=1) sizeStateHomog
close (777) close (777)
maxsize = maxval(sizeStateHomog(1,1:mesh_NcpElems)) maxsize = maxval(sizeStateHomog(1,1:mesh_NcpElems))
allocate(stateHomog (1,mesh_NcpElems,maxsize)) allocate(stateHomog (1,mesh_NcpElems,maxsize))
call IO_read_jobBinaryFile(777,'convergedStateHomog',trim(getSolverJobName())) call IO_read_realFile(777,'convergedStateHomog',trim(getSolverJobName()))
k = 0_pInt k = 0_pInt
do i =1, mesh_NcpElems do i =1, mesh_NcpElems
do j = 1,sizeStateHomog(1,i) do j = 1,sizeStateHomog(1,i)
@ -1828,7 +1828,7 @@ function mesh_regrid(adaptive,resNewInput,minRes)
enddo enddo
enddo enddo
close(777) close(777)
call IO_write_jobBinaryFile(777,'convergedStateHomog') call IO_write_jobRealFile(777,'convergedStateHomog')
k = 0_pInt k = 0_pInt
do i = 1,NpointsNew do i = 1,NpointsNew
do j = 1,sizeStateHomog(1,indices(i)) do j = 1,sizeStateHomog(1,indices(i))
@ -4092,8 +4092,8 @@ subroutine mesh_tell_statistics
allocate (mesh_HomogMicro(mesh_maxValStateVar(1),mesh_maxValStateVar(2))); mesh_HomogMicro = 0_pInt allocate (mesh_HomogMicro(mesh_maxValStateVar(1),mesh_maxValStateVar(2))); mesh_HomogMicro = 0_pInt
do e = 1_pInt,mesh_NcpElems do e = 1_pInt,mesh_NcpElems
if (mesh_element(3,e) < 1_pInt) call IO_error(error_ID=170_pInt,e=e) ! no homogenization specified if (mesh_element(3,e) < 1_pInt) call IO_error(error_ID=170_pInt,el=e) ! no homogenization specified
if (mesh_element(4,e) < 1_pInt) call IO_error(error_ID=180_pInt,e=e) ! no microstructure specified if (mesh_element(4,e) < 1_pInt) call IO_error(error_ID=180_pInt,el=e) ! no microstructure specified
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) = & mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) = &
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) + 1_pInt ! count combinations of homogenization and microstructure mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) + 1_pInt ! count combinations of homogenization and microstructure
enddo enddo