density

Module

Description

$Id$

This module takes care of the continuity equation.

** 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 :: ldensity = .true. CPARAM logical, parameter :: lanelastic = .false. CPARAM logical, parameter :: lboussinesq = .false.

MVAR CONTRIBUTION 1 MAUX CONTRIBUTION 0

PENCILS PROVIDED lnrho; rho; rho1; glnrho(3); grho(3); uglnrho; ugrho PENCILS PROVIDED glnrho2; del2lnrho; del2rho; del6lnrho; del6rho PENCILS PROVIDED hlnrho(3,3); sglnrho(3); uij5glnrho(3); transprho PENCILS PROVIDED ekin, uuadvec_glnrho; uuadvec_grho PENCILS PROVIDED rhos1; glnrhos(3) PENCILS PROVIDED totenergy_rel; divss


Quick access

Variables:

accumulate_schur_averages, ampllnrho, amplrho, borderlnrho, calc_0d_diagnostics_density, calc_1d_diagnostics_density, calc_2d_diagnostics_density, calc_advec_hypermesh, calc_pencils_density, calc_pencils_density_pnc, calc_pencils_density_std, calc_pencils_linear_density, calc_pencils_linear_density_pnc, calc_pencils_log_density_pnc, calc_sld_fdiff, cdiffrho, cloud_mode, co1_ss, co2_ss, coeflnrho, correct_for_selfgravity, correct_pressure_gradient, cutoff_lnrho, damplnrho_ext, damplnrho_int, datafile, del2lnrho_glnrho2_init_z, del2lnrho_init_z, dens_coeff, density_ceiling, density_ceiling_log, density_floor, density_floor_exp, density_floor_log, density_floor_profile, density_xaver_range, density_zaver_range, diff_cspeed, diffrho, diffrho_hyper3_aniso, diffrho_hyper3_mesh, diffrho_shock, diffus_diffrho, diffus_diffrho3, div_sld_dens, dlnrhodz_init_z, dprofx_ffree, dprofy_ffree, dprofz_eos, dprofz_ffree, enum_borderlnrho, enum_density_floor_profile, enum_div_sld_dens, enum_ieos_profile, enum_mass_source_profile, eps_planet, exponential_fall, ffree_profile, fnorm, fprofile_x, fprofile_z, ggamma, glnrho2_init_z, h_sld_dens, hh0, hrho, idiag_divrhoum, idiag_divrhoumax, idiag_divrhourms, idiag_drho2m, idiag_drho2mx, idiag_drho2mxy, idiag_drho2mxz, idiag_drho2my, idiag_drho2mz, idiag_drhom, idiag_drhomax, idiag_drhomx, idiag_drhomxy, idiag_drhomxz, idiag_drhomy, idiag_drhomz, idiag_drhorms, idiag_dtd, idiag_dtd3, idiag_grhomax, idiag_gzlnrhomz, idiag_inertiaxx, idiag_inertiaxx_car, idiag_inertiayy, idiag_inertiayy_car, idiag_inertiazz, idiag_inertiazz_car, idiag_kap_tdep, idiag_lnrho2m, idiag_lnrhomax, idiag_lnrhomin, idiag_lnrhomphi, idiag_lnrhorms, idiag_mass, idiag_rho12m, idiag_rho2downmz, idiag_rho2m, idiag_rho2mx, idiag_rho2mxy, idiag_rho2mz, idiag_rho2ph1mz, idiag_rho2ph2mz, idiag_rho2ph3mz, idiag_rho2upmz, idiag_rho4m, idiag_rho6m, idiag_rho8m, idiag_rhodownmz, idiag_rhof2downmz, idiag_rhof2m, idiag_rhof2mz, idiag_rhof2upmz, idiag_rhom, idiag_rhomax, idiag_rhomaxloc, idiag_rhomin, idiag_rhominloc, idiag_rhomphi, idiag_rhomr, idiag_rhomx, idiag_rhomxmask, idiag_rhomxy, idiag_rhomxz, idiag_rhomy, idiag_rhomz, idiag_rhomzmask, idiag_rhoph1mz, idiag_rhoph2mz, idiag_rhoph3mz, idiag_rhorms, idiag_rhoupmz, idiag_sphmass, idiag_totmass, idiag_uglnrhom, idiag_uglnrhomz, idiag_ugrhom, idiag_ugrhomz, idiag_uygzlnrhomz, idiag_uzgylnrhomz, idiag_vol, idiff, ieos_profile, iglobal_gg, implicit_diffusion, implicit_diffusion_mpi, init_average_density, init_hydrostatic_r, init_sph_isoth, initlnrho, initpower_lnrho, initrho, inverse_laplacian_z, inverse_laplacian_z_2nd, invgrav_ampl, iorder_z, ireference_state, isothermal_density, kap_tdep, kgaussian_lnrho, kpeak_lnrho, kx_lnrho, kxx_lnrho, ky_lnrho, kyy_lnrho, kz_lnrho, kzz_lnrho, ladvection_density, lanelastic_lin, lanti_shockdiffusion, lcalc_glnrhomean, lcalc_lnrhomean, lcheck_negative_density, lconserve_mass, lconserve_total_mass, lcontinuity_gas, ldensity_profile_masscons, ldensity_slope_limited, ldiff_cspeed, ldiff_hyper3, ldiff_hyper3_aniso, ldiff_hyper3_mesh, ldiff_hyper3_polar, ldiff_hyper3_strict, ldiff_hyper3lnrho, ldiff_hyper3lnrho_strict, ldiff_kap_tdep, ldiff_normal, ldiff_shock, ldiffusion_nolog, lexponential_smooth, lfreeze_lnrhoext, lfreeze_lnrhoint, lfreeze_lnrhosqu, lgamma_is_1, lhubble_density, lisothermal_fixed_hrho, lmass_source, lmass_source_random, lmassdiff_fix, lmassdiff_fixkin, lmassdiff_fixmom, lnrho_const, lnrho_ext, lnrho_init_z_nz, lnrho_int, lnrho_z_shift, lnrhomz, local_isothermal_density, lpositive_total_mass, lpress_equil_uu, lreinitialize_lnrho, lreinitialize_rho, lrelativistic_eos_term1, lrelativistic_eos_term2, lremove_mean_temperature, lrho_as_aux, lrho_flucz_as_aux, lscale_tobox_lnrho, lschur_3d3d1d, lshare_plaw, lsubtract_init_stratification, lupdate_mass_source, lupw_lnrho, lupw_rho, lwrite_debug, lwrite_stratification, mass0, mass_cloud, mass_source, mass_source_mdot, mass_source_offset, mass_source_omega, mass_source_profile, mass_source_sigma, mass_source_tau1, ndiff_max, niter, nlf_sld_dens, numerical_equilibrium, phase_lnrho, plaw, polytropic_lnrho_disc, polytropic_lnrho_z, polytropic_simple, power_law_disk, power_law_gaussian_disk, profz_eos, q_ell, r0_rho, radial_percent_smooth, radius_lnrho, read_reference_state, reduce_cs2_profx, reduce_cs2_profz, reference_state_mass, reference_state_padded, rescale_rho, rho_bottom, rho_const, rho_left, rho_right, rhobar, rhobar_file, rmax_mass_source, rshift, rss_coef1, rss_coef2, rzero_ffree, sc, schur_dlnrho_rhs_xyaver_z, schur_dlnrho_rhs_xyzaver, schur_dlnrho_rhs_zaver_xy, set_border_density, shell_lnrho, sigma1, strati_type, stratification_tsallis, t_cloud, t_cloud_out_rel, tdep_kap_type, temp_coeff, temp_coeff_out, temp_trans, total_mass, tstart_mass_source, tstop_mass_source, wdamp, wdamp_rho, wffree, width_eos_prof, widthlnrho, xblob, xi_coeff, xmask_den, yblob, zblob, zmask_den

