MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
Data Types | Functions/Subroutines | Variables
mod_twofl_phys Module Reference

Magneto-hydrodynamics module. More...

Data Types

interface  mask_subroutine2
 

Functions/Subroutines

subroutine twofl_init_hyper (files)
 
subroutine twofl_write_info (fh)
 Write this module's parameters to a snapsoht. More...
 
subroutine, public twofl_phys_init ()
 
subroutine twofl_te_images
 
subroutine twofl_sts_set_source_tc_c_mhd (ixIL, ixOL, w, x, wres, fix_conserve_at_step, my_dt, igrid, nflux)
 
subroutine twofl_sts_set_source_tc_c_hd (ixIL, ixOL, w, x, wres, fix_conserve_at_step, my_dt, igrid, nflux)
 
double precision function twofl_get_tc_dt_mhd_c (w, ixIL, ixOL, dxD, x)
 
double precision function twofl_get_tc_dt_hd_c (w, ixIL, ixOL, dxD, x)
 
subroutine twofl_tc_handle_small_e_c (w, x, ixIL, ixOL, step)
 
subroutine twofl_sts_set_source_tc_n_hd (ixIL, ixOL, w, x, wres, fix_conserve_at_step, my_dt, igrid, nflux)
 
subroutine twofl_tc_handle_small_e_n (w, x, ixIL, ixOL, step)
 
double precision function twofl_get_tc_dt_hd_n (w, ixIL, ixOL, dxD, x)
 
subroutine tc_n_params_read_hd (fl)
 
subroutine rc_params_read_n (fl)
 
subroutine tc_c_params_read_mhd (fl)
 
subroutine tc_c_params_read_hd (fl)
 
subroutine rc_params_read_c (fl)
 
subroutine set_equi_vars_grid_faces (igrid, x, ixIL, ixOL)
 sets the equilibrium variables More...
 
subroutine set_equi_vars_grid (igrid)
 sets the equilibrium variables More...
 
double precision function, dimension(ixo^s, 1:nwc) convert_vars_splitting (ixIL, ixOL, w, x, nwc)
 
subroutine grav_params_read (files)
 copied from mod_gravity More...
 
subroutine associate_dump_hyper ()
 
subroutine twofl_check_params
 
subroutine twofl_physical_units ()
 
subroutine twofl_check_w (primitive, ixIL, ixOL, w, flag)
 
subroutine, public twofl_to_conserved (ixIL, ixOL, w, x)
 Transform primitive variables into conservative ones. More...
 
subroutine, public twofl_to_primitive (ixIL, ixOL, w, x)
 Transform conservative variables into primitive ones. More...
 
subroutine twofl_ei_to_e_c (ixIL, ixOL, w, x)
 Transform internal energy to total energy. More...
 
subroutine twofl_e_to_ei_c (ixIL, ixOL, w, x)
 Transform total energy to internal energy. More...
 
subroutine twofl_ei_to_e_n (ixIL, ixOL, w, x)
 
subroutine twofl_e_to_ei_n (ixIL, ixOL, w, x)
 Transform total energy to internal energy. More...
 
subroutine twofl_handle_small_values (primitive, w, x, ixIL, ixOL, subname)
 
subroutine twofl_get_cmax (w, x, ixIL, ixOL, idim, cmax)
 Calculate cmax_idim=csound+abs(v_idim) within ixO^L. More...
 
subroutine twofl_get_a2max (w, x, ixIL, ixOL, a2max)
 
subroutine twofl_get_tcutoff_n (ixIL, ixOL, w, x, tco_local, Tmax_local)
 get adaptive cutoff temperature for TRAC (Johnston 2019 ApJL, 873, L22) More...
 
subroutine twofl_get_tcutoff_c (ixIL, ixOL, w, x, Tco_local, Tmax_local)
 get adaptive cutoff temperature for TRAC (Johnston 2019 ApJL, 873, L22) More...
 
subroutine twofl_get_h_speed_one (wprim, x, ixIL, ixOL, idim, Hspeed)
 get H speed for H-correction to fix the carbuncle problem at grid-aligned shock front More...
 
subroutine twofl_get_h_speed_species (wprim, x, ixIL, ixOL, idim, Hspeed)
 get H speed for H-correction to fix the carbuncle problem at grid-aligned shock front More...
 
subroutine twofl_get_cbounds_one (wLC, wRC, wLp, wRp, x, ixIL, ixOL, idim, Hspeed, cmax, cmin)
 Estimating bounds for the minimum and maximum signal velocities. More...
 
subroutine twofl_get_csound_prim_c (w, x, ixIL, ixOL, idim, csound)
 Calculate fast magnetosonic wave speed. More...
 
subroutine twofl_get_csound_prim_n (w, x, ixIL, ixOL, idim, csound)
 Calculate fast magnetosonic wave speed. More...
 
subroutine twofl_get_cbounds_species (wLC, wRC, wLp, wRp, x, ixIL, ixOL, idim, Hspeed, cmax, cmin)
 Estimating bounds for the minimum and maximum signal velocities. More...
 
subroutine twofl_get_ct_velocity (vcts, wLp, wRp, ixIL, ixOL, idim, cmax, cmin)
 prepare velocities for ct methods More...
 
subroutine twofl_get_csound_c_idim (w, x, ixIL, ixOL, idim, csound)
 
subroutine twofl_get_csound_prim (w, x, ixIL, ixOL, idim, csound)
 Calculate fast magnetosonic wave speed when cbounds_species=false. More...
 
