|
| subroutine | mod_mf_phys::mf_write_info (fh) |
| | Write this module's parameters to a snapsoht. More...
|
| |
| subroutine | mod_mf_phys::mf_angmomfix (fC, x, wnew, ixIL, ixOL, idim) |
| |
| subroutine, public | mod_mf_phys::mf_phys_init () |
| |
| subroutine | mod_mf_phys::mf_check_params |
| |
| subroutine | mod_mf_phys::mf_physical_units () |
| |
| subroutine, public | mod_mf_phys::mf_to_conserved (ixIL, ixOL, w, x) |
| | Transform primitive variables into conservative ones. More...
|
| |
| subroutine, public | mod_mf_phys::mf_to_primitive (ixIL, ixOL, w, x) |
| | Transform conservative variables into primitive ones. More...
|
| |
| subroutine, public | mod_mf_phys::mf_get_v (w, x, ixIL, ixOL, v) |
| | Calculate v vector. More...
|
| |
| subroutine, public | mod_mf_phys::mf_get_v_idim (w, x, ixIL, ixOL, idim, v) |
| | Calculate v component. More...
|
| |
| subroutine | mod_mf_phys::mf_get_cmax (w, x, ixIL, ixOL, idim, cmax) |
| | Calculate cmax_idim=csound+abs(v_idim) within ixO^L. More...
|
| |
| subroutine | mod_mf_phys::mf_get_cbounds (wLC, wRC, wLp, wRp, x, ixIL, ixOL, idim, Hspeed, cmax, cmin) |
| | Estimating bounds for the minimum and maximum signal velocities. More...
|
| |
| subroutine | mod_mf_phys::mf_get_ct_velocity (vcts, wLp, wRp, ixIL, ixOL, idim, cmax, cmin) |
| | prepare velocities for ct methods More...
|
| |
| subroutine | mod_mf_phys::mf_get_p_total (w, x, ixIL, ixOL, p) |
| | Calculate total pressure within ixO^L including magnetic pressure. More...
|
| |
| subroutine | mod_mf_phys::mf_get_flux (wC, w, x, ixIL, ixOL, idim, f) |
| | Calculate fluxes within ixO^L. More...
|
| |
| subroutine | mod_mf_phys::mf_velocity_update (qt, psa) |
| | Add global source terms to update frictional velocity on complete domain. More...
|
| |
| subroutine | mod_mf_phys::mf_add_source (qdt, ixIL, ixOL, wCT, w, x, qsourcesplit, active, wCTprim) |
| | w[iws]=w[iws]+qdt*S[iws,wCT] where S is the source based on wCT within ixO More...
|
| |
| subroutine | mod_mf_phys::frictional_velocity (w, x, ixIL, ixOL) |
| |
| subroutine | mod_mf_phys::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 | mod_mf_phys::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 | mod_mf_phys::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 | mod_mf_phys::add_source_glm (qdt, ixIL, ixOL, wCT, w, x) |
| |
| subroutine | mod_mf_phys::add_source_powel (qdt, ixIL, ixOL, wCT, w, x) |
| | Add divB related sources to w within ixO corresponding to Powel. More...
|
| |
| subroutine | mod_mf_phys::add_source_janhunen (qdt, ixIL, ixOL, wCT, w, x) |
| |
| subroutine | mod_mf_phys::add_source_linde (qdt, ixIL, ixOL, wCT, w, x) |
| |
| subroutine, public | mod_mf_phys::get_divb (w, ixIL, ixOL, divb, fourthorder) |
| | Calculate div B within ixO. More...
|
| |
| subroutine, public | mod_mf_phys::get_normalized_divb (w, ixIL, ixOL, divb) |
| | get dimensionless div B = |divB| * volume / area / |B| More...
|
| |
| subroutine, public | mod_mf_phys::get_current (w, ixIL, ixOL, idirmin, current, fourthorder) |
| | Calculate idirmin and the idirmin:3 components of the common current array make sure that dxlevel(^D) is set correctly. More...
|
| |
| subroutine | mod_mf_phys::mf_get_dt (w, ixIL, ixOL, dtnew, dxD, x) |
| | If resistivity is not zero, check diffusion time limit for dt. More...
|
| |
| subroutine | mod_mf_phys::mf_add_source_geom (qdt, ixIL, ixOL, wCT, w, x) |
| |
| double precision function, dimension(ixo^s), public | mod_mf_phys::mf_mag_en_all (w, ixIL, ixOL) |
| | Compute 2 times total magnetic energy. More...
|
| |
| double precision function, dimension(ixo^s) | mod_mf_phys::mf_mag_i_all (w, ixIL, ixOL, idir) |
| | Compute full magnetic field by direction. More...
|
| |
| double precision function, dimension(ixo^s) | mod_mf_phys::mf_mag_en (w, ixIL, ixOL) |
| | Compute evolving magnetic energy. More...
|
| |
| subroutine | mod_mf_phys::mf_modify_wlr (ixIL, ixOL, qt, wLC, wRC, wLp, wRp, s, idir) |
| |
| subroutine | mod_mf_phys::mf_boundary_adjust (igrid, psb) |
| |
| subroutine | mod_mf_phys::fixdivb_boundary (ixGL, ixOL, w, x, iB) |
| |
| subroutine, public | mod_mf_phys::mf_clean_divb_multigrid (qdt, qt, active) |
| |
| subroutine | mod_mf_phys::mf_update_faces (ixIL, ixOL, qt, qdt, wprim, fC, fE, sCT, s, vcts) |
| |
| subroutine | mod_mf_phys::update_faces_average (ixIL, ixOL, qt, qdt, fC, fE, sCT, s) |
| | get electric field though averaging neighors to update faces in CT More...
|
| |
| subroutine | mod_mf_phys::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 | mod_mf_phys::update_faces_hll (ixIL, ixOL, qt, qdt, fE, sCT, s, vcts) |
| | update faces More...
|
| |
| subroutine | mod_mf_phys::get_resistive_electric_field (ixIL, ixOL, sCT, s, jce) |
| | calculate eta J at cell edges More...
|
| |
| subroutine, public | mod_mf_phys::mf_face_to_center (ixOL, s) |
| | calculate cell-center values from face-center values More...
|
| |
| subroutine, public | mod_mf_phys::b_from_vector_potential (ixIsL, ixIL, ixOL, ws, x) |
| | calculate magnetic field from vector potential More...
|
| |
| subroutine, public | mod_mf_phys::record_force_free_metrics () |
| |
| subroutine | mod_mf_phys::mask_inner (ixIL, ixOL, w, x, patchwi, volume_pe) |
| |
| double precision function | mod_mf_phys::integral_grid_mf (ixIL, ixOL, w, x, iw, patchwi) |
| |
|
| double precision, public | mod_mf_phys::mf_nu = 1.d-15 |
| | viscosity coefficient in s cm^-2 for solar corona (Cheung 2012 ApJ) More...
|
| |
| double precision, public | mod_mf_phys::mf_vmax = 3.d6 |
| | maximal limit of magnetofrictional velocity in cm s^-1 (Pomoell 2019 A&A) More...
|
| |
| double precision, dimension(2 *^nd), public | mod_mf_phys::mf_decay_scale =0.d0 |
| | decay scale of frictional velocity More...
|
| |
| logical, public, protected | mod_mf_phys::mf_particles = .false. |
| | Whether particles module is added. More...
|
| |
| logical, public, protected | mod_mf_phys::mf_glm = .false. |
| | Whether GLM-MHD is used. More...
|
| |
| logical, public, protected | mod_mf_phys::source_split_divb = .false. |
| | Whether divB cleaning sources are added splitting from fluid solver. More...
|
| |
| double precision, public | mod_mf_phys::mf_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 | mod_mf_phys::mf_4th_order = .false. |
| | MHD fourth order. More...
|
| |
| logical, public, protected | mod_mf_phys::mf_record_electric_field = .false. |
| | set to true if need to record electric field on cell edges More...
|
| |
| integer, dimension(:), allocatable, public, protected | mod_mf_phys::mom |
| | Indices of the momentum density. More...
|
| |
| integer, dimension(:), allocatable, public, protected | mod_mf_phys::mag |
| | Indices of the magnetic field. More...
|
| |
| integer, public, protected | mod_mf_phys::psi_ |
| | Indices of the GLM psi. More...
|
| |
| double precision, public | mod_mf_phys::mf_eta = 0.0d0 |
| | The resistivity. More...
|
| |
| double precision, public | mod_mf_phys::mf_eta_hyper = 0.0d0 |
| | The hyper-resistivity. More...
|
| |
| character(len=std_len), public, protected | mod_mf_phys::typedivbfix = 'ct' |
| | Method type to clean divergence of B. More...
|
| |
| character(len=std_len), public, protected | mod_mf_phys::type_ct = 'average' |
| | Method type of constrained transport. More...
|
| |
| logical, public, protected | mod_mf_phys::mf_divb_4thorder = .false. |
| | Whether divB is computed with a fourth order approximation. More...
|
| |
| logical, public | mod_mf_phys::divbwave = .true. |
| | Add divB wave in Roe solver. More...
|
| |
| double precision, public, protected | mod_mf_phys::he_abundance =0.1d0 |
| | Helium abundance over Hydrogen. More...
|
| |
| logical, dimension(2 *^nd), public, protected | mod_mf_phys::boundary_divbfix =.true. |
| | To control divB=0 fix for boundary. More...
|
| |
| integer, dimension(2 *^nd), public, protected | mod_mf_phys::boundary_divbfix_skip =0 |
| | To skip * layer of ghost cells during divB=0 fix for boundary. More...
|
| |
| logical, public, protected | mod_mf_phys::clean_initial_divb =.false. |
| | clean divb in the initial condition More...
|
| |