Problem Generators
Problem generators in artemis control the initial and (to some extent) boundary conditions of a simulation.
The choice of problem generator is controlled by the problem
parameter in the <artemis>
input block
Below is a complete listing of all possible values of problem
.
disk
The disk
problem generator sets up an axisymmetric sub-Keplerian disk in pressure-rotational equilibrium.
To use the disk
problem generator set:
<artemis>
...
problem = disk
Both vertically isothermal and polytropic disks are supported. Corrections for inner cavities, outer exponential cutoffs, and the presence of an inner binary, are also available.
The basic description of the disk starts with the aspect ratio profile:
where \(H\) is the disk scale height and \(f\) is the flaring index. The following parameters control the disk scale height profile:
<problem>
...
r0 = 1.0 # reference radius
h0 = .05 # aspect ratio at r0
flare = 0.25 # flaring index
Once we specify the disk aspect ratio, we define the mid-plane density profile:
This includes a power-law component and aforementioned corrections through the \(g(R)\) functions. The parameters controlling the mid-plane density are:
<problem>
...
rho0 = 1.0 # reference density
dslope = -1.0 # density power-law
rexp = 5.0 # exponential cutoff
rcav = 0.5 # cavity radius
l0 = 0.0 # optional binary accretion eigenvalue
The mid-plane density is then extended vertically depending on what polytropic index is defined. The polytropic index, \(\Gamma\) sets the temperature profile:
which for \(\Gamma = 1\) corresponds to a vertically isothermal profile, and for any other \(\Gamma\), corresponds to a pressure profile that is polytropic, i.e., \(P \propto \rho^\Gamma\). The polytropic index is controlled by the parameter
<problem>
...
polytropic_index = 1.0
With \(\Gamma\) defined, the vertical distribution of the density profile follows:
Lastly, we directly compute the azimuthal disk velocity, \(v_\phi\) by enforcing centrifugal balance,
Disks with viscosity have additional options. In particular,
<problem>
...
mdot0 = 1e-6 # initial mdot
quiet_start = false # set a non-zero vR
An initial constant \(\dot{M}\) is enforced by using \(v_R = -3/2 \nu/R\) and internally setting the reference density \(\rho_0 = \dot{M}/(3\pi\nu_0)\).
Therefore, if mdot0
is set, then rho0
will be calculated from it.
To start the disk with no radial velocity, set quiet_start = true
.
The disk
problem allows the use of the viscous
, ic
, and extrapolate
boundary conditions. See Boundary Conditions for a description.
disk
works in all coordinate systems by converting between the problem geometry and axisymmetric geometry.
strat
The strat
problem generator sets up a stratified shearing-box.
To use this the following nodes must be active,
<artemis>
coordinates = cartesian
problem = strat
<physics>
rotating_frame = true
<rotating_frame>
omega = 1.0
q = 1.5
Note that this requires cartesian coordinates and the rotating frame.
The initial profile is isothermal, \(T = H_0^2 \Omega_0^2\), with a gaussian density profile:
where \(H_0\) is the initial pressure scale height.
The relevant parameters that can be set under <problem>
are:
<problem>
h = 1.0 # scale height
rho0 = 1.0 # density normalization
The velocities are initially set to the steady-state background shear solution of \(v_y = - q \Omega_0 x\).
The strat
problem requires the inflow
boundaries for the \(y\)-direction and allows for extrapolate
boundaries for the \(x\) and \(z\) directions boundary conditions.
See Boundary Conditions for a description of those.
Internal generators
The remaining problem generators are mainly used for testing. Descriptions of their <problem>
block parameters can be found in Input Parameters.