subroutine twofl_get_csound2 (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_csound2_adiab (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_csound (w, x, ixIL, ixOL, idim, csound)
 
subroutine twofl_get_csound2_from_pthermal (w, x, ixIL, ixOL, pth_c, pth_n, csound2)
 
subroutine twofl_get_csound_n (w, x, ixIL, ixOL, csound)
 
subroutine twofl_get_temperature_from_eint_n (w, x, ixIL, ixOL, res)
 separate routines so that it is faster Calculate temperature=p/rho when in e_ the internal energy is stored More...
 
subroutine twofl_get_temperature_from_eint_n_with_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_n_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_rho_n_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_pe_n_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_from_etot_n (w, x, ixIL, ixOL, res)
 Calculate temperature=p/rho when in e_ the total energy is stored this does not check the values of twofl_energy and twofl_internal_e, twofl_energy = .true. and twofl_internal_e = .false. also check small_values is avoided. More...
 
subroutine twofl_get_temperature_from_etot_n_with_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_from_eint_c (w, x, ixIL, ixOL, res)
 separate routines so that it is faster Calculate temperature=p/rho when in e_ the internal energy is stored More...
 
subroutine twofl_get_temperature_from_eint_c_with_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_c_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_rho_c_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_pe_c_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_from_etot_c (w, x, ixIL, ixOL, res)
 Calculate temperature=p/rho when in e_ the total energy is stored this does not check the values of twofl_energy and twofl_internal_e, twofl_energy = .true. and twofl_internal_e = .false. also check small_values is avoided. More...
 
subroutine twofl_get_temperature_from_eki_c (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_from_etot_c_with_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_temperature_from_eki_c_with_equi (w, x, ixIL, ixOL, res)
 
subroutine twofl_get_csound2_adiab_n (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_csound2_n_from_conserved (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_csound2_n_from_primitive (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_csound2_adiab_c (w, x, ixIL, ixOL, csound2)
 
subroutine, public twofl_get_csound2_c_from_conserved (w, x, ixIL, ixOL, csound2)
 
subroutine twofl_get_flux (wC, w, x, ixIL, ixOL, idim, f)
 Calculate fluxes within ixO^L. More...
 
subroutine twofl_add_source (qdt, dtfactor, ixIL, ixOL, wCT, wCTprim, w, x, qsourcesplit, active)
 w[iws]=w[iws]+qdt*S[iws,wCT] where S is the source based on wCT within ixO More...
 
subroutine add_pe_n0_divv (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine add_pe_c0_divv (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine add_geom_pdivv (qdt, ixIL, ixOL, v, p, w, x, ind)
 
subroutine get_lorentz (ixIL, ixOL, w, JxB)
 Compute the Lorentz force (JxB) More...
 
subroutine add_source_lorentz_work (qdt, ixIL, ixOL, w, wCT, x)
 
subroutine twofl_get_v_n (w, x, ixIL, ixOL, v)
 Calculate v_n vector. More...
 
subroutine, public get_rhon_tot (w, x, ixIL, ixOL, rhon)
 
subroutine, public twofl_get_pthermal_n (w, x, ixIL, ixOL, pth)
 
subroutine twofl_get_pthermal_n_primitive (w, x, ixIL, ixOL, pth)
 
subroutine, public twofl_get_v_n_idim (w, x, ixIL, ixOL, idim, v)
 Calculate v component. More...
 
subroutine internal_energy_add_source_n (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine twofl_get_v_c (w, x, ixIL, ixOL, v)
 Calculate v_c vector. More...
 
subroutine, public get_rhoc_tot (w, x, ixIL, ixOL, rhoc)
 
subroutine, public twofl_get_pthermal_c (w, x, ixIL, ixOL, pth)
 
subroutine twofl_get_pthermal_c_primitive (w, x, ixIL, ixOL, pth)
 
subroutine, public twofl_get_v_c_idim (w, x, ixIL, ixOL, idim, v)
 Calculate v_c component. More...
 
subroutine internal_energy_add_source_c (qdt, ixIL, ixOL, wCT, w, x, ie)
 
subroutine twofl_handle_small_ei_c (w, x, ixIL, ixOL, ie, subname)
 handle small or negative internal energy More...
 
subroutine twofl_handle_small_ei_n (w, x, ixIL, ixOL, ie, subname)
 handle small or negative internal energy More...
 
subroutine add_source_b0split (qdt, ixIL, ixOL, wCT, w, x)
 Source terms after split off time-independent magnetic field. More...
 
subroutine add_source_res1 (qdt, ixIL, ixOL, wCT, w, x)
 Add resistive source to w within ixO Uses 3 point stencil (1 neighbour) in each direction, non-conservative. If the fourthorder precompiler flag is set, uses fourth order central difference for the laplacian. Then the stencil is 5 (2 neighbours). More...
 
subroutine add_source_res2 (qdt, ixIL, ixOL, wCT, w, x)
 Add resistive source to w within ixO Uses 5 point stencil (2 neighbours) in each direction, conservative. More...
 
subroutine add_source_hyperres (qdt, ixIL, ixOL, wCT, w, x)
 Add Hyper-resistive source to w within ixO Uses 9 point stencil (4 neighbours) in each direction. More...
 
subroutine add_source_glm (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine add_source_powel (qdt, ixIL, ixOL, wCT, w, x)
 Add divB related sources to w within ixO corresponding to Powel. More...
 
subroutine add_source_janhunen (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine add_source_linde (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine, public get_normalized_divb (w, ixIL, ixOL, divb)
 get dimensionless div B = |divB| * volume / area / |B| More...
 
subroutine, public 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. More...
 
subroutine gravity_add_source (qdt, ixIL, ixOL, wCT, w, x, energy, qsourcesplit, active)
 w[iw]=w[iw]+qdt*S[wCT,qtC,x] where S is the source based on wCT within ixO More...
 
subroutine gravity_get_dt (w, ixIL, ixOL, dtnew, dxD, x)
 
subroutine twofl_get_dt (w, ixIL, ixOL, dtnew, dxD, x)
 If resistivity is not zero, check diffusion time limit for dt. More...
 
pure logical function has_collisions ()
 
subroutine twofl_add_source_geom (qdt, dtfactor, ixIL, ixOL, wCT, w, x)
 
subroutine twofl_get_temp_c_pert_from_etot (w, x, ixIL, ixOL, res)
 
double precision function, dimension(ixo^s) twofl_mag_en_all (w, ixIL, ixOL)
 Compute 2 times total magnetic energy. More...
 
double precision function, dimension(ixo^s) twofl_mag_i_all (w, ixIL, ixOL, idir)
 Compute full magnetic field by direction. More...
 
double precision function, dimension(ixo^s) twofl_mag_en (w, ixIL, ixOL)
 Compute evolving magnetic energy. More...
 
double precision function, dimension(ixo^s) twofl_kin_en_n (w, ixIL, ixOL)
 compute kinetic energy of neutrals More...
 
subroutine twofl_get_temp_n_pert_from_etot (w, x, ixIL, ixOL, res)
 
double precision function, dimension(ixo^s) twofl_kin_en_c (w, ixIL, ixOL)
 compute kinetic energy of charges w are conserved variables More...
 
subroutine twofl_getv_hall (w, x, ixIL, ixOL, vHall)
 
subroutine twofl_modify_wlr (ixIL, ixOL, qt, wLC, wRC, wLp, wRp, s, idir)
 
subroutine twofl_boundary_adjust (igrid, psb)
 
subroutine fixdivb_boundary (ixGL, ixOL, w, x, iB)
 
subroutine, public twofl_clean_divb_multigrid (qdt, qt, active)
 
subroutine twofl_update_faces (ixIL, ixOL, qt, qdt, wprim, fC, fE, sCT, s, vcts)
 
subroutine update_faces_average (ixIL, ixOL, qt, qdt, fC, fE, sCT, s)
 get electric field though averaging neighors to update faces in CT More...
 
subroutine update_faces_contact (ixIL, ixOL, qt, qdt, wp, fC, fE, sCT, s, vcts)
 update faces using UCT contact mode by Gardiner and Stone 2005 JCP 205, 509 More...
 
subroutine update_faces_hll (ixIL, ixOL, qt, qdt, fE, sCT, s, vcts)
 update faces More...
 
subroutine get_resistive_electric_field (ixIL, ixOL, sCT, s, jce)
 calculate eta J at cell edges More...
 
subroutine, public twofl_face_to_center (ixOL, s)
 calculate cell-center values from face-center values More...
 
subroutine, public b_from_vector_potential (ixIsL, ixIL, ixOL, ws, x)
 calculate magnetic field from vector potential More...
 
subroutine hyperdiffusivity_get_dt (w, ixIL, ixOL, dtnew, dxD, x)
 
subroutine add_source_hyperdiffusive (qdt, ixIL, ixOL, w, wCT, x)
 
double precision function, dimension(ixo^s, 1:nwc) dump_hyperdiffusivity_coef_y (ixIL, ixOL, w, x, nwc)
 
double precision function, dimension(ixo^s, 1:nwc) dump_hyperdiffusivity_coef_z (ixIL, ixOL, w, x, nwc)
 
double precision function, dimension(ixop^s, 1:nw) dump_hyperdiffusivity_coef_dim (ixIL, ixOPL, w, x, ii)
 
double precision function, dimension(ixo^s, 1:nwc) dump_coll_terms (ixIL, ixOL, w, x, nwc)
 
subroutine, public get_gamma_ion_rec (ixIL, ixOL, w, x, gamma_rec, gamma_ion)
 
subroutine, public get_alpha_coll (ixIL, ixOL, w, x, alpha)
 
subroutine get_alpha_coll_plasma (ixIL, ixOL, w, x, alpha)
 
subroutine calc_mult_factor1 (ixIL, ixOL, step_dt, JJ, res)
 
subroutine twofl_implicit_coll_terms_update (dtfactor, qdt, qtC, psb, psa)
 Implicit solve of psb=psa+dtfactor*dt*F_im(psb) More...
 
subroutine twofl_evaluate_implicit (qtC, psa)
 inplace update of psa==>F_im(psa) More...
 
subroutine coll_terms (ixIL, ixOL, w, x)
 
subroutine twofl_explicit_coll_terms_update (qdt, ixIL, ixOL, w, wCT, x)
 
subroutine rfactor_c (w, x, ixIL, ixOL, Rfactor)
 

Variables

integer, parameter, public eq_energy_tot =2
 
integer, parameter, public eq_energy_int =1
 
integer, parameter, public eq_energy_none =0
 
integer, parameter, public eq_energy_ki =3
 
integer, public, protected twofl_eq_energy = EQ_ENERGY_TOT
 
logical, public, protected twofl_hyperdiffusivity = .false.
 Whether hyperdiffusivity is used. More...
 
logical, public, protected twofl_dump_hyperdiffusivity_coef = .false.
 
double precision, dimension(:), allocatable, public, protected c_shk
 
double precision, dimension(:), allocatable, public, protected c_hyp
 
logical, public, protected twofl_thermal_conduction_c = .false.
 Whether thermal conduction is used. More...
 
logical, public, protected twofl_radiative_cooling_c = .false.
 Whether radiative cooling is added. More...
 
type(rc_fluid), allocatable, public rc_fl_c
 
logical, public, protected twofl_viscosity = .false.
 Whether viscosity is added. More...
 
logical, public, protected twofl_gravity = .false.
 Whether gravity is added: common flag for charges and neutrals. More...
 
logical, public, protected twofl_dump_full_vars = .false.
 whether dump full variables (when splitting is used) in a separate dat file More...
 
logical, public, protected twofl_hall = .false.
 Whether Hall-MHD is used. More...
 
type(tc_fluid), allocatable, public tc_fl_c
 
type(te_fluid), allocatable, public te_fl_c
 
logical, public, protected twofl_thermal_conduction_n = .false.
 
logical, public, protected twofl_radiative_cooling_n = .false.
 
logical, public, protected twofl_trac = .false.
 Whether TRAC method is used. More...
 
logical, public, protected twofl_glm = .false.
 Whether GLM-MHD is used. More...
 
integer, public, protected twofl_trac_type =1
 Which TRAC method is used
More...
 
double precision, public, protected twofl_trac_mask = 0.d0
 Height of the mask used in the TRAC method. More...
 
logical, public, protected source_split_divb = .false.
 Whether divB cleaning sources are added splitting from fluid solver. More...
 
double precision, public twofl_glm_alpha = 0.5d0
 GLM-MHD parameter: ratio of the diffusive and advective time scales for div b taking values within [0, 1]. More...
 
logical, public, protected twofl_4th_order = .false.
 MHD fourth order. More...
 
integer, public rho_c_
 Index of the density (in the w array) More...
 
integer, dimension(:), allocatable, public mom_c
 Indices of the momentum density. More...
 
integer, public e_c_ =-1
 Index of the energy density (-1 if not present) More...
 
integer, public tcoff_c_
 Index of the cutoff temperature for the TRAC method. More...
 
integer, public tweight_c_
 
integer, public, protected psi_
 Indices of the GLM psi. More...
 
logical, public has_equi_rho_c0 = .false.
 equi vars flags More...
 
logical, public has_equi_pe_c0 = .false.
 
integer, public equi_rho_c0_ = -1
 equi vars indices in the stateequi_vars array More...
 
integer, public equi_pe_c0_ = -1
 
logical, public twofl_equi_thermal_c = .false.
 
logical, public twofl_equi_thermal = .false.
 
integer, public rho_n_
 
integer, dimension(:), allocatable, public mom_n
 
integer, public e_n_
 
integer, public tcoff_n_
 
integer, public tweight_n_
 
logical, public has_equi_rho_n0 = .false.
 
logical, public has_equi_pe_n0 = .false.
 
integer, public equi_rho_n0_ = -1
 
integer, public equi_pe_n0_ = -1
 
double precision, public twofl_alpha_coll = 0d0
 collisional alpha More...
 
logical, public twofl_alpha_coll_constant = .true.
 
logical, public twofl_coll_inc_te = .true.
 whether include thermal exchange collisional terms More...
 
logical, public twofl_coll_inc_ionrec = .false.
 whether include ionization/recombination inelastic collisional terms More...
 
logical, public twofl_equi_thermal_n = .false.
 
double precision, public dtcollpar = -1d0
 
logical, public, protected twofl_dump_coll_terms = .false.
 whether dump collisional terms in a separte dat file More...
 
double precision, public, protected he_abundance = 0d0
 
double precision, public, protected rc = 2d0
 
double precision, public, protected rn = 1d0
 
double precision, public twofl_gamma = 5.d0/3.0d0
 The adiabatic index. More...
 
double precision, public twofl_adiab = 1.0d0
 The adiabatic constant. More...
 
double precision, public twofl_eta = 0.0d0
 The MHD resistivity. More...
 
double precision, public twofl_eta_hyper = 0.0d0
 The MHD hyper-resistivity. More...
 
double precision, public twofl_etah = 0.0d0
 The MHD Hall coefficient. More...
 
character(len=std_len), public, protected typedivbfix = 'linde'
 Method type to clean divergence of B. More...
 
character(len=std_len), public, protected type_ct = 'uct_contact'
 Method type of constrained transport. More...
 
logical, public, protected twofl_divb_4thorder = .false.
 Whether divB is computed with a fourth order approximation. More...
 
logical, public clean_initial_divb = .false.
 clean initial divB More...
 
logical, public divbwave = .true.
 Add divB wave in Roe solver. More...
 
logical, dimension(2 *^nd), public, protected boundary_divbfix =.true.
 To control divB=0 fix for boundary. More...
 
integer, dimension(2 *^nd), public, protected boundary_divbfix_skip =0
 To skip * layer of ghost cells during divB=0 fix for boundary. More...
 
logical, public, protected b0field_forcefree =.true.
 B0 field is force-free. More...
 
procedure(implicit_mult_factor_subroutine), pointer calc_mult_factor => null()
 
procedure(mask_subroutine), pointer, public usr_mask_alpha => null()
 
procedure(mask_subroutine2), pointer, public usr_mask_gamma_ion_rec => null()
 

Detailed Description

Magneto-hydrodynamics module.

Function/Subroutine Documentation

◆ add_geom_pdivv()

subroutine mod_twofl_phys::add_geom_pdivv ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:ndir), intent(in)  v,
double precision, dimension(ixi^s), intent(in)  p,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ind 
)

Definition at line 3405 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_pe_c0_divv()

subroutine mod_twofl_phys::add_pe_c0_divv ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 3390 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_pe_n0_divv()

subroutine mod_twofl_phys::add_pe_n0_divv ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 3375 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_b0split()

subroutine mod_twofl_phys::add_source_b0split ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Source terms after split off time-independent magnetic field.

Definition at line 3838 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_glm()

subroutine mod_twofl_phys::add_source_glm ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 4118 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_hyperdiffusive()

subroutine mod_twofl_phys::add_source_hyperdiffusive ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 6259 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_hyperres()

subroutine mod_twofl_phys::add_source_hyperres ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Add Hyper-resistive source to w within ixO Uses 9 point stencil (4 neighbours) in each direction.

Definition at line 4062 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_janhunen()

subroutine mod_twofl_phys::add_source_janhunen ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 4207 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_linde()

subroutine mod_twofl_phys::add_source_linde ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 4231 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_lorentz_work()

subroutine mod_twofl_phys::add_source_lorentz_work ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 3454 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_powel()

subroutine mod_twofl_phys::add_source_powel ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Add divB related sources to w within ixO corresponding to Powel.

Definition at line 4172 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_res1()

subroutine mod_twofl_phys::add_source_res1 ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Add resistive source to w within ixO Uses 3 point stencil (1 neighbour) in each direction, non-conservative. If the fourthorder precompiler flag is set, uses fourth order central difference for the laplacian. Then the stencil is 5 (2 neighbours).

Definition at line 3891 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ add_source_res2()

subroutine mod_twofl_phys::add_source_res2 ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Add resistive source to w within ixO Uses 5 point stencil (2 neighbours) in each direction, conservative.

Definition at line 3999 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ associate_dump_hyper()

subroutine mod_twofl_phys::associate_dump_hyper

Definition at line 1244 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ b_from_vector_potential()

subroutine, public mod_twofl_phys::b_from_vector_potential ( integer, intent(in)  ixIs,
integer, intent(in)  L,
integer, intent(in)  ixI,
  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixis^s,1:nws), intent(inout)  ws,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

calculate magnetic field from vector potential

Definition at line 6133 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ calc_mult_factor1()

subroutine mod_twofl_phys::calc_mult_factor1 ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  step_dt,
double precision, dimension(ixi^s), intent(in)  JJ,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 6666 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ coll_terms()

subroutine mod_twofl_phys::coll_terms ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 6865 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ convert_vars_splitting()

double precision function, dimension(ixo^s, 1:nwc) mod_twofl_phys::convert_vars_splitting ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  nwc 
)

Definition at line 1189 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ dump_coll_terms()

double precision function, dimension(ixo^s, 1:nwc) mod_twofl_phys::dump_coll_terms ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  nwc 
)

Definition at line 6571 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ dump_hyperdiffusivity_coef_dim()

double precision function, dimension(ixop^s, 1:nw) mod_twofl_phys::dump_hyperdiffusivity_coef_dim ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixOP,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ii 
)

Definition at line 6465 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ dump_hyperdiffusivity_coef_y()

double precision function, dimension(ixo^s, 1:nwc) mod_twofl_phys::dump_hyperdiffusivity_coef_y ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  nwc 
)

Definition at line 6439 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ dump_hyperdiffusivity_coef_z()

double precision function, dimension(ixo^s, 1:nwc) mod_twofl_phys::dump_hyperdiffusivity_coef_z ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  nwc 
)

Definition at line 6452 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ fixdivb_boundary()

subroutine mod_twofl_phys::fixdivb_boundary ( integer, intent(in)  ixG,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixg^s,1:nw), intent(inout)  w,
double precision, dimension(ixg^s,1:ndim), intent(in)  x,
integer, intent(in)  iB 
)

Definition at line 5041 of file mod_twofl_phys.t.

◆ get_alpha_coll()

subroutine, public mod_twofl_phys::get_alpha_coll ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s), intent(out)  alpha 
)

Definition at line 6626 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_alpha_coll_plasma()

subroutine mod_twofl_phys::get_alpha_coll_plasma ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s), intent(out)  alpha 
)

