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
cdata: $Id$general(keep_compiler_quiet(),itoa()): $Id$messages: $Id$equationofstate(cs0(),cs20(),cs2bot(),cs2top(),rho0(),lnrho0()): $Id$densitymethods: 11-mar-15/MR: Created to avoid circular dependencies with EquationOfState.
Variables
- density/accumulate_schur_averages [private]
- 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/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/div_sld_dens [character,private/optional/default='2nd']
- 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/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/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/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_int [real,private/optional/default=0.0]
- density/lnrho_z_shift [real,private/optional/default=0.0]
- 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/polytropic_lnrho_disc [private]
- density/polytropic_lnrho_z [private]
- density/polytropic_simple [private]
- density/powerlr [real,private/optional/default=3.0]
- density/q_ell [real,private/optional/default=5.0]
- density/r0_rho [real,private/optional/default=impossible]
- density/read_reference_state [private]
- density/reduce_cs2 [real,private/target/optional/default=1.0]
- density/reference_state_mass [real,private/optional/default=0.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_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_xyzaver (1) [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/xi_coeff [real,private/optional/default=1.0]
- density/xjump_mid [real,private/optional/default=0.0]
- density/yjump_mid [real,private/optional/default=0.0]
- density/zjump_mid [real,private/optional/default=0.0]
- 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 :
- 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 :
- 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 :
- 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 :
- 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 :
- 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 :
- 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:
f (,,*,*) [real,contiguous]
slices [slice_data]
- Use :
- Call to:
addto_slices(),fatal_error(),mpibcast_real_arr(),mean_density()
- subroutine density/get_slices_pressure(f, slices)
- Parameters:
f (,,*,*) [real,contiguous]
slices [slice_data]
- Call to:
- 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:
- 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 :
- Call to:
- 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:
- subroutine density/boussinesq(f)
23-mar-2012/dintrans: coded dummy routine for the Boussinesq approximation
- Parameters:
f (,,*,*) [real,contiguous]
- Call to:
- 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 :
- 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())