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