Definition at line 6642 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_current()

subroutine, public mod_twofl_phys::get_current ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(out)  idirmin,
double precision, dimension(ixi^s,7-2*ndir:3)  current 
)

Calculate idirmin and the idirmin:3 components of the common current array make sure that dxlevel(^D) is set correctly.

Definition at line 4341 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_gamma_ion_rec()

subroutine, public mod_twofl_phys::get_gamma_ion_rec ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s), intent(out)  gamma_rec,
double precision, dimension(ixi^s), intent(out)  gamma_ion 
)

Definition at line 6587 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_lorentz()

subroutine mod_twofl_phys::get_lorentz ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,3), intent(inout)  JxB 
)

Compute the Lorentz force (JxB)

Definition at line 3428 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_normalized_divb()

subroutine, public mod_twofl_phys::get_normalized_divb ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s)  divb 
)

get dimensionless div B = |divB| * volume / area / |B|

Definition at line 4307 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_resistive_electric_field()

subroutine mod_twofl_phys::get_resistive_electric_field ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
type(state), intent(in)  sCT,
type(state), intent(in)  s,
double precision, dimension(ixi^s,sdim:3)  jce 
)

calculate eta J at cell edges

Definition at line 6004 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ get_rhoc_tot()

subroutine, public mod_twofl_phys::get_rhoc_tot ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  rhoc 
)

