cosmicrayflux

Module

Description

$Id$

Module for calculating Cosmic Ray Flux.

** 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 :: lcosmicrayflux = .true.

MVAR CONTRIBUTION 3 MAUX CONTRIBUTION 0


Quick access

Variables:

amplfcr, b_exp, cs2cr, fcr_const, gamma_cr, idiag_ekincr, idiag_ethmcr, initfcr, j_param, k_para, k_perp, kpara_t, kperp_t, kx_fcr, ky_fcr, kz_fcr, ladvect_fcr, lcosmicrayflux_diffus_dt, lno_crflux_evol, lsubgrid_cr, lupw_fcr, lupw_ucr, ma_param, nu_cr, omegahat, ratio_kpara_kperp, rhocr0, subgrid_bmin, subgrid_brms, subgrid_c1, subgrid_c2, subgrid_k, subgrid_s, tau1, vkpara, vkperp

Routines:

calc_pencils_cosmicrayflux(), dfcr_dt(), init_fcr(), initialize_cosmicrayflux(), pencil_criteria_cosmicrayflux(), pencil_interdep_cosmicrayflux(), read_cosmicrayflux_init_pars(), read_cosmicrayflux_run_pars(), register_cosmicrayflux(), rprint_cosmicrayflux(), write_cosmicrayflux_init_pars(), write_cosmicrayflux_run_pars()

Needed modules

Variables

  • cosmicrayflux/b_exp (nx) [real,private]
  • cosmicrayflux/initfcr [character,private/optional/default='zero']
  • cosmicrayflux/k_para [real,private/pointer]
  • cosmicrayflux/k_perp [real,private/pointer]
  • cosmicrayflux/kpara_t [real,private/optional/default=0.0]
  • cosmicrayflux/kperp_t [real,private/optional/default=0.0]
  • cosmicrayflux/ladvect_fcr [logical,private/optional/default=.false.]
  • cosmicrayflux/lcosmicrayflux_diffus_dt [logical,private/optional/default=.false.]
  • cosmicrayflux/lsubgrid_cr [logical,private/optional/default=.false.]
  • cosmicrayflux/lupw_fcr [logical,private/optional/default=.false.]
  • cosmicrayflux/ratio_kpara_kperp [real,private/optional/default=0.0]
  • cosmicrayflux/subgrid_bmin [real,private/optional/default=0.0]
  • cosmicrayflux/subgrid_brms [real,private/optional/default=1.0]
  • cosmicrayflux/subgrid_c1 [real,private/optional/default=0.0]
  • cosmicrayflux/subgrid_c2 [real,private/optional/default=0.0]
  • cosmicrayflux/subgrid_k [real,private/optional/default=0.0]
  • cosmicrayflux/subgrid_s [real,private/optional/default=1.6666666666666667]
  • cosmicrayflux/tau [real,private/optional/default=0.0]
  • cosmicrayflux/tau1 [real,private/optional/default=0.0]
  • cosmicrayflux/vkpara (nx) [real,private]
  • cosmicrayflux/vkperp (nx) [real,private]

Subroutines and functions

subroutine  cosmicrayflux/register_cosmicrayflux()

Initialise variables which should know that we solve for the vector potential: ifcr, etc; increase nvar accordingly

1-may-02/wolf: coded

Use :

farraymanager

Call to:

svn_id(), warning(), fatal_error(), initial_condition_fcr(), identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/initialize_cosmicrayflux(f)

Perform any post-parameter-read initialization

Parameters:

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

Use :

messages (warning()), sharedvariables (get_shared_variable())

Call to:

warning(), fatal_error(), initial_condition_fcr(), identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/init_fcr(f)

initialise magnetic field; called from start.f90 AB: maybe we should here call different routines (such as rings) AB: and others, instead of accummulating all this in a huge routine. We have an init parameter (initaa) to stear magnetic i.c. independently.

7-nov-2001/wolf: coded

Parameters:

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

Use :

sub, initcond, initialcondition (initial_condition_fcr()), messages (fatal_error())

Call to:

fatal_error(), initial_condition_fcr(), identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/pencil_criteria_cosmicrayflux()

All pencils that the Magnetic module depends on are specified here.

19-11-04/anders: coded

Call to:

identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/pencil_interdep_cosmicrayflux(lpencil_in)
Parameters:

lpencil_in (npencils) [logical]

Call to:

identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/calc_pencils_cosmicrayflux(f, p)

Calculate Cosmicray Flux pencils - to be done

Parameters:
Call to:

identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/dfcr_dt(f, df, p)

Cosmicray Flux evolution 08-mar-05/snod: adapted from daa_dt 12-jan-15/luiz: diffusion/advection contribution to the timestep 22-jun-17/luiz: subgrid prescription for the cosmic ray diffusion

Parameters:
Use :

sub, debug_io (output_pencil()), mpicomm (stop_it()), general (notanumber())

Call to:

identify_bcs(), dot2_mn(), multsv_mn(), gij()

subroutine  cosmicrayflux/read_cosmicrayflux_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  cosmicrayflux/write_cosmicrayflux_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  cosmicrayflux/read_cosmicrayflux_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  cosmicrayflux/write_cosmicrayflux_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  cosmicrayflux/rprint_cosmicrayflux(lreset[, lwrite])

Reads and registers print parameters relevant for cosmicrayflux. 3-may-02/axel: coded 27-may-02/axel: added possibility to reset list

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

sub