anelastic
Module
Description
$Id$
This module solves the Poisson equation for pressure for the linearized density
** 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 = .false. CPARAM logical, parameter :: lanelastic = .true. CPARAM logical, parameter :: lboussinesq = .false.
MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 5 COMMUNICATED AUXILIARIES 5
PENCILS PROVIDED glnrho(3); grho(3); gpp(3); PENCILS PROVIDED uglnrho; ugrho PENCILS PROVIDED glnrho2; del2lnrho; del2rho; del6lnrho; del6rho PENCILS PROVIDED hlnrho(3,3); sglnrho(3); uij5glnrho(3),transprho PENCILS PROVIDED ekin PENCILS PROVIDED rho; rho1; lnrho; glnrhos(3)
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$equationofstate(cs0(),cs20(),cs2top(),cs2bot(),get_gamma_etc(),rho0(),lnrho0(),get_average_pressure(),select_eos_variable()): $Id$general(keep_compiler_quiet()): $Id$messages: $Id$sub: $Id$diagnostics: $Id$special: $Id$
Variables
- density/beta_glnrho_global (3) [real,private/optional/default=0.0]
- density/beta_glnrho_scaled (3) [real,private/optional/default=0.0]
- density/cdiffrho [real,private/optional/default=0.0]
- 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/damplnrho_ext [real,private/optional/default=0.0]
- density/damplnrho_int [real,private/optional/default=0.0]
- density/density_floor [real,private/optional/default=-1.0]
- 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.]
- density/diffrho_shock [real,private/optional/default=0.0]
- density/eps_planet [real,private/optional/default=0.5]
- density/gamma [real,private]
- density/gamma_m1 [real,private]
- density/hh0 [real,private/optional/default=0.0]
- density/hoverr [real,private/optional/default=0.05]
- density/idiag_divrhoum [integer,private/optional/default=0]
- density/idiag_divrhoumax [integer,private/optional/default=0]
- density/idiag_divrhourms [integer,private/optional/default=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_lnrho2m [integer,private/optional/default=0]
- density/idiag_lnrhomphi [integer,private/optional/default=0]
- density/idiag_mass [integer,private/optional/default=0]
- density/idiag_rho2m [integer,private/optional/default=0]
- density/idiag_rhom [integer,private/optional/default=0]
- density/idiag_rhomax [integer,private/optional/default=0]
- density/idiag_rhomin [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_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_totmass [integer,private/optional/default=0]
- density/idiag_uglnrhom [integer,private/optional/default=0]
- density/idiag_ugrhom [integer,private/optional/default=0]
- density/idiff (4) [character,private/optional/default='']
- density/iglobal_gg [integer,private/optional/default=0]
- density/iinit_str [character,private]
- density/init_average_density [real,private]
- density/inverse_laplacian_z [private]
- density/isothermal_density [private]
- density/lanelastic_lin [logical,private/pointer]
- density/lanti_shockdiffusion [logical,private/optional/default=.false.]
- density/lcalc_glnrhomean [logical,private/optional/default=.false.]
- density/lcalc_lnrhomean [logical,public/optional/default=.false.]
- density/lcheck_negative_density [logical,private/optional/default=.false.]
- density/lcontinuity_gas [logical,private/optional/default=.true.]
- density/ldiff_hyper3 [logical,private/optional/default=.false.]
- density/ldiff_hyper3_aniso [logical,private/optional/default=.false.]
- density/ldiff_hyper3_polar [logical,private/optional/default=.false.]
- density/ldiff_hyper3lnrho [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/lexponential_smooth [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/lmassdiff_fix [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/lrho_as_aux [logical,private/optional/default=.false.]
- density/lupw_lnrho [logical,public/optional/default=.false.]
- density/lupw_rho [logical,private/optional/default=.false.]
- density/mpoly [real,private/target/optional/default=impossible]
- density/ndiff_max [integer,private/parameter/optional/default=4]
- density/niter [integer,private/optional/default=1]
- density/numerical_equilibrium [private]
- density/plaw [real,private/target/optional/default=0.0]
- density/polytropic_simple [private]
- density/powerlr [real,private/optional/default=3.0]
- density/q_ell [real,private/optional/default=5.0]
- density/radial_percent_smooth [real,private/optional/default=10.0]
- density/rho_const [real,private/optional/default=1.0]
- density/rshift [real,private/optional/default=0.0]
- density/sigma1 [real,private/optional/default=150.0]
- density/strati_type [character,private/optional/default='lnrho_ss']
- density/wdamp [real,private/optional/default=0.0]
- density/xblob [real,private/optional/default=0.0]
- density/yblob [real,private/optional/default=0.0]
- density/zblob [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
- Use :
- Call to:
svn_id(),fatal_error(),select_eos_variable(),warning(),initialize_density_methods(),get_gamma_etc(),initial_condition_lnrho(),identify_bcs(),integrate_mn_name(),max_mn_name(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),fourier_transform_xy(),tridag(),mean_density()
- 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
- Parameters:
- Use :
deriv(der_pencil(),der2_pencil()),farraymanager(farray_register_auxiliary(),farray_register_global()),gravity(lnumerical_equilibrium()),mpicomm(stop_it()),sharedvariables(get_shared_variable(),put_shared_variable()),densitymethods(initialize_density_methods())- Call to:
fatal_error(),select_eos_variable(),warning(),initialize_density_methods(),get_gamma_etc(),initial_condition_lnrho(),identify_bcs(),integrate_mn_name(),max_mn_name(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- 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:
- Use :
general(itoa(),complex_phase(),notanumber()),gravity(zref(),z1(),z2(),gravz(),nu_epicycle(),potential(),lnumerical_equilibrium()),initcond,io,mpicomm,initialcondition(initial_condition_lnrho()),poisson(inverse_laplacian())- Call to:
fatal_error(),initial_condition_lnrho(),identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/density_after_boundary(f)
- Parameters:
- Call to:
fatal_error(),identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/pencil_criteria_density()
All pencils that the Density module depends on are specified here.
19-11-04/anders: coded
- Call to:
fatal_error(),identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),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:
fatal_error(),identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/calc_pencils_density(f, p)
Dummy routine copied from nodensity.f90
20-11-04/anders: coded
- Parameters:
- Use :
- Call to:
fatal_error(),identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/density_before_boundary(f)
Actions to take before boundary conditions are set.
2-apr-08/anders: coded
- Parameters:
- Call to:
identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),fatal_error(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/dlnrho_dt(f, df, p)
- Dummy routine (taken from nodensity.f90 )
14-oct-09/dhruba: coded
- Parameters:
- Use :
- Call to:
identify_bcs(),integrate_mn_name(),max_mn_name(),get_gamma_etc(),fatal_error(),integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),mean_density()
- subroutine density/split_update_density(f)
- subroutine density/read_density_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/write_density_init_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/read_density_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/write_density_run_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/rprint_density(lreset[, lwrite])
reads and registers print parameters relevant for compressible part
3-may-02/axel: coded
27-may-02/axel: added possibility to reset list
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
- Call to:
integrate_mn(),get_average_density(),initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/get_init_average_density(f, init_average_density)
10-dec-09/piyali: added to pass initial average density equ.f90
- subroutine density/get_slices_density(f, slices)
Write slices for animation of Density variables.
26-jul-06/tony: coded
- Parameters:
slices [slice_data]
- Use :
- Call to:
initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_density(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/get_slices_pressure(f, slices)
Write slices for animation of Pressure variables.
26-jul-06/tony: coded
- Parameters:
slices [slice_data]
- Use :
- Call to:
initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_density(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/density_after_mn(f, df, mass_per_proc)
- Parameters:
- Use :
poisson(inverse_laplacian()),mpicomm(initiate_isendrcv_bdry(),finalize_isendrcv_bdry()),boundcond(boundconds())- Call to:
initiate_isendrcv_bdry(),finalize_isendrcv_bdry(),boundconds(),div(),inverse_laplacian(),get_average_density(),get_average_pressure(),svn_id(),fourier_transform_xy(),tridag(),fatal_error(),mean_density()
- subroutine density/dynamical_diffusion(uc)
Dynamically set mass diffusion coefficient given fixed mesh Reynolds number.
27-jul-11/nils: dummy
- Input Argument
- uc
Characteristic velocity of the system.
- Parameters:
uc [real,in]
- Call to:
- subroutine density/impose_density_floor(f)
- Parameters:
- Call to:
- subroutine density/boussinesq(f)
23-mar-2012/dintrans: coded dummy routine for the Boussinesq approximation
- Parameters:
- 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
- subroutine density/calc_diagnostics_density(f, p)