density_stratified

Module

Description

$Id$

** 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 rhos; rhos1 PENCILS PROVIDED grhos(3); glnrhos(3); ugrhos

PENCILS PROVIDED rho; rho1 PENCILS PROVIDED grho(3); glnrho(3) PENCILS PROVIDED ekin

PENCILS PROVIDED lnrho PENCILS PROVIDED ugrho; uglnrho PENCILS PROVIDED transprho PENCILS PROVIDED del2rho; del2lnrho; del6lnrho PENCILS PROVIDED hlnrho(3,3) PENCILS PROVIDED uij5glnrho(3); sglnrho(3) PENCILS PROVIDED totenergy_rel


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/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/density_floor [real,private/optional/default=0.0]
  • density/diffrho_hyper3_mesh [real,private/optional/default=0.0]
  • density/diffrho_shock [real,private/optional/default=0.0]
  • density/diffus_diffrho (nx) [real,private]
  • density/diffus_diffrho3 (nx) [real,private]
  • density/dlnrho0dz (mz) [real,private/optional/default=0.0]
  • density/idiag_drho2m [integer,private/optional/default=0]
  • density/idiag_drho2mx [integer,private/optional/default=0]
  • density/idiag_drho2mxy [integer,private/optional/default=0]
  • density/idiag_drho2mxz [integer,private/optional/default=0]
  • density/idiag_drho2my [integer,private/optional/default=0]
  • density/idiag_drho2mz [integer,private/optional/default=0]
  • density/idiag_drhom [integer,private/optional/default=0]
  • density/idiag_drhomax [integer,private/optional/default=0]
  • density/idiag_drhomx [integer,private/optional/default=0]
  • density/idiag_drhomxy [integer,private/optional/default=0]
  • density/idiag_drhomxz [integer,private/optional/default=0]
  • density/idiag_drhomy [integer,private/optional/default=0]
  • density/idiag_drhomz [integer,private/optional/default=0]
  • density/idiag_drhorms [integer,private/optional/default=0]
  • density/idiag_mass [integer,private/optional/default=0]
  • density/idiag_rhomax [integer,private/optional/default=0]
  • density/idiag_rhomin [integer,private/optional/default=0]
  • density/idiag_sigma [integer,private/optional/default=0]
  • density/initrho (ninit) [character,private/optional/default='nothing']
  • density/lcalc_lnrhomean [logical,public/optional/default=.false.]
  • density/lconserve_mass [logical,private/optional/default=.false.]
  • density/ldiff_hyper3_mesh [logical,private/optional/default=.false.]
  • density/ldiff_shock [logical,private/optional/default=.false.]
  • density/lffree [logical,private/optional/default=.false.]
  • density/lmassdiff_fix [logical,private/optional/default=.false.]
  • density/lrelativistic_eos [logical,private/optional/default=.false.]
  • density/lrelativistic_eos_corr [logical,private/optional/default=.false.]
  • density/lupw_lnrho [logical,public/optional/default=.false.]
  • density/lwrite_stratification [logical,private/optional/default=.false.]
  • density/mass0 [real,private/optional/default=0.0]
  • density/rho0z (mz) [real,private/optional/default=0.0]
  • density/total_mass [private]

Subroutines and functions

subroutine  density/register_density()

Register Density module.

28-feb-13/ccyang: coded.

Use :

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

Call to:

fatal_error(), warning(), svn_id(), select_eos_variable(), initialize_density_methods(), get_stratz(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/initialize_density(f)

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

07-sep-14/ccyang: coded.

Parameters:

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

Use :

equationofstate (select_eos_variable(), get_stratz(), cs0()), sharedvariables (put_shared_variable()), densitymethods (initialize_density_methods())

Call to:

select_eos_variable(), initialize_density_methods(), get_stratz(), fatal_error(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/init_lnrho(f)

Initializes the density field.

27-feb-13/ccyang: coded.

Parameters:

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

Use :

initcond (gaunoise())

Call to:

fatal_error(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/pencil_criteria_density()

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

02-nov-13/ccyang: coded.

Call to:

fatal_error(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/pencil_interdep_density(lpencil_in)

Interdependency among pencils from the Density module is specified here.

02-nov-13/ccyang: coded.

Parameters:

lpencil_in (npencils) [logical]

Call to:

fatal_error(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/calc_pencils_density(f, p)

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

02-nov-13/ccyang: coded.

Parameters:
Use :

sub (grad(), u_dot_grad()), equationofstate (cs20())

Call to:

fatal_error(), timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/dlnrho_dt(f, df, p)

Continuity equation.

02-nov-13/ccyang: coded. 24-aug-14/ccyang: add mass diffusion correction.

Parameters:
Use :

sub (identify_bcs(), dot_mn(), del2()), deriv (der6()), special (special_calc_density())

Call to:

timing(), identify_bcs(), dot_mn(), der6(), not_implemented(), special_calc_density(), calc_diagnostics_density(), ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density()

subroutine  density/calc_diagnostics_density(f, p)
Parameters:
Use :

diagnostics

Call to:

ysum_mn_name_xz(), xysum_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), integrate_mn_name(), max_mn_name(), fatal_error_local(), mean_density(), not_implemented()

subroutine  density/split_update_density(f)

Integrate operator split terms and/or perform post-time-step processing.

18-jun-14/ccyang: coded.

Parameters:

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

Call to:

fatal_error_local(), mean_density(), not_implemented()

subroutine  density/impose_density_floor(f)

Check negative density or impose a density floor.

27-feb-13/ccyang: coded.

Parameters:

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

Call to:

fatal_error_local(), mean_density(), not_implemented()

subroutine  density/read_density_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

mean_density(), not_implemented()

subroutine  density/write_density_init_pars(unit)
Parameters:

unit [integer,in]

Call to:

mean_density(), not_implemented()

subroutine  density/read_density_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

mean_density(), not_implemented()

subroutine  density/write_density_run_pars(unit)
Parameters:

unit [integer,in]

Call to:

mean_density(), not_implemented()

subroutine  density/rprint_density(lreset[, lwrite])

Reads and registers print parameters relevant for continuity equation.

27-feb-13/ccyang: coded.

Parameters:
  • lreset [logical,in]

  • lwrite [logical,in,]

Use :

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

Call to:

mean_density(), not_implemented()

subroutine  density/get_slices_density(f, slices)

Write slices for animation of Density variables.

27-feb-13/ccyang: coded.

Parameters:
Use :

slices_methods (assign_slices_scal())

Call to:

mean_density(), not_implemented()

subroutine  density/dynamical_diffusion(uc)

Dynamically set mass diffusion coefficient given fixed mesh Reynolds number.

28-feb-13/ccyang: coded

Input Argument
uc

Characteristic velocity of the system.

Parameters:

uc [real,in]

Call to:

mean_density(), not_implemented()

subroutine  density/density_after_mn(f, df, mass_per_proc)

Dummy

Parameters:
Call to:

mean_density(), not_implemented()

subroutine  density/boussinesq(f)

dummy routine for the Boussinesq approximation

Parameters:

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

Call to:

mean_density(), not_implemented()

subroutine  density/density_after_boundary(f)
Parameters:

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

Call to:

mean_density(), not_implemented()

subroutine  density/density_before_boundary_diagnostics(f)
Parameters:

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

Call to:

mean_density(), not_implemented()

subroutine  density/density_before_boundary(f)
Parameters:

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

Call to:

mean_density(), not_implemented()

subroutine  density/get_init_average_density(f, init_average_density)

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

Parameters:
Call to:

mean_density(), not_implemented()

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

mean_density(), not_implemented()

function  density/mean_density(f)

Calculate mean density of the whole box.

06-mar-15/ccyang: adapted.

Parameters:

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

Return:

mean_density [real]

Use :

mpicomm (mpiallreduce_sum())

Call to:

not_implemented()

subroutine  density/update_char_vel_density(f)

Updates characteristic velocity for slope-limited diffusion.

21-oct-15/MR: coded

Parameters:

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

Call to:

not_implemented()

subroutine  density/impose_density_ceiling(f)

Dummy routine.

Parameters:

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

subroutine  density/write_z_stratification(f)
Parameters:

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