MPI-AMRVAC 3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Loading...
Searching...
No Matches
Data Types | Modules | Functions/Subroutines | Variables
mod_mhd_phys.t File Reference

Go to the source code of this file.

Modules

module  mod_mhd_phys
 Magneto-hydrodynamics module.
 

Functions/Subroutines

subroutine, public mod_mhd_phys::mhd_phys_init ()
 
subroutine, public mod_mhd_phys::mhd_ei_to_e (ixil, ixol, w, x)
 Transform internal energy to total energy.
 
subroutine, public mod_mhd_phys::mhd_e_to_ei (ixil, ixol, w, x)
 Transform total energy to internal energy.
 
subroutine, public mod_mhd_phys::mhd_get_v (w, x, ixil, ixol, v)
 Calculate v vector.
 
subroutine, public mod_mhd_phys::multiplyambicoef (ixil, ixol, res, w, x)
 multiply res by the ambipolar coefficient The ambipolar coefficient is calculated as -mhd_eta_ambi/rho^2 The user may mask its value in the user file by implemneting usr_mask_ambipolar subroutine
 
subroutine, public mod_mhd_phys::mhd_get_rho (w, x, ixil, ixol, rho)
 
subroutine, public mod_mhd_phys::get_normalized_divb (w, ixil, ixol, divb)
 get dimensionless div B = |divB| * volume / area / |B|
 
subroutine, public mod_mhd_phys::get_current (w, ixil, ixol, idirmin, current)
 Calculate idirmin and the idirmin:3 components of the common current array make sure that dxlevel(^D) is set correctly.
 
double precision function, dimension(ixo^s), public mod_mhd_phys::mhd_mag_en_all (w, ixil, ixol)
 Compute 2 times total magnetic energy.
 
subroutine, public mod_mhd_phys::mhd_clean_divb_multigrid (qdt, qt, active)
 
subroutine, public mod_mhd_phys::mhd_face_to_center (ixol, s)
 calculate cell-center values from face-center values
 
subroutine, public mod_mhd_phys::b_from_vector_potential (ixisl, ixil, ixol, ws, x)
 calculate magnetic field from vector potential
 

Variables

double precision, public mod_mhd_phys::mhd_gamma = 5.d0/3.0d0
 The adiabatic index.
 
double precision, public mod_mhd_phys::mhd_adiab = 1.0d0
 The adiabatic constant.
 
double precision, public mod_mhd_phys::mhd_eta = 0.0d0
 The MHD resistivity.
 
double precision, public mod_mhd_phys::mhd_eta_hyper = 0.0d0
 The MHD hyper-resistivity.
 
double precision, public mod_mhd_phys::mhd_etah = 0.0d0
 Hall resistivity.
 
double precision, public mod_mhd_phys::mhd_eta_ambi = 0.0d0
 The MHD ambipolar coefficient.
 
double precision, public, protected mod_mhd_phys::mhd_trac_mask = 0.d0
 Height of the mask used in the TRAC method.
 
double precision, public mod_mhd_phys::mhd_glm_alpha = 0.5d0
 GLM-MHD parameter: ratio of the diffusive and advective time scales for div b taking values within [0, 1].
 
double precision, public, protected mod_mhd_phys::mhd_reduced_c = 0.02d0*const_c
 Reduced speed of light for semirelativistic MHD: 2% of light speed.
 
double precision, public mod_mhd_phys::hypertc_kappa
 The thermal conductivity kappa in hyperbolic thermal conduction.
 
double precision, public, protected mod_mhd_phys::he_abundance =0.1d0
 Helium abundance over Hydrogen.
 
double precision, public, protected mod_mhd_phys::h_ion_fr =1d0
 Ionization fraction of H H_ion_fr = H+/(H+ + H)
 
double precision, public, protected mod_mhd_phys::he_ion_fr =1d0
 Ionization fraction of He He_ion_fr = (He2+ + He+)/(He2+ + He+ + He)
 
double precision, public, protected mod_mhd_phys::he_ion_fr2 =1d0
 Ratio of number He2+ / number He+ + He2+ He_ion_fr2 = He2+/(He2+ + He+)
 
double precision, public, protected mod_mhd_phys::rr =1d0
 
integer, public mod_mhd_phys::equi_rho0_ = -1
 equi vars indices in the stateequi_vars array
 
integer, public mod_mhd_phys::equi_pe0_ = -1
 
integer, public, protected mod_mhd_phys::mhd_n_tracer = 0
 Number of tracer species.
 
integer, public, protected mod_mhd_phys::rho_
 Index of the density (in the w array)
 
integer, dimension(:), allocatable, public, protected mod_mhd_phys::mom
 Indices of the momentum density.
 
integer, public, protected mod_mhd_phys::c
 Indices of the momentum density for the form of better vectorization.
 
integer, public, protected mod_mhd_phys::m
 
integer, public, protected mod_mhd_phys::c_
 
integer, public, protected mod_mhd_phys::e_
 Index of the energy density (-1 if not present)
 
integer, public, protected mod_mhd_phys::b
 
integer, public, protected mod_mhd_phys::p_
 Index of the gas pressure (-1 if not present) should equal e_.
 
integer, public, protected mod_mhd_phys::q_
 Index of the heat flux q.
 
integer, public, protected mod_mhd_phys::psi_
 Indices of the GLM psi.
 
integer, public, protected mod_mhd_phys::te_
 Indices of temperature.
 
integer, public, protected mod_mhd_phys::tcoff_
 Index of the cutoff temperature for the TRAC method.
 
integer, public, protected mod_mhd_phys::tweight_
 
integer, dimension(:), allocatable, public, protected mod_mhd_phys::tracer
 Indices of the tracers.
 
