DISPATCH
hydro_commons.f90
1 #define MAXLEVEL 30
2 
3 module statevar
4  use amr_parameters
5  use hydro_parameters
6  implicit none
7 
8  !
9  ! Enumeration of state variables (second index of uold and unew)
10  !
11 
12  integer, parameter :: irho=1 ! mass density
13  integer, parameter :: ipx=2 ! momentum density vector
14 #if NDIM>1
15  integer, parameter :: ipy=3
16 #endif
17 #if NDIM>2
18  integer, parameter :: ipz=4
19 #endif
20  integer, parameter :: ie_tot=ndim+2 ! total energy density
21  integer, parameter :: ibxl=ndim+3 ! left magnetic field vector
22 #if NDIM>1
23  integer, parameter :: ibyl=ndim+4
24 #endif
25 #if NDIM>2
26  integer, parameter :: ibzl=ndim+5
27 #endif
28  ! metals are 9 to nvar
29  integer, parameter :: ibrx = nvar+1 ! right magnetic field vector
30 #if NDIM>1
31  integer, parameter :: ibry = nvar+2
32 #endif
33 #if NDIM>2
34  integer, parameter :: ibrz = nvar+3
35 #endif
36 end module
37 
38 module hydro_commons
39  use amr_parameters
40  use hydro_parameters
41  real(dp),allocatable,dimension(:,:)::uold,unew,usav ! State vector and its update
42  real(dp),allocatable,dimension(:) ::divu,enew ! Non conservative variables
43  real(dp)::mass_tot=0.0d0,mass_tot_0=0.0d0,dmax,dmin,daver
44  real(dp)::grho,grho0,grho_time,t_grho ! Newtons constant and ramp-up params
45  type courant_t
46  real(dp) :: speed
47  real(dp) :: cb, cv, cg, cr, cp
48  real(dp) :: x(ndim)
49  real(dp) :: urms, rho, umag, bmag, etot
50  real(8) :: volume
51  integer :: level
52  end type
53  type(courant_t) :: courant_number
54  integer::n_switch
55  integer:: n_camax, n_cbmax
56  integer(kind=8), save:: n_negative_e=0_8, n_camax_tot, n_cbmax_tot, not_iso_tot
57  real(dp):: dlnr(1:maxlevel)=0.0_dp
58  real(dp):: dlnp(1:maxlevel)=0.0_dp
59 end module hydro_commons
60 
61 module const
62  use amr_parameters
63  real(dp),parameter::bigreal = 1.0e+30
64  real(dp),parameter::zero = 0.0
65  real(dp),parameter::one = 1.0
66  real(dp),parameter::two = 2.0
67  real(dp),parameter::three = 3.0
68  real(dp),parameter::four = 4.0
69  real(dp),parameter::two3rd = 0.6666666666666667
70  real(dp),parameter::half = 0.5
71  real(dp),parameter::third = 0.33333333333333333
72  real(dp),parameter::forth = 0.25
73  real(dp),parameter::sixth = 0.16666666666666667
74 end module const
75