testfield_xy

Module

Description

$Id: testfield_xy.f90 20934 2013-08-22 19:27:54Z mreinhardt@nordita.org $

This modules deals with all aspects of testfield fields; if no testfield fields are invoked, a corresponding replacement dummy routine is used instead which absorbs all the calls to the testfield relevant subroutines listed in here.

Derived from testfield_xz by P. Kapyla, A. Brandenburg and M. Rheinhardt

27-aug-13/pete: adapted from testfield_xz.f90

** 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 :: ltestfield = .true. CPARAM logical, parameter :: ltestfield_xy = .true. CPARAM logical, parameter :: ltestfield_z = .false. CPARAM logical, parameter :: ltestfield_xz = .false.

** AUTOMATIC REFERENCE-LINK.TEX GENERATION **************** Declare relevant citations from pencil-code/doc/citations/ref.bib for this module. The entries are taken from pencil-code/doc/citations/notes.tex

2008A&A…482..739B,% Brandenburg, Rädler & Schrinner “Scale dependence of alpha effect and turbulent diffusivity”


Quick access

Variables:

alpha, alpha_incoh_tens, alpha_incoherent, alpha_tmp, alpij_tmp, ampl_fcont_aatest, ampl_fcont_uutest, amplaatest, amplhhtest, atilde, atilde_denom1, b_ext, bamp, bamp1, bamp12, bampz, bampz1, bb11_r, bb11_xy, bb11_xy2, bb11_xy3, bb11_xy4, bb11_xz, bb11_xz2, bb11_yz, bb1_r, bb1_xy, bb1_xy2, bb1_xy3, bb1_xy4, bb1_xz, bb1_xz2, bb1_yz, bbb, bbmz, beta, bpq, btest_ext, btilde, btilde_denom1, c2kz, c2z, calc_coeffc_z, calc_coeffs, calc_coeffs_z, calc_diagnostics_testfield, cdiags, chiraltest, cs0test, cs20test, csec, csz, cx, cy, daainit, damp_uxb, delta_testfield, delta_testfield_next, delta_testfield_time, dj0dr, dn0dr, dp1_dtheta, dt_iter, eampxy, eipq, eta_hyper3_test, eta_incoh_tensor, etaij_tmp, etatest, etatest1, get_ab_from_tildeab, glnrhomz, i1, i2, i3, i4, i5, i6, i7, i8, i9, idiag_a11xy, idiag_a12xy, idiag_a13xy, idiag_a21xy, idiag_a22xy, idiag_a23xy, idiag_a31xy, idiag_a32xy, idiag_a33xy, idiag_alp11, idiag_alp11_x, idiag_alp11_x2, idiag_alp11cc, idiag_alp11exz, idiag_alp11h, idiag_alp11x, idiag_alp11xz, idiag_alp11z, idiag_alp12, idiag_alp12_x, idiag_alp12_x2, idiag_alp12cs, idiag_alp12exz, idiag_alp12x, idiag_alp12xz, idiag_alp12z, idiag_alp13, idiag_alp13exz, idiag_alp13xz, idiag_alp13z, idiag_alp21, idiag_alp21_x, idiag_alp21_x2, idiag_alp21exz, idiag_alp21sc, idiag_alp21x, idiag_alp21xz, idiag_alp21z, idiag_alp22, idiag_alp22_x, idiag_alp22_x2, idiag_alp22exz, idiag_alp22ss, idiag_alp22x, idiag_alp22xz, idiag_alp22z, idiag_alp23, idiag_alp23exz, idiag_alp23xz, idiag_alp23z, idiag_alp31, idiag_alp31exz, idiag_alp31xz, idiag_alp31z, idiag_alp32, idiag_alp32exz, idiag_alp32xz, idiag_alp32z, idiag_alp33, idiag_alp33exz, idiag_alp33xz, idiag_alp33z, idiag_alpk, idiag_alpm, idiag_alpmk, idiag_alppara, idiag_alpparaz, idiag_alpperp, idiag_alpperpz, idiag_b0max, idiag_b0rms, idiag_b111xy, idiag_b112xy, idiag_b11rms, idiag_b121xy, idiag_b122xy, idiag_b12rms, idiag_b131xy, idiag_b132xy, idiag_b1rms, idiag_b211xy, idiag_b212xy, idiag_b21rms, idiag_b221xy, idiag_b222xy, idiag_b22rms, idiag_b231xy, idiag_b232xy, idiag_b2rms, idiag_b311xy, idiag_b312xy, idiag_b321xy, idiag_b322xy, idiag_b331xy, idiag_b332xy, idiag_b3rms, idiag_bamp, idiag_base_end, idiag_bcosphz, idiag_betpara, idiag_betparaz, idiag_betperp, idiag_betperp2, idiag_betperpz, idiag_bhrms, idiag_bij_end, idiag_bij_start, idiag_bsinphz, idiag_bx0mz, idiag_bx0pt, idiag_bx11pt, idiag_bx12pt, idiag_bx1pt, idiag_bx21pt, idiag_bx22pt, idiag_bx2pt, idiag_bx3pt, idiag_by0mz, idiag_by0pt, idiag_by11pt, idiag_by12pt, idiag_by21pt, idiag_by22pt, idiag_bz0mz, idiag_del, idiag_del2, idiag_delz, idiag_e0mrms, idiag_e0rms, idiag_e0um, idiag_e0wm, idiag_e0xrms, idiag_e0yrms, idiag_e10z, idiag_e111z, idiag_e112z, idiag_e11rms, idiag_e11xy, idiag_e121z, idiag_e122z, idiag_e12rms, idiag_e12xy, idiag_e13xy, idiag_e20z, idiag_e211z, idiag_e212z, idiag_e21rms, idiag_e21xy, idiag_e221z, idiag_e222z, idiag_e22rms, idiag_e22xy, idiag_e23xy, idiag_e30z, idiag_e311z, idiag_e312z, idiag_e31xy, idiag_e321z, idiag_e322z, idiag_e32xy, idiag_e33xy, idiag_e41xy, idiag_e42xy, idiag_e43xy, idiag_e51xy, idiag_e52xy, idiag_e53xy, idiag_e61xy, idiag_e62xy, idiag_e63xy, idiag_e71xy, idiag_e72xy, idiag_e73xy, idiag_e81xy, idiag_e82xy, idiag_e83xy, idiag_e91xy, idiag_e92xy, idiag_e93xy, idiag_ebpq, idiag_eij_end, idiag_eij_start, idiag_eta11, idiag_eta111xz, idiag_eta111z, idiag_eta113xz, idiag_eta113z, idiag_eta11_x, idiag_eta11_x2, idiag_eta11cc, idiag_eta11x, idiag_eta11z, idiag_eta12, idiag_eta121xz, idiag_eta121z, idiag_eta122h, idiag_eta123h, idiag_eta123xz, idiag_eta123z, idiag_eta12_x, idiag_eta12_x2, idiag_eta12cs, idiag_eta12x, idiag_eta12z, idiag_eta131xz, idiag_eta131z, idiag_eta133xz, idiag_eta133z, idiag_eta21, idiag_eta211xz, idiag_eta211z, idiag_eta213xz, idiag_eta213z, idiag_eta21_x, idiag_eta21_x2, idiag_eta21sc, idiag_eta21x, idiag_eta21z, idiag_eta22, idiag_eta221xz, idiag_eta221z, idiag_eta223xz, idiag_eta223z, idiag_eta22_x, idiag_eta22_x2, idiag_eta22ss, idiag_eta22x, idiag_eta22z, idiag_eta231xz, idiag_eta231z, idiag_eta233xz, idiag_eta233z, idiag_eta31, idiag_eta311xz, idiag_eta311z, idiag_eta313xz, idiag_eta313z, idiag_eta32, idiag_eta321xz, idiag_eta321z, idiag_eta323xz, idiag_eta323z, idiag_eta331xz, idiag_eta331z, idiag_eta333xz, idiag_eta333z, idiag_ex0pt, idiag_ex11pt, idiag_ex12pt, idiag_ex21pt, idiag_ex22pt, idiag_ey0pt, idiag_ey11pt, idiag_ey12pt, idiag_ey21pt, idiag_ey22pt, idiag_gam, idiag_gamz, idiag_h0max, idiag_h0rms, idiag_h11rms, idiag_h12rms, idiag_h21rms, idiag_h22rms, idiag_j11rms, idiag_jb0m, idiag_kappara, idiag_kapparaz, idiag_kapperp, idiag_kapperp2, idiag_kapperpz, idiag_keep, idiag_m11, idiag_m11cc, idiag_m11ss, idiag_m11z, idiag_m12cs, idiag_m22, idiag_m22cc, idiag_m22ss, idiag_m22z, idiag_m33, idiag_m33z, idiag_mu, idiag_mu2, idiag_muz, idiag_phi11, idiag_phi12, idiag_phi21, idiag_phi22, idiag_phi32, idiag_phik, idiag_phim, idiag_phimk, idiag_psi11, idiag_psi12, idiag_psi21, idiag_psi22, idiag_rho0m, idiag_s2kzdfm, idiag_sig1, idiag_sig2, idiag_sig3, idiag_tau1, idiag_tau2, idiag_u0max, idiag_u0rms, idiag_u11rms, idiag_u12rms, idiag_u21rms, idiag_u22rms, idiag_ub0m, idiag_uj0m, idiag_ux0m, idiag_ux11m, idiag_uy0m, idiag_uy11m, idiag_uzjx1z, idiag_uzjx2z, idiag_uzjx3z, idiag_uzjx4z, idiag_uzjy1z, idiag_uzjy2z, idiag_uzjy3z, idiag_uzjy4z, idiag_uzjz1z, idiag_uzjz2z, idiag_uzjz3z, idiag_uzjz4z, idiags, idiags_x, idiags_xy, idiags_xz, idiags_z, ie0, ihhtest, ihxtest, initaatest, inithhtest, invert_bbtest_harmonic, invert_bbtest_j0_p1, invert_bbtest_srsrc07, invert_testfield_eqn, itestfield, itestfield_method, iu0xtest, iu0ztest, iuxtest, iuytest, iuztest, ivid_bb1, ivid_bb11, j0r, jjmz, jpq, jtest_start, jxbtestm, jxbtestmz, kdamp_2ndord, kdamp_iter, khtf, khtf1, krtf, krtf1, ktestfield, ktestfield1, ktestfield_x, ktestfield_y, ktestfield_z, kx_aatest, kxbx1, kxbz1, kxtestfield, kxtestfield1, ky1, ky_aatest, kybx1, kybz1, kytestfield, kytestfield1, kz1, kz_aatest, lalpha_incoh_tens, lalpha_incoherent, lam_testfield, lbext, lcalc_uumean, lcalc_zdep_coeffs, lcomplex, len_cdiags, leta_incoh_tensor, leta_rank2, lfirst_iter, lflucts_with_xyaver, lforcing_cont_aatest, lforcing_cont_uutest, lfprestest, lignore_jxbtestm, lignore_sghtestm, lignore_ughtestm, lignore_ugutestm, lignore_uxbtestm, lin_testfield, linit_aatest, linitialize0_from_mainrun, liter, ljxb_as_aux, llorentzforce_testfield, lphase_adjust, lremove_e0, lremove_f0, lremove_mean_flow_nltfm_all, lremove_mean_flow_nltfm_zero, lremove_meanaa0x_test, lremove_meanaa0y_test, lremove_meanuu0x_test, lremove_meanuu0y_test, lremove_q0, lremove_zmeans_nltfm_zero, lset_bbtest2, lsgh_as_aux, lsghtest, lsoca, lsoca_jxb, ltest_jxb, ltest_uxb, ltestfield_artifric, ltestfield_linear, ltestfield_newx, ltestfield_newy, ltestfield_newz, ltestfield_profile_eta_z, ltestfield_taver, lugh_as_aux, lugu, lugutest, lupw_hhtest, lupw_uutest, luse_main_run, luxb_as_aux, lvisc_simplified_testfield, lzero_only, minv, n0r, n_cdiags, naainit, needed2d, njtest, njtestl, nkeep, nuxb, om_testfield, p1, phase_testfield, phasex_aatest, phasez_aatest, reduce_iter, reinitialize_aatest, reinitialize_from_mainrun, rescale_aatest, rescale_hhtest, rescale_uutest, rho0test, rho0test1, s2kz, s2z, set_b0test_b11_b21, set_b0test_b11_b22, set_b0test_b11_b22_lin, set_b0test_beltrami, set_bbtest, set_bbtest2, set_bbtest3, set_bbtest4, set_bbtest_alt, set_bbtest_alt_ii, set_bbtest_b11_b21, set_bbtest_b11_b22, set_bbtest_b11_b22_lin, set_bbtest_beltrami, set_bbtest_cxcycz, set_bbtest_harmonic, set_bbtest_j0_p1, set_bbtest_linear, set_bbtest_linear_old, set_bbtest_sinkz, set_bbtest_srsrc07, set_bbtest_sxsysz, set_j0test_b11_b21, set_j0test_b11_b22, sghtestmz, sx, sy, t_iter_last, taainit, taainit_previous, tau1_aatest, tau_aatest, testfield_zaver_range, twod_need_1d, twod_need_2d, ughtestmz, ugutestmz, umeanampxy, uxbtestm, uxbtestmz, x2, xextent, xtf, xx, xx0, ytf, yy0, ztestfield_offset, zz0

