maxwell

Module

Description

$Id$

This module provide a way for users to specify custom (i.e. not in the standard Pencil Code) physics, diagnostics etc.

The module provides a set of standard hooks into the Pencil-Code and currently allows the following customizations:

Special variable registration | register_magnetic

(pre parameter read) |

Special variable initialization | initialize_magnetic

(post parameter read) |

Special variable finalization | finalize_magnetic
(deallocation, etc.) |

Special initial condition | init_magnetic

this is called last so may be used to modify | the mvar variables declared by this module | or optionally modify any of the other f array | variables. The latter, however, should be | avoided where ever possible. |


Special term in the mass (density) equation | magnetic_calc_density Special term in the momentum (hydro) equation | magnetic_calc_hydro Special term in the energy equation | magnetic_calc_energy Special term in the induction (magnetic) | magnetic_calc_magnetic

equation |

Special equation | dmagnetic_dt

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of magnetic_dummies.inc) the number of f array variables and auxiliary variables added by this module. Need 3*2 for Ak, 3*2 for Ek, and then 3+3 for E and B, so 3*6=18. However, the space for E and B needs to be allocated in cparam.local. Need to allocate 12 basic chunks if full 3-D fields are used, or only 4 chunks if lpolarization_basis=T.

CPARAM logical, parameter :: lmagnetic = .true. CPARAM logical, parameter :: lbfield = .false.

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0

PENCILS PROVIDED bb(3); bbb(3); bij(3,3); jxbr(3); ss12; uxb(3); jj(3) PENCILS PROVIDED el(3); e2; a2; b2; bf2; j2 PENCILS PROVIDED aa(3); diva; del2a(3); aij(3,3); bunit(3); va2


HOW TO USE THIS FILE

Change the line above to

lmagnetic = .true.

to enable use of magnetic hooks.

The rest of this file may be used as a template for your own magnetic module. Lines which are double commented are intended as examples of code. Simply fill out the prototypes for the features you want to use.

Save the file with a meaningful name, eg. geo_kws.f90 and place it in the $PENCIL_HOME/src/magnetic directory. This path has been created to allow users ot optionally check their contributions in to the Pencil-Code SVN repository. This may be useful if you are working on/using the additional physics with somebodyelse or may require some assistance from one of the main Pencil-Code team.

To use your additional physics code edit the Makefile.local in the src directory under the run directory in which you wish to use your additional physics. Add a line with all the module selections to say something like:

SPECIAL=magnetic/geo_kws

Where geo_kws it replaced by the filename of your new module upto and not including the .f90

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

Types

  • type  magnetic/magspectra
    Type fields:
    • % ele (nk) [real]

    • % elehel (nk) [real]

    • % mag (nk) [real]

    • % maghel (nk) [real]

    • % spectra [magspectra]

