nopscalar

Module

Description

$Id$

This modules solves the passive scalar advection equation.

** 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 :: lpscalar = .false.

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0 PENCILS PROVIDED cc(1); cc1(1); gcc(3,0)


Quick access

Variables:

amplcc, amplcc2, ampllncc, ampllncc2, bump, bunit, cc2m, cc_const, cc_left, cc_min, cc_right, cc_xyaver, delta_lncc, diffcc_shock, epsilon_cc, epsilon_lncc, gcc2m, gradc0, hhh, hoverr, icc_end, idiag_cc10m, idiag_cc1m, idiag_cc2m, idiag_cc2mz, idiag_cc3m, idiag_cc4m, idiag_cc5m, idiag_cc6m, idiag_cc7m, idiag_cc8m, idiag_cc9m, idiag_ccglnrm, idiag_ccm, idiag_ccmax, idiag_ccmin, idiag_ccmx, idiag_ccmxy, idiag_ccmxz, idiag_ccmy, idiag_ccmz, idiag_ccrms, idiag_ccugum, idiag_cluz_uzlcm, idiag_crmsm, idiag_cugccm, idiag_cz2m, idiag_cz4m, idiag_gcc10m, idiag_gcc1m, idiag_gcc2m, idiag_gcc3m, idiag_gcc4m, idiag_gcc5m, idiag_gcc6m, idiag_gcc7m, idiag_gcc8m, idiag_gcc9m, idiag_gcguzm, idiag_lnccm, idiag_lnccmx, idiag_lnccmy, idiag_lnccmz, idiag_mcct, idiag_mrclncm, idiag_qpsclm, idiag_qrhoccm, idiag_rhoc2m, idiag_rhoc3m, idiag_rhoccm, idiag_rhoccmax, idiag_ucm, idiag_uudcm, idiag_uxcm, idiag_uxcmz, idiag_uycm, idiag_uycmz, idiag_uzcm, idiag_uzcmz, initcc, initcc2, initlncc, initlncc2, kx_cc, kx_lncc, kxx_cc, ky_cc, ky_lncc, kyy_cc, kz_cc, kz_lncc, kzz_cc, lam_gradc, lambda_cc, ldustdrift, lgradc_profile, ll_sh, llambda_cc, lmean_friction_cc, lncc_min, lnotpassive, lpscalar_diff_simple, lpscalar_per_unitvolume, lpscalar_per_unitvolume_diff, lpscalar_sink, lreactions, lremove_mean, lupw_cc, lupw_lncc, mean_friction_cc, mm_sh, n_xprof, nopscalar, om_gradc, powerlr, pscalar_diff, pscalar_diff_hyper3, pscalar_diff_shock, pscalar_sink, radius_cc, radius_lncc, reinitialize_cc, reinitialize_lncc, rhoccm, rpscalar_sink, scalaracc, soret_diff, spharm, tensor_diff, tensor_pscalar_diff, widthcc, widthlncc, widthlncc1, widthlncc2, zoverh

Routines:

calc_diagnostics_pscalar(), calc_mpscalar(), calc_pencils_pscalar(), dlncc_dt(), get_slices_pscalar(), init_lncc(), initialize_pscalar(), pencil_criteria_pscalar(), pencil_interdep_pscalar(), pscalar_before_boundary(), read_pscalar_init_pars(), read_pscalar_run_pars(), register_pscalar(), rprint_pscalar(), write_pscalar_init_pars(), write_pscalar_run_pars()

Needed modules

Variables

  • pscalar/cc2m [real,public/optional/default=0.0]
  • pscalar/gcc2m [real,public/optional/default=0.0]
  • pscalar/idiag_cc2m [integer,public/optional/default=0]
  • pscalar/idiag_gcc2m [integer,public/optional/default=0]
  • pscalar/idiag_rhoccm [integer,public/optional/default=0]
  • pscalar/rhoccm [real,public/optional/default=0.0]

Subroutines and functions

subroutine  pscalar/register_pscalar()

Initialise variables which should know that we solve for passive scalar: ilncc; increase nvar accordingly.

6-jul-02/axel: coded

Identify version number.

Call to:

svn_id()

subroutine  pscalar/initialize_pscalar(f)

Perform any necessary post-parameter read initialization.

24-nov-02/tony: dummy

Parameters:

f (,,*,*) [real,contiguous]

subroutine  pscalar/init_lncc(f)

Initialise passive scalar field.

6-jul-02/axel: dummy

Parameters:

f (,,*,*) [real,contiguous]

subroutine  pscalar/pencil_criteria_pscalar()

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

20-11-04/anders: coded

subroutine  pscalar/pencil_interdep_pscalar(lpencil_in)

Interdependency among pencils provided by the Pscalar module is specified here.

20-11-04/anders: coded

Parameters:

lpencil_in (npencils) [logical]

subroutine  pscalar/calc_pencils_pscalar(f, p)

Calculate Pscalar pencils. Most basic pencils should come first, as others may depend on them.

20-11-04/anders: coded

Parameters:
  • f (,,*,*) [real,in,contiguous]

  • p [pencil_case,inout]

subroutine  pscalar/calc_diagnostics_pscalar(p)
Parameters:

p [pencil_case]

subroutine  pscalar/dlncc_dt(f, df, p)

Passive scalar evolution.

6-jul-02/axel: dummy

Parameters:
  • f (,,*,*) [real,in,contiguous]

  • df (,,*,*) [real,in,contiguous]

  • p [pencil_case,in]

subroutine  pscalar/read_pscalar_init_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  pscalar/write_pscalar_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  pscalar/read_pscalar_run_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  pscalar/write_pscalar_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  pscalar/rprint_pscalar(lreset[, lwrite])

Reads and registers print parameters relevant for passive scalar.

6-jul-02/axel: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

subroutine  pscalar/get_slices_pscalar(f, slices)
Parameters:
subroutine  pscalar/pscalar_before_boundary(f)
Parameters:

f (,,*,*) [real,inout,contiguous]

subroutine  pscalar/calc_mpscalar()