Routines:

anelastic_after_mn(), boussinesq(), calc_diagnostics_density(), calc_pencils_density(), density_after_boundary(), density_after_mn(), density_before_boundary(), density_before_boundary_diagnostics(), dlnrho_dt(), dynamical_diffusion(), get_init_average_density(), get_slices_density(), get_slices_pressure(), impose_density_ceiling(), impose_density_floor(), init_lnrho(), initialize_density(), mean_density(), pencil_criteria_density(), pencil_interdep_density(), read_density_init_pars(), read_density_run_pars(), register_density(), rprint_density(), split_update_density(), update_char_vel_density(), write_density_init_pars(), write_density_run_pars(), write_z_stratification()

Needed modules

Variables

  • density/accumulate_schur_averages [private]
  • density/ampllnrho (ninit) [real,private/optional/default=0.0]
  • density/amplrho (ninit) [real,private/optional/default=0.0]
  • density/beta_glnrho_global (3) [real,private/optional/default=0.]
  • density/beta_glnrho_scaled (3) [real,private/optional/default=0.]
  • density/borderlnrho [character,private/optional/default='nothing']
  • density/calc_0d_diagnostics_density [private]
  • density/calc_1d_diagnostics_density [private]
  • density/calc_2d_diagnostics_density [private]
  • density/calc_advec_hypermesh [private]
  • density/calc_pencils_density [public]
  • density/calc_pencils_density_pnc [private]
  • density/calc_pencils_density_std [private]
  • density/calc_pencils_linear_density [private]
  • density/calc_pencils_linear_density_pnc [private]
  • density/calc_pencils_log_density_pnc [private]
  • density/calc_sld_fdiff [private]
  • density/cdiffrho [real,private/optional/default=0.0]
  • density/cloud_mode [character,private/optional/default='isothermal']
  • density/co1_ss [real,private/optional/default=0.0]
  • density/co2_ss [real,private/optional/default=0.0]
  • density/coeflnrho [complex,private/optional/default=0.0]
  • density/cutoff_lnrho [real,private/optional/default=0.0]
  • density/damplnrho_ext [real,private/optional/default=0.0]
  • density/damplnrho_int [real,private/optional/default=0.0]
  • density/datafile [character,private/optional/default='dens_temp.dat']
  • density/del2lnrho_glnrho2_init_z (mz) [real,private/optional/default=0.0]
  • density/dens_coeff [real,private/optional/default=1.0]
  • density/density_ceiling [real,private/optional/default=-1.0]
  • density/density_ceiling_log [real,private]
  • density/density_floor [real,private/optional/default=-1.0]
  • density/density_floor_exp [real,private/optional/default=0.0]
  • density/density_floor_log [real,private]
  • density/density_floor_profile [character,private/optional/default='uniform']
  • density/density_xaver_range (2) [real,private/optional/default=(/-max_real,max_real/)]
  • density/density_zaver_range (2) [real,private/optional/default=(/-max_real,max_real/)]
  • density/diff_cspeed [real,private/optional/default=0.5]
  • density/diffrho [real,private/optional/default=0.0]
  • density/diffrho_hyper3 [real,private/optional/default=0.0]
  • density/diffrho_hyper3_aniso (3) [real,private/optional/default=0.0]
  • density/diffrho_hyper3_mesh [real,private/optional/default=5.0]
  • density/diffrho_shock [real,private/optional/default=0.0]
  • density/diffus_diffrho (nx) [real,private]
  • density/diffus_diffrho3 (nx) [real,private]
  • density/div_sld_dens [character,private/optional/default='2nd']
  • density/dlnrhodz_init_z (mz) [real,private/optional/default=0.0]
  • density/dprofx_ffree (nx) [real,private/optional/default=0.0]
  • density/dprofy_ffree (my) [real,private/optional/default=0.0]
  • density/dprofz_eos (mz) [real,private/optional/default=0.0]
  • density/dprofz_ffree (mz) [real,private/optional/default=0.0]
  • density/enum_borderlnrho [integer,private/optional/default=0]
  • density/enum_density_floor_profile [integer,private/optional/default=0]
  • density/enum_div_sld_dens [integer,private/optional/default=0]
  • density/enum_ieos_profile [integer,private/optional/default=0]
  • density/enum_mass_source_profile [integer,private/optional/default=0]
  • density/eps_hless [real,private/pointer]
  • density/eps_planet [real,private/optional/default=0.5]
  • density/ffree_profile [character,private/optional/default='none']
  • density/fnorm [real,private/optional/default=1.0]
  • density/fprofile_x (nx) [real,private/optional/default=1.]
  • density/fprofile_z (nz) [real,private/optional/default=1.]
  • density/ggamma [real,private/optional/default=impossible]
  • density/h_sld_dens [real,private/optional/default=2.0]
  • density/hh0 [real,private/optional/default=0.0]
  • density/hoverr [real,private/optional/default=0.05]
  • density/hrho [real,private/optional/default=1.0]
  • density/idiag_drho2m [integer,private/optional/default=0]
  • density/idiag_drhom [integer,private/optional/default=0]
  • density/idiag_dtd [integer,private/optional/default=0]
  • density/idiag_dtd3 [integer,private/optional/default=0]
  • density/idiag_grhomax [integer,private/optional/default=0]
  • density/idiag_gzlnrhomz [integer,private/optional/default=0]
  • density/idiag_inertiaxx [integer,private/optional/default=0]
  • density/idiag_inertiaxx_car [integer,private/optional/default=0]
  • density/idiag_inertiayy [integer,private/optional/default=0]
  • density/idiag_inertiayy_car [integer,private/optional/default=0]
  • density/idiag_inertiazz [integer,private/optional/default=0]
  • density/idiag_inertiazz_car [integer,private/optional/default=0]
  • density/idiag_kap_tdep [integer,private/optional/default=0]
  • density/idiag_lnrho2m [integer,private/optional/default=0]
  • density/idiag_lnrhomax [integer,private/optional/default=0]
  • density/idiag_lnrhomin [integer,private/optional/default=0]
  • density/idiag_lnrhomphi [integer,private/optional/default=0]
  • density/idiag_lnrhorms [integer,private/optional/default=0]
  • density/idiag_mass [integer,private/optional/default=0]
  • density/idiag_rho12m [integer,private/optional/default=0]
  • density/idiag_rho2downmz [integer,private/optional/default=0]
  • density/idiag_rho2m [integer,private/optional/default=0]
  • density/idiag_rho2mx [integer,private/optional/default=0]
  • density/idiag_rho2mxy [integer,private/optional/default=0]
  • density/idiag_rho2mz [integer,private/optional/default=0]
  • density/idiag_rho2ph1mz [integer,private/optional/default=0]
  • density/idiag_rho2ph2mz [integer,private/optional/default=0]
  • density/idiag_rho2ph3mz [integer,private/optional/default=0]
  • density/idiag_rho2upmz [integer,private/optional/default=0]
  • density/idiag_rho4m [integer,private/optional/default=0]
  • density/idiag_rho6m [integer,private/optional/default=0]
  • density/idiag_rho8m [integer,private/optional/default=0]
  • density/idiag_rhodownmz [integer,private/optional/default=0]
  • density/idiag_rhof2downmz [integer,private/optional/default=0]
  • density/idiag_rhof2m [integer,private/optional/default=0]
  • density/idiag_rhof2mz [integer,private/optional/default=0]
  • density/idiag_rhof2upmz [integer,private/optional/default=0]
  • density/idiag_rhom [integer,private/optional/default=0]
  • density/idiag_rhomax [integer,private/optional/default=0]
  • density/idiag_rhomaxloc [integer,private/optional/default=0]
  • density/idiag_rhomin [integer,private/optional/default=0]
  • density/idiag_rhominloc [integer,private/optional/default=0]
  • density/idiag_rhomphi [integer,private/optional/default=0]
  • density/idiag_rhomr [integer,private/optional/default=0]
  • density/idiag_rhomx [integer,private/optional/default=0]
  • density/idiag_rhomxmask [integer,private/optional/default=0]
  • density/idiag_rhomxy [integer,private/optional/default=0]
  • density/idiag_rhomxz [integer,private/optional/default=0]
  • density/idiag_rhomy [integer,private/optional/default=0]
  • density/idiag_rhomz [integer,private/optional/default=0]
  • density/idiag_rhomzmask [integer,private/optional/default=0]
  • density/idiag_rhoph1mz [integer,private/optional/default=0]
  • density/idiag_rhoph2mz [integer,private/optional/default=0]
  • density/idiag_rhoph3mz [integer,private/optional/default=0]
  • density/idiag_rhorms [integer,private/optional/default=0]
  • density/idiag_rhoupmz [integer,private/optional/default=0]
  • density/idiag_sigma [integer,private/optional/default=0]
  • density/idiag_sphmass [integer,private/optional/default=0]
  • density/idiag_totmass [integer,private/optional/default=0]
  • density/idiag_uglnrhom [integer,private/optional/default=0]
  • density/idiag_uglnrhomz [integer,private/optional/default=0]
  • density/idiag_ugrhom [integer,private/optional/default=0]
  • density/idiag_ugrhomz [integer,private/optional/default=0]
  • density/idiag_uygzlnrhomz [integer,private/optional/default=0]
  • density/idiag_uzgylnrhomz [integer,private/optional/default=0]
  • density/idiag_vol [integer,private/optional/default=0]
  • density/idiff (4) [character,private/optional/default='']
  • density/ieos_profile [character,private/optional/default='nothing']
  • density/iglobal_gg [integer,private/optional/default=0]
  • density/ihless [integer,private]
  • density/iinit_str [character,private]
  • density/init_hydrostatic_r [private]
  • density/init_sph_isoth [private]
  • density/initlnrho (ninit) [character,private/optional/default='nothing']
  • density/initpower_lnrho [real,private/optional/default=2]
  • density/invgrav_ampl [real,private/optional/default=0.0]
  • density/ireference_state [character,private/optional/default='nothing']
  • density/isothermal_density [private]
  • density/kap_tdep [real,private/optional/default=0.0]
  • density/kgaussian_lnrho [real,private/optional/default=0.0]
  • density/kpeak_lnrho [real,private/optional/default=1.0]
  • density/kx_lnrho (ninit) [real,private/optional/default=1.0]
  • density/kxx_lnrho (ninit) [real,private/optional/default=0.0]
  • density/ky_lnrho (ninit) [real,private/optional/default=1.0]
  • density/kyy_lnrho (ninit) [real,private/optional/default=0.0]
  • density/kz_lnrho (ninit) [real,private/optional/default=1.0]
  • density/kzz_lnrho (ninit) [real,private/optional/default=0.0]
  • density/ladvection_density [logical,private/optional/default=.true.]
  • density/lanti_shockdiffusion [logical,private/optional/default=.false.]
  • density/lcalc_lnrhomean [logical,public/optional/default=.false.]
  • density/lcheck_negative_density [logical,private/optional/default=.false.]
  • density/lconservative [logical,private/pointer]
  • density/lconserve_total_mass [logical,private/optional/default=.false.]
  • density/lcontinuity_gas [logical,private/optional/default=.true.]
  • density/ldensity_profile_masscons [logical,private/optional/default=.false.]
  • density/ldensity_slope_limited [logical,private/optional/default=.false.]
  • density/ldiff_cspeed [logical,private/optional/default=.false.]
  • density/ldiff_hyper3 [logical,private/optional/default=.false.]
  • density/ldiff_hyper3_aniso [logical,private/optional/default=.false.]
  • density/ldiff_hyper3_mesh [logical,private/optional/default=.false.]
  • density/ldiff_hyper3_polar [logical,private/optional/default=.false.]
  • density/ldiff_hyper3_strict [logical,private/optional/default=.false.]
  • density/ldiff_hyper3lnrho [logical,private/optional/default=.false.]
  • density/ldiff_hyper3lnrho_strict [logical,private/optional/default=.false.]
  • density/ldiff_kap_tdep [logical,private/optional/default=.false.]
  • density/ldiff_normal [logical,private/optional/default=.false.]
  • density/ldiff_shock [logical,private/optional/default=.false.]
  • density/ldiffusion_nolog [logical,private/optional/default=.false.]
  • density/lffree [logical,private/optional/default=.false.]
  • density/lfreeze_lnrhoext [logical,private/optional/default=.false.]
  • density/lfreeze_lnrhoint [logical,private/optional/default=.false.]
  • density/lfreeze_lnrhosqu [logical,private/optional/default=.false.]
  • density/lgamma_is_1 [logical,private/optional/default=.true.]
  • density/lhiggsless [logical,private/pointer]
  • density/lhubble_density [logical,private/target/optional/default=.false.]
  • density/lisothermal_fixed_hrho [logical,private/optional/default=.false.]
  • density/lmass_source [logical,private/optional/default=.false.]
  • density/lmass_source_random [logical,private/optional/default=.false.]
  • density/lmassdiff_fix [logical,private/optional/default=.false.]
  • density/lmassdiff_fixkin [logical,private/optional/default=.false.]
  • density/lmassdiff_fixmom [logical,private/optional/default=.false.]
  • density/lnrho_const [real,private/optional/default=0.0]
  • density/lnrho_ext [real,private/optional/default=0.0]
  • density/lnrho_init_z (mz) [real,private/optional/default=0.0]
  • density/lnrho_init_z_nz (nz) [real,private/optional/default=0.0]
  • density/lnrho_int [real,private/optional/default=0.0]
  • density/lnrho_z_shift [real,private/optional/default=0.0]
  • density/lnrhomz (mz) [real,private]
  • density/lpositive_total_mass [logical,private/optional/default=.false.]
  • density/lpress_equil_uu [logical,private/optional/default=.false.]
  • density/lreduced_sound_speed [logical,private/target/optional/default=.false.]
  • density/lreinitialize_lnrho [logical,private/optional/default=.false.]
  • density/lreinitialize_rho [logical,private/optional/default=.false.]
  • density/lrelativistic [logical,private/pointer]
  • density/lrelativistic_eos [logical,private/optional/default=.false.]
  • density/lrelativistic_eos_corr [logical,private/optional/default=.false.]
  • density/lrelativistic_eos_term1 [logical,private/optional/default=.true.]
  • density/lrelativistic_eos_term2 [logical,private/optional/default=.true.]
  • density/lrho_as_aux [logical,private/optional/default=.false.]
  • density/lrho_flucz_as_aux [logical,private/optional/default=.false.]
  • density/lscale_to_cs2top [logical,private/target/optional/default=.false.]
  • density/lscale_tobox_lnrho [logical,private/optional/default=.false.]
  • density/lschur_3d3d1d [logical,private/optional/default=.false.]
  • density/lsubtract_init_stratification [logical,private/optional/default=.false.]
  • density/lupdate_mass_source [logical,private]
  • density/lupw_lnrho [logical,public/optional/default=.false.]
  • density/lupw_rho [logical,private/optional/default=.false.]
  • density/lwrite_stratification [logical,private/optional/default=.false.]
  • density/mass_cloud [real,private/optional/default=0.0]
  • density/mass_source [private]
  • density/mass_source_mdot [real,private/optional/default=0.0]
  • density/mass_source_offset [real,private/optional/default=0.0]
  • density/mass_source_omega [real,private/optional/default=0.0]
  • density/mass_source_profile [character,private/optional/default='nothing']
  • density/mass_source_sigma [real,private/optional/default=0.0]
  • density/mass_source_tau1 [real,private/optional/default=1.0]
  • density/mpoly [real,private/target/optional/default=impossible]
  • density/mpoly0 [real,private/pointer]
  • density/mpoly1 [real,private/pointer]
  • density/mpoly2 [real,private/pointer]
  • density/ndiff_max [integer,private/parameter/optional/default=4]
  • density/nlf_sld_dens [real,private/optional/default=1.0]
  • density/nu_tdep [real,private/pointer]
  • density/numerical_equilibrium [private]
  • density/phase_lnrho (ninit) [real,private/optional/default=0.0]
  • density/polytropic_lnrho_disc [private]
  • density/polytropic_lnrho_z [private]
  • density/polytropic_simple [private]
  • density/powerlr [real,private/optional/default=3.0]
  • density/profx_ffree (nx) [real,private/optional/default=1.0]
  • density/profy_ffree (my) [real,private/optional/default=1.0]
  • density/profz_eos (mz) [real,private/optional/default=1.0]
  • density/profz_ffree (mz) [real,private/optional/default=1.0]
  • density/q_ell [real,private/optional/default=5.0]
  • density/r0_rho [real,private/optional/default=impossible]
  • density/radius_lnrho (ninit) [real,private/optional/default=0.5]
  • density/read_reference_state [private]
  • density/reduce_cs2 [real,private/target/optional/default=1.0]
  • density/reduce_cs2_profx (nx) [real,private/optional/default=1.0]
  • density/reduce_cs2_profz (mz) [real,private/optional/default=1.0]
  • density/reference_state (nx,9) [real,private/optional/default=0.]
  • density/reference_state_mass [real,private/optional/default=0.0]
  • density/reference_state_padded (mx,9) [real,private/optional/default=0.]
  • density/rescale_rho [real,private/optional/default=1.0]
  • density/rho_bottom [real,private/optional/default=1.0]
  • density/rho_const [real,private/optional/default=1.0]
  • density/rho_left (ninit) [real,private/optional/default=1.0]
  • density/rho_right (ninit) [real,private/optional/default=1.0]
  • density/rho_top [real,private/optional/default=1.0]
  • density/rhobar (*) [real,private/allocatable]
  • density/rhobar_file [character,private]
  • density/rmax_mass_source [real,private/optional/default=0.0]
  • density/rnoise_ext [real,private/optional/default=impossible]
  • density/rnoise_int [real,private/optional/default=impossible]
  • density/rss_coef1 [real,private/optional/default=1.0]
  • density/rss_coef2 [real,private/optional/default=1.0]
  • density/rzero_ffree [real,private/optional/default=0.0]
  • density/sc [real,private/optional/default=0.0]
  • density/schur_dlnrho_rhs_xyaver_z (nz) [real,private]
  • density/schur_dlnrho_rhs_xyzaver (1) [real,private]
  • density/schur_dlnrho_rhs_zaver_xy (nx,ny) [real,private]
  • density/set_border_density [private]
  • density/shell_lnrho [private]
  • density/sigma1 [real,private/optional/default=150.0]
  • density/strati_type [character,private/optional/default='lnrho_ss']
  • density/stratification_tsallis [private]
  • density/t_cloud [real,private/optional/default=0.0]
  • density/t_cloud_out_rel [real,private/optional/default=1.0]
  • density/tdep_kap_type [character,private/optional/default='sc']
  • density/temp_coeff [real,private/optional/default=1.0]
  • density/temp_coeff_out [real,private/optional/default=1.0]
  • density/temp_trans [real,private/optional/default=0.0]
  • density/total_mass [real,private/optional/default=-1.0]
  • density/tstart_mass_source [real,private/optional/default=0.0]
  • density/tstop_mass_source [real,private/optional/default=-1.0]
  • density/wdamp [real,private/optional/default=0.0]
  • density/wdamp_rho [real,private]
  • density/wffree [real,private/optional/default=0.0]
  • density/width_eos_prof [real,private/optional/default=0.2]
  • density/width_hless_absolute [real,private/pointer]
  • density/widthlnrho (ninit) [real,private/optional/default=0.1]
  • density/xblob (ninit) [real,private/optional/default=0.0]
  • density/xi_coeff [real,private/optional/default=1.0]
  • density/xjump_mid [real,private/optional/default=0.0]
  • density/xmask_den (nx) [real,private]
  • density/yblob (ninit) [real,private/optional/default=0.0]
  • density/yjump_mid [real,private/optional/default=0.0]
  • density/zblob (ninit) [real,private/optional/default=0.0]
  • density/zjump_mid [real,private/optional/default=0.0]
  • density/zmask_den (nz) [real,private]
  • density/zoverh [real,private/optional/default=1.5]