Variables

  • magnetic/aakim (3) [real,private]
  • magnetic/aakre (3) [real,private]
  • magnetic/aamz (mz,3) [real,public]
  • magnetic/alpha2_inflation [real,private]
  • magnetic/alpha_inflation [real,private/optional/default=0.0]
  • magnetic/ampl_uy [real,private/optional/default=0.0]
  • magnetic/amplaa [real,private/optional/default=0.0001]
  • magnetic/b_ext (3) [real,private/optional/default=0.0]
  • magnetic/b_ext_inv (3) [real,public/optional/default=(/0.0,0.0,0.0/)]
  • magnetic/beta1_inflation [real,private]
  • magnetic/beta2_inflation [real,private]
  • magnetic/beta_inflation [real,private/optional/default=0.0]
  • magnetic/c_light2 [real,private/optional/default=1.0]
  • magnetic/calc_pencils_magnetic [public]
  • magnetic/cc_light [character,private/optional/default='1']
  • magnetic/conductivity [character,private/optional/default='const']
  • magnetic/cutoff_aa [real,private/optional/default=0.0]
  • magnetic/eekim (3) [real,private]
  • magnetic/eekre (3) [real,private]
  • magnetic/epol (*,*,*,*) [complex,private/allocatable]
  • magnetic/eps_quench [real,private/optional/default=0.3]
  • magnetic/iakx [integer,private]
  • magnetic/iakxim [integer,private]
  • magnetic/iaky [integer,private]
  • magnetic/iakyim [integer,private]
  • magnetic/iakz [integer,private]
  • magnetic/iakzim [integer,private]
  • magnetic/idiag_aa2m [integer,private/optional/default=0]
  • magnetic/idiag_akxpt [integer,private/optional/default=0]
  • magnetic/idiag_arms [integer,private/optional/default=0]
  • magnetic/idiag_axmz [integer,public/optional/default=0]
  • magnetic/idiag_aymz [integer,public/optional/default=0]
  • magnetic/idiag_bcosphz [integer,private/optional/default=0]
  • magnetic/idiag_bfrms [integer,private/optional/default=0]
  • magnetic/idiag_bmax [integer,private/optional/default=0]
  • magnetic/idiag_brms [integer,private/optional/default=0]
  • magnetic/idiag_bsinphz [integer,private/optional/default=0]
  • magnetic/idiag_bxmz [integer,public/optional/default=0]
  • magnetic/idiag_bymz [integer,public/optional/default=0]
  • magnetic/idiag_ee2m [integer,private/optional/default=0]
  • magnetic/idiag_eeem [integer,private/optional/default=0]
  • magnetic/idiag_ekxpt [integer,private/optional/default=0]
  • magnetic/idiag_emag [integer,private/optional/default=0]
  • magnetic/idiag_erms [integer,private/optional/default=0]
  • magnetic/idiag_sigma [integer,private/optional/default=0]
  • magnetic/iekx [integer,private]
  • magnetic/iekxim [integer,private]
  • magnetic/ieky [integer,private]
  • magnetic/iekyim [integer,private]
  • magnetic/iekz [integer,private]
  • magnetic/iekzim [integer,private]
  • magnetic/ilam [integer,public/optional/default=0]
  • magnetic/initaak [character,private/optional/default='nothing']
  • magnetic/initeek [character,private/optional/default='nothing']
  • magnetic/initpower2_aa [real,private/optional/default=-3.6666666666666665]
  • magnetic/initpower_aa [real,private/optional/default=0.0]
  • magnetic/k1hel [real,private/optional/default=0.0]
  • magnetic/k2hel [real,private/optional/default=1.0]
  • magnetic/kgaussian_aa [real,private/optional/default=0.0]
  • magnetic/kpeak_aa [real,private/optional/default=10.0]
  • magnetic/kscale_factor [real,private]
  • magnetic/ksign [real,private/optional/default=1.0]
  • magnetic/kx_aa [integer,private/optional/default=0]
  • magnetic/ky_aa [integer,private/optional/default=0]
  • magnetic/kz_aa [integer,private/optional/default=0]
  • magnetic/laa_as_aux [logical,private/optional/default=.false.]
  • magnetic/lalpha_inflation [logical,private]
  • magnetic/lback_to_unscaled [logical,private/optional/default=.true.]
  • magnetic/lbb_as_aux [logical,private/optional/default=.true.]
  • magnetic/lbeta_inflation [logical,private]
  • magnetic/lcalc_aamean [logical,public/optional/default=.false.]
  • magnetic/lcalc_aameanz [logical,public/optional/default=.false.]
  • magnetic/lcoulomb [logical,public/optional/default=.false.]
  • magnetic/ldebug_print [logical,private/optional/default=.false.]
  • magnetic/lee_as_aux [logical,private/optional/default=.true.]
  • magnetic/lemf [logical,private/optional/default=.false.]
  • magnetic/linflation [logical,private/optional/default=.false.]
  • magnetic/ljj_as_aux [logical,private/optional/default=.false.]
  • magnetic/lminus_mode [logical,private/optional/default=.false.]
  • magnetic/lpolarization_basis [logical,private/optional/default=.false.]
  • magnetic/lquench_inflation [logical,private/optional/default=.false.]
  • magnetic/lreheating [logical,private/optional/default=.false.]
  • magnetic/lresi_dep (7) [logical,public/optional/default=.false.]
  • magnetic/lscale_tobox [logical,private/optional/default=.true.]
  • magnetic/lskip_projection_aa [logical,private/optional/default=.false.]
  • magnetic/lswitch_sign_e2 [logical,private/optional/default=.false.]
  • magnetic/magspectra [private]
  • magnetic/mu012 [real,private/optional/default=0.5]
  • magnetic/ncutoff_aa [real,private/optional/default=1.0]
  • magnetic/nk [integer,private/parameter/optional/default=nxgrid/2]
  • magnetic/nquench [real,private/optional/default=10.0]
  • magnetic/phase_aa [real,private/optional/default=0.0]
  • magnetic/reinitialize_aa [logical,private/optional/default=.false.]
  • magnetic/relhel_aa [real,private/optional/default=1.0]
  • magnetic/rescale_aa [real,private/optional/default=0.0]
  • magnetic/sigma [real,private/optional/default=0.0]
  • magnetic/sigma_t1 [real,private/optional/default=0.0]
  • magnetic/sigma_t2 [real,private/optional/default=0.0]
  • magnetic/t1_sigma [real,private/optional/default=0.0]
  • magnetic/t2_sigma [real,private/optional/default=0.0]
  • magnetic/ux_const [real,private/optional/default=0.0]