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

Go to the source code of this file.

Modules

module  mod_magnetofriction
 module mod_magnetofriction.t Purpose: use magnetofrictional method to relax 3D magnetic field to force-free field 01.04.2016 developed by Chun Xia and Yang Guo 04.10.2017 modulized by Chun Xia Usage: in amrvac.par: &methodlist time_stepper='onestep' ! time marching scheme, or 'twostep','threestep' flux_method=13*'cd4' ! or 'tvdlf', 'fd' limiter= 13*'koren' ! or 'vanleer','cada3','mp5' so on / &meshlist ditregrid=20 ! set iteration interval for adjusting AMR / &mhd_list mhd_magnetofriction=.true. / &mf_list mf_it_max=60000 ! set the maximum iteration number mf_ditsave=20000 ! set iteration interval for data output mf_cc=0.3 ! stability coefficient controls numerical stability mf_cy=0.2 ! frictional velocity coefficient mf_cdivb=0.01 ! divb cleaning coefficient controls diffusion speed of divb /
 

Functions/Subroutines

subroutine mod_magnetofriction::mf_params_read (files)
 Read this module"s parameters from a file.
 
subroutine mod_magnetofriction::magnetofriction_init ()
 Initialize the module.
 
subroutine mod_magnetofriction::magnetofriction
 
subroutine metrics
 
subroutine mod_magnetofriction::mf_velocity_update (dtfff)
 
subroutine mod_magnetofriction::vhat (w, x, ixil, ixol, vhatmaxgrid)
 
subroutine mod_magnetofriction::frictional_velocity (w, x, ixil, ixol, qvmax, qdt)
 
subroutine mod_magnetofriction::advectmf (idimlim, qt, qdt)
 
subroutine mod_magnetofriction::advect1mf (method, dtin, dtfactor, idimlim, qtc, psa, qt, psb)
 
subroutine mod_magnetofriction::process1_gridmf (method, igrid, qdt, ixgl, idimlim, qtc, wct, qt, w)
 
subroutine mod_magnetofriction::upwindlrmf (ixil, ixll, ixrl, idim, w, wct, wlc, wrc, x)
 
subroutine mod_magnetofriction::getfluxmf (w, x, ixil, ixol, idir, idim, f)
 
subroutine mod_magnetofriction::tvdlfmf (qdt, ixil, ixol, idimlim, qtc, wct, qt, wnew, fc, dxd, x)
 
subroutine mod_magnetofriction::hancockmf (qdt, ixil, ixol, idimlim, qtc, wct, qt, wnew, dxd, x)
 
subroutine mod_magnetofriction::fdmf (qdt, ixil, ixol, idimlim, qtc, wct, qt, wnew, fc, dxd, x)
 
subroutine mod_magnetofriction::reconstructlmf (ixil, ill, idims, w, wlc)
 
subroutine mod_magnetofriction::reconstructrmf (ixil, ill, idims, w, wrc)
 
subroutine mod_magnetofriction::centdiff4mf (qdt, ixil, ixol, idimlim, qtc, wct, qt, w, fc, dxd, x)
 
subroutine mod_magnetofriction::getdtfff_courant (w, x, ixil, ixol, dtnew)
 
subroutine mod_magnetofriction::getcmaxfff (w, ixil, ixol, idims, cmax)
 
subroutine mod_magnetofriction::divbclean (qdt, ixil, ixol, wct, w, x)
 Clean divergence of magnetic field by Janhunen's and Linde's source terms.
 
subroutine mod_magnetofriction::addgeometrymf (qdt, ixil, ixol, wct, w, x)
 
subroutine mod_magnetofriction::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.
 
subroutine mod_magnetofriction::get_divb (w, ixil, ixol, divb)
 Calculate div B within ixO.
 

Variables

double precision mod_magnetofriction::mf_cc
 stability coefficient controls numerical stability
 
double precision mod_magnetofriction::mf_cy
 frictional velocity coefficient
 
double precision mod_magnetofriction::mf_cy_max
 
double precision mod_magnetofriction::mf_cdivb
 divb cleaning coefficient controls diffusion speed of divb
 
double precision mod_magnetofriction::mf_cdivb_max
 
double precision mod_magnetofriction::mf_tvdlfeps
 TVDLF dissipation coefficient controls the dissipation term.
 
double precision mod_magnetofriction::mf_tvdlfeps_min
 
double precision mod_magnetofriction::tmf
 time in magnetofriction process
 
double precision mod_magnetofriction::cmax_mype
 maximal speed for fd scheme
 
double precision mod_magnetofriction::cmax_global
 maximal speed for fd scheme
 
double precision, public mod_magnetofriction::mf_vmax = 3.d6
 maximal limit of magnetofrictional velocity in cm s^-1 (Pomoell 2019 A&A)
 
integer mod_magnetofriction::mf_ditsave
 
integer mod_magnetofriction::mf_it_max
 
integer mod_magnetofriction::mf_it
 
logical mod_magnetofriction::mf_advance
 
logical mod_magnetofriction::fix_conserve_at_step = .true.
 

Function/Subroutine Documentation

◆ metrics()

subroutine magnetofriction::metrics

Definition at line 277 of file mod_magnetofriction.t.

Here is the call graph for this function: