moved DAMASK_NaN to prec.f90 respectively prec_single.f90 as it is precision dependent
This commit is contained in:
parent
9565852247
commit
8ac1891b3c
|
@ -1489,7 +1489,8 @@ subroutine constitutive_nonlocal_dotState(dotState, Tstar_v, Fe, Fp, Temperature
|
||||||
|
|
||||||
use prec, only: pReal, &
|
use prec, only: pReal, &
|
||||||
pInt, &
|
pInt, &
|
||||||
p_vec
|
p_vec, &
|
||||||
|
DAMASK_NaN
|
||||||
use numerics, only: numerics_integrationMode
|
use numerics, only: numerics_integrationMode
|
||||||
use IO, only: IO_error
|
use IO, only: IO_error
|
||||||
use debug, only: debug_verbosity, &
|
use debug, only: debug_verbosity, &
|
||||||
|
@ -1507,8 +1508,7 @@ use math, only: math_norm3, &
|
||||||
math_Mandel6to33, &
|
math_Mandel6to33, &
|
||||||
math_QuaternionDisorientation, &
|
math_QuaternionDisorientation, &
|
||||||
math_qRot, &
|
math_qRot, &
|
||||||
pi, &
|
pi
|
||||||
NaN
|
|
||||||
use mesh, only: mesh_NcpElems, &
|
use mesh, only: mesh_NcpElems, &
|
||||||
mesh_maxNips, &
|
mesh_maxNips, &
|
||||||
mesh_maxNipNeighbors, &
|
mesh_maxNipNeighbors, &
|
||||||
|
@ -1694,7 +1694,7 @@ if (any(1.2_pReal * constitutive_nonlocal_v(1:ns,1:4,g,ip,el) * timestep &
|
||||||
write(6,*) '<< CONST >> CFL condition not fullfilled'
|
write(6,*) '<< CONST >> CFL condition not fullfilled'
|
||||||
endif
|
endif
|
||||||
#endif
|
#endif
|
||||||
dotState%p = 0.0_pReal/0.0_pReal
|
dotState%p = DAMASK_NaN
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,12 @@
|
||||||
!##############################################################
|
!##############################################################
|
||||||
|
|
||||||
|
|
||||||
use prec, only: pReal,pInt
|
use prec, only: pReal,pInt,DAMASK_NaN
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
real(pReal), parameter :: pi = 3.14159265358979323846264338327950288419716939937510_pReal
|
real(pReal), parameter :: pi = 3.14159265358979323846264338327950288419716939937510_pReal
|
||||||
real(pReal), parameter :: inDeg = 180.0_pReal/pi
|
real(pReal), parameter :: inDeg = 180.0_pReal/pi
|
||||||
real(pReal), parameter :: inRad = pi/180.0_pReal
|
real(pReal), parameter :: inRad = pi/180.0_pReal
|
||||||
real(pReal), parameter :: DAMASK_NaN = Z'7FF0000000000001'
|
|
||||||
! *** 3x3 Identity ***
|
! *** 3x3 Identity ***
|
||||||
real(pReal), dimension(3,3), parameter :: math_I3 = &
|
real(pReal), dimension(3,3), parameter :: math_I3 = &
|
||||||
reshape( (/ &
|
reshape( (/ &
|
||||||
|
@ -155,9 +154,6 @@ real(pReal), dimension(4,36), parameter :: math_symOperations = &
|
||||||
write(6,*) '<<<+- math init -+>>>'
|
write(6,*) '<<<+- math init -+>>>'
|
||||||
write(6,*) '$Id$'
|
write(6,*) '$Id$'
|
||||||
write(6,*)
|
write(6,*)
|
||||||
write(6,*) 'NaN: ',DAMASK_NAN
|
|
||||||
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
|
|
||||||
write(6,*)
|
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
|
|
||||||
if (fixedSeed > 0_pInt) then
|
if (fixedSeed > 0_pInt) then
|
||||||
|
|
|
@ -30,6 +30,10 @@ integer, parameter :: pInt = selected_int_kind(9) ! up to +- 1e9
|
||||||
integer, parameter :: pLongInt = 8 ! should be 64bit
|
integer, parameter :: pLongInt = 8 ! should be 64bit
|
||||||
real(pReal), parameter :: tol_math_check = 1.0e-8_pReal
|
real(pReal), parameter :: tol_math_check = 1.0e-8_pReal
|
||||||
real(pReal), parameter :: tol_gravityNodePos = 1.0e-100_pReal
|
real(pReal), parameter :: tol_gravityNodePos = 1.0e-100_pReal
|
||||||
|
! NaN is precistion dependent
|
||||||
|
! from http://www.hpc.unimelb.edu.au/doc/f90lrm/dfum_035.html
|
||||||
|
! copy found in documentation/Code/Fortran
|
||||||
|
real(pReal), parameter :: DAMASK_NaN = Z'7FF0000000000001'
|
||||||
|
|
||||||
type :: p_vec
|
type :: p_vec
|
||||||
real(pReal), dimension(:), pointer :: p
|
real(pReal), dimension(:), pointer :: p
|
||||||
|
@ -45,6 +49,9 @@ implicit none
|
||||||
write(6,*) '<<<+- prec init -+>>>'
|
write(6,*) '<<<+- prec init -+>>>'
|
||||||
write(6,*) '$Id$'
|
write(6,*) '$Id$'
|
||||||
write(6,*)
|
write(6,*)
|
||||||
|
write(6,*) 'NaN: ',DAMASK_NAN
|
||||||
|
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
|
||||||
|
write(6,*)
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
! along with DAMASK. If not, see <http://www.gnu.org/licenses/>.
|
! along with DAMASK. If not, see <http://www.gnu.org/licenses/>.
|
||||||
!
|
!
|
||||||
!##############################################################
|
!##############################################################
|
||||||
!* $Id: prec.f90 407 2009-08-31 15:09:15Z MPIE\f.roters $
|
!* $Id$
|
||||||
!##############################################################
|
!##############################################################
|
||||||
MODULE prec
|
MODULE prec
|
||||||
!##############################################################
|
!##############################################################
|
||||||
|
@ -30,6 +30,10 @@ integer, parameter :: pInt = selected_int_kind(9) ! up to +- 1e9
|
||||||
integer, parameter :: pLongInt = 4 ! should be 64bit
|
integer, parameter :: pLongInt = 4 ! should be 64bit
|
||||||
real(pReal), parameter :: tol_math_check = 1.0e-5_pReal
|
real(pReal), parameter :: tol_math_check = 1.0e-5_pReal
|
||||||
real(pReal), parameter :: tol_gravityNodePos = 1.0e-36_pReal
|
real(pReal), parameter :: tol_gravityNodePos = 1.0e-36_pReal
|
||||||
|
! NaN is precistion dependent
|
||||||
|
! from http://www.hpc.unimelb.edu.au/doc/f90lrm/dfum_035.html
|
||||||
|
! copy can be found in documentation/Code/Fortran
|
||||||
|
real(pReal), parameter :: DAMASK_NaN = Z'7F800001'
|
||||||
|
|
||||||
type :: p_vec
|
type :: p_vec
|
||||||
real(pReal), dimension(:), pointer :: p
|
real(pReal), dimension(:), pointer :: p
|
||||||
|
@ -40,8 +44,11 @@ CONTAINS
|
||||||
subroutine prec_init
|
subroutine prec_init
|
||||||
!$OMP CRITICAL (write2out)
|
!$OMP CRITICAL (write2out)
|
||||||
write(6,*)
|
write(6,*)
|
||||||
write(6,*) '<<<+- prec init -+>>>'
|
write(6,*) '<<<+- prec_single init -+>>>'
|
||||||
write(6,*) '$Id: prec.f90 407 2009-08-31 15:09:15Z MPIE\f.roters $'
|
write(6,*) '$Id$'
|
||||||
|
write(6,*)
|
||||||
|
write(6,*) 'NaN: ',DAMASK_NAN
|
||||||
|
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
|
||||||
write(6,*)
|
write(6,*)
|
||||||
!$OMP END CRITICAL (write2out)
|
!$OMP END CRITICAL (write2out)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue