magnetic_shearboxJ

Module

Description

$Id$

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

** 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 :: lmagnetic = .true. CPARAM logical, parameter :: lbfield = .false.

MVAR CONTRIBUTION 3 MAUX CONTRIBUTION 0

PENCILS PROVIDED aa(3); a2; aij(3,3); bb(3); bbb(3); ab; ua; exa(3) PENCILS PROVIDED b2; bf2; bij(3,3); del2a(3); graddiva(3); jj(3); e3xa(3) PENCILS PROVIDED j2; jb; va2; jxb(3); jxbr(3); jxbr2; ub; uxb(3); uxb2 PENCILS PROVIDED uxj(3); chibp; beta; beta1; uga(3); djuidjbi; jo PENCILS PROVIDED StokesI; StokesQ; StokesU; StokesQ1; StokesU1 PENCILS PROVIDED ujxb; oxu(3); oxuxb(3); jxbxb(3); jxbrxb(3) PENCILS PROVIDED glnrhoxb(3); del4a(3); del6a(3); oxj(3); diva PENCILS PROVIDED jij(3,3); sj; ss12; d6ab PENCILS PROVIDED etava; etaj; etaj2; etajrho PENCILS PROVIDED cosjb; jparallel; jperp PENCILS PROVIDED cosub; bunit(3) PENCILS PROVIDED hjj(3); hj2; hjb; coshjb PENCILS PROVIDED hjparallel; hjperp; nu_ni1 ***********************************************************

Quick access

Types:

magspectra

Variables:

a_relaxprofile, a_relprof, aakim, aakre, aamxy, aamxz, aamz, ab_r, ab_xy, ab_xy2, ab_xy3, ab_xy4, ab_xz, ab_xz2, ab_yz, abc_a, abc_b, abc_c, abcaa, alev, alp_aniso, alpf_mhd, alpha2_inflation, alpha_cutoff_down, alpha_cutoff_up, alpha_dx1, alpha_effect, alpha_eps, alpha_equator, alpha_equator_gap, alpha_gap_step, alpha_inflation, alpha_input, alpha_quenching, alpha_x, alpha_x1, alpha_xprofile, alpha_y, alpha_yprofile, alphassm, ambipolar_diffusion, amp_relprof, ampl_ax, ampl_ay, ampl_az, ampl_b0, ampl_beltrami, ampl_efield, ampl_fcont_aa, ampl_ff, ampl_uy, amplaa, amplaa2, amplaab, amplaaj, angle_dip, aps_xy, aps_xz, aps_xz2, aps_yz, arms, axisr1, axisr2, axisr3, b0_ext, b0_ext_z, b0_ext_z_h, b0_magfric, b1_ext, b2_diamag, b2_r, b2_xy, b2_xy2, b2_xy3, b2_xy4, b2_xz, b2_xz2, b2_yz, b2min, b_ext11, b_ext2, b_ext21, b_ext_inv, b_ext_tmp, battery_term, bb_r, bb_sph_r, bb_sph_xy, bb_sph_xy2, bb_sph_xy3, bb_sph_xy4, bb_sph_xz, bb_sph_xz2, bb_sph_yz, bb_xy, bb_xy2, bb_xy3, bb_xy4, bb_xz, bb_xz2, bb_yz, beta1_inflation, beta1_r, beta1_xy, beta1_xy2, beta1_xy3, beta1_xy4, beta1_xz, beta1_xz2, beta1_yz, beta2_inflation, beta_xy, beta_xy2, beta_xy3, beta_xy4, beta_xz, beta_yz, betamin_jxb, bij_0d_test, bmz, bmz_beltrami_phase, borderaa, boxchargedensity, boxcurrentux, boxomega, boxshear, brms, brms_target, bthresh, bthresh_per_brms, bthresh_scl, by_left, by_right, bz_left, bz_right, bz_stratified, c_light21, calc_0d_diagnostics_magnetic, calc_1d_diagnostics_magnetic, calc_2d_diagnostics_magnetic, calc_aaxyaver, calc_magnetic_slope_limited, calc_pencils_magnetic, calc_pencils_magnetic_pencpar, calc_pencils_magnetic_std, cmin, coefaa, coefbb, compk_aa, conductivity, coskz, cosx, cosz, cutoff_aa, d_smag, daareset, dalpha_x, dalpha_y, damax, damp, delta_effect, detadz, diagnostic_magnetic, diffus_eta, diffus_eta2, diffus_eta3, dipole_moment, displacement_gun, dispr1, dispr2, dispr3, div_sld_magn, domega_x, domega_y, dtcor, edge_moving_layer, eekim, eekre, ekman_friction_aa, ell_jj, enum_ambipolar_diffusion, enum_borderaa, enum_div_sld_magn, enum_iforcing_continuous_aa, enum_ihall_term, enum_rdep_profile, enum_tdep_eta_type, epol, eps_quench, epsi_dip, epsilonaa, eta1, eta1_aniso, eta1_aniso_d, eta1_aniso_r, eta1_aniso_ratio, eta_ampl, eta_aniso_bb, eta_aniso_hyper3, eta_anom, eta_anom_thresh, eta_bb, eta_cspeed, eta_ext, eta_huge, eta_hyper2, eta_hyper3, eta_hyper3_mesh, eta_j, eta_j2, eta_jrho, eta_jump, eta_jump0, eta_jump1, eta_jump2, eta_jump_shock, eta_max, eta_min, eta_mn, eta_out, eta_power_x, eta_power_z, eta_r, eta_r0, eta_r1, eta_rdep, eta_rwidth, eta_rwidth0, eta_rwidth1, eta_shock, eta_shock2, eta_shock_jump1, eta_sld_thresh, eta_smag, eta_spitzer, eta_tdep, eta_tdep_ascale_power, eta_tdep_exponent, eta_tdep_loverride_ee, eta_tdep_t0, eta_tdep_toffset, eta_total, eta_va, eta_width, eta_width_shock, eta_x, eta_x0, eta_x1, eta_xshock, eta_xtdep, eta_xwidth, eta_xwidth0, eta_xwidth1, eta_xy, eta_xy_max, eta_xy_profile, eta_y, eta_y0, eta_y1, eta_ywidth, eta_z, eta_z0, eta_z1, eta_zdep, eta_zdep_coeff, eta_zdep_prof, eta_zgrid, eta_zshock, eta_zwidth, eta_zwidth2, etab, etaj20, exp_epspb, fac_sld_magn, feta_ztdep, fluxtube_border_width, fmax, forcing_continuous, forcing_continuous_aa_amplfact, forcing_continuous_aa_phasefact, forcing_rhs, fres, fring1, fring2, fring3, fring_profile, gamma_epspb, get_eta_t_and_xtdep, get_eta_zdep, get_resistivity, get_resistivity_implicit, geta, geta_r, geta_x, geta_xy, geta_y, geta_z, h_sld_magn, h_slope_limited, hall_tdep_exponent, hall_tdep_t0, hall_term, hall_zdep_exponent, height_eta, hhall, iacou, iacoux, iacouy, iacouz, iakx, iakxim, iaky, iakyim, iakz, iakzim, ibij, icurlb, icurlbx, icurlby, icurlbz, idiag_a2b2m, idiag_a2m, idiag_a2mz, idiag_aa2m, idiag_ab_int, idiag_abm, idiag_abmh, idiag_abmn, idiag_abms, idiag_abmxy, idiag_abmz, idiag_abph1mz, idiag_abph2mz, idiag_abph3mz, idiag_abrms, idiag_abumx, idiag_abumy, idiag_abumz, idiag_abuxmz, idiag_abuymz, idiag_abuzmz, idiag_acbm, idiag_aem, idiag_ajm, idiag_akxpt, idiag_amax, idiag_ambmz, idiag_ambmzh, idiag_ambmzn, idiag_ambmzs, idiag_aphi2m, idiag_apmphi, idiag_apmr, idiag_armphi, idiag_armr, idiag_arms, idiag_axm, idiag_axmxy, idiag_axmxz, idiag_axmz, idiag_axp2, idiag_axpt, idiag_ay2mz, idiag_aybxmz, idiag_aybym2, idiag_aym, idiag_aymxy, idiag_aymxz, idiag_aymz, idiag_ayp2, idiag_aypt, idiag_az2m, idiag_azm, idiag_azmid_max, idiag_azmid_min, idiag_azmid_ymax, idiag_azmid_ymin, idiag_azmphi, idiag_azmr, idiag_azmxy, idiag_azmxz, idiag_azmz, idiag_azp2, idiag_azpt, idiag_b12m, idiag_b1b23m, idiag_b1b32m, idiag_b1m, idiag_b2b13m, idiag_b2b31m, idiag_b2divum, idiag_b2m, idiag_b2mmx, idiag_b2mphi, idiag_b2mr, idiag_b2mx, idiag_b2mxz, idiag_b2mz, idiag_b2ruzm, idiag_b2sphm, idiag_b2tm, idiag_b2uzm, idiag_b3b12m, idiag_b3b21m, idiag_b4m, idiag_b6m, idiag_b8m, idiag_bbxmax, idiag_bbxmz, idiag_bbymax, idiag_bbymz, idiag_bbzmax, idiag_bbzmz, idiag_bcurlfmz, idiag_bdel2amz, idiag_beta1m, idiag_beta1max, idiag_beta1mxy, idiag_beta1mz, idiag_beta2mx, idiag_beta2mz, idiag_betam, idiag_betamax, idiag_betamin, idiag_betamx, idiag_betamz, idiag_bf2m, idiag_bf2mz, idiag_bf4m, idiag_bfrms, idiag_bij2m, idiag_bij_cov_diffmax, idiag_bjtm, idiag_bm, idiag_bm2, idiag_bmax, idiag_bmin, idiag_bmx, idiag_bmxy_rms, idiag_bmy, idiag_bmz, idiag_bmza2, idiag_bmzph, idiag_bmzphe, idiag_bmzs2, idiag_bp2mphi, idiag_bpbzmphi, idiag_bpcmphi, idiag_bphi2m, idiag_bpmphi, idiag_bpmr, idiag_bpol2m, idiag_bpsmphi, idiag_br2mphi, idiag_brbpmphi, idiag_brbzmphi, idiag_brcmphi, idiag_bresrms, idiag_brmphi, idiag_brmr, idiag_brms, idiag_brmsh, idiag_brmsn, idiag_brmss, idiag_brmsx, idiag_brmsz, idiag_brsmphi, idiag_brsphmphi, idiag_bthmphi, idiag_butm, idiag_bx1mxz, idiag_bx2m, idiag_bx2mx, idiag_bx2mxy, idiag_bx2mxz, idiag_bx2my, idiag_bx2mz, idiag_bx2ph1mz, idiag_bx2ph2mz, idiag_bx2ph3mz, idiag_bx2rmz, idiag_bx2rph1mz, idiag_bx2rph2mz, idiag_bx2rph3mz, idiag_bx3m, idiag_bx4m, idiag_bxbym, idiag_bxbymx, idiag_bxbymxy, idiag_bxbymxz, idiag_bxbymy, idiag_bxbymz, idiag_bxbypt, idiag_bxbzm, idiag_bxbzmx, idiag_bxbzmxy, idiag_bxbzmxz, idiag_bxbzmy, idiag_bxbzmz, idiag_bxm, idiag_bxmax, idiag_bxmin, idiag_bxmx, idiag_bxmxy, idiag_bxmxz, idiag_bxmy, idiag_bxmz, idiag_bxp2, idiag_bxph1mz, idiag_bxph2mz, idiag_bxph3mz, idiag_bxpt, idiag_by1mxz, idiag_by2m, idiag_by2mx, idiag_by2mxy, idiag_by2mxz, idiag_by2my, idiag_by2mz, idiag_by2ph1mz, idiag_by2ph2mz, idiag_by2ph3mz, idiag_by2rmz, idiag_by2rph1mz, idiag_by2rph2mz, idiag_by2rph3mz, idiag_by3m, idiag_by4m, idiag_bybzm, idiag_bybzmx, idiag_bybzmxy, idiag_bybzmxz, idiag_bybzmy, idiag_bybzmz, idiag_bybzpt, idiag_bym, idiag_bymax, idiag_bymin, idiag_bymx, idiag_bymxy, idiag_bymxz, idiag_bymy, idiag_bymz, idiag_byp2, idiag_byph1mz, idiag_byph2mz, idiag_byph3mz, idiag_bypt, idiag_bz1mxz, idiag_bz2m, idiag_bz2mphi, idiag_bz2mx, idiag_bz2mxy, idiag_bz2mxz, idiag_bz2my, idiag_bz2mz, idiag_bz2ph1mz, idiag_bz2ph2mz, idiag_bz2ph3mz, idiag_bz2rmz, idiag_bz2rph1mz, idiag_bz2rph2mz, idiag_bz2rph3mz, idiag_bz3m, idiag_bz4m, idiag_bzaymz, idiag_bzbxpt, idiag_bzcmphi, idiag_bzdivamz, idiag_bzlammz, idiag_bzmax, idiag_bzmin, idiag_bzmphi, idiag_bzmr, idiag_bzmx, idiag_bzmxy, idiag_bzmxz, idiag_bzmy, idiag_bzmz, idiag_bzp2, idiag_bzph1mz, idiag_bzph2mz, idiag_bzph3mz, idiag_bzpt, idiag_bzsmphi, idiag_bzuamz, idiag_coshjbm, idiag_cosjbm, idiag_cosubm, idiag_d6abmz, idiag_d6amz1, idiag_d6amz2, idiag_d6amz3, idiag_dbx2m, idiag_dbxdxmxy, idiag_dbxdymxy, idiag_dbxdzmxy, idiag_dbxm, idiag_dbxmax, idiag_dby2m, idiag_dbydxmxy, idiag_dbydymxy, idiag_dbydzmxy, idiag_dbym, idiag_dbymax, idiag_dbz2m, idiag_dbzdxmxy, idiag_dbzdymxy, idiag_dbzdzmxy, idiag_dbzm, idiag_dbzmax, idiag_dexbmx, idiag_dexbmy, idiag_dexbmz, idiag_divamz, idiag_divarms, idiag_divbmax, idiag_divbrms, idiag_dive2m, idiag_divee2m, idiag_djuidjbim, idiag_dobrms, idiag_dtb, idiag_dtbr, idiag_dteta3, idiag_dtfr, idiag_dthr, idiag_dubrms, idiag_e2m, idiag_e3xamz1, idiag_e3xamz2, idiag_e3xamz3, idiag_eem2, idiag_eem3, idiag_eem4, idiag_ekxpt, idiag_emag, idiag_embmz, idiag_emxamz3, idiag_epsad, idiag_epsm, idiag_epsm2, idiag_epsm3, idiag_epsm4, idiag_epsm_les, idiag_epsmmz, idiag_eta_tdep, idiag_etaaniso, idiag_etaanisobb, idiag_etaj2max, idiag_etajmax, idiag_etajrhomax, idiag_etasmagm, idiag_etasmagmax, idiag_etasmagmin, idiag_etatotalmx, idiag_etatotalmxy, idiag_etatotalmz, idiag_etavamax, idiag_exabot, idiag_examx, idiag_examxy1, idiag_examxy2, idiag_examxy3, idiag_examy, idiag_examz, idiag_examz1, idiag_examz2, idiag_examz3, idiag_exatop, idiag_exatotalmx, idiag_exatotalmy, idiag_exatotalmz, idiag_exatotalmz1, idiag_exatotalmz2, idiag_exatotalmz3, idiag_exaym2, idiag_exjm2, idiag_exjmx, idiag_exjmy, idiag_exjmz, idiag_exmxy, idiag_exmxz, idiag_exp2, idiag_expt, idiag_eymxy, idiag_eymxz, idiag_eyp2, idiag_eypt, idiag_ezmxy, idiag_ezmxz, idiag_ezp2, idiag_ezpt, idiag_fbm, idiag_fxbxm, idiag_gb2m, idiag_glamam, idiag_glambm, idiag_gpxbm, idiag_hjbm, idiag_hjparallelm, idiag_hjperpm, idiag_hjrms, idiag_j2b2m, idiag_j2m, idiag_j2mx, idiag_j2mz, idiag_jb_int, idiag_jbm, idiag_jbmh, idiag_jbmn, idiag_jbmphi, idiag_jbms, idiag_jbmx, idiag_jbmxy, idiag_jbmz, idiag_jbph1mz, idiag_jbph2mz, idiag_jbph3mz, idiag_jbrms, idiag_jbtm, idiag_jdel2am, idiag_jdel2amz, idiag_jem, idiag_jfm, idiag_jh2m1, idiag_jm, idiag_jm2, idiag_jmax, idiag_jmbmz, idiag_jmin, idiag_jmx, idiag_jmy, idiag_jmz, idiag_jparallelm, idiag_jperpm, idiag_jrms, idiag_jutm, idiag_jx2m, idiag_jx2m1, idiag_jx2m2, idiag_jx2m3, idiag_jx4m, idiag_jxbm, idiag_jxbmx, idiag_jxbmy, idiag_jxbmz, idiag_jxbpmphi, idiag_jxbr2m, idiag_jxbrmax, idiag_jxbrmphi, idiag_jxbrms, idiag_jxbrqm, idiag_jxbrxm, idiag_jxbrxmx, idiag_jxbrxmy, idiag_jxbrxmz, idiag_jxbrym, idiag_jxbrymx, idiag_jxbrymy, idiag_jxbrymz, idiag_jxbrzm, idiag_jxbrzmx, idiag_jxbrzmy, idiag_jxbrzmz, idiag_jxbxbm, idiag_jxbxm, idiag_jxbym, idiag_jxbzm, idiag_jxbzmphi, idiag_jxmax, idiag_jxmxy, idiag_jxmxz, idiag_jxmz, idiag_jxp2, idiag_jxph1mz, idiag_jxph2mz, idiag_jxph3mz, idiag_jxpt, idiag_jy2m, idiag_jy2m1, idiag_jy2m2, idiag_jy2m3, idiag_jy4m, idiag_jybxm, idiag_jybym, idiag_jybzm, idiag_jym, idiag_jymax, idiag_jymxy, idiag_jymxz, idiag_jymz, idiag_jyp2, idiag_jyph1mz, idiag_jyph2mz, idiag_jyph3mz, idiag_jypt, idiag_jz2m, idiag_jz3m, idiag_jz4m, idiag_jzbxm, idiag_jzbym, idiag_jzbzm, idiag_jzm, idiag_jzmax, idiag_jzmxy, idiag_jzmxz, idiag_jzmz, idiag_jzp2, idiag_jzph1mz, idiag_jzph2mz, idiag_jzph3mz, idiag_jzpt, idiag_km0em, idiag_km1em, idiag_kmz, idiag_kx_aa, idiag_logbm, idiag_magfricmax, idiag_mflux_x, idiag_mflux_y, idiag_mflux_z, idiag_obm, idiag_obmz, idiag_oxuxbm, idiag_phibmx, idiag_phibmy, idiag_phibmz, idiag_poynxmxy, idiag_poynymxy, idiag_poynzmxy, idiag_poynzmz, idiag_poynzph1mz, idiag_poynzph2mz, idiag_poynzph3mz, idiag_rmmz, idiag_rmrms, idiag_sigma, idiag_sijbibjm, idiag_stokesimxy, idiag_stokesq1mxy, idiag_stokesqmxy, idiag_stokesu1mxy, idiag_stokesumxy, idiag_uabxmz, idiag_uabymz, idiag_uabzmz, idiag_uam, idiag_uamz, idiag_ubbzm, idiag_ubgbpm, idiag_ubm, idiag_ubmxy, idiag_ubmz, idiag_ubtm, idiag_udotxbm, idiag_ugb22m, idiag_ujm, idiag_ujmz, idiag_ujtm, idiag_ujxbm, idiag_ujxbmz, idiag_uxbcmx, idiag_uxbcmy, idiag_uxbdotm, idiag_uxbm, idiag_uxbmx, idiag_uxbmy, idiag_uxbmz, idiag_uxbpmphi, idiag_uxbrmphi, idiag_uxbrms, idiag_uxbsmx, idiag_uxbsmy, idiag_uxbxm, idiag_uxbxmz, idiag_uxbym, idiag_uxbymz, idiag_uxbzm, idiag_uxbzmphi, idiag_uxbzmz, idiag_uxdxuxbm, idiag_uxjm, idiag_uxjxm, idiag_uxjym, idiag_uxjzm, idiag_uybxm, idiag_uybxmxz, idiag_uybxmz, idiag_uybym, idiag_uybymz, idiag_uybzm, idiag_uybzmxz, idiag_uybzmz, idiag_uyjxm, idiag_uyjym, idiag_uyjzm, idiag_uzbxm, idiag_uzbxmz, idiag_uzbym, idiag_uzbymz, idiag_uzbzm, idiag_uzbzmz, idiag_uzjxm, idiag_uzjym, idiag_uzjzm, idiag_va23rms, idiag_va2m, idiag_vam, idiag_vamax, idiag_vamin, idiag_vamxz, idiag_varms, idiag_vmagfricmax, idiag_vmagfricmz, idiag_vmagfricrms, idiag_wl2d, idiag_wl3d, idiag_wl3d2, idiva, iekx, iekxim, ieky, iekyim, iekz, iekzim, iforcing_cont_aa, iforcing_continuous_aa, ihall_term, ilam, imp_alpha0, imp_halpha, inclaa, indzav, inertial_length, initaa, initaa2, initaak, initeek, initpower2_aa, initpower_aa, iresistivity, iring1, iring2, iring3, islope_limiter, iua, ivid_ab, ivid_aps, ivid_b2, ivid_bb, ivid_bb_sph, ivid_beta1, ivid_j2, ivid_jb, ivid_jj, ivid_poynting, izav_start, j2_r, j2_xy, j2_xy2, j2_xy3, j2_xy4, j2_xz, j2_xz2, j2_yz, j_ext, j_ext_quench, jb_r, jb_xy, jb_xy2, jb_xy3, jb_xy4, jb_xz, jb_xz2, jb_yz, jj_xy, jj_xy2, jj_xy3, jj_xy4, jj_xz, jj_xz2, jj_yz, k1_ff, k1_ff_mag, k1x_ff, k1y_ff, k1z_ff, k_relprof, keplerian_gauge, kern_jjsmooth, kgaussian_aa, kinflow, kpeak_aa, ksign, kx_aa, kx_aa2, kx_ax, kx_ay, kx_az, ky_aa, ky_aa2, ky_ax, ky_ay, ky_az, kz_aa, kz_aa2, kz_ax, kz_ay, kz_az, l2d_aa, la_relprof_global, laa_as_aux, laa_cou_as_aux, ladd_bb_init, ladd_disp_current_from_aux, ladd_efield, ladd_global_field, ladvective_gauge, ladvective_gauge2, lalfven_as_aux, lalpha_inflation, lalpha_phi_equation, lambipolar_diffusion, lambipolar_strong_coupling, lax_ext_global, lay_ext_global, laz_ext_global, lb_ext_in_comaux, lb_ext_pot, lback_to_unscaled, lbb_as_aux, lbb_as_comaux, lbb_sph_as_aux, lbbt_as_aux, lbdivu_as_aux, lbeta_as_aux, lbeta_inflation, lbext_curvilinear, lbext_moving_layer, lbgu_as_aux, lbij_as_aux, lbij_test, lboris_correction, lbraginsky, lbx_ext_global, lby_ext_global, lbz_ext_global, lcalc_aamean, lcalc_aameanz, lcheck_positive_va2, lcoulomb, lcoulomb_apply, lcovariant_magnetic, lcurlb_as_aux, ldiamagnetism, learly_set_el_pencil, lee_as_aux, lelectron_inertia, lemf, letasmag_as_aux, lexplicit_resistivity, lfactors_aa, lforce_free_test, lforcing_cont_aa, lforcing_cont_aa_local, lfreeze_aext, lfreeze_aint, lfrozen_bb_bot, lfrozen_bb_top, lgauss, lhalox, lhubble_magnetic, lignore_1rho_in_lorentz, lignore_bext_in_b2, limiter_fact, limp_alpha, limplicit_resistivity, linduction, linertial_2, lj2t_as_aux, lj_ext, ljbt_as_aux, ljj_as_aux, ljj_as_comaux, ljjt_as_aux, lkeplerian_gauge, lkinematic, llambda_aa, llimiter, llocal_friction, llorentz_rhoref, llorentzforce, lmagnetic_slope_limited, lmagneto_friction, lmean_friction, lmeanfield_jxb, lmeanfield_jxb_with_va2, lmeanfield_noalpm, lminus_mode, lncr_anticorrelated, lncr_correlated, lneutralion_heat, lno_eta_tdep, lno_noise_aa, lno_ohmic_heat_bound_z, lno_second_ampl_aa, lnoinduction, lnonzero_eta, lnorm_aa_kk, lohmic_heat, lomega_effect, loverride_ee, loverride_ee2, loverride_ee_decide, lpolarization_basis, lpress_equil, lpress_equil_alt, lpress_equil_via_ss, lpropagate_borderaa, lquench_eta_aniso, lquench_inflation, lrandom_ampl_aa, lreheating, lrelaxprof_glob_scaled, lremove_mean_emf, lremove_meanax, lremove_meanaxy, lremove_meanaxz, lremove_meanay, lremove_meanaz, lremove_volume_average, lreset_aa, lreset_vart_only_at_start, lresi_anomalous, lresi_cspeed, lresi_dep, lresi_dust, lresi_eta_aniso, lresi_eta_const, lresi_eta_proptouz, lresi_eta_shock, lresi_eta_shock2, lresi_eta_shock_perp, lresi_eta_shock_profr, lresi_eta_shock_profz, lresi_eta_tdep, lresi_eta_tdep_t0_norm, lresi_eta_xtdep, lresi_eta_ztdep, lresi_etaj, lresi_etaj2, lresi_etajrho, lresi_etass, lresi_etava, lresi_hyper2, lresi_hyper2_tdep, lresi_hyper3, lresi_hyper3_aniso, lresi_hyper3_csmesh, lresi_hyper3_mesh, lresi_hyper3_polar, lresi_hyper3_strict, lresi_hyper3_tdep, lresi_magfield, lresi_rdep, lresi_shell, lresi_smagorinsky, lresi_smagorinsky_cross, lresi_smagorinsky_nusmag, lresi_spitzer, lresi_sqrtrhoeta_const, lresi_vaspeed, lresi_xdep, lresi_xydep, lresi_ydep, lresi_zdep, lresis_const, lresis_hyper3_mesh, lresis_shock, lresis_zdep, lresistivity, lrhs_max, lrun_initaa, lset_axay_zero, lshearboxcurrent, lskip_projection_aa, lsld_bb, lsmooth_jj, lsquash_aa, lswitch_sign_e2, ltime_integrals_always, lua_as_aux, lugb_as_aux, lupw_aa, luse_bext_in_b2, luse_bgb_as_jxb, lvacuum, lvart_in_shear_frame, lxmask_mag, lymask_mag, magnetic_xaver_range, magnetic_yaver_range, magnetic_zaver_range, magnetosonic_x, magspectra, maxdiffus_eta, maxdiffus_eta3, meanfield_bp, meanfield_bs, meanfield_etab, meanfield_kf, meanfield_molecular_eta, meanfield_qp, meanfield_qs, mesh_hyper_resistivity, mix_factor, mu012, mu_ext_pot, mu_r, n_modes_aa, naareset, nbvec, nbvecmax, ncr_quench, ncutoff_aa, nexp_aa, nfact_aa, nlf_sld_magn, no_ohmic_heat_z0, no_ohmic_heat_zwidth, non_ffree_factor, nquench, nresi_max, nrings, nu_ni, nu_ni1, numag, nzav, omega_bz_ext, omega_dx1, omega_tmp0, omega_x, omega_x1, omega_xprofile, omega_y, omega_yc1, omega_yc2, omega_yprofile, pertaa, pertamplaa, phase_aa, phase_ax, phase_ay, phase_az, phase_beltrami, phasex_aa, phasey_aa, phasez_aa, phix, phiy, phiz, pm_smag1, poynting_r, poynting_xy, poynting_xy2, poynting_xy3, poynting_xy4, poynting_xz, poynting_xz2, poynting_yz, qexp_aa, quench_aniso, r12, r_dip, r_inner, r_outer, radrfp, rdep_profile, reinitialize_aa, relhel_aa, rescale_aa, rescaling_fraction, rfprad, rfpradb, rfpradj, rhomin_jxb, rhoref, rhoref1, rm_ext, rm_int, rmode, rnoise_ext, rnoise_int, robflow_aa, rring1, rring2, rring3, scl_uxb_in_ohm, set_advec_va2, sheet_hyp, sheet_position, sheet_thickness, sigma_ratio, sigma_t1, sigma_t2, sinkz, sinx, sinz, source_zav, speed_moving_layer, ssmax, swirl, t0_bext, t1_sigma, t2_sigma, t_bext, taareset, tau_aa_exterior, tau_jj, tau_relprof, tau_relprof1, tau_remove_meanaxy, tauad, tdep_eta_type, th_spot, two_step_factor, ux_const, uxbb, va2max_boris, va2max_jxb, va2power_jxb, va_min, varms, vcrit_anom, w_sldchar_mag, widthaa, wr1, wr2, wr3, wresistivity, x0aa, xdep_profile, xmask_mag, xyaverages_magnetic, xzaverages_magnetic, y0aa, ydep_profile, ymask_mag, yzaverages_magnetic, z0_gaussian, z0aa, z1_aa, z2_aa, z_allprocs, z_surface, zbot_moving_layer, zdep_profile, zmask_mag, zmode, znoise_ext, znoise_int, ztop_moving_layer

