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:
parent
19a353edb4
commit
3eec0ecdcd
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
923
code/IO.f90
923
code/IO.f90
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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 (' &
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue