testscalar_simple
Module
Description
$Id$
This modules deals with all aspects of testscalar fields; if no testscalar fields are invoked, a corresponding replacement dummy routine is used instead which absorbs all the calls to the testscalar relevant subroutines listed in here.
This solves for a simple testscalar where the effect of the flow is assumed to be purely diffusive.
Note: this routine requires that MVAR and MAUX contributions together with njtestscalar are set correctly in the cparam.local file. njtestscalar must be set at the end of the file such that njtestscalar=MVAR.
Example: ! MVAR CONTRIBUTION 2 ! MAUX CONTRIBUTION 2 integer, parameter :: njtestscalar=2
** 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 :: ltestscalar = .true.
MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0
Quick access
- Variables:
amplcctest,camp,camp1,ccc,dccinit,delta_testscalar,delta_testscalar_next,idiag_c1pt,idiag_c1rms,idiag_c2pt,idiag_c2rms,idiag_c3pt,idiag_c3rms,idiag_c4pt,idiag_c4rms,idiag_c5pt,idiag_c5rms,idiag_c6pt,idiag_c6rms,idiag_f11z,idiag_f12z,idiag_f21z,idiag_f22z,idiag_f31z,idiag_f32z,idiag_gam11,idiag_gam11z,idiag_gam12,idiag_gam12z,idiag_gam13,idiag_gam13z,idiag_gam21,idiag_gam21z,idiag_gam22,idiag_gam22z,idiag_gam23,idiag_gam23z,idiag_gam31,idiag_gam31z,idiag_gam32,idiag_gam32z,idiag_gam33,idiag_gam33z,idiag_gam3z,idiag_gamc,idiag_gamcz,idiag_kap11,idiag_kap11z,idiag_kap12,idiag_kap12z,idiag_kap13,idiag_kap13z,idiag_kap21,idiag_kap21z,idiag_kap22,idiag_kap22z,idiag_kap23,idiag_kap23z,idiag_kap31,idiag_kap31z,idiag_kap32,idiag_kap32z,idiag_kap33,idiag_kap33z,idiag_kapcpara,idiag_kapcparaz,idiag_kapcperp1,idiag_kapcperp2,idiag_kapcperpz,idiag_mgam33,idiag_mkap33,idiag_muc1,idiag_muc2,idiag_mucz,idiag_ngam33,idiag_nkap33,initcctest,itestscalar,jtestx1,jtestx2,jtesty1,jtesty2,jtestz1,jtestz2,kappatest,kappatest1,ktestscalar,ktestscalar1,kx1,kx_cctest,kxtestscalar,kxtestscalar1,ky_cctest,kytestscalar,kytestscalar1,kz_cctest,lam_testscalar,lignore_ugtestm,linit_cctest,lset_cctest2,lsoca_ug,ltestscalar_newx,ltestscalar_newy,ltestscalar_newz,ltestscalar_per_unitvolume,ltestscalar_ugc,lug_as_aux,mtestscalar,nccinit,om_testscalar,phasex_cctest,phasez_cctest,reinitialize_cctest,rescale_cctest,set_ggtest_g1_g2,set_ggtest_g1_g2_const,tccinit,tccinit_previous,testscalar_zaver_range,ugtestm,ugtestmx,ugtestmy,zmask- Routines:
dcctest_dt(),get_slices_testscalar(),init_cctest(),initialize_testscalar(),pencil_criteria_testscalar(),pencil_interdep_testscalar(),read_testscalar_init_pars(),read_testscalar_run_pars(),register_testscalar(),rescaling_testscalar(),rprint_testscalar(),testscalar_after_boundary(),write_testscalar_init_pars(),write_testscalar_run_pars()
Needed modules
Variables
- testscalar/camp [real,private/optional/default=1.0]
- testscalar/camp1 [real,private/optional/default=1.0]
- testscalar/dccinit [real,private/optional/default=0.0]
- testscalar/delta_testscalar [real,private/optional/default=0.0]
- testscalar/delta_testscalar_next [real,private/optional/default=0.0]
- testscalar/idiag_c1pt [integer,private/optional/default=0]
DIAG_DOC: $c^{1}$
- testscalar/idiag_c1rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{1}^2right>^{1/2}$
- testscalar/idiag_c2pt [integer,private/optional/default=0]
DIAG_DOC: $c^{2}$
- testscalar/idiag_c2rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{2}^2right>^{1/2}$
- testscalar/idiag_c3pt [integer,private/optional/default=0]
DIAG_DOC: $c^{3}$
- testscalar/idiag_c3rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{3}^2right>^{1/2}$
- testscalar/idiag_c4pt [integer,private/optional/default=0]
DIAG_DOC: $c^{4}$
- testscalar/idiag_c4rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{4}^2right>^{1/2}$
- testscalar/idiag_c5pt [integer,private/optional/default=0]
DIAG_DOC: $c^{5}$
- testscalar/idiag_c5rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{5}^2right>^{1/2}$
- testscalar/idiag_c6pt [integer,private/optional/default=0]
DIAG_DOC: $c^{6}$
- testscalar/idiag_c6rms [integer,private/optional/default=0]
DIAG_DOC: $left<c_{6}^2right>^{1/2}$
- testscalar/idiag_f11z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_1^{1}$
- testscalar/idiag_f12z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_1^{2}$
- testscalar/idiag_f21z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_2^{1}$
- testscalar/idiag_f22z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_2^{2}$
- testscalar/idiag_f31z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_3^{1}$
- testscalar/idiag_f32z [integer,private/optional/default=0]
DIAG_DOC: ${cal F}_3^{2}$
- testscalar/idiag_gam11 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(1)}$
- testscalar/idiag_gam11z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(1)}(z,t)$
- testscalar/idiag_gam12 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(1)}$
- testscalar/idiag_gam12z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(1)}(z,t)$
- testscalar/idiag_gam13 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(1)}$
- testscalar/idiag_gam13z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(1)}(z,t)$
- testscalar/idiag_gam21 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(2)}$
- testscalar/idiag_gam21z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(2)}(z,t)$
- testscalar/idiag_gam22 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(2)}$
- testscalar/idiag_gam22z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(2)}(z,t)$
- testscalar/idiag_gam23 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(2)}$
- testscalar/idiag_gam23z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(2)}(z,t)$
- testscalar/idiag_gam31 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(3)}$
- testscalar/idiag_gam31z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{1}^{(3)}(z,t)$
- testscalar/idiag_gam32 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(3)}$
- testscalar/idiag_gam32z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{2}^{(3)}(z,t)$
- testscalar/idiag_gam33 [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(3)}$
- testscalar/idiag_gam33z [integer,private/optional/default=0]
DIAG_DOC: $gamma_{3}^{(3)}(z,t)$
- testscalar/idiag_kap11 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{11}$
- testscalar/idiag_kap11z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{11}(z,t)$
- testscalar/idiag_kap12 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{12}$
- testscalar/idiag_kap12z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{12}(z,t)$
- testscalar/idiag_kap13 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{13}$
- testscalar/idiag_kap13z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{13}(z,t)$
- testscalar/idiag_kap21 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{21}$
- testscalar/idiag_kap21z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{21}(z,t)$
- testscalar/idiag_kap22 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{22}$
- testscalar/idiag_kap22z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{22}(z,t)$
- testscalar/idiag_kap23 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{23}$
- testscalar/idiag_kap23z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{23}(z,t)$
- testscalar/idiag_kap31 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{31}$
- testscalar/idiag_kap31z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{31}(z,t)$
- testscalar/idiag_kap32 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{32}$
- testscalar/idiag_kap32z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{32}(z,t)$
- testscalar/idiag_kap33 [integer,private/optional/default=0]
DIAG_DOC: $kappa_{33}$
- testscalar/idiag_kap33z [integer,private/optional/default=0]
DIAG_DOC: $kappa_{33}(z,t)$
- testscalar/idiag_mgam33 [integer,private/optional/default=0]
DIAG_DOC: $tildegamma_{33}$
- testscalar/idiag_mkap33 [integer,private/optional/default=0]
DIAG_DOC: $tildekappa_{33}$
- testscalar/idiag_ngam33 [integer,private/optional/default=0]
DIAG_DOC: $hatgamma_{33}$
- testscalar/idiag_nkap33 [integer,private/optional/default=0]
DIAG_DOC: $hatkappa_{33}$
- testscalar/itestscalar [character,private/optional/default='g1-g2']
- testscalar/jtestx1 [integer,private/parameter/optional/default=3]
- testscalar/jtestx2 [integer,private/parameter/optional/default=4]
- testscalar/jtesty1 [integer,private/parameter/optional/default=5]
- testscalar/jtesty2 [integer,private/parameter/optional/default=6]
- testscalar/jtestz1 [integer,private/parameter/optional/default=1]
- testscalar/jtestz2 [integer,private/parameter/optional/default=2]
- testscalar/kappatest [real,private/optional/default=0.0]
- testscalar/kappatest1 [real,private/optional/default=0.0]
- testscalar/ktestscalar [real,private/optional/default=1.0]
- testscalar/ktestscalar1 [real,private/optional/default=1.0]
- testscalar/kxtestscalar [real,private/optional/default=1.0]
- testscalar/kxtestscalar1 [real,private/optional/default=1.0]
- testscalar/kytestscalar [real,private/optional/default=1.0]
- testscalar/kytestscalar1 [real,private/optional/default=1.0]
- testscalar/lam_testscalar [real,private/optional/default=0.0]
- testscalar/lignore_ugtestm [logical,private/optional/default=.false.]
- testscalar/linit_cctest [logical,private/optional/default=.false.]
- testscalar/lset_cctest2 [logical,private/optional/default=.false.]
- testscalar/lsoca_ug [logical,private/optional/default=.false.]
- testscalar/ltestscalar_newx [logical,private/optional/default=.false.]
- testscalar/ltestscalar_newy [logical,private/optional/default=.false.]
- testscalar/ltestscalar_newz [logical,private/optional/default=.true.]
- testscalar/ltestscalar_per_unitvolume [logical,private/optional/default=.false.]
- testscalar/ltestscalar_ugc [logical,private/optional/default=.false.]
- testscalar/lug_as_aux [logical,private/optional/default=.false.]
- testscalar/mtestscalar [integer,private/parameter/optional/default=njtestscalar]
- testscalar/nccinit [integer,private]
- testscalar/om_testscalar [real,private/optional/default=0.0]
- testscalar/reinitialize_cctest [logical,private/optional/default=.false.]
- testscalar/rescale_cctest (njtestscalar) [real,private/optional/default=0.]
- testscalar/set_ggtest_g1_g2 [private]
- testscalar/set_ggtest_g1_g2_const [private]
- testscalar/tccinit [real,private/optional/default=0.0]
- testscalar/tccinit_previous [real,private/optional/default=0.0]
- testscalar/zextent [logical,private/optional/default=.true.]
Subroutines and functions
- subroutine testscalar/register_testscalar()
Initialise variables which should know that we solve for the vector potential: icctest, etc; increase nvar accordingly
26-nov-08/axel: adapted from testfield_z.f90 17-apr-09/axel: added y column of kappa tensor
- Use :
- Called from:
- Call to:
svn_id(),stop_it(),initial_condition_cctest(),identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/initialize_testscalar(f)
Perform any post-parameter-read initialization
26-nov-08/axel: adapted from testfield_z.f90 27-dec-08/axel: extended to x-dependent mean fields
- Parameters:
- Use :
- Called from:
- Call to:
stop_it(),initial_condition_cctest(),identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/init_cctest(f)
initialise testscalar; called from start.f90
26-nov-08/axel: adapted from testfield_z.f90
- Parameters:
- Use :
cdata,mpicomm(stop_it()),initialcondition(initial_condition_cctest())- Call to:
stop_it(),initial_condition_cctest(),identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/pencil_criteria_testscalar()
All pencils that the Testscalar module depends on are specified here.
26-jun-05/anders: adapted from magnetic
- Use :
- Called from:
register_modules(),initialize_modules(),finalize_modules(),choose_pencils()- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/pencil_interdep_testscalar(lpencil_in)
Interdependency among pencils from the Testscalar module is specified here.
26-jun-05/anders: adapted from magnetic
- Parameters:
lpencil_in (npencils) [logical]
- Use :
- Called from:
register_modules(),initialize_modules(),finalize_modules(),choose_pencils()- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/read_testscalar_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/write_testscalar_init_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/read_testscalar_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/write_testscalar_run_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/dcctest_dt(f, df, p)
testscalar evolution:
calculate dc^(p)/dt=-U.g^(p)-u.G^(p)-u.g+<u.g>]+kappa*del2c^(p), where p=1,2 and g=grad c
26-nov-08/axel: adapted from testfield_z.f90 27-dec-08/axel: extended to x-dependent mean fields 17-apr-09/axel: added y column of kappa tensor 27-sep-13/MR : changes due to ugtestm(mz,… –> ugtestm(nz,…,
ugtestmy(my,… –> ugtestmy(ny,…
- Parameters:
- Use :
cdata,diagnostics,sub,hydro(uumz(),lcalc_uumeanz()),mpicomm(stop_it())- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics()- Call to:
identify_bcs(),fatal_error(),dot_mn(),xysum_mn_name_z(),stop_it(),save_name(),read_snaptime(),update_snaptime()
- subroutine testscalar/get_slices_testscalar(f, slices)
Write slices for animation of magnetic variables.
26-nov-08/axel: adapted from testfield_z.f90
- Parameters:
slices [slice_data]
- Use :
cdata(icctest(),lwrite_slice_xy3(),lwrite_slice_xy4(),ix_loc(),iy_loc(),iz_loc(),iz2_loc(),iz3_loc(),iz4_loc())- Called from:
- Call to:
- subroutine testscalar/testscalar_after_boundary(f)
Calculate either <ug> or, if ltestscalar_per_unitvolume=T, <ug>+<du>, where g=gradc and d=divu. This is needed when lsoca_ug=F.
26-nov-08/axel: adapted from testfield_z.f90 27-dec-08/axel: also calculate yz-averages
8-aug-10/axel: renamed calc_ltestscalar_pars => testscalar_after_boundary
- 27-sep-13/MRchanges due to ugtestm(mz,… –> ugtestm(nz,… ,
ugtestmy(my,… –> ugtestmy(ny,… ;
restricted calculation of hydro pencils; simplified communication.
- Parameters:
- Use :
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics()- Call to:
- subroutine testscalar/rescaling_testscalar(f)
Rescale testscalar by factor rescale_cctest(jtest), which could be different for different testscalar
26-nov-08/axel: adapted from testfield_z.f90
- Parameters:
- Use :
- Called from:
- Call to:
- subroutine testscalar/rprint_testscalar(lreset[, lwrite])
reads and registers print parameters relevant for testscalar fields
26-nov-08/axel: adapted from testfield_z.f90 27-dec-08/axel: included kap11, kap21, and kap31
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
cdata,diagnostics,farraymanager(farray_index_append()),general(loptest())- Called from:
register_modules(),initialize_modules(),finalize_modules(),choose_pencils(),rprint_list()