Subroutines and functions

subroutine  density/register_density()

Initialise variables which should know that we solve the compressible hydro equations: ilnrho; increase nvar accordingly.

4-jun-02/axel: adapted from hydro 21-oct-15/MR: changes for slope-limited diffusion

03-apr-20/joern: restructured and fixed slope-limited diffusion

Use :

farraymanager, sharedvariables (put_shared_variable())

Call to:

svn_id(), warning(), fatal_error(), information(), select_eos_variable(), request_border_driving(), stepdown(), der_stepdown(), erfunc(), not_implemented(), get_gamma_etc(), initial_condition_all(), initialize_density_methods(), mean_density(), fatal_error_local(), modes(), blob(), pre_stellar_cloud(), read_outside_scal_array(), stratification(), stratification_x(), stratification_xz(), temp_hydrostatic(), jump(), soundwave(), sinwave_phase(), coswave_phase(), sinwave(), coswave(), hatwave(), triquad(), isotdisk(), sinx_siny_sinz(), corona_init(), gaussian3d(), planet(), planet_hc(), power_randomphase(), initial_condition_lnrho(), dot2_mn(), impose_density_floor(), impose_density_ceiling(), error(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr()

subroutine  density/initialize_density(f)

Perform any post-parameter-read initialization i.e. calculate derived parameters.

For compatibility with other applications, we keep the possibility of giving diffrho units of dxmin*cs0, but cs0 is not well defined general

24-nov-02/tony: coded 31-aug-03/axel: normally, diffrho should be given in absolute units 14-apr-14/axel: lreinitialize_lnrho and lreinitialize_rho added 21-jan-15/MR: changes for use of reference state. 10-feb-15/MR: added getting reference state from initial condition.

upwind switch according to log/nolog (with warning).

15-nov-16/fred: option to apply z-profile to reinitialize_* 25-may-18/fred: definitive test of mass diffusion correction implemented

Parameters:

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

Use :

equationofstate (select_eos_variable(), get_gamma_etc()), borderprofiles (request_border_driving()), deriv (der(), der2()), farraymanager, gravity (lnumerical_equilibrium()), sub (stepdown(), der_stepdown(), erfunc(), step()), sharedvariables (put_shared_variable(), get_shared_variable()), initialcondition (initial_condition_all()), mpicomm (mpiallreduce_sum())

Call to:

fatal_error(), warning(), information(), select_eos_variable(), request_border_driving(), stepdown(), der_stepdown(), erfunc(), not_implemented(), get_gamma_etc(), initial_condition_all(), initialize_density_methods(), mean_density(), fatal_error_local(), modes(), blob(), pre_stellar_cloud(), read_outside_scal_array(), stratification(), stratification_x(), stratification_xz(), temp_hydrostatic(), jump(), soundwave(), sinwave_phase(), coswave_phase(), sinwave(), coswave(), hatwave(), triquad(), isotdisk(), sinx_siny_sinz(), corona_init(), gaussian3d(), planet(), planet_hc(), power_randomphase(), initial_condition_lnrho(), dot2_mn(), impose_density_floor(), impose_density_ceiling(), error(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr()

subroutine  density/init_lnrho(f)

Initialise logarithmic or non-logarithmic density.

7-nov-01/wolf: coded

28-jun-02/axel: added isothermal 15-oct-03/dave: added spherical shell (kws)

Parameters:

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

Use :

equationofstate (eoscalc(), ilnrho_tt(), get_gamma_etc()), general (itoa(), rtoa(), complex_phase(), notanumber()), gravity (zref(), z1(), z2(), gravz(), nu_epicycle(), potential()), initcond, mpicomm, sub (blob(), dot2_mn()), initialcondition (initial_condition_lnrho()), sharedvariables (get_shared_variable())

Call to:

fatal_error(), warning(), modes(), blob(), pre_stellar_cloud(), read_outside_scal_array(), stratification(), stratification_x(), stratification_xz(), get_gamma_etc(), temp_hydrostatic(), jump(), soundwave(), sinwave_phase(), coswave_phase(), sinwave(), coswave(), hatwave(), triquad(), isotdisk(), sinx_siny_sinz(), corona_init(), gaussian3d(), information(), planet(), planet_hc(), not_implemented(), power_randomphase(), initial_condition_lnrho(), dot2_mn(), impose_density_floor(), impose_density_ceiling(), error(), mean_density(), fatal_error_local(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr()

subroutine  density/density_before_boundary_diagnostics(f)
25-jun-25/TP: Carved from density_before_boundary.

Observed that irho_flucz is only calculated for diagnostics purposes. So having this function serves two purposes: saving unnecessary computation and more importantly enabling to reuse diagnostic code when using the GPU.

Parameters:

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

Use :

sub (finalize_aver())

Call to:

mean_density(), get_gamma_etc(), fatal_error_local(), fatal_error(), not_implemented(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr()

subroutine  density/density_before_boundary(f)

Actions to take before boundary conditions are applied.

31-aug-09/MR: adapted from hydro_after_boundary

3-oct-12/MR: global averaging corrected 3-mar-14/MR: correction of total mass added

17-aug-14/MR: finalize_aver used 10-feb-15/MR: extended calc of <grad(log(rho))> to linear density;

mass conservation slightly simplified

21-oct-15/MR: changes for slope-limited diffusion 03-apr-20/joern: restructured and fixed slope-limited diffusion:

removed from here.

Parameters:

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

Use :

sub (finalize_aver())

Call to:

mean_density(), get_gamma_etc(), fatal_error_local(), fatal_error(), not_implemented(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr()

subroutine  density/update_char_vel_density(f)

Updates characteristic velocity for slope-limited diffusion.

25-sep-15/MR+joern: coded
9-oct-15/MR: added updating of characteristic velocity by density

not yet activated (weight=0), tb reconsidered

Parameters:

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

Use :

general (staggered_mean_scal())

Call to:

get_gamma_etc(), fatal_error_local(), fatal_error(), not_implemented(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/pencil_criteria_density()

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

19-11-04/anders: coded

Use :

sharedvariables (put_shared_variable(), get_shared_variable())

Call to:

not_implemented(), fatal_error(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), fatal_error_local(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), get_gamma_etc(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/pencil_interdep_density(lpencil_in)

Interdependency among pencils from the Density module is specified here.

19-11-04/anders: coded

Parameters:

lpencil_in (npencils) [logical]

Call to:

not_implemented(), fatal_error(), del6(), del6_strict(), weno_transp(), calc_del6_for_upwind(), div(), fatal_error_local(), g2ij(), calc_slope_diff_flux(), timing(), identify_bcs(), dot_mn(), special_calc_density(), get_gamma_etc(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/density_after_boundary(f)

Actions to take after boundary conditions are set.

2-apr-08/anders: coded

use Sub, only: div, grad, dot_mn, finalize_aver

Parameters:

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

Call to:

fatal_error(), calc_slope_diff_flux(), timing(), identify_bcs(), not_implemented(), dot_mn(), special_calc_density(), get_gamma_etc(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), fatal_error_local(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/dlnrho_dt(f, df, p)

Continuity equation. Calculate dlnrho/dt = - u.gradlnrho - divu

7-jun-02/axel: incorporated from subroutine pde

21-oct-15/MR: changes for slope-limited diffusion

4-aug-17/axel: implemented terms for ultrarelativistic EoS

25-may-18/fred: updated mass diffusion correction and set default

not default for hyperdiff, but correction applies to all fdiff if lmassdiff_fix=T

03-apr-20/joern: restructured and fixed slope-limited diffusion 06-mar-25/alberto: added corrections in the subrelativistic limit

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

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

  • p [pencil_case,in]

Use :

deriv (der6()), special (special_calc_density()), equationofstate (get_gamma_etc()), sub

Call to:

timing(), identify_bcs(), not_implemented(), dot_mn(), special_calc_density(), get_gamma_etc(), der6(), del6fj(), calc_diagnostics_density(), phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), fatal_error(), fatal_error_local(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/calc_diagnostics_density(f, p)
Parameters:
  • f (,,*,*) [real,contiguous]

  • p [pencil_case]

Call to:

phisum_mn_name_rz(), ysum_mn_name_xz(), phizsum_mn_name_r(), xysum_mn_name_z(), yzsum_mn_name_x(), xzsum_mn_name_y(), integrate_mn_name(), max_mn_name(), save_name(), border_driving(), set_border_initcond(), get_gamma_etc(), fatal_error(), not_implemented(), fatal_error_local(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/split_update_density(f)
Parameters:

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

Call to:

border_driving(), set_border_initcond(), get_gamma_etc(), fatal_error(), not_implemented(), fatal_error_local(), addto_slices(), mpibcast_real_arr(), mean_density()

subroutine  density/impose_density_floor(f)

Impose a minimum density by setting all lower densities to the minimum value (density_floor). Useful for debugging purposes.

13-aug-07/anders: implemented. 10-feb-15/MR: adaptations for reference state 17-may-23/hongzhe: implemented non-uniform density floor (for lnrho only)

Parameters:

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

Call to:

fatal_error_local(), get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/read_density_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/write_density_init_pars(unit)
Parameters:

unit [integer,in]

Call to:

get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/read_density_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/write_density_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/rprint_density(lreset[, lwrite])

Reads and registers print parameters relevant for continuity equation.

3-may-02/axel: coded

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

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics (parse_name()), farraymanager (farray_index_append()), general (loptest())

Call to:

get_gamma_etc(), addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/get_slices_density(f, slices)

Write slices for animation of Density variables.

26-jul-06/tony: coded 10-feb-15/MR: adaptations for reference state

Parameters:
Use :

slices_methods

Call to:

addto_slices(), fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/get_slices_pressure(f, slices)
Parameters:
Call to:

fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/get_init_average_density(f, init_average_density)

10-dec-09/piyali: added to pass initial average density

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

  • init_average_density [real]

Call to:

fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/density_after_mn(f, df, mass_per_proc)

20-apr-23/hongzhe: adapted from anelastic_after_mn

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

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

  • mass_per_proc (1) [real]

Use :

sub (finalize_aver())

Call to:

fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/dynamical_diffusion(uc)

Dynamically set mass diffusion 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:

fatal_error(), mpibcast_real_arr(), mean_density()

subroutine  density/boussinesq(f)

23-mar-2012/dintrans: coded dummy routine for the Boussinesq approximation

Parameters:

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

Call to:

fatal_error(), mpibcast_real_arr(), mean_density()

function  density/mean_density(f)

Calculate mean density from f-array. With lreference_state=T it is the mean density deviation.

3-mar-14/MR: coded

Parameters:

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

Return:

mean_density [real]

Use :

mpicomm (mpiallreduce_sum())

subroutine  density/impose_density_ceiling(f)

Impose a maximum (log) density by setting all higher (log) densities to the maximum value (density_ceiling).

3-mar-2017/MR: implemented.

Parameters:

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

subroutine  density/write_z_stratification(f)
Parameters:

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

subroutine  density/pushpars2c(p_par)
Parameters:

p_par (100) [integer]

Use :

syscalls (copy_addr()), general (string_to_enum())