Routines:

alfven_rphi(), alfven_rz(), alfven_x(), alfven_xy(), alfven_xz(), alfven_y(), alfven_z(), alfven_zconst(), alfvenz_bell(), alfvenz_rot(), alfvenz_rot_shear(), bb_unitvec_shock(), bc_frozen_in_bb_z(), beltrami_phase(), calc_ambmz(), calc_ambmzh(), calc_bmx(), calc_bmxy_rms(), calc_bmy(), calc_bmz(), calc_bmz_beltrami_phase(), calc_bmza2(), calc_bmzs2(), calc_bthresh(), calc_diagnostic_auxiliaries_magnetic(), calc_diagnostics_magnetic(), calc_embmz(), calc_emxamz3(), calc_jmbmz(), calc_jmx(), calc_jmy(), calc_jmz(), calc_mfield(), calc_pencils_magnetic(), calc_tau_aa_exterior(), calculate_vars_magnetic(), correct_lorentz_force(), curflux(), curflux_ds(), daa_dt(), df_diagnos_magnetic(), diamagnetism(), dynamical_resistivity(), eta_shell(), eta_xdep(), eta_xy_dep(), eta_ydep(), eta_zdep(), expand_shands_magnetic(), force_free_jet(), geo_benchmark_b(), get_bext(), get_slices_magnetic(), helflux(), init_aa(), initialize_magnetic(), input_persist_magnetic(), input_persist_magnetic_id(), input_persistent_magnetic(), magnetic_after_boundary(), magnetic_after_mn(), magnetic_after_timestep(), magnetic_before_boundary(), magnetic_calc_spectra(), output_persistent_magnetic(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), piecew_dipole_aa(), read_magnetic_init_pars(), read_magnetic_run_pars(), register_magnetic(), remove_mean_emf(), remove_mean_emf_cylindrical(), remove_mean_emf_spherical(), rescaling_magnetic(), rprint_magnetic(), set_ambipolar_diffusion(), set_border_magnetic(), sine_avoid_boundary(), split_update_magnetic(), time_integrals_magnetic(), torus_test(), update_char_vel_magnetic(), write_magnetic_init_pars(), write_magnetic_run_pars()

Needed modules