integer, dimension(2 *^nd), public, protected mod_mhd_phys::boundary_divbfix_skip =0
 To skip * layer of ghost cells during divB=0 fix for boundary.
 
logical, public, protected mod_mhd_phys::mhd_energy = .true.
 Whether an energy equation is used.
 
logical, public, protected mod_mhd_phys::mhd_thermal_conduction = .false.
 Whether thermal conduction is used.
 
logical, public, protected mod_mhd_phys::mhd_radiative_cooling = .false.
 Whether radiative cooling is added.
 
logical, public, protected mod_mhd_phys::mhd_hyperbolic_thermal_conduction = .false.
 Whether thermal conduction is used.
 
logical, public, protected mod_mhd_phys::mhd_viscosity = .false.
 Whether viscosity is added.
 
logical, public, protected mod_mhd_phys::mhd_gravity = .false.
 Whether gravity is added.
 
logical, public, protected mod_mhd_phys::mhd_rotating_frame = .false.
 Whether rotating frame is activated.
 
logical, public, protected mod_mhd_phys::mhd_hall = .false.
 Whether Hall-MHD is used.
 
logical, public, protected mod_mhd_phys::mhd_ambipolar = .false.
 Whether Ambipolar term is used.
 
logical, public, protected mod_mhd_phys::mhd_ambipolar_sts = .false.
 Whether Ambipolar term is implemented using supertimestepping.
 
logical, public, protected mod_mhd_phys::mhd_ambipolar_exp = .false.
 Whether Ambipolar term is implemented explicitly.
 
logical, public, protected mod_mhd_phys::mhd_particles = .false.
 Whether particles module is added.
 
logical, public, protected mod_mhd_phys::mhd_magnetofriction = .false.
 Whether magnetofriction is added.
 
logical, public, protected mod_mhd_phys::mhd_glm = .false.
 Whether GLM-MHD is used to control div B.
 
logical, public, protected mod_mhd_phys::mhd_glm_extended = .true.
 Whether extended GLM-MHD is used with additional sources.
 
logical, public, protected mod_mhd_phys::mhd_trac = .false.
 Whether TRAC method is used.
 
integer, public, protected mod_mhd_phys::mhd_trac_type =1
 Which TRAC method is used.
 
integer, public, protected mod_mhd_phys::mhd_trac_finegrid =4
 Distance between two adjacent traced magnetic field lines (in finest cell size)
 
logical, public, protected mod_mhd_phys::mhd_internal_e = .false.
 Whether internal energy is solved instead of total energy.
 
logical, public, protected mod_mhd_phys::mhd_hydrodynamic_e = .false.
 Whether hydrodynamic energy is solved instead of total energy.
 
logical, public, protected mod_mhd_phys::source_split_divb = .false.
 Whether divB cleaning sources are added splitting from fluid solver.
 
logical, public, protected mod_mhd_phys::mhd_semirelativistic = .false.
 Whether semirelativistic MHD equations (Gombosi 2002 JCP) are solved.
 
logical, public, protected mod_mhd_phys::mhd_partial_ionization = .false.
 Whether plasma is partially ionized.
 
logical, public, protected mod_mhd_phys::mhd_cak_force = .false.
 Whether CAK radiation line force is activated.
 
logical, public, protected mod_mhd_phys::mhd_4th_order = .false.
 MHD fourth order.
 
logical, public mod_mhd_phys::has_equi_rho0 = .false.
 whether split off equilibrium density
 
logical, public mod_mhd_phys::has_equi_pe0 = .false.
 whether split off equilibrium thermal pressure
 
logical, public mod_mhd_phys::mhd_equi_thermal = .false.
 
logical, public, protected mod_mhd_phys::mhd_dump_full_vars = .false.
 whether dump full variables (when splitting is used) in a separate dat file
 
logical, public, protected mod_mhd_phys::mhd_divb_4thorder = .false.
 Whether divB is computed with a fourth order approximation.
 
logical, public mod_mhd_phys::divbwave = .true.
 Add divB wave in Roe solver.
 
logical, public mod_mhd_phys::clean_initial_divb = .false.
 clean initial divB
 
logical, public, protected mod_mhd_phys::eq_state_units = .true.
 
logical, dimension(2 *^nd), public, protected mod_mhd_phys::boundary_divbfix =.true.
 To control divB=0 fix for boundary.
 
logical, public, protected mod_mhd_phys::b0field_forcefree =.true.
 B0 field is force-free.
 
logical, public mod_mhd_phys::partial_energy = .false.
 Whether an internal or hydrodynamic energy equation is used.
 
character(len=std_len), public, protected mod_mhd_phys::typedivbfix = 'linde'
 Method type to clean divergence of B.
 
character(len=std_len), public, protected mod_mhd_phys::type_ct = 'uct_contact'
 Method type of constrained transport.
 
type(tc_fluid), allocatable, public mod_mhd_phys::tc_fl
 type of fluid for thermal conduction
 
type(te_fluid), allocatable, public mod_mhd_phys::te_fl_mhd
 type of fluid for thermal emission synthesis
 
type(rc_fluid), allocatable, public mod_mhd_phys::rc_fl
 type of fluid for radiative cooling
 
procedure(mask_subroutine), pointer, public mod_mhd_phys::usr_mask_ambipolar => null()
 
procedure(sub_convert), pointer, public mod_mhd_phys::mhd_to_primitive => null()
 
procedure(sub_convert), pointer, public mod_mhd_phys::mhd_to_conserved => null()
 
procedure(sub_get_pthermal), pointer, public mod_mhd_phys::mhd_get_pthermal => null()
 
procedure(sub_get_pthermal), pointer, public mod_mhd_phys::mhd_get_temperature => null()