temperature_idealgas

Module

Description

$Id$

This module can replace the energy module by using lnT or T (with ltemperature_nolog=.true.) as dependent variable. For a perfect gas with constant coefficients (no ionization) we have: (1-1/gamma) * cp*T = cs20 * exp( (gamma-1)*ln(rho/rho0)-gamma*s/cp )

Note that to use lnTT as thermal variable, you may rather want to use energy.f90 with pretend_lnTT=.true. As of March 2007, entropy.f90 has way more options and features than temperature_idealgas.f90.

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lentropy = .false. CPARAM logical, parameter :: ltemperature = .true. CPARAM logical, parameter :: lthermal_energy = .false.

MVAR CONTRIBUTION 1 MAUX CONTRIBUTION 0

PENCILS PROVIDED Ma2; uglnTT; ugTT; fpres(3); tcond; sglnTT(3); d2xlnTT; d2zlnTT, advec_cs2


Quick access

Variables:

allp, amp_patch, ampl_imp_ss, ampl_lntt, ampl_tt, ampltt1, ampltt2, apply_floor, arad_normal, b_1, b_2, beta_bouss, blob_radeq, borderss, calc_0d_diagnostics_energy, calc_1d_diagnostics_energy, calc_2d_diagnostics_energy, calc_energy_slope_limited, calc_heat_cool, calc_heat_cool_prestellar, calc_heat_cool_variable, calc_heat_split, calc_heatcond, calc_heatcond_arrays, calc_heatcond_chi_no_ddrsph, calc_heatcond_chit, calc_heatcond_constchi, calc_heatcond_constchi_arr, calc_heatcond_constk, calc_heatcond_constk_arrays, calc_heatcond_cspeed_chi, calc_heatcond_cubicstepchi, calc_heatcond_hubeny, calc_heatcond_hyper3, calc_heatcond_hyper3_aniso, calc_heatcond_hyper3_mesh, calc_heatcond_hyper3_polar, calc_heatcond_kramers, calc_heatcond_ktherm, calc_heatcond_sfluct, calc_heatcond_shock, calc_heatcond_shock_profr, calc_heatcond_smagorinsky, calc_heatcond_sqrtrhochi, calc_heatcond_tensor, calc_heatcond_zprof, calc_ssmeanxy, center1_x, center1_y, center1_z, center2_x, center2_y, center2_z, chi, chi_cspeed, chi_hyper3, chi_hyper3_aniso, chi_hyper3_mesh, chi_jump, chi_jump_shock, chi_r_reduce, chi_rho, chi_shock, chi_shock2, chi_t1, chi_z0, chi_zwidth, chimax_kramers, chimin_kramers, chit_aniso, chit_aniso_prof, chit_aniso_prof1, chit_aniso_prof2, chit_aniso_profile, chit_fluct_prof1, chit_fluct_prof2, chit_prof, chit_prof1, chit_prof2, chit_prof_fluct, chit_prof_fluct_stored, chit_prof_fluct_stored_size, chit_prof_size, chit_prof_stored, chit_profile, chit_profile_fluct, coef_cs2, coef_lntt, const_cooling_time, cool, cool1, cool2, cool_ext, cool_fac, cool_int, cool_ki02_sd93, cool_newton, cool_sd93, cool_uniform, coolfac, cooling, cooling_profile, cp1, cs2_ext, cs2_int, cs2cool2, cs2cool_x, cs2mx, cs2mxy, cs2mz, cs2top_ini, cs_z, cv1, cv1_temp, cylind_layers, dchit_aniso_prof, dchit_prof_fluct_stored, dchit_prof_stored, dcs2top_ini, dee_dt, del2ssmx, del2ssmz, delta_tt, deltat, deltat_poleq, dheat_buffer1, diffus_chi, diffus_chi3, div_sld_ene, dlneth0dz, dlnhcond_prof, downflow_cs2cool_fac, dprofxss, energy_after_timestep, energy_floor, entropy_floor, entropy_flux, enum_borderss, enum_cooling_profile, enum_cooltype, enum_div_sld_ene, enum_heattype, eth_const, eth_left, eth_right, expand_shands_energy, fbot, feedback, ferriere, ferriere_hs, galactic_hs, gamma, gamma1, gamma_m1, get_aia_tab_resp, get_chit_prof_fluct, get_cool_general, get_delta_eth, get_gravx_heatcond, get_gravz_heatcond, get_heat_cool_corona, get_heat_cool_gravr, get_heat_cool_gravx_cartesian, get_heat_cool_gravx_spherical, get_heat_cool_gravz, get_prof_pencil, get_temperature, gradlogchit_profile, grads0_imposed, gradtt0, gss0, gss1, gssmx, gssmz, gttmz, h_sld_ene, hcond, hcond0, hcond0_kramers, hcond1, hcond2, hcond_kconst, hcond_prof, hcond_prof_size, heat_ceiling, heat_gaussianblob, heat_gaussianblob_r0, heat_gaussianblob_sigma, heat_gaussianz, heat_gaussianz_sigma, heat_int, heat_ki02, heat_source, heat_source_offset, heat_source_sigma, heat_thompson_fact, heat_uniform, heatcond_tt, heatcond_tt_0d, heatcond_tt_1d, heatcond_tt_2d, heattype, hmax, hole_slope, hole_width, hydrostatic_isentropic, ichit, idiag_cgam, idiag_chikrammax, idiag_chikrammin, idiag_cp, idiag_cs2mphi, idiag_csm, idiag_csmax, idiag_csmin, idiag_cv, idiag_dcoolmphi, idiag_dcoolx, idiag_dcoolxy, idiag_dcoolz, idiag_deltm, idiag_divcoolmphi, idiag_divheatmphi, idiag_dtc, idiag_dtchi, idiag_dth, idiag_eem, idiag_eemz, idiag_emaia131mxy, idiag_emaia131mxz, idiag_emaia171mxy, idiag_emaia171mxz, idiag_emaia193mxy, idiag_emaia193mxz, idiag_emaia211mxy, idiag_emaia211mxz, idiag_emaia304mxy, idiag_emaia304mxz, idiag_emaia335mxy, idiag_emaia335mxz, idiag_emaia94mxy, idiag_emaia94mxz, idiag_emxrtmxy, idiag_emxrtmxz, idiag_eruzmz, idiag_ethdivum, idiag_ethm, idiag_ethmax, idiag_ethmin, idiag_ethmz, idiag_ethtot, idiag_ethuxmx, idiag_ethuxmz, idiag_ethuymz, idiag_ethuzmz, idiag_etot, idiag_fconvm, idiag_fconvmz, idiag_fconvpsphmphi, idiag_fconvrsphmphi, idiag_fconvthsphmphi, idiag_fconvxmx, idiag_fconvxy, idiag_fconvyxy, idiag_fconvz, idiag_fconvzxy, idiag_fenthdownz, idiag_fenthupz, idiag_fenthz, idiag_ffakez, idiag_fpresxmz, idiag_fpresymz, idiag_fpreszmz, idiag_fracvph1mz, idiag_fracvph2mz, idiag_fracvph3mz, idiag_fradbot, idiag_fradmz, idiag_fradr_constchixy, idiag_fradrsphmphi_kconst, idiag_fradrsphmphi_kprof, idiag_fradrsphmphi_kramers, idiag_fradtop, idiag_fradx_constchi, idiag_fradx_kramers, idiag_fradxy_kramers, idiag_fradymxy_kprof, idiag_fradz, idiag_fradz_constchi, idiag_fradz_kramers, idiag_fturbfz, idiag_fturbmz, idiag_fturbrsphmphi, idiag_fturbtz, idiag_fturbymxy, idiag_fturbz, idiag_gradpxmz, idiag_gradpymz, idiag_gradpzmz, idiag_gsrms, idiag_gss2mz, idiag_gsxmxy, idiag_gsymxy, idiag_gszmxy, idiag_gt2m, idiag_gtmax, idiag_gtrms, idiag_gtt2mz, idiag_gtxgsom, idiag_gtxgsrms, idiag_gtxgsx2mxy, idiag_gtxgsx2mz, idiag_gtxgsxmxy, idiag_gtxgsxmz, idiag_gtxgsy2mxy, idiag_gtxgsy2mz, idiag_gtxgsymxy, idiag_gtxgsymz, idiag_gtxgsz2mxy, idiag_gtxgsz2mz, idiag_gtxgszmxy, idiag_gtxgszmz, idiag_gtxmxy, idiag_gtymxy, idiag_gtzmxy, idiag_guxgtm, idiag_guygtm, idiag_guzgtm, idiag_heatm, idiag_heatmz, idiag_heatthm, idiag_hmax, idiag_kkramersm, idiag_kkramersmx, idiag_kkramersmz, idiag_mum, idiag_mumz, idiag_pdivum, idiag_pdivumz, idiag_ppm, idiag_ppmax, idiag_ppmin, idiag_ppmphi, idiag_ppmx, idiag_ppmy, idiag_ppmz, idiag_ppuzmz, idiag_pr1mz, idiag_puzmz, idiag_ss2downmz, idiag_ss2m, idiag_ss2mphi, idiag_ss2mx, idiag_ss2mz, idiag_ss2upmz, idiag_ss_run_averm, idiag_ssbycpm, idiag_ssdownmz, idiag_ssf2downmz, idiag_ssf2mz, idiag_ssf2upmz, idiag_ssm, idiag_ssmax, idiag_ssmin, idiag_ssmphi, idiag_ssmr, idiag_ssmx, idiag_ssmxy, idiag_ssmxz, idiag_ssmy, idiag_ssmz, idiag_ssruzm, idiag_ssupmz, idiag_ssuzm, idiag_tauhmin, idiag_tdxpm, idiag_tdypm, idiag_tdzpm, idiag_thcool, idiag_thermalpressure, idiag_tppm, idiag_trms, idiag_tt2downmz, idiag_tt2m, idiag_tt2mx, idiag_tt2mz, idiag_tt2upmz, idiag_ttdownmz, idiag_ttf2downmz, idiag_ttf2mz, idiag_ttf2upmz, idiag_ttm, idiag_ttmax, idiag_ttmaxloc, idiag_ttmin, idiag_ttminloc, idiag_ttmphi, idiag_ttmr, idiag_ttmx, idiag_ttmxy, idiag_ttmxz, idiag_ttmy, idiag_ttmz, idiag_ttp, idiag_ttref, idiag_tttop, idiag_ttupmz, idiag_ttzmask, idiag_tugtm, idiag_tugux_uxugtm, idiag_tuguy_uyugtm, idiag_tuguz_uzugtm, idiag_ufpresm, idiag_ugradpmz, idiag_ursphttmphi, idiag_uxtm, idiag_uxtmz, idiag_uxttmx, idiag_uxttmxy, idiag_uxttmz, idiag_uytm, idiag_uytmz, idiag_uyttmx, idiag_uyttmxy, idiag_uyttmz, idiag_uztm, idiag_uztmz, idiag_uzttdownmz, idiag_uzttmx, idiag_uzttmxy, idiag_uzttmz, idiag_uzttupmz, idiag_yhm, idiag_yhmax, idiag_yhmin, iheatcond, iinit_str, init_cooling_sd93, init_ee, initeth, initialize_cooling_patches, initlntt, initss, intlnt_1, intlnt_2, ippaux, isothtop, iss_profile, ivid_pp, jeans_c0, jeans_floor, k_kramers, kappa_rosseland, kgpara, kgperp, ki_a0, ki_a1, ki_a2, ki_heat, ki_t1, ki_t2, ki_t3, ki_v1, ki_v2, kmax, kmin, kramers_get_k, ktop, kx_lntt, kx_ss, ky_lntt, ky_ss, kz_lntt, kz_ss, ladi_mixed, ladvection_energy, ladvection_entropy, ladvection_temperature, layer_ss, lborder_heat_variable, lcalc_cs2mean, lcalc_cs2mz_mean, lcalc_cs2mz_mean_diag, lcalc_heat_cool, lcalc_ss_volaverage, lcalc_ssmean, lcalc_ssmeanxy, lcalc_ttmean, lcheck_negative_energy, lchi_rosseland, lchi_shock_density_dep, lchi_t1_noprof, lchib_simplified, lchit_aniso_simplified, lchit_fluct, lchit_mean, lchit_not, lchit_total, lchromospheric_cooling, lconservative_pressure_on_rhs, lconst_cooling_time, lconvection_gravx, lcool_prof_as_var, lcooling_general, lcooling_patches, lcooling_to_cs2cool, lenergy_slope_limited, lfenth_as_aux, lffree, lfpres_from_pressure, lfreeze_lnttext, lfreeze_lnttint, lfreeze_sext, lfreeze_sint, lhcond0_density_dep, lhcond_global, lheat_cool_gravz, lheat_source, lheat_thompson, lheatc_chi_cspeed, lheatc_chi_reduce_ddr, lheatc_chiconst, lheatc_chiconst_accurate, lheatc_chicubicstep, lheatc_chit, lheatc_corona, lheatc_hubeny, lheatc_hyper3, lheatc_hyper3_mesh, lheatc_hyper3_polar, lheatc_hyper3ss, lheatc_hyper3ss_aniso, lheatc_hyper3ss_mesh, lheatc_hyper3ss_polar, lheatc_karctan, lheatc_kconst, lheatc_kprof, lheatc_kramers, lheatc_ktherm, lheatc_sfluct, lheatc_shock, lheatc_shock2, lheatc_shock_profr, lheatc_smagorinsky, lheatc_spitzer, lheatc_sqrtrhochiconst, lheatc_tensordiffusion, lhubble_energy, limpose_heat_ceiling, linclude_radpress, linitial_log, ljeans_floor, lki02, lmultilayer, lnew_cooling_patches, lnh_1, lnh_2, lntt_const, lntt_left, lntt_right, lphotoelectric_heating, lphotoelectric_heating_radius, lpressuregradient_gas, lprestellar_cool_iso, lrad_cool_heat, lread_hcond, lreduced_sound_speed, lscale_to_cs2top, lsd93, lsld_char_cslimit, lsld_char_rholimit, lsld_char_wprofr, lsmooth_ss_run_aver, lsplit_update, lss_flucz_as_aux, lss_running_aver, lss_running_aver_as_aux, lss_running_aver_as_var, ltau_cool_variable, lthdiff_hmax, ltt_flucz_as_aux, lturbulent_heat, luminosity, lupw_eth, lupw_lntt, lupw_ss, mixinglength, mixinglength_flux, mpoly, mpoly0, mpoly1, mpoly2, ncool_patch, ncool_patch_max, newton_cool, nheat_rho, nheat_tt, nheatc_max, njeans, nkramers, nlf_sld_ene, nsmooth_kramers, nu_z, opacity, patch_fac, pbackground, pclaw, peh_factor, penc_ones, pertss, piecew_poly, piecew_poly_cylind, polytropic_ss_disc, polytropic_ss_z, pp_const, pp_cool, pp_r, pp_xy, pp_xy2, pp_xy3, pp_xy4, pp_xz, pp_xz2, pp_yz, ppcool, pr_smag1, pres_cutoff, prof_lnt, prof_nz, prof_z, profr1_cool, profr2_cool, profr_cool, profr_heat, profx_ffree, profx_heat, profxss, profy_ffree, profz1_cool, profz_cool, profz_ffree, profz_heat, prra, pthresh, pthreshnorm, r_bcz, rad_temp_surr, radius_lntt, radius_ss_x, rcool, rcool1, rcool2, read_cooling_profile_x, read_hcond, reduce_cs2, reinitialize_ss, rescale_hcond, rescale_tt_in_ss, rescale_ttmeanxy, rheat, rho0hs, rho0z, rk_eps, rk_nmax, sd_a0, sd_loglambda, sd_logtt, sd_nt, set_border_entropy, shell_ss, shell_ss_layers, shell_ss_perturb, shock2d, single_polytrope, split_update_energy, ss_const, ss_corona, ss_mz, ss_volaverage, ssmask1_cgs, ssmask2_cgs, ssmx, ssmxy, ssmz, star_heat, strat_const_chit, strat_heat, strat_mlt, t0_cgs, tau1_cool, tau_cool, tau_cool2, tau_cool_pp, tau_cool_ss, tau_cor, tau_damp_cor, tau_heat_cor, tau_relax_ss, tauheat_buffer, tbump, tdown, temp_zaver_range, temp_zmask_count, temperature_floor, tt_const, tt_cor, tt_ext, tt_floor, tt_int, tt_powerlaw, ttbot_factor, ttheat_buffer, ttmz, ttref, ttref_cool, w_sldchar_ene, w_sldchar_ene2, w_sldchar_ene_p, w_sldchar_ene_r0, wcool, wcool1, wcool2, wheat, widthchi_shock, widtheth, widthlntt, widthss_ext, widthss_int, widthtt, wpatch, wpres, wss_corona, xbot, xbot_aniso, xbot_chit1, xchi_shock, xchit, xjump_mid, xpatch, xss_corona, xtop_aniso, xtop_chit1, yjump_mid, ypatch, z_cor, zbot, zcool, zcool1, zcool2, zcor, zheat_buffer, zheat_uniform_range, zjump_mid, zmask_temp, zmask_temp_global, ztop, zz1, zz1_fluct, zz2, zz2_fluct