Definition at line 3620 of file mod_twofl_phys.t.

◆ get_rhon_tot()

subroutine, public mod_twofl_phys::get_rhon_tot ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  rhon 
)

Definition at line 3486 of file mod_twofl_phys.t.

◆ grav_params_read()

subroutine mod_twofl_phys::grav_params_read ( character(len=*), dimension(:), intent(in)  files)

copied from mod_gravity

Definition at line 1229 of file mod_twofl_phys.t.

◆ gravity_add_source()

subroutine mod_twofl_phys::gravity_add_source ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
logical, intent(in)  energy,
logical, intent(in)  qsourcesplit,
logical, intent(inout)  active 
)

w[iw]=w[iw]+qdt*S[wCT,qtC,x] where S is the source based on wCT within ixO

Definition at line 4366 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ gravity_get_dt()

subroutine mod_twofl_phys::gravity_get_dt ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(inout)  dtnew,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 4420 of file mod_twofl_phys.t.

◆ has_collisions()

pure logical function mod_twofl_phys::has_collisions

Definition at line 4523 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ hyperdiffusivity_get_dt()

subroutine mod_twofl_phys::hyperdiffusivity_get_dt ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(inout)  dtnew,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 6147 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ internal_energy_add_source_c()

subroutine mod_twofl_phys::internal_energy_add_source_c ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ie 
)

Definition at line 3721 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ internal_energy_add_source_n()

subroutine mod_twofl_phys::internal_energy_add_source_n ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 3584 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ rc_params_read_c()

subroutine mod_twofl_phys::rc_params_read_c ( type(rc_fluid), intent(inout)  fl)

Name of cooling curve

Name of cooling method

Fixed temperature not lower than tlow

Lower limit of temperature

Add cooling source in a split way (.true.) or un-split way (.false.)

Definition at line 1083 of file mod_twofl_phys.t.

◆ rc_params_read_n()

subroutine mod_twofl_phys::rc_params_read_n ( type(rc_fluid), intent(inout)  fl)

Name of cooling curve

Name of cooling method

Fixed temperature not lower than tlow

Lower limit of temperature

Add cooling source in a split way (.true.) or un-split way (.false.)

Definition at line 972 of file mod_twofl_phys.t.

◆ rfactor_c()

subroutine mod_twofl_phys::rfactor_c ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  Rfactor 
)

Definition at line 7125 of file mod_twofl_phys.t.

◆ set_equi_vars_grid()

subroutine mod_twofl_phys::set_equi_vars_grid ( integer, intent(in)  igrid)

sets the equilibrium variables

Definition at line 1174 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ set_equi_vars_grid_faces()

subroutine mod_twofl_phys::set_equi_vars_grid_faces ( integer, intent(in)  igrid,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L 
)

sets the equilibrium variables

Definition at line 1128 of file mod_twofl_phys.t.

◆ tc_c_params_read_hd()

subroutine mod_twofl_phys::tc_c_params_read_hd ( type(tc_fluid), intent(inout)  fl)

Definition at line 1060 of file mod_twofl_phys.t.

◆ tc_c_params_read_mhd()

subroutine mod_twofl_phys::tc_c_params_read_mhd ( type(tc_fluid), intent(inout)  fl)

Definition at line 1016 of file mod_twofl_phys.t.

◆ tc_n_params_read_hd()

subroutine mod_twofl_phys::tc_n_params_read_hd ( type(tc_fluid), intent(inout)  fl)

Definition at line 952 of file mod_twofl_phys.t.

◆ twofl_add_source()

subroutine mod_twofl_phys::twofl_add_source ( double precision, intent(in)  qdt,
double precision, intent(in)  dtfactor,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:nw), intent(in)  wCTprim,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
logical, intent(in)  qsourcesplit,
logical, intent(inout)  active 
)

w[iws]=w[iws]+qdt*S[iws,wCT] where S is the source based on wCT within ixO

Definition at line 3248 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_add_source_geom()

subroutine mod_twofl_phys::twofl_add_source_geom ( double precision, intent(in)  qdt,
double precision, intent(in)  dtfactor,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  wCT,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 4556 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_boundary_adjust()

subroutine mod_twofl_phys::twofl_boundary_adjust ( integer, intent(in)  igrid,
type(state), dimension(max_blocks), target  psb 
)

Definition at line 5000 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_check_params()

subroutine mod_twofl_phys::twofl_check_params

Definition at line 1259 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_check_w()

subroutine mod_twofl_phys::twofl_check_w ( logical, intent(in)  primitive,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,nw), intent(in)  w,
logical, dimension(ixi^s,1:nw), intent(inout)  flag 
)

Definition at line 1391 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_clean_divb_multigrid()

subroutine, public mod_twofl_phys::twofl_clean_divb_multigrid ( double precision, intent(in)  qdt,
double precision, intent(in)  qt,
logical, intent(inout)  active 
)
Parameters
[in]qdtCurrent time step
[in]qtCurrent time
[in,out]activeOutput if the source is active

Definition at line 5406 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_e_to_ei_c()

subroutine mod_twofl_phys::twofl_e_to_ei_c ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Transform total energy to internal energy.

Definition at line 1574 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_e_to_ei_n()

subroutine mod_twofl_phys::twofl_e_to_ei_n ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Transform total energy to internal energy.

Definition at line 1605 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_ei_to_e_c()

subroutine mod_twofl_phys::twofl_ei_to_e_c ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Transform internal energy to total energy.

Definition at line 1556 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_ei_to_e_n()

