moved DAMASK_NaN to prec.f90 respectively prec_single.f90 as it is precision dependent

This commit is contained in:
Martin Diehl 2011-10-20 16:46:11 +00:00
parent 9565852247
commit 8ac1891b3c
4 changed files with 23 additions and 13 deletions

View File

@ -1489,7 +1489,8 @@ subroutine constitutive_nonlocal_dotState(dotState, Tstar_v, Fe, Fp, Temperature
use prec, only: pReal, &
pInt, &
p_vec
p_vec, &
DAMASK_NaN
use numerics, only: numerics_integrationMode
use IO, only: IO_error
use debug, only: debug_verbosity, &
@ -1507,8 +1508,7 @@ use math, only: math_norm3, &
math_Mandel6to33, &
math_QuaternionDisorientation, &
math_qRot, &
pi, &
NaN
pi
use mesh, only: mesh_NcpElems, &
mesh_maxNips, &
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'
endif
#endif
dotState%p = 0.0_pReal/0.0_pReal
dotState%p = DAMASK_NaN
return
endif

View File

@ -23,13 +23,12 @@
!##############################################################
use prec, only: pReal,pInt
use prec, only: pReal,pInt,DAMASK_NaN
implicit none
real(pReal), parameter :: pi = 3.14159265358979323846264338327950288419716939937510_pReal
real(pReal), parameter :: inDeg = 180.0_pReal/pi
real(pReal), parameter :: inRad = pi/180.0_pReal
real(pReal), parameter :: DAMASK_NaN = Z'7FF0000000000001'
! *** 3x3 Identity ***
real(pReal), dimension(3,3), parameter :: math_I3 = &
reshape( (/ &
@ -155,9 +154,6 @@ real(pReal), dimension(4,36), parameter :: math_symOperations = &
write(6,*) '<<<+- math init -+>>>'
write(6,*) '$Id$'
write(6,*)
write(6,*) 'NaN: ',DAMASK_NAN
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
write(6,*)
!$OMP END CRITICAL (write2out)
if (fixedSeed > 0_pInt) then

View File

@ -30,6 +30,10 @@ integer, parameter :: pInt = selected_int_kind(9) ! up to +- 1e9
integer, parameter :: pLongInt = 8 ! should be 64bit
real(pReal), parameter :: tol_math_check = 1.0e-8_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
real(pReal), dimension(:), pointer :: p
@ -45,6 +49,9 @@ implicit none
write(6,*) '<<<+- prec init -+>>>'
write(6,*) '$Id$'
write(6,*)
write(6,*) 'NaN: ',DAMASK_NAN
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
write(6,*)
!$OMP END CRITICAL (write2out)
end subroutine

View File

@ -17,7 +17,7 @@
! 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
!##############################################################
@ -30,6 +30,10 @@ integer, parameter :: pInt = selected_int_kind(9) ! up to +- 1e9
integer, parameter :: pLongInt = 4 ! should be 64bit
real(pReal), parameter :: tol_math_check = 1.0e-5_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
real(pReal), dimension(:), pointer :: p
@ -40,8 +44,11 @@ CONTAINS
subroutine prec_init
!$OMP CRITICAL (write2out)
write(6,*)
write(6,*) '<<<+- prec init -+>>>'
write(6,*) '$Id: prec.f90 407 2009-08-31 15:09:15Z MPIE\f.roters $'
write(6,*) '<<<+- prec_single init -+>>>'
write(6,*) '$Id$'
write(6,*)
write(6,*) 'NaN: ',DAMASK_NAN
write(6,*) 'NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
write(6,*)
!$OMP END CRITICAL (write2out)