Variables

  • magnetic/a_relaxprofile [character,optional/default='0,coskz,0']
  • magnetic/a_relprof (nx,ny,nz,3) [real]
  • magnetic/aamz (mz,3) [real]
  • magnetic/ab_r (*,*,*,*,*) [real,allocatable/target]
  • magnetic/ab_xy (*,*) [real,allocatable/target]
  • magnetic/ab_xy2 (*,*) [real,allocatable/target]
  • magnetic/ab_xy3 (*,*) [real,allocatable/target]
  • magnetic/ab_xy4 (*,*) [real,allocatable/target]
  • magnetic/ab_xz (*,*) [real,allocatable/target]
  • magnetic/ab_xz2 (*,*) [real,allocatable/target]
  • magnetic/ab_yz (*,*) [real,allocatable/target]
  • magnetic/alphassm [real,optional/default=0.0]
  • magnetic/ambipolar_diffusion [character,optional/default='constant']
  • magnetic/amp_relprof [real,optional/default=1.0]
  • magnetic/ampl_ax (ninit) [real,optional/default=0.0]
  • magnetic/ampl_ay (ninit) [real,optional/default=0.0]
  • magnetic/ampl_az (ninit) [real,optional/default=0.0]
  • magnetic/ampl_b0 [real,optional/default=0.0]
  • magnetic/ampl_beltrami [real,optional/default=0.0]
  • magnetic/ampl_efield [real,optional/default=0.0]
  • magnetic/ampl_fcont_aa [real,optional/default=1.0]
  • magnetic/ampl_ff [real,optional/default=1.0]
  • magnetic/amplaa (ninit) [real,optional/default=0.0]
  • magnetic/amplaab (ninit) [real,optional/default=0.0]
  • magnetic/amplaaj (ninit) [real,optional/default=0.0]
  • magnetic/b0_ext (3) [real,optional/default=0.0]
  • magnetic/b1_ext (3) [real]
  • magnetic/b2_diamag [real,optional/default=0.0]
  • magnetic/b2_r (*,*,*,*,*) [real,allocatable/target]
  • magnetic/b2_xy (*,*) [real,allocatable/target]
  • magnetic/b2_xy2 (*,*) [real,allocatable/target]
  • magnetic/b2_xy3 (*,*) [real,allocatable/target]
  • magnetic/b2_xy4 (*,*) [real,allocatable/target]
  • magnetic/b2_xz (*,*) [real,allocatable/target]
  • magnetic/b2_xz2 (*,*) [real,allocatable/target]
  • magnetic/b2_yz (*,*) [real,allocatable/target]
  • magnetic/b_ext (3) [real,optional/default=0.0]
  • magnetic/b_ext11 [real]
  • magnetic/b_ext2 [real]
  • magnetic/b_ext21 [real]
  • magnetic/b_ext_inv (3) [real]
  • magnetic/b_ext_tmp (3) [real]
  • magnetic/battery_term [real,optional/default=0.0]
  • magnetic/bb_r (*,*,*,*,*,*) [real,allocatable/target]
  • magnetic/bb_xy (*,*,*) [real,allocatable/target]
  • magnetic/bb_xy2 (*,*,*) [real,allocatable/target]
  • magnetic/bb_xy3 (*,*,*) [real,allocatable/target]
  • magnetic/bb_xy4 (*,*,*) [real,allocatable/target]
  • magnetic/bb_xz (*,*,*) [real,allocatable/target]
  • magnetic/bb_xz2 (*,*,*) [real,allocatable/target]
  • magnetic/bb_yz (*,*,*) [real,allocatable/target]
  • magnetic/bbmz (nz,3) [real]
  • magnetic/beta1_r (*,*,*,*,*) [real,allocatable/target]
  • magnetic/beta1_xy (*,*) [real,allocatable/target]
  • magnetic/beta1_xy2 (*,*) [real,allocatable/target]
  • magnetic/beta1_xy3 (*,*) [real,allocatable/target]
  • magnetic/beta1_xy4 (*,*) [real,allocatable/target]
  • magnetic/beta1_xz (*,*) [real,allocatable/target]
  • magnetic/beta1_xz2 (*,*) [real,allocatable/target]
  • magnetic/beta1_yz (*,*) [real,allocatable/target]
  • magnetic/betamin_jxb [real,optional/default=0.0]
  • magnetic/bmz [real,optional/default=0]
  • magnetic/bmz_beltrami_phase [real,optional/default=0.0]
  • magnetic/borderaa (3) [character,optional/default='nothing']
  • magnetic/boxchargedensity [real]
  • magnetic/boxcurrentux [real]
  • magnetic/boxomega [real]
  • magnetic/boxshear [real]
  • magnetic/brms [real,optional/default=0.0]
  • magnetic/brms_target [real,optional/default=1.0]
  • magnetic/bthresh [real,optional/default=0.0]
  • magnetic/bthresh_per_brms [real,optional/default=0.0]
  • magnetic/bthresh_scl [real,optional/default=1.0]
  • magnetic/by_left [real,optional/default=0.0]
  • magnetic/by_right [real,optional/default=0.0]
  • magnetic/bz_left [real,optional/default=0.0]
  • magnetic/bz_right [real,optional/default=0.0]
  • magnetic/center1_x [real,optional/default=0.0]
  • magnetic/center1_y [real,optional/default=0.0]
  • magnetic/center1_z [real,optional/default=0.0]
  • magnetic/coefaa (3) [complex,optional/default=(/0.0,0.0,0.0/)]
  • magnetic/coefbb (3) [complex,optional/default=(/0.0,0.0,0.0/)]
  • magnetic/coskz (mz) [real]
  • magnetic/cp [real,pointer]
  • magnetic/cutoff_aa [real,optional/default=0.0]
  • magnetic/d_smag [real,optional/default=0.17]
  • magnetic/daareset [real,optional/default=0.0]
  • magnetic/damp [real,optional/default=0.0]
  • magnetic/dipole_moment [real,optional/default=0.0]
  • magnetic/epsilonaa [real,optional/default=0.01]
  • magnetic/eta [real,optional/default=0.0]
  • magnetic/eta1 [real,optional/default=0.0]
  • magnetic/eta_aniso_hyper3 (3) [real]
  • magnetic/eta_anom [real,optional/default=0.0]
  • magnetic/eta_bb (nx) [real]
  • magnetic/eta_cspeed [real,optional/default=0.0]
  • magnetic/eta_ext [real,optional/default=0.0]
  • magnetic/eta_hyper2 [real,optional/default=0.0]
  • magnetic/eta_hyper3 [real,optional/default=0.0]
  • magnetic/eta_hyper3_mesh [real,optional/default=5.0]
  • magnetic/eta_int [real,optional/default=0.0]
  • magnetic/eta_j [real,optional/default=0.0]
  • magnetic/eta_j2 [real,optional/default=0.0]
  • magnetic/eta_jrho [real,optional/default=0.0]
  • magnetic/eta_jump [real,optional/default=0.0]
  • magnetic/eta_jump_shock [real,optional/default=1.0]
  • magnetic/eta_min [real,optional/default=0.0]
  • magnetic/eta_out [real,optional/default=0.0]
  • magnetic/eta_power_x [real,optional/default=0.0]
  • magnetic/eta_power_z [real,optional/default=0.0]
  • magnetic/eta_shock [real,optional/default=0.0]
  • magnetic/eta_shock_jump1 [real]
  • magnetic/eta_sld_thresh [real,optional/default=0.0]
  • magnetic/eta_spitzer [real,optional/default=0.0]
  • magnetic/eta_va [real,optional/default=0.0]
  • magnetic/eta_width [real,optional/default=0.0]
  • magnetic/eta_width_shock [real,optional/default=0.0]
  • magnetic/eta_x (mx) [real]
  • magnetic/eta_x0 [real,optional/default=1.0]
  • magnetic/eta_x1 [real,optional/default=1.0]
  • magnetic/eta_xshock [real,optional/default=1.0]
  • magnetic/eta_xwidth [real,optional/default=0.0]
  • magnetic/eta_xwidth0 [real,optional/default=0.0]
  • magnetic/eta_xwidth1 [real,optional/default=0.0]
  • magnetic/eta_xy (mx,my) [real]
  • magnetic/eta_xy_max [real,optional/default=1.0]
  • magnetic/eta_xy_profile [character,optional/default='schnack89']
  • magnetic/eta_y (my) [real]
  • magnetic/eta_y0 [real,optional/default=1.0]
  • magnetic/eta_y1 [real,optional/default=1.0]
  • magnetic/eta_ywidth [real,optional/default=0.0]
  • magnetic/eta_z (mz) [real]
  • magnetic/eta_z0 [real,optional/default=1.0]
  • magnetic/eta_z1 [real,optional/default=1.0]
  • magnetic/eta_zgrid (nzgrid) [real,optional/default=0.0]
  • magnetic/eta_zshock [real,optional/default=1.0]
  • magnetic/eta_zwidth [real,optional/default=0.0]
  • magnetic/etab [real,optional/default=0.0]
  • magnetic/etaj20 [real,optional/default=0.0]
  • magnetic/exp_epspb [real]
  • magnetic/fluxtube_border_width [real,optional/default=impossible]
  • magnetic/forcing_continuous_aa_amplfact [real,optional/default=1.0]
  • magnetic/forcing_continuous_aa_phasefact [real,optional/default=1.0]
  • magnetic/gamma [real]
  • magnetic/gamma1 [real]
  • magnetic/gamma_epspb [real,optional/default=2.4]
  • magnetic/gamma_m1 [real]
  • magnetic/geta_x (mx) [real]
  • magnetic/geta_xy (mx,my,3) [real]
  • magnetic/geta_y (my) [real]
  • magnetic/geta_z (mz) [real]
  • magnetic/h_slope_limited [real,optional/default=0.0]
  • magnetic/hall_term [real,optional/default=0.0]
  • magnetic/height_eta [real,optional/default=0.0]
  • magnetic/idiag_a2m [integer,optional/default=0]
  • magnetic/idiag_ab_int [integer,optional/default=0]
  • magnetic/idiag_abm [integer,optional/default=0]
  • magnetic/idiag_abmh [integer,optional/default=0]
  • magnetic/idiag_abmn [integer,optional/default=0]
  • magnetic/idiag_abms [integer,optional/default=0]
  • magnetic/idiag_abmxy [integer,optional/default=0]
  • magnetic/idiag_abmz [integer,optional/default=0]
  • magnetic/idiag_abrms [integer,optional/default=0]
  • magnetic/idiag_abumx [integer,optional/default=0]
  • magnetic/idiag_abumy [integer,optional/default=0]
  • magnetic/idiag_abumz [integer,optional/default=0]
  • magnetic/idiag_abuxmz [integer,optional/default=0]
  • magnetic/idiag_abuymz [integer,optional/default=0]
  • magnetic/idiag_abuzmz [integer,optional/default=0]
  • magnetic/idiag_ajm [integer,optional/default=0]
  • magnetic/idiag_amax [integer,optional/default=0]
  • magnetic/idiag_ambmz [integer,optional/default=0]
  • magnetic/idiag_ambmzh [integer,optional/default=0]
  • magnetic/idiag_ambmzn [integer,optional/default=0]
  • magnetic/idiag_ambmzs [integer,optional/default=0]
  • magnetic/idiag_apmphi [integer,optional/default=0]
  • magnetic/idiag_apmr [integer,optional/default=0]
  • magnetic/idiag_armphi [integer,optional/default=0]
  • magnetic/idiag_armr [integer,optional/default=0]
  • magnetic/idiag_arms [integer,optional/default=0]
  • magnetic/idiag_axm [integer,optional/default=0]
  • magnetic/idiag_axmxy [integer,optional/default=0]
  • magnetic/idiag_axmxz [integer,optional/default=0]
  • magnetic/idiag_axmz [integer,optional/default=0]
  • magnetic/idiag_axp2 [integer,optional/default=0]
  • magnetic/idiag_axpt [integer,optional/default=0]
  • magnetic/idiag_aybym2 [integer,optional/default=0]
  • magnetic/idiag_aym [integer,optional/default=0]
  • magnetic/idiag_aymxy [integer,optional/default=0]
  • magnetic/idiag_aymxz [integer,optional/default=0]
  • magnetic/idiag_aymz [integer,optional/default=0]
  • magnetic/idiag_ayp2 [integer,optional/default=0]
  • magnetic/idiag_aypt [integer,optional/default=0]
  • magnetic/idiag_azm [integer,optional/default=0]
  • magnetic/idiag_azmphi [integer,optional/default=0]
  • magnetic/idiag_azmr [integer,optional/default=0]
  • magnetic/idiag_azmxy [integer,optional/default=0]
  • magnetic/idiag_azmxz [integer,optional/default=0]
  • magnetic/idiag_azmz [integer,optional/default=0]
  • magnetic/idiag_azp2 [integer,optional/default=0]
  • magnetic/idiag_azpt [integer,optional/default=0]
  • magnetic/idiag_b1b23m [integer,optional/default=0]
  • magnetic/idiag_b1b32m [integer,optional/default=0]
  • magnetic/idiag_b1m [integer,optional/default=0]
  • magnetic/idiag_b2b13m [integer,optional/default=0]
  • magnetic/idiag_b2b31m [integer,optional/default=0]
  • magnetic/idiag_b2divum [integer,optional/default=0]
  • magnetic/idiag_b2m [integer,optional/default=0]
  • magnetic/idiag_b2mphi [integer,optional/default=0]
  • magnetic/idiag_b2mr [integer,optional/default=0]
  • magnetic/idiag_b2mx [integer,optional/default=0]
  • magnetic/idiag_b2mxz [integer,optional/default=0]
  • magnetic/idiag_b2mz [integer,optional/default=0]
  • magnetic/idiag_b2ruzm [integer,optional/default=0]
  • magnetic/idiag_b2tm [integer,optional/default=0]
  • magnetic/idiag_b2uzm [integer,optional/default=0]
  • magnetic/idiag_b3b12m [integer,optional/default=0]
  • magnetic/idiag_b3b21m [integer,optional/default=0]
  • magnetic/idiag_bbxmax [integer,optional/default=0]
  • magnetic/idiag_bbxmz [integer,optional/default=0]
  • magnetic/idiag_bbymax [integer,optional/default=0]
  • magnetic/idiag_bbymz [integer,optional/default=0]
  • magnetic/idiag_bbzmax [integer,optional/default=0]
  • magnetic/idiag_bbzmz [integer,optional/default=0]
  • magnetic/idiag_bcosphz [integer,optional/default=0]
  • magnetic/idiag_beta1m [integer,optional/default=0]
  • magnetic/idiag_beta1max [integer,optional/default=0]
  • magnetic/idiag_beta1mxy [integer,optional/default=0]
  • magnetic/idiag_beta1mz [integer,optional/default=0]
  • magnetic/idiag_beta2mx [integer,optional/default=0]
  • magnetic/idiag_beta2mz [integer,optional/default=0]
  • magnetic/idiag_betam [integer,optional/default=0]
  • magnetic/idiag_betamax [integer,optional/default=0]
  • magnetic/idiag_betamin [integer,optional/default=0]
  • magnetic/idiag_betamx [integer,optional/default=0]
  • magnetic/idiag_betamz [integer,optional/default=0]
  • magnetic/idiag_bf2mz [integer,optional/default=0]
  • magnetic/idiag_bfrms [integer,optional/default=0]
  • magnetic/idiag_bjtm [integer,optional/default=0]
  • magnetic/idiag_bm2 [integer,optional/default=0]
  • magnetic/idiag_bmax [integer,optional/default=0]
  • magnetic/idiag_bmx [integer,optional/default=0]
  • magnetic/idiag_bmxy_rms [integer,optional/default=0]
  • magnetic/idiag_bmy [integer,optional/default=0]
  • magnetic/idiag_bmz [integer,optional/default=0]
  • magnetic/idiag_bmza2 [integer,optional/default=0]
  • magnetic/idiag_bmzph [integer,optional/default=0]
  • magnetic/idiag_bmzphe [integer,optional/default=0]
  • magnetic/idiag_bmzs2 [integer,optional/default=0]
  • magnetic/idiag_bpmphi [integer,optional/default=0]
  • magnetic/idiag_bpmr [integer,optional/default=0]
  • magnetic/idiag_brbpmr [integer,optional/default=0]
  • magnetic/idiag_bresrms [integer,optional/default=0]
  • magnetic/idiag_brmphi [integer,optional/default=0]
  • magnetic/idiag_brmr [integer,optional/default=0]
  • magnetic/idiag_brms [integer,optional/default=0]
  • magnetic/idiag_brmsh [integer,optional/default=0]
  • magnetic/idiag_brmsn [integer,optional/default=0]
  • magnetic/idiag_brmss [integer,optional/default=0]
  • magnetic/idiag_brmsx [integer,optional/default=0]
  • magnetic/idiag_brmsz [integer,optional/default=0]
  • magnetic/idiag_brsphmphi [integer,optional/default=0]
  • magnetic/idiag_bsinphz [integer,optional/default=0]
  • magnetic/idiag_bthmphi [integer,optional/default=0]
  • magnetic/idiag_bx1mxz [integer,optional/default=0]
  • magnetic/idiag_bx2m [integer,optional/default=0]
  • magnetic/idiag_bx2mx [integer,optional/default=0]
  • magnetic/idiag_bx2mxy [integer,optional/default=0]
  • magnetic/idiag_bx2mxz [integer,optional/default=0]
  • magnetic/idiag_bx2my [integer,optional/default=0]
  • magnetic/idiag_bx2mz [integer,optional/default=0]
  • magnetic/idiag_bx2rmz [integer,optional/default=0]
  • magnetic/idiag_bxbym [integer,optional/default=0]
  • magnetic/idiag_bxbymx [integer,optional/default=0]
  • magnetic/idiag_bxbymxy [integer,optional/default=0]
  • magnetic/idiag_bxbymxz [integer,optional/default=0]
  • magnetic/idiag_bxbymy [integer,optional/default=0]
  • magnetic/idiag_bxbymz [integer,optional/default=0]
  • magnetic/idiag_bxbzm [integer,optional/default=0]
  • magnetic/idiag_bxbzmx [integer,optional/default=0]
  • magnetic/idiag_bxbzmxy [integer,optional/default=0]
  • magnetic/idiag_bxbzmxz [integer,optional/default=0]
  • magnetic/idiag_bxbzmy [integer,optional/default=0]
  • magnetic/idiag_bxbzmz [integer,optional/default=0]
  • magnetic/idiag_bxm [integer,optional/default=0]
  • magnetic/idiag_bxmax [integer,optional/default=0]
  • magnetic/idiag_bxmin [integer,optional/default=0]
  • magnetic/idiag_bxmx [integer,optional/default=0]
  • magnetic/idiag_bxmxy [integer,optional/default=0]
  • magnetic/idiag_bxmxz [integer,optional/default=0]
  • magnetic/idiag_bxmy [integer,optional/default=0]
  • magnetic/idiag_bxmz [integer,optional/default=0]
  • magnetic/idiag_bxp2 [integer,optional/default=0]
  • magnetic/idiag_bxpt [integer,optional/default=0]
  • magnetic/idiag_by1mxz [integer,optional/default=0]
  • magnetic/idiag_by2m [integer,optional/default=0]
  • magnetic/idiag_by2mx [integer,optional/default=0]
  • magnetic/idiag_by2mxy [integer,optional/default=0]
  • magnetic/idiag_by2mxz [integer,optional/default=0]
  • magnetic/idiag_by2my [integer,optional/default=0]
  • magnetic/idiag_by2mz [integer,optional/default=0]
  • magnetic/idiag_by2rmz [integer,optional/default=0]
  • magnetic/idiag_bybzm [integer,optional/default=0]
  • magnetic/idiag_bybzmx [integer,optional/default=0]
  • magnetic/idiag_bybzmxy [integer,optional/default=0]
  • magnetic/idiag_bybzmxz [integer,optional/default=0]
  • magnetic/idiag_bybzmy [integer,optional/default=0]
  • magnetic/idiag_bybzmz [integer,optional/default=0]
  • magnetic/idiag_bym [integer,optional/default=0]
  • magnetic/idiag_bymax [integer,optional/default=0]
  • magnetic/idiag_bymin [integer,optional/default=0]
  • magnetic/idiag_bymx [integer,optional/default=0]
  • magnetic/idiag_bymxy [integer,optional/default=0]
  • magnetic/idiag_bymxz [integer,optional/default=0]
  • magnetic/idiag_bymy [integer,optional/default=0]
  • magnetic/idiag_bymz [integer,optional/default=0]
  • magnetic/idiag_byp2 [integer,optional/default=0]
  • magnetic/idiag_bypt [integer,optional/default=0]
  • magnetic/idiag_bz1mxz [integer,optional/default=0]
  • magnetic/idiag_bz2m [integer,optional/default=0]
  • magnetic/idiag_bz2mx [integer,optional/default=0]
  • magnetic/idiag_bz2mxy [integer,optional/default=0]
  • magnetic/idiag_bz2mxz [integer,optional/default=0]
  • magnetic/idiag_bz2my [integer,optional/default=0]
  • magnetic/idiag_bz2mz [integer,optional/default=0]
  • magnetic/idiag_bz2rmz [integer,optional/default=0]
  • magnetic/idiag_bzm [integer,optional/default=0]
  • magnetic/idiag_bzmax [integer,optional/default=0]
  • magnetic/idiag_bzmin [integer,optional/default=0]
  • magnetic/idiag_bzmphi [integer,optional/default=0]
  • magnetic/idiag_bzmr [integer,optional/default=0]
  • magnetic/idiag_bzmx [integer,optional/default=0]
  • magnetic/idiag_bzmxy [integer,optional/default=0]
  • magnetic/idiag_bzmxz [integer,optional/default=0]
  • magnetic/idiag_bzmy [integer,optional/default=0]
  • magnetic/idiag_bzmz [integer,optional/default=0]
  • magnetic/idiag_bzp2 [integer,optional/default=0]
  • magnetic/idiag_bzpt [integer,optional/default=0]
  • magnetic/idiag_coshjbm [integer,optional/default=0]
  • magnetic/idiag_cosjbm [integer,optional/default=0]
  • magnetic/idiag_cosubm [integer,optional/default=0]
  • magnetic/idiag_d6abmz [integer,optional/default=0]
  • magnetic/idiag_d6amz1 [integer,optional/default=0]
  • magnetic/idiag_d6amz2 [integer,optional/default=0]
  • magnetic/idiag_d6amz3 [integer,optional/default=0]
  • magnetic/idiag_dexbmx [integer,optional/default=0]
  • magnetic/idiag_dexbmy [integer,optional/default=0]
  • magnetic/idiag_dexbmz [integer,optional/default=0]
  • magnetic/idiag_divarms [integer,optional/default=0]
  • magnetic/idiag_djuidjbim [integer,optional/default=0]
  • magnetic/idiag_dobrms [integer,optional/default=0]
  • magnetic/idiag_dtb [integer,optional/default=0]
  • magnetic/idiag_dteta [integer,optional/default=0]
  • magnetic/idiag_dubrms [integer,optional/default=0]
  • magnetic/idiag_e3xamz1 [integer,optional/default=0]
  • magnetic/idiag_e3xamz2 [integer,optional/default=0]
  • magnetic/idiag_e3xamz3 [integer,optional/default=0]
  • magnetic/idiag_emag [integer,optional/default=0]
  • magnetic/idiag_embmz [integer,optional/default=0]
  • magnetic/idiag_emxamz3 [integer,optional/default=0]
  • magnetic/idiag_epsad [integer,optional/default=0]
  • magnetic/idiag_epsm [integer,optional/default=0]
  • magnetic/idiag_epsm_les [integer,optional/default=0]
  • magnetic/idiag_epsmmz [integer,optional/default=0]
  • magnetic/idiag_etaj2max [integer,optional/default=0]
  • magnetic/idiag_etajmax [integer,optional/default=0]
  • magnetic/idiag_etajrhomax [integer,optional/default=0]
  • magnetic/idiag_etasmagm [integer,optional/default=0]
  • magnetic/idiag_etasmagmax [integer,optional/default=0]
  • magnetic/idiag_etasmagmin [integer,optional/default=0]
  • magnetic/idiag_etatotalmx [integer,optional/default=0]
  • magnetic/idiag_etatotalmz [integer,optional/default=0]
  • magnetic/idiag_etavamax [integer,optional/default=0]
  • magnetic/idiag_exabot [integer,optional/default=0]
  • magnetic/idiag_examx [integer,optional/default=0]
  • magnetic/idiag_examxy1 [integer,optional/default=0]
  • magnetic/idiag_examxy2 [integer,optional/default=0]
  • magnetic/idiag_examxy3 [integer,optional/default=0]
  • magnetic/idiag_examy [integer,optional/default=0]
  • magnetic/idiag_examz [integer,optional/default=0]
  • magnetic/idiag_examz1 [integer,optional/default=0]
  • magnetic/idiag_examz2 [integer,optional/default=0]
  • magnetic/idiag_examz3 [integer,optional/default=0]
  • magnetic/idiag_exatop [integer,optional/default=0]
  • magnetic/idiag_exaym2 [integer,optional/default=0]
  • magnetic/idiag_exjm2 [integer,optional/default=0]
  • magnetic/idiag_exjmx [integer,optional/default=0]
  • magnetic/idiag_exjmy [integer,optional/default=0]
  • magnetic/idiag_exjmz [integer,optional/default=0]
  • magnetic/idiag_exmxy [integer,optional/default=0]
  • magnetic/idiag_exmxz [integer,optional/default=0]
  • magnetic/idiag_exmz [integer,optional/default=0]
  • magnetic/idiag_exp2 [integer,optional/default=0]
  • magnetic/idiag_expt [integer,optional/default=0]
  • magnetic/idiag_eymxy [integer,optional/default=0]
  • magnetic/idiag_eymxz [integer,optional/default=0]
  • magnetic/idiag_eymz [integer,optional/default=0]
  • magnetic/idiag_eyp2 [integer,optional/default=0]
  • magnetic/idiag_eypt [integer,optional/default=0]
  • magnetic/idiag_ezmxy [integer,optional/default=0]
  • magnetic/idiag_ezmxz [integer,optional/default=0]
  • magnetic/idiag_ezmz [integer,optional/default=0]
  • magnetic/idiag_ezp2 [integer,optional/default=0]
  • magnetic/idiag_ezpt [integer,optional/default=0]
  • magnetic/idiag_fbm [integer,optional/default=0]
  • magnetic/idiag_fxbxm [integer,optional/default=0]
  • magnetic/idiag_gpxbm [integer,optional/default=0]
  • magnetic/idiag_hjbm [integer,optional/default=0]
  • magnetic/idiag_hjparallelm [integer,optional/default=0]
  • magnetic/idiag_hjperpm [integer,optional/default=0]
  • magnetic/idiag_hjrms [integer,optional/default=0]
  • magnetic/idiag_j2m [integer,optional/default=0]
  • magnetic/idiag_j2mz [integer,optional/default=0]
  • magnetic/idiag_jb_int [integer,optional/default=0]
  • magnetic/idiag_jbm [integer,optional/default=0]
  • magnetic/idiag_jbmh [integer,optional/default=0]
  • magnetic/idiag_jbmn [integer,optional/default=0]
  • magnetic/idiag_jbmphi [integer,optional/default=0]
  • magnetic/idiag_jbms [integer,optional/default=0]
  • magnetic/idiag_jbmxy [integer,optional/default=0]
  • magnetic/idiag_jbmz [integer,optional/default=0]
  • magnetic/idiag_jbrms [integer,optional/default=0]
  • magnetic/idiag_jbtm [integer,optional/default=0]
  • magnetic/idiag_jfm [integer,optional/default=0]
  • magnetic/idiag_jm2 [integer,optional/default=0]
  • magnetic/idiag_jmax [integer,optional/default=0]
  • magnetic/idiag_jmbmz [integer,optional/default=0]
  • magnetic/idiag_jmx [integer,optional/default=0]
  • magnetic/idiag_jmy [integer,optional/default=0]
  • magnetic/idiag_jmz [integer,optional/default=0]
  • magnetic/idiag_jparallelm [integer,optional/default=0]
  • magnetic/idiag_jperpm [integer,optional/default=0]
  • magnetic/idiag_jrms [integer,optional/default=0]
  • magnetic/idiag_jxbm [integer,optional/default=0]
  • magnetic/idiag_jxbmx [integer,optional/default=0]
  • magnetic/idiag_jxbmy [integer,optional/default=0]
  • magnetic/idiag_jxbmz [integer,optional/default=0]
  • magnetic/idiag_jxbpmphi [integer,optional/default=0]
  • magnetic/idiag_jxbr2m [integer,optional/default=0]
  • magnetic/idiag_jxbrmax [integer,optional/default=0]
  • magnetic/idiag_jxbrmphi [integer,optional/default=0]
  • magnetic/idiag_jxbrxm [integer,optional/default=0]
  • magnetic/idiag_jxbrxmx [integer,optional/default=0]
  • magnetic/idiag_jxbrxmy [integer,optional/default=0]
  • magnetic/idiag_jxbrxmz [integer,optional/default=0]
  • magnetic/idiag_jxbrym [integer,optional/default=0]
  • magnetic/idiag_jxbrymx [integer,optional/default=0]
  • magnetic/idiag_jxbrymy [integer,optional/default=0]
  • magnetic/idiag_jxbrymz [integer,optional/default=0]
  • magnetic/idiag_jxbrzm [integer,optional/default=0]
  • magnetic/idiag_jxbrzmx [integer,optional/default=0]
  • magnetic/idiag_jxbrzmy [integer,optional/default=0]
  • magnetic/idiag_jxbrzmz [integer,optional/default=0]
  • magnetic/idiag_jxbxbm [integer,optional/default=0]
  • magnetic/idiag_jxbxm [integer,optional/default=0]
  • magnetic/idiag_jxbym [integer,optional/default=0]
  • magnetic/idiag_jxbzm [integer,optional/default=0]
  • magnetic/idiag_jxbzmphi [integer,optional/default=0]
  • magnetic/idiag_jxmax [integer,optional/default=0]
  • magnetic/idiag_jxmxy [integer,optional/default=0]
  • magnetic/idiag_jxmxz [integer,optional/default=0]
  • magnetic/idiag_jxmz [integer,optional/default=0]
  • magnetic/idiag_jxp2 [integer,optional/default=0]
  • magnetic/idiag_jxpt [integer,optional/default=0]
  • magnetic/idiag_jybxm [integer,optional/default=0]
  • magnetic/idiag_jybym [integer,optional/default=0]
  • magnetic/idiag_jybzm [integer,optional/default=0]
  • magnetic/idiag_jymax [integer,optional/default=0]
  • magnetic/idiag_jymxy [integer,optional/default=0]
  • magnetic/idiag_jymxz [integer,optional/default=0]
  • magnetic/idiag_jymz [integer,optional/default=0]
  • magnetic/idiag_jyp2 [integer,optional/default=0]
  • magnetic/idiag_jypt [integer,optional/default=0]
  • magnetic/idiag_jzbxm [integer,optional/default=0]
  • magnetic/idiag_jzbym [integer,optional/default=0]
  • magnetic/idiag_jzbzm [integer,optional/default=0]
  • magnetic/idiag_jzmax [integer,optional/default=0]
  • magnetic/idiag_jzmxy [integer,optional/default=0]
  • magnetic/idiag_jzmxz [integer,optional/default=0]
  • magnetic/idiag_jzmz [integer,optional/default=0]
  • magnetic/idiag_jzp2 [integer,optional/default=0]
  • magnetic/idiag_jzpt [integer,optional/default=0]
  • magnetic/idiag_kmz [integer,optional/default=0]
  • magnetic/idiag_kx_aa [integer,optional/default=0]
  • magnetic/idiag_magfricmax [integer,optional/default=0]
  • magnetic/idiag_mflux_x [integer,optional/default=0]
  • magnetic/idiag_mflux_y [integer,optional/default=0]
  • magnetic/idiag_mflux_z [integer,optional/default=0]
  • magnetic/idiag_oxuxbm [integer,optional/default=0]
  • magnetic/idiag_phibmx [integer,optional/default=0]
  • magnetic/idiag_phibmy [integer,optional/default=0]
  • magnetic/idiag_phibmz [integer,optional/default=0]
  • magnetic/idiag_poynxmxy [integer,optional/default=0]
  • magnetic/idiag_poynymxy [integer,optional/default=0]
  • magnetic/idiag_poynzmxy [integer,optional/default=0]
  • magnetic/idiag_poynzmz [integer,optional/default=0]
  • magnetic/idiag_rmrms [integer,optional/default=0]
  • magnetic/idiag_stokesimxy [integer,optional/default=0]
  • magnetic/idiag_stokesq1mxy [integer,optional/default=0]
  • magnetic/idiag_stokesqmxy [integer,optional/default=0]
  • magnetic/idiag_stokesu1mxy [integer,optional/default=0]
  • magnetic/idiag_stokesumxy [integer,optional/default=0]
  • magnetic/idiag_uabxmz [integer,optional/default=0]
  • magnetic/idiag_uabymz [integer,optional/default=0]
  • magnetic/idiag_uabzmz [integer,optional/default=0]
  • magnetic/idiag_uam [integer,optional/default=0]
  • magnetic/idiag_uamz [integer,optional/default=0]
  • magnetic/idiag_ubbzm [integer,optional/default=0]
  • magnetic/idiag_ubm [integer,optional/default=0]
  • magnetic/idiag_ubmz [integer,optional/default=0]
  • magnetic/idiag_udotxbm [integer,optional/default=0]
  • magnetic/idiag_ujm [integer,optional/default=0]
  • magnetic/idiag_ujxbm [integer,optional/default=0]
  • magnetic/idiag_uxbcmx [integer,optional/default=0]
  • magnetic/idiag_uxbcmy [integer,optional/default=0]
  • magnetic/idiag_uxbdotm [integer,optional/default=0]
  • magnetic/idiag_uxbm [integer,optional/default=0]
  • magnetic/idiag_uxbmx [integer,optional/default=0]
  • magnetic/idiag_uxbmy [integer,optional/default=0]
  • magnetic/idiag_uxbmz [integer,optional/default=0]
  • magnetic/idiag_uxbpmphi [integer,optional/default=0]
  • magnetic/idiag_uxbrmphi [integer,optional/default=0]
  • magnetic/idiag_uxbrms [integer,optional/default=0]
  • magnetic/idiag_uxbsmx [integer,optional/default=0]
  • magnetic/idiag_uxbsmy [integer,optional/default=0]
  • magnetic/idiag_uxbxm [integer,optional/default=0]
  • magnetic/idiag_uxbxmz [integer,optional/default=0]
  • magnetic/idiag_uxbym [integer,optional/default=0]
  • magnetic/idiag_uxbymz [integer,optional/default=0]
  • magnetic/idiag_uxbzm [integer,optional/default=0]
  • magnetic/idiag_uxbzmphi [integer,optional/default=0]
  • magnetic/idiag_uxbzmz [integer,optional/default=0]
  • magnetic/idiag_uxdxuxbm [integer,optional/default=0]
  • magnetic/idiag_uxjm [integer,optional/default=0]
  • magnetic/idiag_uybxm [integer,optional/default=0]
  • magnetic/idiag_uybxmxz [integer,optional/default=0]
  • magnetic/idiag_uybxmz [integer,optional/default=0]
  • magnetic/idiag_uybym [integer,optional/default=0]
  • magnetic/idiag_uybymz [integer,optional/default=0]
  • magnetic/idiag_uybzm [integer,optional/default=0]
  • magnetic/idiag_uybzmxz [integer,optional/default=0]
  • magnetic/idiag_uybzmz [integer,optional/default=0]
  • magnetic/idiag_uzbxm [integer,optional/default=0]
  • magnetic/idiag_uzbxmz [integer,optional/default=0]
  • magnetic/idiag_uzbym [integer,optional/default=0]
  • magnetic/idiag_uzbymz [integer,optional/default=0]
  • magnetic/idiag_uzbzm [integer,optional/default=0]
  • magnetic/idiag_uzbzmz [integer,optional/default=0]
  • magnetic/idiag_va2m [integer,optional/default=0]
  • magnetic/idiag_vamax [integer,optional/default=0]
  • magnetic/idiag_vamxz [integer,optional/default=0]
  • magnetic/idiag_varms [integer,optional/default=0]
  • magnetic/ierr [integer]
  • magnetic/iforcing_cont_aa [integer,optional/default=0]
  • magnetic/iforcing_continuous_aa [character,optional/default='fixed_swirl']
  • magnetic/inclaa [real,optional/default=0.0]
  • magnetic/inertial_length [real,optional/default=0.0]
  • magnetic/initaa (ninit) [character,optional/default='nothing']
  • magnetic/initpower2_aa [real,optional/default=-3.6666666666666665]
  • magnetic/initpower_aa [real,optional/default=0.0]
  • magnetic/iresistivity (4) [character,optional/default='']
  • magnetic/islope_limiter [character,optional/default='']
  • magnetic/iua [integer,optional/default=0]
  • magnetic/ivid_ab [integer,optional/default=0]
  • magnetic/ivid_b2 [integer,optional/default=0]
  • magnetic/ivid_bb [integer,optional/default=0]
  • magnetic/ivid_beta1 [integer,optional/default=0]
  • magnetic/ivid_j2 [integer,optional/default=0]
  • magnetic/ivid_jb [integer,optional/default=0]
  • magnetic/ivid_jj [integer,optional/default=0]
  • magnetic/ivid_poynting [integer,optional/default=0]
  • magnetic/j2_r (*,*,*,*,*) [real,allocatable/target]
  • magnetic/j2_xy (*,*) [real,allocatable/target]
  • magnetic/j2_xy2 (*,*) [real,allocatable/target]
  • magnetic/j2_xy3 (*,*) [real,allocatable/target]
  • magnetic/j2_xy4 (*,*) [real,allocatable/target]
  • magnetic/j2_xz (*,*) [real,allocatable/target]
  • magnetic/j2_xz2 (*,*) [real,allocatable/target]
  • magnetic/j2_yz (*,*) [real,allocatable/target]
  • magnetic/j_ext (3) [real,optional/default=(/0.0,0.0,0.0/)]
  • magnetic/j_ext_quench [real,optional/default=0.0]
  • magnetic/jb_r (*,*,*,*,*) [real,allocatable/target]
  • magnetic/jb_xy (*,*) [real,allocatable/target]
  • magnetic/jb_xy2 (*,*) [real,allocatable/target]
  • magnetic/jb_xy3 (*,*) [real,allocatable/target]
  • magnetic/jb_xy4 (*,*) [real,allocatable/target]
  • magnetic/jb_xz (*,*) [real,allocatable/target]
  • magnetic/jb_xz2 (*,*) [real,allocatable/target]
  • magnetic/jb_yz (*,*) [real,allocatable/target]
  • magnetic/jj_r (*,*,*,*,*,*) [real,allocatable/target]
  • magnetic/jj_xy (*,*,*) [real,allocatable/target]
  • magnetic/jj_xy2 (*,*,*) [real,allocatable/target]
  • magnetic/jj_xy3 (*,*,*) [real,allocatable/target]
  • magnetic/jj_xy4 (*,*,*) [real,allocatable/target]
  • magnetic/jj_xz (*,*,*) [real,allocatable/target]
  • magnetic/jj_xz2 (*,*,*) [real,allocatable/target]
  • magnetic/jj_yz (*,*,*) [real,allocatable/target]
  • magnetic/jjmz (nz,3) [real]
  • magnetic/k1_ff [real,optional/default=1.0]
  • magnetic/k1x_ff [real,optional/default=1.0]
  • magnetic/k1y_ff [real,optional/default=1.0]
  • magnetic/k1z_ff [real,optional/default=1.0]
  • magnetic/k_relprof [real,optional/default=1.0]
  • magnetic/kgaussian_aa [real,optional/default=0.0]
  • magnetic/kpeak_aa [real,optional/default=10.0]
  • magnetic/kx_aa (ninit) [real,optional/default=1.0]
  • magnetic/kx_ax (ninit) [real,optional/default=0.0]
  • magnetic/kx_ay (ninit) [real,optional/default=0.0]
  • magnetic/kx_az (ninit) [real,optional/default=0.0]
  • magnetic/ky_aa (ninit) [real,optional/default=1.0]
  • magnetic/ky_ax (ninit) [real,optional/default=0.0]
  • magnetic/ky_ay (ninit) [real,optional/default=0.0]
  • magnetic/ky_az (ninit) [real,optional/default=0.0]
  • magnetic/kz_aa (ninit) [real,optional/default=1.0]
  • magnetic/kz_ax (ninit) [real,optional/default=0.0]
  • magnetic/kz_ay (ninit) [real,optional/default=0.0]
  • magnetic/kz_az (ninit) [real,optional/default=0.0]
  • magnetic/ladd_efield [logical,optional/default=.false.]
  • magnetic/ladd_global_field [logical,optional/default=.true.]
  • magnetic/ladvective_gauge [logical,optional/default=.false.]
  • magnetic/ladvective_gauge2 [logical,optional/default=.false.]
  • magnetic/lambipolar_diffusion [logical,optional/default=.false.]
  • magnetic/lb_ext_in_comaux [logical,optional/default=.true.]
  • magnetic/lb_ext_pot [logical,optional/default=.false.]
  • magnetic/lbb_as_aux [logical,optional/default=.false.]
  • magnetic/lbb_as_comaux [logical,optional/default=.false.]
  • magnetic/lbbt_as_aux [logical,optional/default=.false.]
  • magnetic/lbext_curvilinear [logical,optional/default=.true.]
  • magnetic/lbx_ext_global [logical,optional/default=.false.]
  • magnetic/lby_ext_global [logical,optional/default=.false.]
  • magnetic/lbz_ext_global [logical,optional/default=.false.]
  • magnetic/lcalc_aamean [logical]
  • magnetic/lcalc_aameanz [logical,optional/default=.false.]
  • magnetic/lcheck_positive_va2 [logical,optional/default=.false.]
  • magnetic/ldiamagnetism [logical,optional/default=.false.]
  • magnetic/lee_as_aux [logical,optional/default=.false.]
  • magnetic/lelectron_inertia [logical,optional/default=.false.]
  • magnetic/lforce_free_test [logical,optional/default=.false.]
  • magnetic/lforcing_cont_aa [logical,optional/default=.false.]
  • magnetic/lforcing_cont_aa_local [logical,optional/default=.false.]
  • magnetic/lfreeze_aext [logical,optional/default=.false.]
  • magnetic/lfreeze_aint [logical,optional/default=.false.]
  • magnetic/lfrozen_bb_bot (3) [logical,target/optional/default=(/.false.,.false.,.false./)]
  • magnetic/lfrozen_bb_top (3) [logical,target/optional/default=(/.false.,.false.,.false./)]
  • magnetic/lhalox [logical,optional/default=.false.]
  • magnetic/lignore_bext_in_b2 [logical,optional/default=.false.]
  • magnetic/limplicit_resistivity [logical,optional/default=.false.]
  • magnetic/linduction [logical,optional/default=.true.]
  • magnetic/linertial_2 [real]
  • magnetic/lj_ext [logical,optional/default=.false.]
  • magnetic/ljj_as_aux [logical,optional/default=.false.]
  • magnetic/ljjt_as_aux [logical,optional/default=.false.]
  • magnetic/ljxb_as_aux [logical,optional/default=.false.]
  • magnetic/lkinematic [logical,optional/default=.false.]
  • magnetic/llambda_aa [real,optional/default=0.0]
  • magnetic/llocal_friction [logical,optional/default=.false.]
  • magnetic/llorentzforce [logical,optional/default=.true.]
  • magnetic/lmagnetic_slope_limited [logical,optional/default=.false.]
  • magnetic/lmagneto_friction [logical,optional/default=.false.]
  • magnetic/lmean_friction [logical,optional/default=.false.]
  • magnetic/lncr_anticorrelated [logical,optional/default=.false.]
  • magnetic/lncr_correlated [logical,optional/default=.false.]
  • magnetic/lneutralion_heat [logical,optional/default=.true.]
  • magnetic/lno_second_ampl_aa [logical,optional/default=.true.]
  • magnetic/lohmic_heat [logical,optional/default=.true.]
  • magnetic/lpress_equil [logical,optional/default=.false.]
  • magnetic/lpress_equil_alt [logical,optional/default=.false.]
  • magnetic/lpress_equil_via_ss [logical,optional/default=.false.]
  • magnetic/lpropagate_borderaa [logical,optional/default=.true.]
  • magnetic/lremove_meanaz [logical,optional/default=.false.]
  • magnetic/lreset_aa [logical,optional/default=.false.]
  • magnetic/lresi_anomalous [logical,optional/default=.false.]
  • magnetic/lresi_cspeed [logical,optional/default=.false.]
  • magnetic/lresi_dep (7) [logical,optional/default=.false.]
  • magnetic/lresi_dust [logical,optional/default=.false.]
  • magnetic/lresi_eta_const [logical,optional/default=.false.]
  • magnetic/lresi_eta_shock [logical,optional/default=.false.]
  • magnetic/lresi_eta_shock_perp [logical,optional/default=.false.]
  • magnetic/lresi_eta_shock_profr [logical,optional/default=.false.]
  • magnetic/lresi_eta_shock_profz [logical,optional/default=.false.]
  • magnetic/lresi_etaj [logical,optional/default=.false.]
  • magnetic/lresi_etaj2 [logical,optional/default=.false.]
  • magnetic/lresi_etajrho [logical,optional/default=.false.]
  • magnetic/lresi_etass [logical,optional/default=.false.]
  • magnetic/lresi_etava [logical,optional/default=.false.]
  • magnetic/lresi_hyper2 [logical,optional/default=.false.]
  • magnetic/lresi_hyper3 [logical,optional/default=.false.]
  • magnetic/lresi_hyper3_aniso [logical,optional/default=.false.]
  • magnetic/lresi_hyper3_mesh [logical,optional/default=.false.]
  • magnetic/lresi_hyper3_polar [logical,optional/default=.false.]
  • magnetic/lresi_hyper3_strict [logical,optional/default=.false.]
  • magnetic/lresi_magfield [logical,optional/default=.false.]
  • magnetic/lresi_shell [logical,optional/default=.false.]
  • magnetic/lresi_smagorinsky [logical,optional/default=.false.]
  • magnetic/lresi_smagorinsky_cross [logical,optional/default=.false.]
  • magnetic/lresi_spitzer [logical,optional/default=.false.]
  • magnetic/lresi_sqrtrhoeta_const [logical,optional/default=.false.]
  • magnetic/lresi_xdep [logical]
  • magnetic/lresi_xydep [logical]
  • magnetic/lresi_ydep [logical]
  • magnetic/lresi_zdep [logical]
  • magnetic/lrun_initaa [logical,optional/default=.false.]
  • magnetic/lshearboxcurrent [logical]
  • magnetic/lskip_projection_aa [logical,optional/default=.false.]
  • magnetic/lua_as_aux [logical,optional/default=.false.]
  • magnetic/lupw_aa [logical,optional/default=.false.]
  • magnetic/luse_bext_in_b2 [logical,optional/default=.true.]
  • magnetic/lweyl_gauge [logical,optional/default=.false.]
  • magnetic/magnetic_xaver_range (2) [real,optional/default=(/-max_real,max_real/)]
  • magnetic/magnetic_zaver_range (2) [real,optional/default=(/-max_real,max_real/)]
  • magnetic/mix_factor [real,optional/default=0.0]
  • magnetic/mu012 [real,optional/default=0.5]
  • magnetic/mu_ext_pot [real,optional/default=-0.5]
  • magnetic/mu_r [real,optional/default=-0.5]
  • magnetic/n_modes_aa [integer,optional/default=1]
  • magnetic/naareset [integer]
  • magnetic/nbvec [integer]
  • magnetic/nbvecmax [integer,optional/default=nx*ny*nz/4]
  • magnetic/ncr_quench [real,optional/default=0.0]
  • magnetic/ncutoff_aa [real,optional/default=1.0]
  • magnetic/non_ffree_factor [real,optional/default=1.0]
  • magnetic/nresi_max [integer,parameter=4]
  • magnetic/nrings [integer,optional/default=2]
  • magnetic/nu_ni [real,optional/default=0.0]
  • magnetic/nu_ni1 [real]
  • magnetic/numag [real,optional/default=0.0]
  • magnetic/omega_bz_ext [real,optional/default=0.0]
  • magnetic/phase_ax (ninit) [real,optional/default=0.0]
  • magnetic/phase_ay (ninit) [real,optional/default=0.0]
  • magnetic/phase_az (ninit) [real,optional/default=0.0]
  • magnetic/phase_beltrami [real,optional/default=0.0]
  • magnetic/phasex_aa (ninit) [real,optional/default=0.0]
  • magnetic/phasey_aa (ninit) [real,optional/default=0.0]
  • magnetic/phasez_aa (ninit) [real,optional/default=0.0]
  • magnetic/poynting_r (*,*,*,*,*,*) [real,allocatable/target]
  • magnetic/poynting_xy (*,*,*) [real,allocatable/target]
  • magnetic/poynting_xy2 (*,*,*) [real,allocatable/target]
  • magnetic/poynting_xy3 (*,*,*) [real,allocatable/target]
  • magnetic/poynting_xy4 (*,*,*) [real,allocatable/target]
  • magnetic/poynting_xz (*,*,*) [real,allocatable/target]
  • magnetic/poynting_xz2 (*,*,*) [real,allocatable/target]
  • magnetic/poynting_yz (*,*,*) [real,allocatable/target]
  • magnetic/radius [real,optional/default=0.1]
  • magnetic/radrfp [real,optional/default=1.0]
  • magnetic/reinitialize_aa [logical,optional/default=.false.]
  • magnetic/relhel_aa [real,optional/default=1.0]
  • magnetic/rescale_aa [real,optional/default=0.0]
  • magnetic/rescaling_fraction [real,optional/default=1.0]
  • magnetic/rfprad (ninit) [real,optional/default=1.0]
  • magnetic/rfpradb [real,optional/default=1.0]
  • magnetic/rfpradj [real,optional/default=1.0]
  • magnetic/rhomin_jxb [real,optional/default=0.0]
  • magnetic/rnoise_ext [real,optional/default=impossible]
  • magnetic/rnoise_int [real,optional/default=impossible]
  • magnetic/sigma_ratio [real,optional/default=1.0]
  • magnetic/sinkz (mz) [real]
  • magnetic/swirl [real,optional/default=1.0]
  • magnetic/t0_bext [real,optional/default=0.0]
  • magnetic/t_bext [real,optional/default=0.0]
  • magnetic/taareset [real,optional/default=0.0]
  • magnetic/tau_aa_exterior [real,optional/default=0.0]
  • magnetic/tau_relprof [real,optional/default=0.0]
  • magnetic/tau_relprof1 [real]
  • magnetic/th_spot [real,optional/default=pi/4]
  • magnetic/two_step_factor [real,optional/default=1.0]
  • magnetic/va2max_jxb [real,optional/default=0.0]
  • magnetic/va2power_jxb [integer,optional/default=5]
  • magnetic/vcrit_anom [real,optional/default=1.0]
  • magnetic/widthaa [real,optional/default=0.5]
  • magnetic/wresistivity [real,optional/default=0.01]
  • magnetic/x0aa [real,optional/default=0.0]
  • magnetic/xdep_profile [character,optional/default='two-step']
  • magnetic/xmask_mag (nx) [real]
  • magnetic/ydep_profile [character,optional/default='two-step']
  • magnetic/z0aa [real,optional/default=0.0]
  • magnetic/zdep_profile [character,optional/default='fs']
  • magnetic/zmask_mag (nz) [real]
  • magnetic/znoise_ext [real,optional/default=impossible]
  • magnetic/znoise_int [real,optional/default=impossible]