subroutine mod_twofl_phys::twofl_ei_to_e_n ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 1592 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_evaluate_implicit()

subroutine mod_twofl_phys::twofl_evaluate_implicit ( double precision, intent(in)  qtC,
type(state), dimension(max_blocks), target  psa 
)

inplace update of psa==>F_im(psa)

Definition at line 6848 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_explicit_coll_terms_update()

subroutine mod_twofl_phys::twofl_explicit_coll_terms_update ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:nw), intent(in)  wCT,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 7008 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_face_to_center()

subroutine, public mod_twofl_phys::twofl_face_to_center ( integer, intent(in)  ixO,
integer, intent(in)  L,
type(state s 
)

calculate cell-center values from face-center values

Definition at line 6073 of file mod_twofl_phys.t.

◆ twofl_get_a2max()

subroutine mod_twofl_phys::twofl_get_a2max ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ndim), intent(inout)  a2max 
)

4th order

Definition at line 1778 of file mod_twofl_phys.t.

◆ twofl_get_cbounds_one()

subroutine mod_twofl_phys::twofl_get_cbounds_one ( double precision, dimension(ixi^s, nw), intent(in)  wLC,
double precision, dimension(ixi^s, nw), intent(in)  wRC,
double precision, dimension(ixi^s, nw), intent(in)  wLp,
double precision, dimension(ixi^s, nw), intent(in)  wRp,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s,1:number_species), intent(in)  Hspeed,
double precision, dimension(ixi^s,number_species), intent(inout)  cmax,
double precision, dimension(ixi^s,number_species), intent(inout), optional  cmin 
)

Estimating bounds for the minimum and maximum signal velocities.

Definition at line 2156 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_cbounds_species()

subroutine mod_twofl_phys::twofl_get_cbounds_species ( double precision, dimension(ixi^s, nw), intent(in)  wLC,
double precision, dimension(ixi^s, nw), intent(in)  wRC,
double precision, dimension(ixi^s, nw), intent(in)  wLp,
double precision, dimension(ixi^s, nw), intent(in)  wRp,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s,1:number_species), intent(in)  Hspeed,
double precision, dimension(ixi^s,1:number_species), intent(inout)  cmax,
double precision, dimension(ixi^s,1:number_species), intent(inout), optional  cmin 
)

Estimating bounds for the minimum and maximum signal velocities.

Definition at line 2324 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_cmax()

subroutine mod_twofl_phys::twofl_get_cmax ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(inout)  cmax 
)

Calculate cmax_idim=csound+abs(v_idim) within ixO^L.

Definition at line 1759 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound()

subroutine mod_twofl_phys::twofl_get_csound ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  csound 
)

Definition at line 2686 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2()

subroutine mod_twofl_phys::twofl_get_csound2 ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2652 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_adiab()

subroutine mod_twofl_phys::twofl_get_csound2_adiab ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2670 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_adiab_c()

subroutine mod_twofl_phys::twofl_get_csound2_adiab_c ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 3013 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_adiab_n()

subroutine mod_twofl_phys::twofl_get_csound2_adiab_n ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2965 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_c_from_conserved()

subroutine, public mod_twofl_phys::twofl_get_csound2_c_from_conserved ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 3026 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_from_pthermal()

subroutine mod_twofl_phys::twofl_get_csound2_from_pthermal ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(in)  pth_c,
double precision, dimension(ixi^s), intent(in)  pth_n,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2735 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_n_from_conserved()

subroutine mod_twofl_phys::twofl_get_csound2_n_from_conserved ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2978 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound2_n_from_primitive()

subroutine mod_twofl_phys::twofl_get_csound2_n_from_primitive ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound2 
)

Definition at line 2996 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound_c_idim()

subroutine mod_twofl_phys::twofl_get_csound_c_idim ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  csound 
)

Definition at line 2534 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound_n()

subroutine mod_twofl_phys::twofl_get_csound_n ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  csound 
)

Definition at line 2758 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound_prim()

subroutine mod_twofl_phys::twofl_get_csound_prim ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  csound 
)

Calculate fast magnetosonic wave speed when cbounds_species=false.

Definition at line 2584 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound_prim_c()

subroutine mod_twofl_phys::twofl_get_csound_prim_c ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  csound 
)

Calculate fast magnetosonic wave speed.

Definition at line 2254 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_csound_prim_n()

subroutine mod_twofl_phys::twofl_get_csound_prim_n ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  csound 
)

Calculate fast magnetosonic wave speed.

Definition at line 2304 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_ct_velocity()

subroutine mod_twofl_phys::twofl_get_ct_velocity ( type(ct_velocity), intent(inout)  vcts,
double precision, dimension(ixi^s, nw), intent(in)  wLp,
double precision, dimension(ixi^s, nw), intent(in)  wRp,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(in)  cmax,
double precision, dimension(ixi^s), intent(in), optional  cmin 
)

prepare velocities for ct methods

Definition at line 2482 of file mod_twofl_phys.t.

◆ twofl_get_dt()

subroutine mod_twofl_phys::twofl_get_dt ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(inout)  dtnew,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

If resistivity is not zero, check diffusion time limit for dt.

Definition at line 4452 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_flux()

subroutine mod_twofl_phys::twofl_get_flux ( double precision, dimension(ixi^s,nw), intent(in)  wC,
double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s,nwflux), intent(out)  f 
)

Calculate fluxes within ixO^L.

Definition at line 3044 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_h_speed_one()

subroutine mod_twofl_phys::twofl_get_h_speed_one ( double precision, dimension(ixi^s, nw), intent(in)  wprim,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s,1:number_species), intent(out)  Hspeed 
)

get H speed for H-correction to fix the carbuncle problem at grid-aligned shock front

Definition at line 2008 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_h_speed_species()

subroutine mod_twofl_phys::twofl_get_h_speed_species ( double precision, dimension(ixi^s, nw), intent(in)  wprim,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s,1:number_species), intent(out)  Hspeed 
)

get H speed for H-correction to fix the carbuncle problem at grid-aligned shock front

Definition at line 2077 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_pe_c_equi()

subroutine mod_twofl_phys::twofl_get_pe_c_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2907 of file mod_twofl_phys.t.

◆ twofl_get_pe_n_equi()

subroutine mod_twofl_phys::twofl_get_pe_n_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2821 of file mod_twofl_phys.t.

◆ twofl_get_pthermal_c()

subroutine, public mod_twofl_phys::twofl_get_pthermal_c ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  pth 
)

Definition at line 3633 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_pthermal_c_primitive()

subroutine mod_twofl_phys::twofl_get_pthermal_c_primitive ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  pth 
)

Definition at line 3688 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_pthermal_n()

subroutine, public mod_twofl_phys::twofl_get_pthermal_n ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  pth 
)

Definition at line 3499 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_pthermal_n_primitive()

subroutine mod_twofl_phys::twofl_get_pthermal_n_primitive ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  pth 
)

Definition at line 3551 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_rho_c_equi()

subroutine mod_twofl_phys::twofl_get_rho_c_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2898 of file mod_twofl_phys.t.

◆ twofl_get_rho_n_equi()

subroutine mod_twofl_phys::twofl_get_rho_n_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2812 of file mod_twofl_phys.t.

◆ twofl_get_tc_dt_hd_c()

double precision function mod_twofl_phys::twofl_get_tc_dt_hd_c ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 881 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_tc_dt_hd_n()

double precision function mod_twofl_phys::twofl_get_tc_dt_hd_n ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 937 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_tc_dt_mhd_c()

double precision function mod_twofl_phys::twofl_get_tc_dt_mhd_c ( double precision, dimension(ixi^s,1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s,1:ndim), intent(in)  x 
)

Definition at line 866 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_tcutoff_c()

subroutine mod_twofl_phys::twofl_get_tcutoff_c ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, intent(out)  Tco_local,
double precision, intent(out)  Tmax_local 
)

get adaptive cutoff temperature for TRAC (Johnston 2019 ApJL, 873, L22)

test case, fixed cutoff temperature

iijima et al. 2021, LTRAC method

test case, fixed cutoff temperature

iijima et al. 2021, LTRAC method

do nothing here

Definition at line 1836 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_tcutoff_n()