Routines:

daatest_dt(), get_slices_testfield(), init_aatest(), initialize_testfield(), pencil_criteria_testfield(), pencil_interdep_testfield(), read_testfield_init_pars(), read_testfield_run_pars(), register_testfield(), rescaling_testfield(), rprint_testfield(), testfield_after_boundary(), testfield_before_boundary(), write_testfield_init_pars(), write_testfield_run_pars()

Needed modules

Variables

  • testfield/calc_coeffs [private]
  • testfield/cdiags (89) [character,private/optional/default=(/'alp11   ','alp21   ','alp31   ','alp12   ','alp22   ','alp32   ','alp13   ','alp23   ','alp33   ','eta111  ','eta211  ','eta311  ','eta121  ','eta221  ','eta321  ','eta131  ','eta231  ','eta331  ','eta112  ','eta212  ','eta312  ','eta122  ','eta222  ','eta322  ','eta132  ','eta232  ','eta332  ','alp11cc ','alp11cs ','alp11sc ','alp11ss ','eta122cc','eta122cs','eta122sc','eta122ss','e11     ','e21     ','e31     ','e12     ','e22     ','e32     ','e13     ','e23     ','e33     ','e14     ','e24     ','e34     ','e15     ','e25     ','e35     ','e16     ','e26     ','e36     ','e17     ','e27     ','e37     ','e18     ','e28     ','e38     ','e19     ','e29     ','e39     ','b11     ','b21     ','b31     ','b12     ','b22     ','b32     ','b13     ','b23     ','b33     ','b14     ','b24     ','b34     ','b15     ','b25     ','b35     ','b16     ','b26     ','b36     ','b17     ','b27     ','b37     ','b18     ','b28     ','b38     ','b19     ','b29     ','b39     '/)]
  • testfield/cx (nx) [real,private]
  • testfield/cy (ny) [real,private]
  • testfield/idiag_alp11h (4) [integer,private]
  • testfield/idiag_base_end [integer,private/parameter/optional/default=27]
  • testfield/idiag_bij_end [integer,private/parameter/optional/default=idiag_bij_start+27-1]
  • testfield/idiag_bij_start [integer,private/parameter/optional/default=idiag_eij_end+1]
  • testfield/idiag_eij_end [integer,private/parameter/optional/default=62]
  • testfield/idiag_eij_start [integer,private/parameter/optional/default=36]
  • testfield/idiag_eta122h (4) [integer,private]
  • testfield/idiags (89) [integer,private/optional/default=0]
  • testfield/idiags_x (89) [integer,private/optional/default=0]
  • testfield/idiags_xy (89) [integer,private/optional/default=0]
  • testfield/ktestfield_x [real,private/optional/default=1.0]
  • testfield/ktestfield_y [real,private/optional/default=1.0]
  • testfield/len_cdiags [integer,private/parameter/optional/default=8]
  • testfield/lflucts_with_xyaver [logical,private/optional/default=.false.]
  • testfield/minv (nx,ny,3,3) [real,private]
  • testfield/n_cdiags [integer,private/parameter/optional/default=89]
  • testfield/needed2d (2) [logical,private]
  • testfield/set_bbtest [private]
  • testfield/set_bbtest2 [private]
  • testfield/set_bbtest3 [private]
  • testfield/set_bbtest4 [private]
  • testfield/sx (nx) [real,private]
  • testfield/sy (ny) [real,private]
  • testfield/twod_need_1d (27) [logical,private]
  • testfield/twod_need_2d (27) [logical,private]
  • testfield/uxbtestm (nx,ny,3,njtest) [real,private]
  • testfield/xx0 [real,private/optional/default=0.0]
  • testfield/yy0 [real,private/optional/default=0.0]