Subroutines and functions

subroutine  magnetic/register_magnetic()

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

1-may-02/wolf: coded

Use :

farraymanager (farray_register_pde(), farray_register_auxiliary()), sharedvariables (put_shared_variable())

Call to:

svn_id(), register_magn_mf(), fatal_error(), get_gamma_etc(), htube(), cosx_cosy_cosz(), coswave(), eta_xy_dep(), eta_xdep(), eta_ydep(), eta_zdep(), write_zprof(), warning(), request_border_driving(), register_report_aux(), initialize_magn_mf(), init_aa(), exponential(), acosy(), modev(), modeb(), sph_constb(), const_lou(), power_randomphase(), power_randomphase_hel(), random_isotropic_ks(), random_isotropic_shell(), beltrami(), beltrami_old(), beltrami_complex(), bessel_x(), bessel_az_x(), wave_uu(), diffrot(), vtube(), vtube_peri(), htanh(), htube_x(), htube_erf(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), magsupport(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), phi_comp_over_r(), vfield(), vfield2(), bipolar(), bipolar_restzero(), vecpatternxy(), bjump(), xpoint(), xpoint2(), sinxsinz(), bhyperz(), sin2x_sin2y_cosz(), sinx_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), cosx_siny_cosz(), cosy_sinz(), x3_siny_cosz(), x3_cosy_cosz(), mag_init(), mdi_init(), cosx_coscosy_cosz(), crazy(), strange(), read_outside_vec_array(), sinwave_phase(), coswave_phase(), sinwave(), dipole(), dipole_tor(), alfven_x(), alfven_y(), alfven_z(), alfven_xy(), alfven_xz(), alfvenz_rot(), alfvenz_bell(), alfvenz_rot_shear(), piecew_dipole_aa(), ferriere_uniform_x(), ferriere_uniform_y(), robertsflow(), force_free_jet(), geo_benchmark_b(), torus_test(), init_aa_mf(), initial_condition_aa(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), curl(), dot2_mn(), stop_it(), pencil_criteria_magn_mf(), pencil_interdep_magn_mf(), update_ghosts(), gij(), curl_mn(), get_bext(), div_mn(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/initialize_magnetic(f)

Perform any post-parameter-read initialization

24-nov-02/tony: dummy routine - nothing to do at present 20-may-03/axel: reinitialize_aa added 13-jan-11/MR: use subroutine ‘register_report_aux’ instead of repeated code 26-feb-13/axel: reinitialize_aa added 21-jan-15/MR: avoided double put_shared_variable for B_ext

Parameters:

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

Use :

sub (register_report_aux(), write_zprof(), step()), magnetic_meanfield (initialize_magn_mf()), borderprofiles (request_border_driving()), farraymanager, equationofstate (cs0(), get_gamma_etc()), initcond, forcing (n_forcing_cont()), sharedvariables (get_shared_variable(), put_shared_variable()), slices_methods (alloc_slice_buffers())

Call to:

fatal_error(), get_gamma_etc(), htube(), cosx_cosy_cosz(), coswave(), eta_xy_dep(), eta_xdep(), eta_ydep(), eta_zdep(), write_zprof(), warning(), request_border_driving(), register_report_aux(), initialize_magn_mf(), init_aa(), exponential(), acosy(), modev(), modeb(), sph_constb(), const_lou(), power_randomphase(), power_randomphase_hel(), random_isotropic_ks(), random_isotropic_shell(), beltrami(), beltrami_old(), beltrami_complex(), bessel_x(), bessel_az_x(), wave_uu(), diffrot(), vtube(), vtube_peri(), htanh(), htube_x(), htube_erf(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), magsupport(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), phi_comp_over_r(), vfield(), vfield2(), bipolar(), bipolar_restzero(), vecpatternxy(), bjump(), xpoint(), xpoint2(), sinxsinz(), bhyperz(), sin2x_sin2y_cosz(), sinx_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), cosx_siny_cosz(), cosy_sinz(), x3_siny_cosz(), x3_cosy_cosz(), mag_init(), mdi_init(), cosx_coscosy_cosz(), crazy(), strange(), read_outside_vec_array(), sinwave_phase(), coswave_phase(), sinwave(), dipole(), dipole_tor(), alfven_x(), alfven_y(), alfven_z(), alfven_xy(), alfven_xz(), alfvenz_rot(), alfvenz_bell(), alfvenz_rot_shear(), piecew_dipole_aa(), ferriere_uniform_x(), ferriere_uniform_y(), robertsflow(), force_free_jet(), geo_benchmark_b(), torus_test(), init_aa_mf(), initial_condition_aa(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), curl(), dot2_mn(), stop_it(), pencil_criteria_magn_mf(), pencil_interdep_magn_mf(), update_ghosts(), gij(), curl_mn(), get_bext(), div_mn(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/init_aa(f)

initialise magnetic field; called from start.f90 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 :

equationofstate, farraymanager, gravity (gravz(), z1(), z2()), initcond, boundcond, initialcondition (initial_condition_aa()), mpicomm, sharedvariables, sub

Call to:

exponential(), acosy(), modev(), modeb(), sph_constb(), const_lou(), power_randomphase(), power_randomphase_hel(), random_isotropic_ks(), random_isotropic_shell(), beltrami(), beltrami_old(), beltrami_complex(), bessel_x(), bessel_az_x(), wave_uu(), diffrot(), vtube(), vtube_peri(), htanh(), htube(), htube_x(), htube_erf(), hfluxlayer(), hfluxlayer_y(), hfluxlayer_y_theta(), vfluxlayer(), magsupport(), arcade_x(), halfcos_x(), halfcos_z(), uniform_x(), uniform_y(), uniform_z(), uniform_phi(), phi_comp_over_r(), vfield(), vfield2(), bipolar(), bipolar_restzero(), vecpatternxy(), bjump(), xpoint(), xpoint2(), sinxsinz(), bhyperz(), sin2x_sin2y_cosz(), cosx_cosy_cosz(), sinx_siny_cosz(), x_siny_cosz(), x1_siny_cosz(), cosx_siny_cosz(), cosy_sinz(), x3_siny_cosz(), x3_cosy_cosz(), mag_init(), mdi_init(), cosx_coscosy_cosz(), crazy(), strange(), read_outside_vec_array(), sinwave_phase(), coswave_phase(), sinwave(), coswave(), dipole(), dipole_tor(), alfven_x(), alfven_y(), alfven_z(), alfven_xy(), alfven_xz(), alfvenz_rot(), alfvenz_bell(), alfvenz_rot_shear(), piecew_dipole_aa(), ferriere_uniform_x(), ferriere_uniform_y(), robertsflow(), force_free_jet(), geo_benchmark_b(), torus_test(), fatal_error(), init_aa_mf(), initial_condition_aa(), boundconds_x(), initiate_isendrcv_bdry(), finalize_isendrcv_bdry(), boundconds_y(), boundconds_z(), curl(), dot2_mn(), stop_it(), pencil_criteria_magn_mf(), pencil_interdep_magn_mf(), update_ghosts(), gij(), curl_mn(), get_bext(), div_mn(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/pencil_criteria_magnetic()

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

19-nov-04/anders: coded

Use :

mpicomm (stop_it())

Call to:

stop_it(), pencil_criteria_magn_mf(), pencil_interdep_magn_mf(), update_ghosts(), gij(), curl_mn(), get_bext(), dot2_mn(), div_mn(), fatal_error(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/pencil_interdep_magnetic(lpencil_in)

Interdependency among pencils from the Magnetic module is specified here.

19-nov-04/anders: coded

Parameters:

lpencil_in (npencils) [logical]

Call to:

pencil_interdep_magn_mf(), update_ghosts(), gij(), curl_mn(), get_bext(), dot2_mn(), div_mn(), fatal_error(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/magnetic_before_boundary(f)

Conduct pre-processing required before boundary conditions and pencil calculations.

30-may-14/ccyang: coded

Parameters:

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

Use :

boundcond (update_ghosts(), zero_ghosts()), sub (gij(), curl_mn())

Call to:

update_ghosts(), gij(), curl_mn(), get_bext(), dot2_mn(), div_mn(), fatal_error(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/update_char_vel_magnetic(f)

25-sep-15/MR+joern: for slope limited diffusion

Add the vectorpotential to the characteritic velocity for slope limited diffusion

Parameters:

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

Call to:

dot2_mn(), gij(), div_mn(), curl_mn(), get_bext(), fatal_error(), dot_mn(), cross_mn(), gij_etc(), diamagnetism(), multsv_mn(), del4v(), del6v(), calc_pencils_magn_mf(), set_ambipolar_diffusion(), timing(), identify_bcs(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/set_ambipolar_diffusion(p)

Subroutine to choose between various models of ion density to enter in the ambipolar diffusion calculation. The “scale-density” model assumes equilibrium between ionization and recombination:

ksi * rho = beta * rho_i * rho_e

~ beta * rho_i^2

wkere ksi is ionization rate, beta the recombination rate, and rho, rho_i, and rho_e are the neutral, ion, and electron density, respectively, with rho >> rho_i ~ rho_e. Solving for rho_i,

rho_i = sqrt(ksi*rho/beta)

propto sqrt(rho)

This is implemented as ionization-equilibrium below. The proportionality coefficients are incorporated into nu_ni1.

08-mar-13/wlad: coded

Parameters:

p [pencil_case]

Called from:

update_char_vel_magnetic()

Call to:

fatal_error(), timing(), identify_bcs(), get_bext(), der6(), del6fjv(), eta_shell(), der_step(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), cross_mn(), dot2_mn(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), dot_mn(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/diamagnetism(p)

Compute diamagnetism

Parameters:

p [pencil_case,inout]

Use :

sub

Called from:

update_char_vel_magnetic()

Call to:

timing(), identify_bcs(), get_bext(), der6(), del6fjv(), eta_shell(), der_step(), fatal_error(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), cross_mn(), dot2_mn(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), dot_mn(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/daa_dt(f, df, p)

Magnetic field evolution.

Calculate dA/dt=uxB+3/2 Omega_0 A_y x_dir -eta mu_0 J. Add jxb/rho to momentum equation. Add eta mu_0 j2/rho to entropy equation.

22-nov-01/nils: coded

1-may-02/wolf: adapted for pencil_modular

17-jun-03/ulf: added bx^2, by^2 and bz^2 as separate diagnostics

8-aug-03/axel: introduced B_ext21=1./B_ext**2, and set =1 to avoid div. by 0

12-aug-03/christer: added alpha effect (alpha in the equation above) 26-may-04/axel: ambipolar diffusion added 18-jun-04/axel: Hall term added

9-apr-12/MR: upwinding for ladvective_gauge=F generalized

31-mar-13/axel: Stokes parameter integration from synchrotron emission 25-aug-13/MR: simplified calls of save_name_sound

Parameters:
Use :

debug_io (output_pencil()), deriv (der6()), diagnostics, mpicomm (stop_it()), special (special_calc_magnetic()), sub, slices_methods (store_slices())

Call to:

timing(), identify_bcs(), get_bext(), der6(), del6fjv(), eta_shell(), der_step(), fatal_error(), max_mn(), stop_it(), special_calc_magnetic(), doupwind(), erfunc(), calc_tau_aa_exterior(), set_border_magnetic(), daa_dt_meanfield(), max_mn_name(), integrate_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), save_name(), helflux(), curflux(), cross_mn(), dot2_mn(), dot_mn_sv(), save_name_sound(), yzsum_mn_name_x(), xzsum_mn_name_y(), xysum_mn_name_z(), phizsum_mn_name_r(), yzintegrate_mn_name_x(), xzintegrate_mn_name_y(), xyintegrate_mn_name_z(), phisum_mn_name_rz(), ysum_mn_name_xz(), calc_bthresh(), vecout(), dot_mn_sm(), dot_mn(), der_z(), der2_z(), div(), set_border_initcond(), border_driving(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/time_integrals_magnetic(f, p)

Calculate time_integrals within each pencil (as long as each pencil case p still contains the current data). This routine is now being called at the end of equ.

28-jun-07/axel+mreinhard: coded 24-jun-08/axel: moved call to this routine to the individual pde routines

1-jul-08/axel: moved this part to magnetic

Parameters:
Call to:

cross_mn(), dot_mn_sv(), dot_mn_sm(), dot_mn(), der_z(), der2_z(), div(), set_border_initcond(), fatal_error(), border_driving(), der_step(), stop_it(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/df_diagnos_magnetic(df, p)

calculate diagnostics that involves df Here we calculate <du/dt x b> and <u x db/dt>. The latter is calculated as <divu dai/dt> - <uji daj/dt> This is used in dynamo theory for checking the minimal tau approximation.

10-oct-06/axel: coded

Parameters:
  • df (mx,my,mz,mvar) [real,in]

  • p [pencil_case,in]

Use :

diagnostics (sum_mn_name()), sub

Call to:

cross_mn(), dot_mn_sv(), dot_mn_sm(), dot_mn(), der_z(), der2_z(), div(), set_border_initcond(), fatal_error(), border_driving(), der_step(), stop_it(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/magnetic_after_boundary(f)

Calculate <A>, which is needed for test-field methods.

2-jan-10/axel: adapted from hydro_after_boundary

10-jan-13/MR: added possibility to remove evolving mean field

Parameters:

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

Use :

general (notanumber()), deriv (der_z(), der2_z()), sub (finalize_aver(), div(), calc_diffusive_flux())

Call to:

der_z(), der2_z(), div(), set_border_initcond(), fatal_error(), border_driving(), der_step(), stop_it(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/set_border_magnetic(f, df, p)

Calculates the driving term for the border profile of the aa variable.

28-jul-06/wlad: coded

Parameters:
Use :

borderprofiles (border_driving(), set_border_initcond()), mpicomm (stop_it())

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

set_border_initcond(), fatal_error(), border_driving(), der_step(), stop_it(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present()

subroutine  magnetic/eta_shell(p, eta_mn, geta)

24-nov-03/dave: coded 23-jun-09/axel: generalized to lcylinder_in_a_box

Parameters:
  • p [pencil_case]

  • eta_mn (nx) [real]

  • geta (nx,3) [real]

Use :

sub (step(), der_step()), mpicomm (stop_it())

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

der_step(), stop_it(), read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), gamma_function(), hypergeometric2f1(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bthresh()

calculate bthresh from brms, give warnings if there are problems

6-aug-03/axel: coded

give warning if brms is not set in prints.in

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/rescaling_magnetic(f)

Rescale magnetic field by factor rescale_aa,

22-feb-05/axel: coded 10-feb-09/petri: adapted from testfield

Parameters:

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

Use :

sub (update_snaptime(), read_snaptime())

Call to:

read_snaptime(), update_snaptime(), surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_tau_aa_exterior(f, df)

magnetic field relaxation to zero on time scale tau_aa_exterior within exterior region. For the time being this means z > zgrav.

29-jul-02/axel: coded

Parameters:
Use :

gravity (zgrav())

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/helflux(aa, uxb, jj)

magnetic helicity flux (preliminary)

14-aug-03/axel: coded

Parameters:
  • aa (nx,3) [real,in]

  • uxb (nx,3) [real,in]

  • jj (nx,3) [real,in]

Use :

diagnostics

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/curflux_ds(uxb, jj)

current helicity flux (preliminary)

27-nov-03/axel: adapted from helflux

Parameters:
  • uxb (nx,3) [real,in]

  • jj (nx,3) [real,in]

Use :

diagnostics

Call to:

surf_mn_name(), read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/curflux(uxb, jj)

current helicity flux (preliminary)

27-nov-03/axel: adapted from helflux

Parameters:
  • uxb (nx,3) [real,in]

  • jj (nx,3) [real,in]

Use :

diagnostics

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), daa_dt(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), calc_pencils_magnetic()

Call to:

read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/read_magnetic_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

read_magn_mf_init_pars(), write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/write_magnetic_init_pars(unit)
Parameters:

unit [integer,in]

Call to:

write_magn_mf_init_pars(), read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/read_magnetic_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

read_magn_mf_run_pars(), write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/write_magnetic_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

write_magn_mf_run_pars(), dot_mn(), calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/get_slices_magnetic(f, slices)

Write slices for animation of Magnetic variables.

26-jul-06/tony: coded

Parameters:
Use :

slices_methods (assign_slices_vec(), assign_slices_scal())

Call to:

calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_mfield()

calculate mean magnetic field from xy- or z-averages

19-jun-02/axel: moved from print to here

9-nov-02/axel: corrected bxmy(m,j); it used bzmy instead!

Use :

mpicomm, sub

Call to:

calc_bmx(), calc_bmy(), calc_bmz(), calc_bmzs2(), calc_bmza2(), calc_jmx(), calc_jmy(), calc_jmz(), calc_emxamz3(), calc_embmz(), calc_ambmz(), calc_ambmzh(), calc_jmbmz(), calc_bmxy_rms(), calc_bmz_beltrami_phase(), save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmx()

Magnetic energy in the yz-averaged field. The bymxy and bzmxy must have been calculated, so they are present on the z-root processors.

6-apr-08/axel: moved from calc_mfield to here

26-aug-09/anders: used mpireduce_sum to remove need for nyproc arrays

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmy()

Magnetic energy in the xz-averaged field. The bxmxy and bzmxy must have been calculated, so they are present on the z-root processors.

6-apr-08/axel: moved from calc_mfield to here

26-aug-09/axel: adapted change of Anders to used mpireduce_sum

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmzs2()

Magnetic energy in anisymmetric part of the horizontally averaged field. The bxmz and bymz must have been calculated, and present on root processor.

8-mar-10/axel: adapted from bmz

Use :

diagnostics (save_name())

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmza2()

Magnetic energy in anisymmetric part of the horizontally averaged field. The bxmz and bymz must have been calculated, and present on root processor.

8-mar-10/axel: adapted from bmz

Use :

diagnostics (save_name())

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmz()

Magnetic energy in horizontally averaged field. The bxmz and bymz must have been calculated, so they are present on the root processor.

6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_jmx()

Magnetic energy in the yz-averaged field. The jymxy and jzmxy must have been calculated, so they are present on the z-root processors.

6-apr-08/axel: moved from calc_mfield to here

28-feb-10/axel: final jmx can only be computed on root processor

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_jmy()

Magnetic energy in the xz-averaged field. The jxmxy and jzmxy must have been calculated, so they are present on the z-root processors.

6-apr-08/axel: moved from calc_mfield to here

28-feb-10/axel: final jmy can only be computed on root processor

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_jmz()

Magnetic energy in horizontally averaged field. The jxmz and jymz must have been calculated, so they are present on the root processor.

6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_embmz()

Magnetic helicity production of mean field. The bxmz and bymz as well as Exmz and Eymz must have been calculated, so they are present on the root processor.

6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_emxamz3()

Volume average of magnetic helicity flux of the mean field. The axmz and aymz as well as Exmz and Eymz must have been calculated, so they are present on the root processor.

6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_ambmz()

Magnetic helicity of the xy-averaged mean field. The bxmz and bymz as well as axmz and aymz must have been calculated, so they are present on the root processor.

16-may-09/axel: adapted from calc_jmbmz

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), save_name_halfz(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_ambmzh()

Hemispheric magnetic helicity of the xy-averaged mean field. The bxmz and bymz as well as axmz and aymz must have been calculated, so they are present on the root processor.

16-may-09/axel: adapted from calc_ambmz

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name_halfz(), save_name(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_jmbmz()

Current helicity of the xy-averaged mean field The bxmz and bymz as well as jxmz and jymz must have been calculated, so they are present on the root processor.

21-apr-08/axel: adapted from calc_embmz

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), stop_it(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmxy_rms()

Magnetic energy in z averaged field. The bxmxy, bymxy and bzmxy must have been calculated, so they are present on the root processor.

6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

stop_it(), save_name(), gamma_function(), hypergeometric2f1(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/calc_bmz_beltrami_phase()

The following is useful if the xy-averaged field is a Beltrami field Determine its phase as in B ~ [ cos(kz+phi), sin(kz+phi), 0 ]. This means that for positive phi the wave is shifted to the left.

bxmz, bymz must have been calculated, so they are present on the root processor.

2-apr-08/MR: introduced phase calculation for Beltrami mean fields 6-apr-08/axel: moved from calc_mfield to here

Use :

diagnostics, mpicomm

Called from:

register_magnetic(), initialize_magnetic(), init_aa(), pencil_criteria_magnetic(), pencil_interdep_magnetic(), magnetic_after_boundary(), daa_dt(), read_magnetic_init_pars(), write_magnetic_init_pars(), read_magnetic_run_pars(), write_magnetic_run_pars(), get_slices_magnetic(), time_integrals_magnetic(), df_diagnos_magnetic(), rescaling_magnetic(), calc_mfield(), update_char_vel_magnetic(), set_ambipolar_diffusion(), diamagnetism(), set_border_magnetic(), eta_shell(), calc_bthresh(), calc_tau_aa_exterior(), helflux(), curflux_ds(), curflux(), calc_pencils_magnetic(), sine_avoid_boundary()

Call to:

save_name(), gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfven_x(ampl, f, iuu, iaa, ilnrho, kx)

Alfven wave propagating in the x-direction

ux = +sink(x-vA*t) Az = -cosk(x-vA*t)*sqrt(rho*mu0)/k

Alfven and slow magnetosonic are the same here and both incompressible, and a fast magnetosonic (compressible) wave is also excited, but decoupled.

satisfies the four equations dlnrho/dt = -ux’ dux/dt = -cs2*(lnrho)’ duy/dt = B0*By’ ==> duy/dt = -B0*Az’’ dBy/dt = B0*uy’ ==> dAz/dt = -B0*ux

8-nov-03/axel: coded

29-apr-03/axel: added sqrt(rho*mu0)/k factor

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • ilnrho [integer]

  • kx [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfven_y(ampl, f, iuu, iaa, ky, mu0)

Alfven wave propagating in the y-direction; can be used in 2-d runs. ux = cos(ky-ot), for B0y=1 and rho=1. Az = sin(ky-ot), ie Bx=-cos(ky-ot)

[wd nov-2006: There should be a 1/ky in the aa term here and in alfven_x, I think]

satisfies the equations dux/dt = Bx’ ==> dux/dt = -Az’’ dBx/dt = ux’ ==> dAz/dt = -ux.

06-dec-06/wolf: adapted from alfven_z

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • ky [real]

  • mu0 [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfven_z(ampl, f, iuu, iaa, kz, mu0)

Alfven wave propagating in the z-direction ux = cos(kz-ot), for B0z=1 and rho=1. Ay = sin(kz-ot), ie Bx=-cos(kz-ot)

satisfies the equations dux/dt = Bx’ ==> dux/dt = -Ay’’ dBx/dt = ux’ ==> dAy/dt = -ux.

18-aug-02/axel: coded

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kz [real]

  • mu0 [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfven_xy(ampl, f, iuu, iaa, kx, ky)

Alfven wave propagating in the xy-direction; can be used in 2-d runs. uz = cos(kx*x+ky*y-ot), for B0=(1,1,0) and rho=1. Ax = sin(kx*x+ky*y-ot), Ay = sin(kx*x+ky*y-ot),

16-jun-07/axel: adapted from alfven_y

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kx [real]

  • ky [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfven_xz(ampl, f, iuu, iaa, kx, kz)

Alfven wave propagating in the xz-direction; can be used in 2-d runs. uz = cos(kx*x+kz*z-ot), for B0=(1,1,0) and rho=1. Ax = sin(kx*x+kz*z-ot), Az = sin(kx*x+kz*z-ot),

16-jun-07/axel: adapted from alfven_xy

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kx [real]

  • kz [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfvenz_rot(ampl, f, iuu, iaa, kz, o)

Alfven wave propagating in the z-direction (with Coriolis force) ux = cos(kz-ot), for B0z=1 and rho=1. Ay = sin(kz-ot), ie Bx=-cos(kz-ot)

satisfies the equations dux/dt - 2Omega*uy = -Ay’’ duy/dt + 2Omega*ux = +Ax’’ dAx/dt = +uy dAy/dt = -ux

18-aug-02/axel: coded

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kz [real]

  • o [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfvenz_bell(ampl, f, iuu, iaa, kz, b0, j0)

Bell instability for the pressureless equations du/dt = j x B0 - J0 x b da/dt = u x B0

13-jan-12/axel: coded

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kz [real]

  • b0 [real]

  • j0 [real]

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/alfvenz_rot_shear(ampl, f, iuu, iaa, kz, oo)

Alfven wave propagating in the z-direction (with Coriolis force and shear)

satisfies the equations dux/dt - 2*Omega*uy = -Ay’’ duy/dt + (2-q)*Omega*ux = +Ax’’ dAx/dt = q*Omega*Ay + uy dAy/dt = -ux

Assume B0=rho0=mu0=1

28-june-04/anders: coded

Parameters:
  • ampl [real]

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

  • iuu [integer]

  • iaa [integer]

  • kz [real]

  • oo [real]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/torus_test(ampl, f)

Initial field concentrated along torus well inside the computational domain. Implements the same field for cartesian and spherical cordinates. The field is of mixed parity (bb_pol symmetric, bb_tor antisymmetric) and the relative contributions of toroidal and poloidal field are determined by

Parameters:
  • ampl [real,in] ::

    1. – bb_tor (through aa_pol)

  • ampl ::

    3) – bb_tor (through aa_pol) Uses x_max as reference radius.

    05-may-2008/wolf: coded

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

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/force_free_jet(mu)

Force free magnetic field configuration for jet simulations with a fixed accretion disc at the bottom boundary.

The input parameter mu specifies the radial dependency of the magnetic field in the disc.

Solves the laplace equation in cylindrical coordinates for the phi-component of the vector potential. A_r and A_z are taken to be zero.

nabla**2 A_phi - A_phi / r**2 = 0

For the desired boundary condition in the accretion disc

B_r=B0*r**(mu-1) (z == 0)

the solution is

A_phi = Hypergeometric2F1( (1-mu)/2, (2+mu)/2, 2, xi**2 )

*xi*(r**2+z**2)**(mu/2)

where xi = sqrt(r**2/(r**2+z**2))

30-may-04/tobi: coded

Parameters:

mu [real,in]

Use :

sub (hypergeometric2f1(), gamma_function()), deriv (der()), debug_io (output())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

gamma_function(), hypergeometric2f1(), stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/piecew_dipole_aa(ampl, inclaa, f, ivar)

A field that is vertical uniform for r<R_int, inclined dipolar for r>R_ext, and potential in the shell R_int<r<R_ext. This mimics a neutron star just after the Meissner effect forced the internal field to become vertical (aligned with rotation axis).

AMPL represents mu/4 pi, where mu = 1/2 Int rr jj dV is the magnetic moment of the external dipole field. INCLAA is the inclination of the dipolar field.

Pencilized in order to minimize memory consumption with all the auxiliary variables used.

23-jul-05/wolf:coded

Parameters:
  • ampl [real,in]

  • inclaa [real,in]

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

  • ivar [integer]

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/geo_benchmark_b(f)

30-june-04/grs: coded

Parameters:

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

Use :

mpicomm (stop_it())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

stop_it(), der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/eta_xy_dep(eta_xy, geta_xy, eta_xy_profile)

2-jul-2009/koen: creates an xy-dependent resistivity (for RFP studies) (under reconstruction)

Parameters:
  • eta_xy (mx,my) [real,out]

  • geta_xy (mx,my,3) [real,out]

  • eta_xy_profile [character]

Called from:

register_magnetic(), initialize_magnetic()

Call to:

der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/eta_zdep(zdep_profile, nz, z, eta_z[, geta_z])

creates a z-dependent resistivity for protoplanetary disk studies

12-jul-2005/joishi: coded

Input Arguments

Parameters:
  • zdep_profile [character,in] :: name/code of the z-dependent profile

  • nz [integer,in,] :: number of elements in array z

  • z (nz) [real,in] :: z coordinates Output Arguments

  • eta_z (nz) [real,out] :: resistivity at the corresponding z Optional Output Arguments

  • geta_z (nz) [real,out,] :: gradient of resistivity at the corresponding z

Use :

general (erfcc()), sub (step(), der_step(), cubic_step(), cubic_der_step()), equationofstate (cs0())

Called from:

register_magnetic(), initialize_magnetic()

Call to:

der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/eta_ydep(ydep_profile, ny, y, eta_y[, geta_y])

creates a z-dependent resistivity for protoplanetary disk studies

19-aug-2013/wlad: adapted from eta_zdep

Parameters:
  • ydep_profile [character,in]

  • ny [integer,in,]

  • y (ny) [real,in]

  • eta_y (ny) [real,out]

  • geta_y (ny) [real,out,]

Use :

general (erfcc()), sub (step(), der_step()), equationofstate (cs0())

Call to:

der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/eta_xdep(eta_x, geta_x, xdep_profile)

creates a x-dependent resistivity for protoplanetary disk studies

09-mar-2011/wlad: adapted from eta_zdep 10-mar-2011/axel: corrected gradient term: should point in x

Parameters:
  • eta_x (mx) [real,out]

  • geta_x (mx) [real,out]

  • xdep_profile [character]

Use :

general (erfcc()), sub (step(), der_step())

Call to:

der_step(), warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/bb_unitvec_shock(f, bb_hat)

Compute unit vector along the magnetic field. Accurate to 2nd order. Tries to avoid division by zero. Taken from http://nuclear.llnl.gov/CNP/apt/apt/aptvunb.html. If anybody knows a more accurate way of doing this, please modify.

16-aug-06/tobi: coded

Parameters:
Call to:

warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/input_persist_magnetic_id(id, done)

Read in the stored phase and amplitude for the correction of the Beltrami wave forcing.

5-apr-08/axel: adapted from input_persist_forcing

13-Dec-2011/Bourdin.KIS: reworked

Parameters:
  • id [integer]

  • done [logical]

Use :

io (read_persist())

Call to:

warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/input_persist_magnetic()

Read in the stored phase and amplitude for the correction of the Beltrami wave forcing.

13-Oct-2019/PABourdin: coded

Use :

io (read_persist())

Call to:

warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

function  magnetic/output_persistent_magnetic()

Write the stored phase and amplitude for the correction of the Beltrami wave forcing

5-apr-08/axel: adapted from output_persistent_forcing

13-Dec-2011/Bourdin.KIS: reworked

Return:

output_persistent_magnetic [logical]

Use :

io (write_persist())

Call to:

warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/rprint_magnetic(lreset[, lwrite])

Reads and registers print parameters relevant for magnetic fields.

3-may-02/axel: coded

27-may-02/axel: added possibility to reset list

Parameters:
  • lreset [logical]

  • lwrite [logical,in,]

Use :

diagnostics, farraymanager (farray_index_append()), messages (warning())

Call to:

warning(), rprint_magn_mf(), integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/dynamical_resistivity(uc)

Dynamically set resistivity coefficient given fixed mesh Reynolds number.

27-jul-11/ccyang: coded

Input Argument
uc

Characteristic velocity of the system.

Parameters:

uc [real,in]

Call to:

integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/split_update_magnetic(f)

Update the magnetic potential by integrating the operator split magnetic terms.

23-aug-13/ccyang: coded

Parameters:

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

Use :

implicitdiffusion (integrate_diffusion())

Call to:

integrate_diffusion(), name_is_present(), fatal_error()

subroutine  magnetic/expand_shands_magnetic()

Expands shorthand labels of magnetic diagnostics.

16-may-12/MR: coded

Use :

diagnostics (name_is_present(), expand_cname())

Call to:

name_is_present(), fatal_error()

subroutine  magnetic/get_bext(b_ext_out)

Get the external magnetic field at current time step.

lbext_curvilinear = .true. is default. The B_ext the user defines in magnetic_init_pars respects the coordinate system of preference which means that B_ext=(0.0,1.0,0.0) is an azimuthal field in cylindrical coordinates and a polar one in spherical.

01-nov-14/ccyang: coded

Parameters:

b_ext_out (3) [real,out]

Call to:

fatal_error()