subroutine mod_twofl_phys::twofl_get_tcutoff_n ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, intent(out)  tco_local,
double precision, intent(out)  Tmax_local 
)

get adaptive cutoff temperature for TRAC (Johnston 2019 ApJL, 873, L22)

Definition at line 1802 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temp_c_pert_from_etot()

subroutine mod_twofl_phys::twofl_get_temp_c_pert_from_etot ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 4774 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temp_n_pert_from_etot()

subroutine mod_twofl_phys::twofl_get_temp_n_pert_from_etot ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 4853 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_c_equi()

subroutine mod_twofl_phys::twofl_get_temperature_c_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2888 of file mod_twofl_phys.t.

◆ twofl_get_temperature_from_eint_c()

subroutine mod_twofl_phys::twofl_get_temperature_from_eint_c ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

separate routines so that it is faster Calculate temperature=p/rho when in e_ the internal energy is stored

Definition at line 2858 of file mod_twofl_phys.t.

◆ twofl_get_temperature_from_eint_c_with_equi()

subroutine mod_twofl_phys::twofl_get_temperature_from_eint_c_with_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2869 of file mod_twofl_phys.t.

◆ twofl_get_temperature_from_eint_n()

subroutine mod_twofl_phys::twofl_get_temperature_from_eint_n ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

separate routines so that it is faster Calculate temperature=p/rho when in e_ the internal energy is stored

Definition at line 2771 of file mod_twofl_phys.t.

◆ twofl_get_temperature_from_eint_n_with_equi()

subroutine mod_twofl_phys::twofl_get_temperature_from_eint_n_with_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2782 of file mod_twofl_phys.t.

◆ twofl_get_temperature_from_eki_c()

subroutine mod_twofl_phys::twofl_get_temperature_from_eki_c ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2930 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_from_eki_c_with_equi()

subroutine mod_twofl_phys::twofl_get_temperature_from_eki_c_with_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2953 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_from_etot_c()

subroutine mod_twofl_phys::twofl_get_temperature_from_etot_c ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Calculate temperature=p/rho when in e_ the total energy is stored this does not check the values of twofl_energy and twofl_internal_e, twofl_energy = .true. and twofl_internal_e = .false. also check small_values is avoided.

Definition at line 2920 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_from_etot_c_with_equi()

subroutine mod_twofl_phys::twofl_get_temperature_from_etot_c_with_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2940 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_from_etot_n()

subroutine mod_twofl_phys::twofl_get_temperature_from_etot_n ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Calculate temperature=p/rho when in e_ the total energy is stored this does not check the values of twofl_energy and twofl_internal_e, twofl_energy = .true. and twofl_internal_e = .false. also check small_values is avoided.

Definition at line 2834 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_from_etot_n_with_equi()

subroutine mod_twofl_phys::twofl_get_temperature_from_etot_n_with_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2844 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_temperature_n_equi()

subroutine mod_twofl_phys::twofl_get_temperature_n_equi ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s), intent(out)  res 
)

Definition at line 2802 of file mod_twofl_phys.t.

◆ twofl_get_v_c()

subroutine mod_twofl_phys::twofl_get_v_c ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,ndir), intent(out)  v 
)

Calculate v_c vector.

Definition at line 3604 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_v_c_idim()

subroutine, public mod_twofl_phys::twofl_get_v_c_idim ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  v 
)

Calculate v_c component.

Definition at line 3708 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_v_n()

subroutine mod_twofl_phys::twofl_get_v_n ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,ndir), intent(out)  v 
)

Calculate v_n vector.

Definition at line 3469 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_get_v_n_idim()

subroutine, public mod_twofl_phys::twofl_get_v_n_idim ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(out)  v 
)

Calculate v component.

Definition at line 3571 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_getv_hall()

subroutine mod_twofl_phys::twofl_getv_hall ( double precision, dimension(ixi^s,nw), intent(in)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:3), intent(inout)  vHall 
)

Definition at line 4892 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_handle_small_ei_c()

subroutine mod_twofl_phys::twofl_handle_small_ei_c ( double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  ie,
character(len=*), intent(in)  subname 
)

handle small or negative internal energy

Definition at line 3740 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_handle_small_ei_n()

subroutine mod_twofl_phys::twofl_handle_small_ei_n ( double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  ie,
character(len=*), intent(in)  subname 
)

handle small or negative internal energy

Definition at line 3790 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_handle_small_values()

subroutine mod_twofl_phys::twofl_handle_small_values ( logical, intent(in)  primitive,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
character(len=*), intent(in)  subname 
)

Definition at line 1617 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_implicit_coll_terms_update()

subroutine mod_twofl_phys::twofl_implicit_coll_terms_update ( double precision, intent(in)  dtfactor,
double precision, intent(in)  qdt,
double precision, intent(in)  qtC,
type(state), dimension(max_blocks), target  psb,
type(state), dimension(max_blocks), target  psa 
)

Implicit solve of psb=psa+dtfactor*dt*F_im(psb)

Definition at line 6823 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_init_hyper()

subroutine mod_twofl_phys::twofl_init_hyper ( character(len=*), dimension(:), intent(in)  files)

Definition at line 311 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_kin_en_c()

double precision function, dimension(ixo^s) mod_twofl_phys::twofl_kin_en_c ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L 
)

compute kinetic energy of charges w are conserved variables

Definition at line 4879 of file mod_twofl_phys.t.

◆ twofl_kin_en_n()

double precision function, dimension(ixo^s) mod_twofl_phys::twofl_kin_en_n ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L 
)

compute kinetic energy of neutrals

Definition at line 4839 of file mod_twofl_phys.t.

◆ twofl_mag_en()

double precision function, dimension(ixo^s) mod_twofl_phys::twofl_mag_en ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L 
)

Compute evolving magnetic energy.

Definition at line 4829 of file mod_twofl_phys.t.

◆ twofl_mag_en_all()

double precision function, dimension(ixo^s) mod_twofl_phys::twofl_mag_en_all ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L 
)

Compute 2 times total magnetic energy.

Definition at line 4801 of file mod_twofl_phys.t.

◆ twofl_mag_i_all()

double precision function, dimension(ixo^s) mod_twofl_phys::twofl_mag_i_all ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idir 
)

Compute full magnetic field by direction.

Definition at line 4815 of file mod_twofl_phys.t.

◆ twofl_modify_wlr()

subroutine mod_twofl_phys::twofl_modify_wlr ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  qt,
double precision, dimension(ixi^s,1:nw), intent(inout)  wLC,
double precision, dimension(ixi^s,1:nw), intent(inout)  wRC,
double precision, dimension(ixi^s,1:nw), intent(inout)  wLp,
double precision, dimension(ixi^s,1:nw), intent(inout)  wRp,
type(state s,
integer, intent(in)  idir 
)

Definition at line 4948 of file mod_twofl_phys.t.

◆ twofl_phys_init()

subroutine, public mod_twofl_phys::twofl_phys_init

Solve total energy equation or not

Solve internal energy instead of total energy

Definition at line 354 of file mod_twofl_phys.t.

◆ twofl_physical_units()

subroutine mod_twofl_phys::twofl_physical_units

Definition at line 1328 of file mod_twofl_phys.t.

◆ twofl_sts_set_source_tc_c_hd()

subroutine mod_twofl_phys::twofl_sts_set_source_tc_c_hd ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s,1:nw), intent(inout)  wres,
logical, intent(in)  fix_conserve_at_step,
double precision, intent(in)  my_dt,
integer, intent(in)  igrid,
integer, intent(in)  nflux 
)

Definition at line 854 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_sts_set_source_tc_c_mhd()

subroutine mod_twofl_phys::twofl_sts_set_source_tc_c_mhd ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s,1:nw), intent(inout)  wres,
logical, intent(in)  fix_conserve_at_step,
double precision, intent(in)  my_dt,
integer, intent(in)  igrid,
integer, intent(in)  nflux 
)

Definition at line 842 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_sts_set_source_tc_n_hd()

subroutine mod_twofl_phys::twofl_sts_set_source_tc_n_hd ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
double precision, dimension(ixi^s,1:nw), intent(inout)  wres,
logical, intent(in)  fix_conserve_at_step,
double precision, intent(in)  my_dt,
integer, intent(in)  igrid,
integer, intent(in)  nflux 
)