Subroutines and functions

subroutine  testfield/initialize_testfield(f)

Perform any post-parameter-read initialization

2-jun-05/axel: adapted from magnetic

27-jun-13/MRset itestfield=’1’ as it is only implemented case

set lcalc_uumeanxy=.true., itestfield now string

20-oct-13/MR : calculation of means in hydro triggered

Parameters:

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

Use :

hydro (lcalc_uumeanxy(), calc_means_hydro())

Call to:

initialize_testfield_general(), calc_inverse_matrix(), calc_means_hydro(), rhs_daatest(), fatal_error(), calc_2d_diagnostics_testfield(), curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/read_testfield_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

rhs_daatest(), fatal_error(), calc_2d_diagnostics_testfield(), curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/write_testfield_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

rhs_daatest(), fatal_error(), calc_2d_diagnostics_testfield(), curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/daatest_dt(f, df, p)

testfield evolution calculate da^(q)/dt=uxB^(q)+eta*del2A^(q), where q=1,…,9

3-jun-05/axel: coded

27-jun-13/MRcorrect calculation of uufluct intro’d

moved calculation of xy-averaged quantities to calc_coefficients, completed

Parameters:
Use :

diagnostics (zsum_mn_name_xy_mpar_scal()), hydro (uumxy())

Call to:

rhs_daatest(), fatal_error(), calc_2d_diagnostics_testfield(), curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/get_slices_testfield(f, slices)

Dummy routine

Parameters:
Call to:

curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/testfield_before_boundary(f)

Actions to take before boundary conditions are set.

4-oct-18/axel+nishant: adapted from testflow

Parameters:

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

Call to:

curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/testfield_after_boundary(f)

calculate <uxb>, which is needed when lsoca=.false.

21-jan-06/axel: coded 04-oct-13/MR : removed p from parameter list, introd calculation of

hydro pencils (restricted); simplified communication

Parameters:

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

Use :

sub (curl(), cross_mn(), finalize_aver()), hydro (calc_pencils_hydro())

Call to:

curl(), cross_mn(), calc_coefficients(), diagnos_interdep()

subroutine  testfield/rprint_testfield(lreset[, lwrite])

reads and registers print parameters relevant for testfield fields

3-jun-05/axel: adapted from rprint_magnetic

26-feb-13/MRoutput of ntestfield in index.pro added

6-mar-13/MR : alternative parse_name used

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics (parse_name())

Call to:

diagnos_interdep()