Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

72 lines
2.5 KiB

!-----------------------------------------------------------------------------!
! \file kba_equations/Parameters.f90
! \author Thomas M. Evans
! \date Thur Jan 24 13:59:01 2008
! \brief Parameters for FORTRAN kernels in KBA.
! \note Copyright (C) 2008 Oak Ridge National Laboratory, UT-Battelle, LLC
!-----------------------------------------------------------------------------!
! $Id: Parameters.f90,v 1.2 2009/07/23 18:45:16 9te Exp $
!-----------------------------------------------------------------------------!
module Parameters
implicit none
! Single precision control.
integer, parameter :: SHORT = selected_int_kind(3)
integer, parameter :: SINGLE = selected_real_kind(5)
integer, parameter :: DOUBLE = selected_real_kind(14)
! Indices
integer, parameter :: I = 1
integer, parameter :: J = 2
integer, parameter :: K = 3
! Fractions.
real(DOUBLE), parameter :: zero = 0.0_DOUBLE
real(DOUBLE), parameter :: one = 1.0_DOUBLE
real(DOUBLE), parameter :: two = 2.0_DOUBLE
real(DOUBLE), parameter :: three = 3.0_DOUBLE
real(DOUBLE), parameter :: four = 4.0_DOUBLE
real(DOUBLE), parameter :: one_half = one / 2.0_DOUBLE
real(DOUBLE), parameter :: one_third = one / 3.0_DOUBLE
real(DOUBLE), parameter :: one_fourth = one / 4.0_DOUBLE
real(DOUBLE), parameter :: one_fifth = one / 5.0_DOUBLE
real(DOUBLE), parameter :: one_sixth = one / 6.0_DOUBLE
real(DOUBLE), parameter :: one_seventh = one / 7.0_DOUBLE
real(DOUBLE), parameter :: one_eighth = one / 8.0_DOUBLE
! Constants.
real(DOUBLE), parameter :: pi = 3.1415926535897931159979635_DOUBLE
real(DOUBLE), parameter :: two_pi = two * pi
real(DOUBLE), parameter :: four_pi = four * pi
real(DOUBLE), parameter :: inv_two_pi = one / two_pi
real(DOUBLE), parameter :: inv_four_pi = one / four_pi
! Huge constant.
real(DOUBLE), parameter :: huge = 1.0e14
! Size of mesh in each direction.
integer, save :: im, jm, km
end module Parameters
!-----------------------------------------------------------------------------!
! Set the dimensionality of the mesh in each direction.
subroutine set_dimensions(im_in, jm_in, km_in)
use Parameters, only : im, jm, km
implicit none
integer, intent(in) :: im_in, jm_in, km_in
im = im_in
jm = jm_in
km = km_in
end subroutine set_dimensions
!-----------------------------------------------------------------------------!
! end of Parameters.f90
!-----------------------------------------------------------------------------!