Routines:

calc_diagnostics_energy(), calc_pencils_energy(), denergy_dt(), dynamical_thermal_diffusion(), energy_after_boundary(), energy_after_timestep(), energy_before_boundary(), expand_shands_energy(), fill_farray_pressure(), get_slices_energy(), impose_energy_floor(), init_energy(), initialize_energy(), pencil_criteria_energy(), pencil_interdep_energy(), read_energy_init_pars(), read_energy_run_pars(), register_energy(), rprint_energy(), split_update_energy(), update_char_vel_energy(), write_energy_init_pars(), write_energy_run_pars()

Needed modules

Variables

  • energy/ampl_lntt (ninit) [real,private/optional/default=0.0]
  • energy/ampl_tt (ninit) [real,private/optional/default=0.0]
  • energy/beta_bouss [real,private/optional/default=-1.0]
  • energy/borderss [character,private/optional/default='nothing']
  • energy/calc_0d_diagnostics_energy [private]
  • energy/calc_1d_diagnostics_energy [private]
  • energy/calc_2d_diagnostics_energy [private]
  • energy/calc_heat_cool [private]
  • energy/calc_heatcond [private]
  • energy/calc_heatcond_chi_no_ddrsph [private]
  • energy/calc_heatcond_constchi [private]
  • energy/calc_heatcond_constk [private]
  • energy/calc_heatcond_cubicstepchi [private]
  • energy/calc_heatcond_kramers [private]
  • energy/calc_heatcond_ktherm [private]
  • energy/calc_heatcond_shock [private]
  • energy/calc_heatcond_tensor [private]
  • energy/center1_x [real,private/optional/default=0.0]
  • energy/center1_y [real,private/optional/default=0.0]
  • energy/center1_z [real,private/optional/default=0.0]
  • energy/chi [real,private/optional/default=impossible]
  • energy/chi_hyper3 [real,private/optional/default=0.0]
  • energy/chi_hyper3_mesh [real,private/optional/default=5.0]
  • energy/chi_jump [real,private/optional/default=1.0]
  • energy/chi_r_reduce [real,private/optional/default=0.0]
  • energy/chi_shock [real,private/optional/default=0.0]
  • energy/chi_z0 [real,private/optional/default=0.0]
  • energy/chi_zwidth [real,private/optional/default=0.0]
  • energy/coef_lntt [complex,private/optional/default=0.0]
  • energy/cool [real,private/optional/default=0.0]
  • energy/cooling (nx) [real,private]
  • energy/cp1 [real,private]
  • energy/diffus_chi (nx) [real,private]
  • energy/diffus_chi3 (nx) [real,private]
  • energy/div_sld_ene [character,private/optional/default='2nd']
  • energy/enum_borderss [integer,private/optional/default=0]
  • energy/fbot [real,private/optional/default=impossible]
  • energy/gamma [real,private]
  • energy/gamma1 [real,private]
  • energy/gamma_m1 [real,private]
  • energy/get_aia_tab_resp [private]
  • energy/gradtt0 (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • energy/gttmz (nz) [real,private]
  • energy/h_sld_ene [real,private/optional/default=2.0]
  • energy/hcond (nx) [real,private]
  • energy/hcond0 [real,private/optional/default=impossible]
  • energy/hcond0_kramers [real,private/target/optional/default=0.0]
  • energy/hcond1 [real,private/optional/default=1.0]
  • energy/hcond2 [real,private/optional/default=1.0]
  • energy/heatcond_tt [public]
  • energy/heatcond_tt_0d [private]
  • energy/heatcond_tt_1d [private]
  • energy/heatcond_tt_2d [private]
  • energy/hole_slope [real,private/optional/default=0.0]
  • energy/hole_width [real,private/optional/default=0.0]
  • energy/idiag_csm [integer,private/optional/default=0]
  • energy/idiag_csmax [integer,private/optional/default=0]
  • energy/idiag_dtc [integer,private/optional/default=0]
  • energy/idiag_dtchi [integer,private/optional/default=0]
  • energy/idiag_eem [integer,private/optional/default=0]
  • energy/idiag_emaia131mxy [integer,private/optional/default=0]
  • energy/idiag_emaia131mxz [integer,private/optional/default=0]
  • energy/idiag_emaia171mxy [integer,private/optional/default=0]
  • energy/idiag_emaia171mxz [integer,private/optional/default=0]
  • energy/idiag_emaia193mxy [integer,private/optional/default=0]
  • energy/idiag_emaia193mxz [integer,private/optional/default=0]
  • energy/idiag_emaia211mxy [integer,private/optional/default=0]
  • energy/idiag_emaia211mxz [integer,private/optional/default=0]
  • energy/idiag_emaia304mxy [integer,private/optional/default=0]
  • energy/idiag_emaia304mxz [integer,private/optional/default=0]
  • energy/idiag_emaia335mxy [integer,private/optional/default=0]
  • energy/idiag_emaia335mxz [integer,private/optional/default=0]
  • energy/idiag_emaia94mxy [integer,private/optional/default=0]
  • energy/idiag_emaia94mxz [integer,private/optional/default=0]
  • energy/idiag_emxrtmxy [integer,private/optional/default=0]
  • energy/idiag_emxrtmxz [integer,private/optional/default=0]
  • energy/idiag_ethm [integer,private/optional/default=0]
  • energy/idiag_ethmz [integer,private/optional/default=0]
  • energy/idiag_ethtot [integer,private/optional/default=0]
  • energy/idiag_ethuxmx [integer,private/optional/default=0]
  • energy/idiag_ethuxmz [integer,private/optional/default=0]
  • energy/idiag_ethuymz [integer,private/optional/default=0]
  • energy/idiag_ethuzmz [integer,private/optional/default=0]
  • energy/idiag_fconvmz [integer,private/optional/default=0]
  • energy/idiag_fpresxmz [integer,private/optional/default=0]
  • energy/idiag_fpresymz [integer,private/optional/default=0]
  • energy/idiag_fpreszmz [integer,private/optional/default=0]
  • energy/idiag_fradbot [integer,private/optional/default=0]
  • energy/idiag_fradmz [integer,private/optional/default=0]
  • energy/idiag_fradtop [integer,private/optional/default=0]
  • energy/idiag_gt2m [integer,private/optional/default=0]
  • energy/idiag_gtmax [integer,private/optional/default=0]
  • energy/idiag_guxgtm [integer,private/optional/default=0]
  • energy/idiag_guygtm [integer,private/optional/default=0]
  • energy/idiag_guzgtm [integer,private/optional/default=0]
  • energy/idiag_ppm [integer,private/optional/default=0]
  • energy/idiag_ppmx [integer,private/optional/default=0]
  • energy/idiag_ppmy [integer,private/optional/default=0]
  • energy/idiag_ppmz [integer,private/optional/default=0]
  • energy/idiag_ppuzmz [integer,private/optional/default=0]
  • energy/idiag_ssm [integer,private/optional/default=0]
  • energy/idiag_tdxpm [integer,private/optional/default=0]
  • energy/idiag_tdypm [integer,private/optional/default=0]
  • energy/idiag_tdzpm [integer,private/optional/default=0]
  • energy/idiag_thcool [integer,private/optional/default=0]
  • energy/idiag_trms [integer,private/optional/default=0]
  • energy/idiag_tt2m [integer,private/optional/default=0]
  • energy/idiag_tt2mz [integer,private/optional/default=0]
  • energy/idiag_ttm [integer,private/optional/default=0]
  • energy/idiag_ttmax [integer,private/optional/default=0]
  • energy/idiag_ttmin [integer,private/optional/default=0]
  • energy/idiag_ttmx [integer,private/optional/default=0]
  • energy/idiag_ttmxy [integer,private/optional/default=0]
  • energy/idiag_ttmxz [integer,private/optional/default=0]
  • energy/idiag_ttmy [integer,private/optional/default=0]
  • energy/idiag_ttmz [integer,private/optional/default=0]
  • energy/idiag_ttzmask [integer,private/optional/default=0]
  • energy/idiag_tugtm [integer,private/optional/default=0]
  • energy/idiag_tugux_uxugtm [integer,private/optional/default=0]
  • energy/idiag_tuguy_uyugtm [integer,private/optional/default=0]
  • energy/idiag_tuguz_uzugtm [integer,private/optional/default=0]
  • energy/idiag_uxtm [integer,private/optional/default=0]
  • energy/idiag_uxtmz [integer,private/optional/default=0]
  • energy/idiag_uytm [integer,private/optional/default=0]
  • energy/idiag_uytmz [integer,private/optional/default=0]
  • energy/idiag_uztm [integer,private/optional/default=0]
  • energy/idiag_uztmz [integer,private/optional/default=0]
  • energy/idiag_yhm [integer,private/optional/default=0]
  • energy/idiag_yhmax [integer,private/optional/default=0]
  • energy/idiag_yhmin [integer,private/optional/default=0]
  • energy/iheatcond (3) [character,private/optional/default='nothing']
  • energy/iinit_str [character,private]
  • energy/initlntt (ninit) [character,private/optional/default='nothing']
  • energy/ivid_pp [integer,private/optional/default=0]
  • energy/kgpara [real,private/optional/default=0.0]
  • energy/kgperp [real,private/optional/default=0.0]
  • energy/kmax [real,private/optional/default=0.0]
  • energy/kmin [real,private/optional/default=0.0]
  • energy/kx_lntt [real,private/optional/default=1.0]
  • energy/ky_lntt [real,private/optional/default=1.0]
  • energy/kz_lntt [real,private/optional/default=1.0]
  • energy/ladi_mixed [logical,private/optional/default=.false.]
  • energy/ladvection_temperature [logical,private/optional/default=.true.]
  • energy/lcalc_heat_cool [logical,private/optional/default=.false.]
  • energy/lcalc_ttmean [logical,private/optional/default=.false.]
  • energy/lenergy_slope_limited [logical,private/optional/default=.false.]
  • energy/lfreeze_lnttext [logical,private/optional/default=.false.]
  • energy/lfreeze_lnttint [logical,private/optional/default=.false.]
  • energy/lhcond_global [logical,private/optional/default=.false.]
  • energy/lheatc_chi_reduce_ddr [logical,private/optional/default=.false.]
  • energy/lheatc_chiconst [logical,private/optional/default=.false.]
  • energy/lheatc_chiconst_accurate [logical,private/optional/default=.false.]
  • energy/lheatc_chicubicstep [logical,private/optional/default=.false.]
  • energy/lheatc_hyper3 [logical,private/optional/default=.false.]
  • energy/lheatc_hyper3_mesh [logical,private/optional/default=.false.]
  • energy/lheatc_hyper3_polar [logical,private/optional/default=.false.]
  • energy/lheatc_karctan [logical,private/optional/default=.false.]
  • energy/lheatc_kconst [logical,private/optional/default=.false.]
  • energy/lheatc_kprof [logical,private/optional/default=.false.]
  • energy/lheatc_kramers [logical,private/target/optional/default=.false.]
  • energy/lheatc_ktherm [logical,private/optional/default=.false.]
  • energy/lheatc_shock [logical,private/optional/default=.false.]
  • energy/lheatc_tensordiffusion [logical,private/optional/default=.false.]
  • energy/linitial_log [logical,private/optional/default=.false.]
  • energy/lmultilayer [logical,private/optional/default=.false.]
  • energy/lntt_const [real,private/optional/default=0.0]
  • energy/lpressuregradient_gas [logical,private/pointer]
  • energy/lreduced_sound_speed [logical,private/pointer]
  • energy/luminosity [real,private/optional/default=0.0]
  • energy/lupw_lntt [logical,private/optional/default=.false.]
  • energy/lviscosity_heat [logical,private/optional/default=.true.]
  • energy/mpoly0 [real,private/target/optional/default=1.5]
  • energy/mpoly1 [real,private/target/optional/default=1.5]
  • energy/mpoly2 [real,private/target/optional/default=1.5]
  • energy/nheatc_max [integer,private/parameter/optional/default=3]
  • energy/nkramers [real,private/target/optional/default=0.0]
  • energy/nlf_sld_ene [real,private/optional/default=1.0]
  • energy/piecew_poly [private]
  • energy/pp_r (*,*,*,*,*) [real,private/allocatable]
  • energy/pp_xy (*,*) [real,private/allocatable]
  • energy/pp_xy2 (*,*) [real,private/allocatable]
  • energy/pp_xy3 (*,*) [real,private/allocatable]
  • energy/pp_xy4 (*,*) [real,private/allocatable]
  • energy/pp_xz (*,*) [real,private/allocatable]
  • energy/pp_xz2 (*,*) [real,private/allocatable]
  • energy/pp_yz (*,*) [real,private/allocatable]
  • energy/prra [real,private/pointer]
  • energy/r_bcz [real,private/optional/default=0.0]
  • energy/radius_lntt [real,private/optional/default=0.1]
  • energy/rcool [real,private/optional/default=0.0]
  • energy/reduce_cs2 [real,private/pointer]
  • energy/set_border_entropy [private]
  • energy/single_polytrope [private]
  • energy/star_heat [private]
  • energy/strat_heat [private]
  • energy/tbump [real,private/optional/default=0.0]
  • energy/temp_zaver_range (2) [real,private/optional/default=(/-max_real,max_real/)]
  • energy/temp_zmask_count [integer,private/optional/default=1]
  • energy/tt_const [real,private/optional/default=1.0]
  • energy/ttmz (nz) [real,private]
  • energy/w_sldchar_ene [real,private/optional/default=0.1]
  • energy/wcool [real,private/optional/default=0.1]
  • energy/wheat [real,private/optional/default=0.1]
  • energy/widthlntt [real,private/optional/default=2*epsi]
  • energy/zmask_temp (nz) [real,private]
  • energy/zmask_temp_global (nzgrid) [real,private]

Subroutines and functions

subroutine  energy/register_energy()

Initialise variables which should know that we solve an energy equation: ilnTT, etc; increase nvar accordingly.

06-nov-01/wolf: coded 18-may-12/MR: shared variable PrRa fetched from hydro 03-apr-20/joern: restructured and fixed slope-limited diffusion

Use :

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

Call to:

svn_id(), warning(), select_eos_variable(), get_gamma_etc(), information(), fatal_error(), der_step(), compute_gravity_star(), request_border_driving(), not_implemented(), modes(), rad_equil(), blob(), initial_condition_ss(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), der_x(), der2_x(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/initialize_energy(f)

Called by run.f90 after reading parameters, but before the time loop.

21-jul-2002/wolf: coded

Parameters:

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

Use :

farraymanager (farray_register_global()), gravity (gravz(), compute_gravity_star()), equationofstate (cs2bot(), cs2top(), select_eos_variable(), get_gamma_etc()), sub (step(), der_step()), sharedvariables (get_shared_variable()), slices_methods (alloc_slice_buffers()), borderprofiles (request_border_driving())

Call to:

warning(), select_eos_variable(), get_gamma_etc(), information(), fatal_error(), der_step(), compute_gravity_star(), request_border_driving(), not_implemented(), modes(), rad_equil(), blob(), initial_condition_ss(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), der_x(), der2_x(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/init_energy(f)

Initialise lnTT or TT; called from start.f90.

13-dec-2002/axel+tobi: adapted from init_energy

initialise energy; called from start.f90 07-nov-01/wolf: coded 24-nov-02/tony: renamed for consistency (i.e. init_[variable name]) 12-may-12/MR: initialization with mode added

Parameters:

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

Use :

general (itoa()), sub (blob()), initialcondition (initial_condition_ss()), equationofstate (cs2bot(), cs2top(), cs20(), lnrho0(), rho0()), gravity (gravz()), initcond

Call to:

not_implemented(), modes(), rad_equil(), blob(), fatal_error(), initial_condition_ss(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/pencil_criteria_energy()

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

20-11-04/anders: coded

Call to:

not_implemented(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), fatal_error(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/pencil_interdep_energy(lpencil_in)

Interdependency among pencils from the Energy module is specified here.

20-11-04/anders: coded

Parameters:

lpencil_in (npencils) [logical]

Call to:

not_implemented(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), fatal_error(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/calc_pencils_energy(f, p)

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

20-11-04/anders: coded 31-01-18/MR: made calculation of p%gTT corrrect also for log temperature

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

  • p [pencil_case,inout]

Use :

sub (u_dot_grad(), grad(), multmv(), del2()), deriv (der2())

Call to:

not_implemented(), identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), fatal_error(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/denergy_dt(f, df, p)

Calculate right hand side of temperature equation.

lnTT version: DlnTT/Dt = -gamma_m1*divu + gamma*cp1*rho1*TT1*RHS

TT version: DTT/Dt = -gamma_m1*TT*divu + gamma*cp1*rho1*RHS

13-dec-02/axel+tobi: adapted from energy 18-may-12/MR: compression work as heat sink added for boussinesq

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

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

  • p [pencil_case,inout]

Use :

deriv (der6()), equationofstate (lpres_grad()), special (special_calc_energy()), sub (identify_bcs(), calc_slope_diff_flux()), viscosity (calc_viscous_heat())

Call to:

identify_bcs(), calc_viscous_heat(), calc_heatcond_arctan(), calc_slope_diff_flux(), der6(), special_calc_energy(), calc_diagnostics_energy(), ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), fatal_error(), not_implemented(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/calc_diagnostics_energy(f, p)
Parameters:
  • f (,,*,*) [real,contiguous]

  • p [pencil_case]

Use :

slices_methods (store_slices())

Call to:

ysum_mn_name_xz(), max_mn_name(), integrate_mn_name(), dot_mn(), surf_mn_name(), sum_lim_mn_name(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), border_driving(), set_border_initcond(), fatal_error(), not_implemented(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/energy_before_boundary(f)

Actions to take before boundary conditions are set.

1-apr-20/joern: coded

Parameters:

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

Call to:

fatal_error(), not_implemented(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/energy_after_boundary(f)

Calculation of mean quantities.

17-apr-15/MR: coded

Parameters:

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

Use :

sub (grad(), finalize_aver()), equationofstate (eoscalc())

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

fatal_error(), not_implemented(), der_x(), der2_x(), der_step(), tensor_diffusion_coef(), interp1(), get_soundspeed()

subroutine  energy/read_energy_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/write_energy_init_pars(unit)
Parameters:

unit [integer,in]

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/read_energy_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/write_energy_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/rprint_energy(lreset[, lwrite])

Reads and registers print parameters relevant to energy.

1-jun-02/axel: adapted from magnetic fields

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics (parse_name(), set_type()), farraymanager (farray_index_append())

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/get_slices_energy(f, slices)
Parameters:
Use :

slices_methods (assign_slices_scal(), process_slices(), log2d(), exp2d())

Call to:

fatal_error(), interp1(), get_soundspeed(), not_implemented()

subroutine  energy/dynamical_thermal_diffusion(uc)

Dummy subroutine

Parameters:

uc [real,in]

Call to:

not_implemented(), fatal_error()

subroutine  energy/expand_shands_energy()

Expands shorthand labels of temperature diagnostics.

16-may-12/MR: coded

Use :

diagnostics (expand_cname()), general (lextend_vector())

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils(), rprint_list()

Call to:

fatal_error()

subroutine  energy/update_char_vel_energy(f)

Updates characteristic veelocity for slope-limited diffusion.

9-jul-18/joern: adapted from update_char_vel_energy in entropy.f90

Parameters:

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

Use :

equationofstate (eoscalc()), general (staggered_max_scal())

Call to:

fatal_error()