-
Notifications
You must be signed in to change notification settings - Fork 8
/
parameters.f90
147 lines (140 loc) · 2.85 KB
/
parameters.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
!
! Basic run parameters and simulation control defaults
!
module parameters
integer,parameter::pre=8
real(pre)::gcgs=6.67d-8
real(pre)::msun=1.989d33
real(pre)::rgasCGS=8.254d7
real(pre)::mp=1.6726d-24
real(pre)::pi=3.1415926535897931d0
integer::irestart=0
!
!***
!io
!***
!
logical::write_ascii=.true.
!
!***
!grid parameters
!***
!
integer::nx=50,ny=50,nz=50
real(pre)::dx=0.25d0
real(pre)::dy=0.25d0
real(pre)::dz=0.25d0
real(pre)::yoffset=0.d0
logical::fluxangmom=.false.
logical::no_outflow_xl=.true.
logical::no_outflow_xr=.true.
logical::no_outflow_yl=.true.
logical::no_outflow_yr=.true.
logical::no_outflow_zl=.true.
logical::no_outflow_zr=.true.
!
!***
!eos parameters
!***
!
real(pre)::mu_z=16.78d0
real(pre)::brot=85.4d0
real(pre)::vib=5987d0
real(pre)::diss=52000d0
real(pre)::ionize=157878d0
real(pre)::drho_eos=0d0
real(pre)::dTk_eos=5d0
real(pre)::deng_eos=0d0
real(pre)::tk_bgrnd=1d-6
real(pre)::ac=1d0 ! parahydrogen mixture
real(pre)::bc=3d0 ! orthohydrogen
real(pre)::gammafix=1.66666666667d0 ! used only for H2STAT=-1
real(pre)::xabun=0.73d0,yabun=0.27d0,zabun=0.0d0
real(pre)::rho_eos_high=1d2
real(pre)::rho_eos_low=1d-14
real(pre)::tk_eos_cutoff=5d4
!
integer::NEOS_T=1600
integer::NEOS_RHO=1000
integer::H2STAT=0 ! 0 mixture, 1 equilibrium, -1 fixed gamma
!
!***
!hydro
!***
!
real(pre)::small_rho=1d-10
real(pre)::small_eps=1d-40
real(pre)::vlimit=1d1
real(pre)::starttime=0d0
real(pre)::endtime=0d0
real(pre)::dtout=10d0
real(pre)::cfl=0.1d0
!
real(pre)::den_change_tol=0.1d0
real(pre)::avmagx=0.0d0,avmagy=0.d0,avmagz=0.00d0
!
real(pre)::anchorradius=100d0
real(pre)::tkflow=300d0
real(pre)::rhoflow=1d-9
real(pre)::vflow=9e5
real(pre)::object_radius=0.625d0
real(pre)::object_x_displace=12.82353d0
real(pre)::object_separation=109d0
real(pre)::object_mass=1.0d0
real(pre)::tcoolfactor=2.0d0
real(pre)::object_mass2=0.2d0
real(pre)::x0dot=0d0
real(pre)::pmass_factor=3.375d-5
real(pre)::psize1=0.1d0
real(pre)::psize2=0.1d0
real(pre)::turbulence=0.01d0
character(32)::flux_limit_type='minmod'
#define MINMOD
!
!***
! Above once was used as an on-the-fly switch, but it is a HUGE performance hit.
! better to just define it using the preprocessor
!***
!
!
!***
!gravity
!***
integer::yml_max=10
integer::nrad_yml=100
integer::anchor_space=10
integer::anchor_number
integer::miniter=10
real(pre)::grav_err_tol=1e-5
real(pre)::grav_err_tol_low=1e-5
!
!***
!particles
!***
!
integer::npart=100000
integer::npart_direct=0
real(pre)::tg_immediate_couple=1450d0
real(pre)::a_sublimate_limit=6.67e-20
logical::use_pic=.true.
logical::initialize_particles_now=.true.
!
!***
! constants
!***
!
real(pre),parameter:: &
zero=0d0,&
one=1.d0,&
two=2d0,&
three=3d0,&
four=4d0,&
five=5d0,&
six=6d0,&
seven=7d0,&
eight=8d0,&
nine=9d0,&
ten=10d0,&
half=one/two,&
quarter=one/four
end module