-
Notifications
You must be signed in to change notification settings - Fork 117
Diffusion Processes
In general there are two types of diffusion processes: one for hydro, such as viscosity and thermal conduction; and one for the field, such as Ohmic dissipation and Ambipolar diffusion. We have included these four diffusion processes in current implementation.
We do not need to manually switch on the diffusion in the configuration stage. They are determined by run-time parameters.
However some diffusion processes depend on specific physics and will be ignored if the code is not configured that way. For example, in order to calculate Ohmic dissipation and Ambipolar diffusion, magnetic field has to be enabled during configuration with -b
. Similarly, thermal conduction is calculated when non-barotropic equation of state is enabled.
The additional microphysics are enrolled in automatically through the following input parameters:
<problem>
nu_iso = 0.01 # isotropic viscosity coefficient
nu_aniso = 0.0 # anisotropic viscosity coefficient
kappa_iso = 0.01 # isotropic thermal conduction coefficient
kappa_aniso = 0.0 # anisotropic thermal conduction coefficient
eta_ohm = 0.01 # Ohmic resistivity coefficient
eta_ad = 0.0 # Ambipolar diffusion coefficient
Positive coefficients invoke the calculation of the corresponding physical processes. We note the anisotropic viscosity and thermal conduction are not implemented.
Currently all diffusion processes are calculated with the conservative form, the diffusion fluxes are directly added to the hydro and field flux in a non-operator-split way. In order to calculate the viscosity stress tensor, we make use of the covariant derivative of vectors, with the help of geometric scale factors and their derivatives. Please see Covariant Expressions for Vector and Tensor Operators page for a summary of the general expressions and a table of the scale factors used in the code.
Getting Started
User Guide
- Configuring
- Compiling
- The Input File
- Problem Generators
- Boundary Conditions
- Coordinate Systems and Meshes
- Running the Code
- Outputs
- Using MPI and OpenMP
- Static Mesh Refinement
- Adaptive Mesh Refinement
- Load Balancing
- Special Relativity
- General Relativity
- Passive Scalars
- Shearing Box
- Diffusion Processes
- General Equation of State
- FFT
- High-Order Methods
- Super-Time-Stepping
- Orbital Advection
- Rotating System
- Reading Data from External Files
Programmer Guide