meanfield_demfdt

Module

Description

$Id$

This modules solves mean-field contributions to both the induction and the momentum equations.

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lmagn_mf_demfdt = .true.

MVAR CONTRIBUTION 3 MAUX CONTRIBUTION 0

PENCILS PROVIDED


Quick access

Variables:

amplemf, eta_emf_over_etat, eta_emf_x, eta_emf_y, eta_emf_z, idiag_emfmax, idiag_emfmin, iemf, iemfx, iemfy, iemfz, initemf, lgive_eta_emf, tau1_emf, tau_emf

Routines:

calc_diagnostics_dt_meanfield(), calc_pencils_magn_mf_demfdt(), demf_dt_meanfield(), init_aa_mf_demfdt(), initialize_magn_mf_demfdt(), pencil_criteria_magn_mf_demfdt(), pencil_interdep_magn_mf_demfdt(), read_magn_mf_demfdt_init_pars(), read_magn_mf_demfdt_run_pars(), register_magn_mf_demfdt(), rprint_magn_mf_demfdt(), write_magn_mf_demfdt_init_pars(), write_magn_mf_demfdt_run_pars()

Needed modules

Variables

  • magnetic_meanfield_demfdt/amplemf (ninit) [real,private/optional/default=0.]
  • magnetic_meanfield_demfdt/eta_emf_over_etat [real,private/optional/default=0.0]
  • magnetic_meanfield_demfdt/eta_emf_x (nx) [real,private]
  • magnetic_meanfield_demfdt/eta_emf_y (my) [real,private]
  • magnetic_meanfield_demfdt/eta_emf_z (mz) [real,private]
  • magnetic_meanfield_demfdt/etat_x (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/etat_y (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/etat_z (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/idiag_emfmax [integer,private/optional/default=0]
  • magnetic_meanfield_demfdt/idiag_emfmin [integer,private/optional/default=0]
  • magnetic_meanfield_demfdt/idiag_emfrms [integer,private/optional/default=0]
  • magnetic_meanfield_demfdt/iemf [integer,private]
  • magnetic_meanfield_demfdt/iemfx [integer,private]
  • magnetic_meanfield_demfdt/iemfy [integer,private]
  • magnetic_meanfield_demfdt/iemfz [integer,private]
  • magnetic_meanfield_demfdt/initemf (ninit) [character,private/optional/default='nothing']
  • magnetic_meanfield_demfdt/kf_x (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/kf_x1 (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/kf_y (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/kf_z (*) [real,private/pointer]
  • magnetic_meanfield_demfdt/lgive_eta_emf [logical,private]
  • magnetic_meanfield_demfdt/lweyl_gauge [logical,private/pointer]
  • magnetic_meanfield_demfdt/tau1_emf [real,private/optional/default=0.0]
  • magnetic_meanfield_demfdt/tau_emf [real,private/optional/default=0.0]

Subroutines and functions

subroutine  magnetic_meanfield_demfdt/register_magn_mf_demfdt()

Initialise additional variables

6-jan-11/axel: adapted from magnetic

Use :

farraymanager (farray_register_pde())

Call to:

svn_id(), fatal_error(), gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/initialize_magn_mf_demfdt(f)

Perform any post-parameter-read initialization

6-jan-11/axel: adapted from meanfield.f90

Parameters:

f (mx,my,mz,mfarray) [real]

Use :

farraymanager, sharedvariables (get_shared_variable())

Call to:

fatal_error(), gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/init_aa_mf_demfdt(f)

Initialise mean-field related magnetic field; called from magnetic.f90 At the moment, no own initial conditions are allowed, but we need this to call secondary modules

6-jan-2011/axel: adapted from magnetic

Parameters:

f (mx,my,mz,mfarray) [real]

Call to:

fatal_error(), gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/pencil_criteria_magn_mf_demfdt()

Pencils that are connected with the time advance of the EMF

6-jan-11/axel: adapted from magn_mf

Use :

mpicomm (stop_it())

Call to:

gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/pencil_interdep_magn_mf_demfdt(lpencil_in)

Interdependency among pencils from the Magnetic module is specified here.

6-jan-10/axel: adapted from magn_mf

Parameters:

lpencil_in (npencils) [logical]

Call to:

gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/calc_pencils_magn_mf_demfdt(f, p)

Calculate secondary magnetic mean-field pencils.

6-jan-11/axel: adapted from magn_mf

Parameters:
Call to:

gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/demf_dt_meanfield(f, df, p)

Solve dEMF/dt = EMF_old/tau + eta_emf*del2(EMF) - EMF/tau

6-jan-11/axel: coded 6-jul-11/axel: added calculation of eta profile

Parameters:
Use :

sub

Call to:

gij(), gij_etc(), calc_diagnostics_dt_meanfield(), max_mn_name()

subroutine  magnetic_meanfield_demfdt/calc_diagnostics_dt_meanfield(f)

Calculate diagnostic quantities. Diagnostic output for mean field dynamos.

Parameters:

f (mx,my,mz,mfarray) [real]

Use :

diagnostics, sub (dot2())

Call to:

max_mn_name()

subroutine  magnetic_meanfield_demfdt/read_magn_mf_demfdt_init_pars(iomsg)
Parameters:

iomsg [character,inout]

Use :

file_io (parallel_unit())

subroutine  magnetic_meanfield_demfdt/write_magn_mf_demfdt_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  magnetic_meanfield_demfdt/read_magn_mf_demfdt_run_pars(iomsg)
Parameters:

iomsg [character,inout]

Use :

file_io (parallel_unit())

subroutine  magnetic_meanfield_demfdt/write_magn_mf_demfdt_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  magnetic_meanfield_demfdt/rprint_magn_mf_demfdt(lreset[, lwrite])

Reads and registers print parameters relevant for magnetic fields.

6-jan-11/axel: adapted from rprint_magn_mf

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics