some f2008 standard related correction i didn't check in last time
This commit is contained in:
parent
7dd67e3ebb
commit
c5128e94eb
|
@ -288,7 +288,7 @@ subroutine hypela2(&
|
|||
lastMode = .false. ! pretend last step was collection
|
||||
calcMode = .false. ! pretend last step was collection
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,x,i2)') '<< HYPELA2 >> start of analysis..! ',n(1),nn
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> start of analysis..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
else if (inc - theInc > 1) then ! >> restart of broken analysis <<
|
||||
|
@ -297,7 +297,7 @@ subroutine hypela2(&
|
|||
lastMode = .true. ! pretend last step was calculation
|
||||
calcMode = .true. ! pretend last step was calculation
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,x,i2)') '<< HYPELA2 >> restart of analysis..! ',n(1),nn
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> restart of analysis..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
else ! >> just the next inc <<
|
||||
|
@ -306,7 +306,7 @@ subroutine hypela2(&
|
|||
lastMode = .true. ! assure last step was calculation
|
||||
calcMode = .true. ! assure last step was calculation
|
||||
!$OMP CRITICAL (write2out)
|
||||
write (6,'(a,i6,x,i2)') '<< HYPELA2 >> new increment..! ',n(1),nn
|
||||
write (6,'(a,i6,1x,i2)') '<< HYPELA2 >> new increment..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
endif
|
||||
|
@ -315,7 +315,7 @@ subroutine hypela2(&
|
|||
cycleCounter = -1 ! first calc step increments this to cycle = 0
|
||||
calcMode = .true. ! pretend last step was calculation
|
||||
!$OMP CRITICAL (write2out)
|
||||
write(6,'(a,i6,x,i2)') '<< HYPELA2 >> cutback detected..! ',n(1),nn
|
||||
write(6,'(a,i6,1x,i2)') '<< HYPELA2 >> cutback detected..! ',n(1),nn
|
||||
call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
endif ! convergence treatment end
|
||||
|
|
|
@ -718,13 +718,13 @@ constitutive_dislotwin_stateInit(6*ns+4*nt+1:6*ns+5*nt) = TwinVolume0
|
|||
|
||||
!write(6,*) '#STATEINIT#'
|
||||
!write(6,*)
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'RhoEdge',rhoEdge0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'RhoEdgedip',rhoEdgeDip0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'invLambdaSlip',invLambdaSlip0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'MeanFreePathSlip',MeanFreePathSlip0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'tauSlipThreshold', tauSlipThreshold0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'MeanFreePathTwin', MeanFreePathTwin0
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'TwinVolume', TwinVolume0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'RhoEdge',rhoEdge0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'RhoEdgedip',rhoEdgeDip0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'invLambdaSlip',invLambdaSlip0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'MeanFreePathSlip',MeanFreePathSlip0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'tauSlipThreshold', tauSlipThreshold0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'MeanFreePathTwin', MeanFreePathTwin0
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'TwinVolume', TwinVolume0
|
||||
|
||||
return
|
||||
end function
|
||||
|
@ -906,9 +906,9 @@ forall (t = 1:nt) &
|
|||
!if ((ip==1).and.(el==1)) then
|
||||
! write(6,*) '#MICROSTRUCTURE#'
|
||||
! write(6,*)
|
||||
! write(6,'(a,/,4(3(f10.4,x)/))') 'rhoEdge',state(g,ip,el)%p(1:ns)/1e9
|
||||
! write(6,'(a,/,4(3(f10.4,x)/))') 'rhoEdgeDip',state(g,ip,el)%p(ns+1:2*ns)/1e9
|
||||
! write(6,'(a,/,4(3(f10.4,x)/))') 'Fraction',state(g,ip,el)%p(2*ns+1:2*ns+nt)
|
||||
! write(6,'(a,/,4(3(f10.4,1x)/))') 'rhoEdge',state(g,ip,el)%p(1:ns)/1e9
|
||||
! write(6,'(a,/,4(3(f10.4,1x)/))') 'rhoEdgeDip',state(g,ip,el)%p(ns+1:2*ns)/1e9
|
||||
! write(6,'(a,/,4(3(f10.4,1x)/))') 'Fraction',state(g,ip,el)%p(2*ns+1:2*ns+nt)
|
||||
!endif
|
||||
|
||||
|
||||
|
@ -1052,7 +1052,7 @@ if(constitutive_dislotwin_sbVelocity(myInstance) /= 0.0_pReal) then
|
|||
tau_sb(j) = dot_product(Tstar_v,constitutive_dislotwin_sbSv(1:6,j,g,ip,el))
|
||||
|
||||
! if (debug_selectiveDebugger .and. g==debug_g .and. ip==debug_i .and. el==debug_e) then
|
||||
! write(6,'(a,3(i3,x),a,i1,a,e10.3)') '### TAU SHEARBAND at g ip el ',g,ip,el,' on family ',j,' : ',tau
|
||||
! write(6,'(a,3(i3,1x),a,i1,a,e10.3)') '### TAU SHEARBAND at g ip el ',g,ip,el,' on family ',j,' : ',tau
|
||||
! endif
|
||||
|
||||
!* Stress ratios
|
||||
|
@ -1129,9 +1129,9 @@ dLp_dTstar = math_Plain3333to99(dLp_dTstar3333)
|
|||
! write(6,*)
|
||||
! write(6,*) 'Tstar_v', Tstar_v
|
||||
! write(6,*) 'tau_slip', tau_slip
|
||||
! write(6,'(a10,/,4(3(e20.8,x),/))') 'state',state(1,1,1)%p
|
||||
! write(6,'(a,/,3(3(f10.4,x)/))') 'Lp',Lp
|
||||
! write(6,'(a,/,9(9(f10.4,x)/))') 'dLp_dTstar',dLp_dTstar
|
||||
! write(6,'(a10,/,4(3(e20.8,1x),/))') 'state',state(1,1,1)%p
|
||||
! write(6,'(a,/,3(3(f10.4,1x)/))') 'Lp',Lp
|
||||
! write(6,'(a,/,9(9(f10.4,1x)/))') 'dLp_dTstar',dLp_dTstar
|
||||
!endif
|
||||
|
||||
return
|
||||
|
@ -1297,15 +1297,15 @@ enddo
|
|||
|
||||
!write(6,*) '#DOTSTATE#'
|
||||
!write(6,*)
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'tau slip',tau_slip
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'gamma slip',gdot_slip
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'RhoEdge',state(g,ip,el)%p(1:ns)
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'Threshold Slip', state(g,ip,el)%p(5*ns+3*nt+1:6*ns+3*nt)
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'Multiplication',DotRhoMultiplication
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'DipFormation',DotRhoDipFormation
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'SingleSingle',DotRhoEdgeEdgeAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'SingleDipole',DotRhoEdgeDipAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'DipClimb',DotRhoEdgeDipClimb
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'tau slip',tau_slip
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'gamma slip',gdot_slip
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'RhoEdge',state(g,ip,el)%p(1:ns)
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'Threshold Slip', state(g,ip,el)%p(5*ns+3*nt+1:6*ns+3*nt)
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'Multiplication',DotRhoMultiplication
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'DipFormation',DotRhoDipFormation
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'SingleSingle',DotRhoEdgeEdgeAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'SingleDipole',DotRhoEdgeDipAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'DipClimb',DotRhoEdgeDipClimb
|
||||
|
||||
return
|
||||
end function
|
||||
|
|
|
@ -1187,11 +1187,11 @@ state(g,ip,el)%p(12*ns+1:13*ns) = tauBack
|
|||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,*)
|
||||
write(6,'(a,i8,x,i2,x,i1)') '<< CONST >> nonlocal_microstructure at el ip g',el,ip,g
|
||||
write(6,'(a,i8,1x,i2,1x,i1)') '<< CONST >> nonlocal_microstructure at el ip g',el,ip,g
|
||||
write(6,*)
|
||||
write(6,'(a,/,12(x),12(e10.3,x))') '<< CONST >> rhoForest', rhoForest
|
||||
write(6,'(a,/,12(x),12(f10.5,x))') '<< CONST >> tauThreshold / MPa', tauThreshold/1e6
|
||||
write(6,'(a,/,12(x),12(f10.5,x))') '<< CONST >> tauBack / MPa', tauBack/1e6
|
||||
write(6,'(a,/,12x,12(e10.3,1x))') '<< CONST >> rhoForest', rhoForest
|
||||
write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauThreshold / MPa', tauThreshold/1e6
|
||||
write(6,'(a,/,12x,12(f10.5,1x))') '<< CONST >> tauBack / MPa', tauBack/1e6
|
||||
endif
|
||||
#endif
|
||||
|
||||
|
@ -1336,10 +1336,10 @@ endif
|
|||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,*)
|
||||
write(6,'(a,i8,x,i2,x,i1)') '<< CONST >> nonlocal_kinetics at el ip g',el,ip,g
|
||||
write(6,'(a,i8,1x,i2,1x,i1)') '<< CONST >> nonlocal_kinetics at el ip g',el,ip,g
|
||||
write(6,*)
|
||||
write(6,'(a,/,12(x),12(f12.5,x))') '<< CONST >> tau / MPa', tau / 1e6_pReal
|
||||
write(6,'(a,/,4(12(x),12(f12.5,x),/))') '<< CONST >> v / 1e-3m/s', v * 1e3
|
||||
write(6,'(a,/,12x,12(f12.5,1x))') '<< CONST >> tau / MPa', tau / 1e6_pReal
|
||||
write(6,'(a,/,4(12x,12(f12.5,1x),/))') '<< CONST >> v / 1e-3m/s', v * 1e3
|
||||
endif
|
||||
#endif
|
||||
|
||||
|
@ -1480,10 +1480,10 @@ dLp_dTstar99 = math_Plain3333to99(dLp_dTstar3333)
|
|||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,*)
|
||||
write(6,'(a,i8,x,i2,x,i1)') '<< CONST >> nonlocal_LpandItsTangent at el ip g ',el,ip,g
|
||||
write(6,'(a,i8,1x,i2,1x,i1)') '<< CONST >> nonlocal_LpandItsTangent at el ip g ',el,ip,g
|
||||
write(6,*)
|
||||
write(6,'(a,/,12(x),12(f12.5,x))') '<< CONST >> gdot total / 1e-3',gdotTotal*1e3_pReal
|
||||
write(6,'(a,/,3(12(x),3(f12.7,x),/))') '<< CONST >> Lp',Lp
|
||||
write(6,'(a,/,12x,12(f12.5,1x))') '<< CONST >> gdot total / 1e-3',gdotTotal*1e3_pReal
|
||||
write(6,'(a,/,3(12x,3(f12.7,1x),/))') '<< CONST >> Lp',Lp
|
||||
endif
|
||||
#endif
|
||||
|
||||
|
@ -1627,7 +1627,7 @@ logical considerEnteringFlux, &
|
|||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,*)
|
||||
write(6,'(a,i8,x,i2,x,i1)') '<< CONST >> nonlocal_dotState at el ip g ',el,ip,g
|
||||
write(6,'(a,i8,1x,i2,1x,i1)') '<< CONST >> nonlocal_dotState at el ip g ',el,ip,g
|
||||
write(6,*)
|
||||
endif
|
||||
#endif
|
||||
|
@ -1683,8 +1683,8 @@ forall (s = 1:ns, t = 1:4, rhoSgl(s,t+4) * v(s,t) < 0.0_pReal) &
|
|||
|
||||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,'(a,/,10(12(x),12(e12.5,x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip
|
||||
write(6,'(a,/,4(12(x),12(e12.5,x),/))') '<< CONST >> gdot / 1/s',gdot
|
||||
write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> rho / 1/m^2', rhoSgl, rhoDip
|
||||
write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> gdot / 1/s',gdot
|
||||
endif
|
||||
#endif
|
||||
|
||||
|
@ -1959,16 +1959,16 @@ dotState%p(1:10*ns) = dotState%p(1:10*ns) + reshape(rhoDot,(/10*ns/))
|
|||
|
||||
#ifndef _OPENMP
|
||||
if (debug_verbosity > 6 .and. ((debug_e == el .and. debug_i == ip .and. debug_g == g) .or. .not. debug_selectiveDebugger)) then
|
||||
write(6,'(a,/,8(12(x),12(e12.5,x),/))') '<< CONST >> dislocation remobilization', rhoDotRemobilization(1:ns,1:8) * timestep
|
||||
write(6,'(a,/,4(12(x),12(e12.5,x),/))') '<< CONST >> dislocation multiplication', rhoDotMultiplication(1:ns,1:4) * timestep
|
||||
write(6,'(a,/,8(12(x),12(e12.5,x),/))') '<< CONST >> dislocation flux', rhoDotFlux(1:ns,1:8) * timestep
|
||||
write(6,'(a,/,10(12(x),12(e12.5,x),/))') '<< CONST >> dipole formation by glide', rhoDotSingle2DipoleGlide * timestep
|
||||
write(6,'(a,/,2(12(x),12(e12.5,x),/))') '<< CONST >> athermal dipole annihilation', &
|
||||
write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation remobilization', rhoDotRemobilization(1:ns,1:8) * timestep
|
||||
write(6,'(a,/,4(12x,12(e12.5,1x),/))') '<< CONST >> dislocation multiplication', rhoDotMultiplication(1:ns,1:4) * timestep
|
||||
write(6,'(a,/,8(12x,12(e12.5,1x),/))') '<< CONST >> dislocation flux', rhoDotFlux(1:ns,1:8) * timestep
|
||||
write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> dipole formation by glide', rhoDotSingle2DipoleGlide * timestep
|
||||
write(6,'(a,/,2(12x,12(e12.5,1x),/))') '<< CONST >> athermal dipole annihilation', &
|
||||
rhoDotAthermalAnnihilation(1:ns,1:2) * timestep
|
||||
write(6,'(a,/,2(12(x),12(e12.5,x),/))') '<< CONST >> thermally activated dipole annihilation', &
|
||||
write(6,'(a,/,2(12x,12(e12.5,1x),/))') '<< CONST >> thermally activated dipole annihilation', &
|
||||
rhoDotThermalAnnihilation(1:ns,9:10) * timestep
|
||||
write(6,'(a,/,10(12(x),12(e12.5,x),/))') '<< CONST >> total density change', rhoDot * timestep
|
||||
write(6,'(a,/,10(12(x),12(f12.7,x),/))') '<< CONST >> relative density change', &
|
||||
write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> total density change', rhoDot * timestep
|
||||
write(6,'(a,/,10(12x,12(f12.7,1x),/))') '<< CONST >> relative density change', &
|
||||
rhoDot(1:ns,1:8) * timestep / (abs(rhoSgl)+1.0e-10), &
|
||||
rhoDot(1:ns,9:10) * timestep / (rhoDip+1.0e-10)
|
||||
write(6,*)
|
||||
|
|
|
@ -1558,9 +1558,9 @@ dLp_dTstar = math_Plain3333to99(dLp_dTstar3333)
|
|||
! write(6,*)
|
||||
! write(6,*) 'Tstar_v', Tstar_v
|
||||
! write(6,*) 'tau_slip', tau_slip
|
||||
! write(6,'(a10,/,4(3(e20.8,x),/))') 'state',state(1,1,1)%p
|
||||
! write(6,'(a,/,3(3(f10.4,x)/))') 'Lp',Lp
|
||||
! write(6,'(a,/,9(9(f10.4,x)/))') 'dLp_dTstar',dLp_dTstar
|
||||
! write(6,'(a10,/,4(3(e20.8,1x),/))') 'state',state(1,1,1)%p
|
||||
! write(6,'(a,/,3(3(f10.4,1x)/))') 'Lp',Lp
|
||||
! write(6,'(a,/,9(9(f10.4,1x)/))') 'dLp_dTstar',dLp_dTstar
|
||||
!endif
|
||||
|
||||
return
|
||||
|
@ -1707,10 +1707,10 @@ enddo
|
|||
|
||||
!write(6,*) '#DOTSTATE#'
|
||||
!write(6,*)
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'EdgeGeneration',DotRhoEdgeGeneration
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'ScrewGeneration',DotRhoScrewGeneration
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'EdgeAnnihilation',DotRhoEdgeAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,x)/))') 'ScrewAnnihilation',DotRhoScrewAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'EdgeGeneration',DotRhoEdgeGeneration
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'ScrewGeneration',DotRhoScrewGeneration
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'EdgeAnnihilation',DotRhoEdgeAnnihilation
|
||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'ScrewAnnihilation',DotRhoScrewAnnihilation
|
||||
|
||||
|
||||
return
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
MODULE prec
|
||||
implicit none
|
||||
! *** Precision of real and integer variables for python interfacing***
|
||||
integer, parameter :: pReal = selected_real_kind(8)
|
||||
integer, parameter :: pInt = selected_int_kind(9) ! up to +- 1e9
|
||||
real(pReal), parameter :: DAMASK_NaN = Z'7FF0000000000001'
|
||||
integer, parameter :: pReal = 8
|
||||
integer, parameter :: pInt = 4
|
||||
real(pReal), parameter :: DAMASK_NaN = real(Z'7FF0000000000001',pReal)
|
||||
real(pReal), parameter :: tol_math_check = 1.0e-8_pReal
|
||||
END MODULE prec
|
||||
|
||||
|
@ -36,10 +36,10 @@ MODULE debug
|
|||
END MODULE debug
|
||||
|
||||
MODULE numerics
|
||||
use prec, only: pInt
|
||||
use prec, only: pInt, pReal
|
||||
implicit none
|
||||
real*8, parameter :: fftw_timelimit = -1.0
|
||||
integer*8, parameter :: fftw_planner_flag = 32
|
||||
real(pReal), parameter :: fftw_timelimit = -1.0_pReal
|
||||
integer(pInt), parameter :: fftw_planner_flag = 32_pInt
|
||||
integer(pInt), parameter :: fixedSeed = 1_pInt
|
||||
END MODULE numerics
|
||||
|
||||
|
|
|
@ -763,7 +763,7 @@ if(updateJaco) then
|
|||
#ifndef _OPENMP
|
||||
if (debug_verbosity> 5) then
|
||||
!$OMP CRITICAL (write2out)
|
||||
write(6,'(a,2(x,i1),1x,a)') '<< CRYST >> [[[[[[ Stiffness perturbation',k,l,']]]]]]'
|
||||
write(6,'(a,2(1x,i1),1x,a)') '<< CRYST >> [[[[[[ Stiffness perturbation',k,l,']]]]]]'
|
||||
write(6,*)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
endif
|
||||
|
|
|
@ -70,7 +70,7 @@ real(pReal) :: relevantStrain = 1.0e-7_pReal, &
|
|||
fftw_timelimit = -1.0_pReal, & ! sets the timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit
|
||||
rotation_tol = 1.0e-12_pReal ! tolerance of rotation specified in loadcase, Default 1.0e-12: first guess
|
||||
character(len=64) :: fftw_planner_string = 'FFTW_PATIENT' ! reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patiant planner flag
|
||||
integer(pInt) :: fftw_planner_flag = 0_pInt ! conversion of fftw_planner_string to integer, basically what is usually done in the include file of fftw
|
||||
integer(pInt) :: fftw_planner_flag = -1_pInt ! conversion of fftw_planner_string to integer, basically what is usually done in the include file of fftw
|
||||
logical :: memory_efficient = .true. ,& ! for fast execution (pre calculation of gamma_hat), Default .true.: do not precalculate
|
||||
divergence_correction = .false. ,& ! correct divergence calculation in fourier space, Default .false.: no correction
|
||||
update_gamma = .false.,& ! update gamma operator with current stiffness, Default .false.: use initial stiffness
|
||||
|
@ -264,16 +264,16 @@ subroutine numerics_init()
|
|||
endif
|
||||
select case(IO_lc(fftw_planner_string)) ! setting parameters for the plan creation of FFTW. Basically a translation from fftw3.f
|
||||
case('estimate','fftw_estimate') ! ordered from slow execution (but fast plan creation) to fast execution
|
||||
fftw_planner_flag = 64
|
||||
fftw_planner_flag = 64_pInt
|
||||
case('measure','fftw_measure')
|
||||
fftw_planner_flag = 0
|
||||
fftw_planner_flag = 0_pInt
|
||||
case('patient','fftw_patient')
|
||||
fftw_planner_flag= 32
|
||||
fftw_planner_flag= 32_pInt
|
||||
case('exhaustive','fftw_exhaustive')
|
||||
fftw_planner_flag = 8
|
||||
fftw_planner_flag = 8_pInt
|
||||
case default
|
||||
call IO_warning(warning_ID=47_pInt,ext_msg=trim(IO_lc(fftw_planner_string)))
|
||||
fftw_planner_flag = 32
|
||||
fftw_planner_flag = 32_pInt
|
||||
end select
|
||||
|
||||
! writing parameters to output file
|
||||
|
|
Loading…
Reference in New Issue