Definition at line 911 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_tc_handle_small_e_c()

subroutine mod_twofl_phys::twofl_tc_handle_small_e_c ( double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  step 
)

Definition at line 896 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_tc_handle_small_e_n()

subroutine mod_twofl_phys::twofl_tc_handle_small_e_n ( double precision, dimension(ixi^s,1:nw), intent(inout)  w,
double precision, dimension(ixi^s,1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  step 
)

Definition at line 923 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_te_images()

subroutine mod_twofl_phys::twofl_te_images

Definition at line 821 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_to_conserved()

subroutine, public mod_twofl_phys::twofl_to_conserved ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Transform primitive variables into conservative ones.

Definition at line 1464 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_to_primitive()

subroutine, public mod_twofl_phys::twofl_to_primitive ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Transform conservative variables into primitive ones.

Definition at line 1508 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_update_faces()

subroutine mod_twofl_phys::twofl_update_faces ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  qt,
double precision, intent(in)  qdt,
double precision, dimension(ixi^s,1:nw), intent(in)  wprim,
double precision, dimension(ixi^s,1:nwflux,1:ndim), intent(in)  fC,
double precision, dimension(ixi^s,sdim:3), intent(inout)  fE,
type(state sCT,
type(state s,
type(ct_velocity vcts 
)

Definition at line 5558 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ twofl_write_info()

subroutine mod_twofl_phys::twofl_write_info ( integer, intent(in)  fh)

Write this module's parameters to a snapsoht.

Definition at line 337 of file mod_twofl_phys.t.

◆ update_faces_average()

subroutine mod_twofl_phys::update_faces_average ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  qt,
double precision, intent(in)  qdt,
double precision, dimension(ixi^s,1:nwflux,1:ndim), intent(in)  fC,
double precision, dimension(ixi^s,sdim:3), intent(inout)  fE,
type(state sCT,
type(state s 
)

get electric field though averaging neighors to update faces in CT

Definition at line 5584 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ update_faces_contact()

subroutine mod_twofl_phys::update_faces_contact ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  qt,
double precision, intent(in)  qdt,
double precision, dimension(ixi^s,1:nw), intent(in)  wp,
double precision, dimension(ixi^s,1:nwflux,1:ndim), intent(in)  fC,
double precision, dimension(ixi^s,sdim:3), intent(inout)  fE,
type(state sCT,
type(state s,
type(ct_velocity vcts 
)

update faces using UCT contact mode by Gardiner and Stone 2005 JCP 205, 509

Definition at line 5681 of file mod_twofl_phys.t.

Here is the call graph for this function:

◆ update_faces_hll()

subroutine mod_twofl_phys::update_faces_hll ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(in)  qt,
double precision, intent(in)  qdt,
double precision, dimension(ixi^s,sdim:3), intent(inout)  fE,
type(state sCT,
type(state s,
type(ct_velocity vcts 
)

update faces

Definition at line 5848 of file mod_twofl_phys.t.

Here is the call graph for this function:

Variable Documentation

◆ b0field_forcefree

logical, public, protected mod_twofl_phys::b0field_forcefree =.true.

B0 field is force-free.

Definition at line 197 of file mod_twofl_phys.t.

◆ boundary_divbfix

logical, dimension(2*^nd), public, protected mod_twofl_phys::boundary_divbfix =.true.

To control divB=0 fix for boundary.

Definition at line 191 of file mod_twofl_phys.t.

◆ boundary_divbfix_skip

integer, dimension(2*^nd), public, protected mod_twofl_phys::boundary_divbfix_skip =0

To skip * layer of ghost cells during divB=0 fix for boundary.

Definition at line 194 of file mod_twofl_phys.t.

◆ c_hyp

double precision, dimension(:), allocatable, public, protected mod_twofl_phys::c_hyp

Definition at line 35 of file mod_twofl_phys.t.

◆ c_shk

double precision, dimension(:), allocatable, public, protected mod_twofl_phys::c_shk

Definition at line 34 of file mod_twofl_phys.t.

◆ calc_mult_factor

procedure (implicit_mult_factor_subroutine), pointer mod_twofl_phys::calc_mult_factor => null()

Definition at line 274 of file mod_twofl_phys.t.

◆ clean_initial_divb

logical, public mod_twofl_phys::clean_initial_divb = .false.

clean initial divB

Definition at line 185 of file mod_twofl_phys.t.

◆ divbwave

logical, public mod_twofl_phys::divbwave = .true.

Add divB wave in Roe solver.

Definition at line 188 of file mod_twofl_phys.t.

◆ dtcollpar

double precision, public mod_twofl_phys::dtcollpar = -1d0

Definition at line 137 of file mod_twofl_phys.t.

◆ e_c_

integer, public mod_twofl_phys::e_c_ =-1

Index of the energy density (-1 if not present)

Definition at line 97 of file mod_twofl_phys.t.

◆ e_n_

integer, public mod_twofl_phys::e_n_

Definition at line 120 of file mod_twofl_phys.t.

◆ eq_energy_int

integer, parameter, public mod_twofl_phys::eq_energy_int =1

Definition at line 21 of file mod_twofl_phys.t.

◆ eq_energy_ki

integer, parameter, public mod_twofl_phys::eq_energy_ki =3

Definition at line 27 of file mod_twofl_phys.t.

◆ eq_energy_none

integer, parameter, public mod_twofl_phys::eq_energy_none =0

Definition at line 24 of file mod_twofl_phys.t.

◆ eq_energy_tot

integer, parameter, public mod_twofl_phys::eq_energy_tot =2

Definition at line 18 of file mod_twofl_phys.t.

◆ equi_pe_c0_

integer, public mod_twofl_phys::equi_pe_c0_ = -1

Definition at line 112 of file mod_twofl_phys.t.

◆ equi_pe_n0_

integer, public mod_twofl_phys::equi_pe_n0_ = -1

Definition at line 126 of file mod_twofl_phys.t.

◆ equi_rho_c0_

integer, public mod_twofl_phys::equi_rho_c0_ = -1

equi vars indices in the stateequi_vars array

Definition at line 111 of file mod_twofl_phys.t.

◆ equi_rho_n0_

integer, public mod_twofl_phys::equi_rho_n0_ = -1

Definition at line 125 of file mod_twofl_phys.t.

◆ has_equi_pe_c0

logical, public mod_twofl_phys::has_equi_pe_c0 = .false.

Definition at line 108 of file mod_twofl_phys.t.

◆ has_equi_pe_n0

logical, public mod_twofl_phys::has_equi_pe_n0 = .false.

Definition at line 124 of file mod_twofl_phys.t.

◆ has_equi_rho_c0

logical, public mod_twofl_phys::has_equi_rho_c0 = .false.

equi vars flags

Definition at line 107 of file mod_twofl_phys.t.

◆ has_equi_rho_n0

logical, public mod_twofl_phys::has_equi_rho_n0 = .false.

Definition at line 123 of file mod_twofl_phys.t.

◆ he_abundance

double precision, public, protected mod_twofl_phys::he_abundance = 0d0

Definition at line 143 of file mod_twofl_phys.t.

◆ mom_c

integer, dimension(:), allocatable, public mod_twofl_phys::mom_c

Indices of the momentum density.

Definition at line 94 of file mod_twofl_phys.t.

◆ mom_n

integer, dimension(:), allocatable, public mod_twofl_phys::mom_n

Definition at line 119 of file mod_twofl_phys.t.

◆ psi_

integer, public, protected mod_twofl_phys::psi_

Indices of the GLM psi.

Definition at line 104 of file mod_twofl_phys.t.

◆ rc

double precision, public, protected mod_twofl_phys::rc = 2d0

Definition at line 145 of file mod_twofl_phys.t.

◆ rc_fl_c

type(rc_fluid), allocatable, public mod_twofl_phys::rc_fl_c

Definition at line 46 of file mod_twofl_phys.t.

◆ rho_c_

integer, public mod_twofl_phys::rho_c_

Index of the density (in the w array)

Definition at line 91 of file mod_twofl_phys.t.

◆ rho_n_

integer, public mod_twofl_phys::rho_n_

Definition at line 118 of file mod_twofl_phys.t.

◆ rn

double precision, public, protected mod_twofl_phys::rn = 1d0

Definition at line 146 of file mod_twofl_phys.t.

◆ source_split_divb

logical, public, protected mod_twofl_phys::source_split_divb = .false.

Whether divB cleaning sources are added splitting from fluid solver.

Definition at line 81 of file mod_twofl_phys.t.

◆ tc_fl_c

type(tc_fluid), allocatable, public mod_twofl_phys::tc_fl_c

Definition at line 60 of file mod_twofl_phys.t.

◆ tcoff_c_

integer, public mod_twofl_phys::tcoff_c_

Index of the cutoff temperature for the TRAC method.

Definition at line 100 of file mod_twofl_phys.t.

◆ tcoff_n_

integer, public mod_twofl_phys::tcoff_n_

Definition at line 121 of file mod_twofl_phys.t.

◆ te_fl_c

type(te_fluid), allocatable, public mod_twofl_phys::te_fl_c

Definition at line 61 of file mod_twofl_phys.t.

◆ tweight_c_

integer, public mod_twofl_phys::tweight_c_

Definition at line 101 of file mod_twofl_phys.t.

◆ tweight_n_

integer, public mod_twofl_phys::tweight_n_

Definition at line 122 of file mod_twofl_phys.t.

◆ twofl_4th_order

logical, public, protected mod_twofl_phys::twofl_4th_order = .false.

MHD fourth order.

Definition at line 88 of file mod_twofl_phys.t.

◆ twofl_adiab

double precision, public mod_twofl_phys::twofl_adiab = 1.0d0

The adiabatic constant.

Definition at line 152 of file mod_twofl_phys.t.

◆ twofl_alpha_coll

double precision, public mod_twofl_phys::twofl_alpha_coll = 0d0

collisional alpha

Definition at line 130 of file mod_twofl_phys.t.

◆ twofl_alpha_coll_constant

logical, public mod_twofl_phys::twofl_alpha_coll_constant = .true.

Definition at line 131 of file mod_twofl_phys.t.

◆ twofl_coll_inc_ionrec

logical, public mod_twofl_phys::twofl_coll_inc_ionrec = .false.

whether include ionization/recombination inelastic collisional terms

Definition at line 135 of file mod_twofl_phys.t.

◆ twofl_coll_inc_te

logical, public mod_twofl_phys::twofl_coll_inc_te = .true.

whether include thermal exchange collisional terms

Definition at line 133 of file mod_twofl_phys.t.

◆ twofl_divb_4thorder

logical, public, protected mod_twofl_phys::twofl_divb_4thorder = .false.

Whether divB is computed with a fourth order approximation.

Definition at line 173 of file mod_twofl_phys.t.

◆ twofl_dump_coll_terms

logical, public, protected mod_twofl_phys::twofl_dump_coll_terms = .false.

whether dump collisional terms in a separte dat file

Definition at line 139 of file mod_twofl_phys.t.

◆ twofl_dump_full_vars

logical, public, protected mod_twofl_phys::twofl_dump_full_vars = .false.

whether dump full variables (when splitting is used) in a separate dat file

Definition at line 55 of file mod_twofl_phys.t.

◆ twofl_dump_hyperdiffusivity_coef

logical, public, protected mod_twofl_phys::twofl_dump_hyperdiffusivity_coef = .false.

Definition at line 33 of file mod_twofl_phys.t.

◆ twofl_eq_energy

integer, public, protected mod_twofl_phys::twofl_eq_energy = EQ_ENERGY_TOT

Definition at line 29 of file mod_twofl_phys.t.

◆ twofl_equi_thermal

logical, public mod_twofl_phys::twofl_equi_thermal = .false.

Definition at line 115 of file mod_twofl_phys.t.

◆ twofl_equi_thermal_c

logical, public mod_twofl_phys::twofl_equi_thermal_c = .false.

Definition at line 113 of file mod_twofl_phys.t.

◆ twofl_equi_thermal_n

logical, public mod_twofl_phys::twofl_equi_thermal_n = .false.

Definition at line 136 of file mod_twofl_phys.t.

◆ twofl_eta

double precision, public mod_twofl_phys::twofl_eta = 0.0d0

The MHD resistivity.

Definition at line 155 of file mod_twofl_phys.t.

◆ twofl_eta_hyper

double precision, public mod_twofl_phys::twofl_eta_hyper = 0.0d0

The MHD hyper-resistivity.

Definition at line 158 of file mod_twofl_phys.t.

◆ twofl_etah

double precision, public mod_twofl_phys::twofl_etah = 0.0d0

The MHD Hall coefficient.

Definition at line 161 of file mod_twofl_phys.t.

◆ twofl_gamma

double precision, public mod_twofl_phys::twofl_gamma = 5.d0/3.0d0

The adiabatic index.

Definition at line 149 of file mod_twofl_phys.t.

◆ twofl_glm

logical, public, protected mod_twofl_phys::twofl_glm = .false.

Whether GLM-MHD is used.

Definition at line 72 of file mod_twofl_phys.t.

◆ twofl_glm_alpha

double precision, public mod_twofl_phys::twofl_glm_alpha = 0.5d0

GLM-MHD parameter: ratio of the diffusive and advective time scales for div b taking values within [0, 1].

Definition at line 85 of file mod_twofl_phys.t.

◆ twofl_gravity

logical, public, protected mod_twofl_phys::twofl_gravity = .false.

Whether gravity is added: common flag for charges and neutrals.

Definition at line 52 of file mod_twofl_phys.t.

◆ twofl_hall

logical, public, protected mod_twofl_phys::twofl_hall = .false.

Whether Hall-MHD is used.

Definition at line 58 of file mod_twofl_phys.t.

◆ twofl_hyperdiffusivity

logical, public, protected mod_twofl_phys::twofl_hyperdiffusivity = .false.

Whether hyperdiffusivity is used.

Definition at line 32 of file mod_twofl_phys.t.

◆ twofl_radiative_cooling_c

logical, public, protected mod_twofl_phys::twofl_radiative_cooling_c = .false.

Whether radiative cooling is added.

Definition at line 45 of file mod_twofl_phys.t.

◆ twofl_radiative_cooling_n

logical, public, protected mod_twofl_phys::twofl_radiative_cooling_n = .false.

Definition at line 65 of file mod_twofl_phys.t.

◆ twofl_thermal_conduction_c

logical, public, protected mod_twofl_phys::twofl_thermal_conduction_c = .false.

Whether thermal conduction is used.

Definition at line 38 of file mod_twofl_phys.t.

◆ twofl_thermal_conduction_n

logical, public, protected mod_twofl_phys::twofl_thermal_conduction_n = .false.

Definition at line 64 of file mod_twofl_phys.t.

◆ twofl_trac

logical, public, protected mod_twofl_phys::twofl_trac = .false.

Whether TRAC method is used.

Definition at line 69 of file mod_twofl_phys.t.

◆ twofl_trac_mask

double precision, public, protected mod_twofl_phys::twofl_trac_mask = 0.d0

Height of the mask used in the TRAC method.

Definition at line 78 of file mod_twofl_phys.t.

◆ twofl_trac_type

integer, public, protected mod_twofl_phys::twofl_trac_type =1

Which TRAC method is used

Definition at line 75 of file mod_twofl_phys.t.

◆ twofl_viscosity

logical, public, protected mod_twofl_phys::twofl_viscosity = .false.

Whether viscosity is added.

Definition at line 49 of file mod_twofl_phys.t.

◆ type_ct

character(len=std_len), public, protected mod_twofl_phys::type_ct = 'uct_contact'

Method type of constrained transport.

Definition at line 170 of file mod_twofl_phys.t.

◆ typedivbfix

character(len=std_len), public, protected mod_twofl_phys::typedivbfix = 'linde'

Method type to clean divergence of B.

Definition at line 167 of file mod_twofl_phys.t.

◆ usr_mask_alpha

procedure(mask_subroutine), pointer, public mod_twofl_phys::usr_mask_alpha => null()

Definition at line 276 of file mod_twofl_phys.t.

◆ usr_mask_gamma_ion_rec

procedure(mask_subroutine2), pointer, public mod_twofl_phys::usr_mask_gamma_ion_rec => null()

Definition at line 277 of file mod_twofl_phys.t.