selfgravity_logspirals
Module
Description
$Id$
- This module takes care of self gravity by solving the Poisson equation
(d^2/dx^2 + d^2/dy^2 + d^2/dz^2)phi = 4*pi*G*rho
for the potential phi.
** 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 :: lselfgravity = .true.
MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 4 COMMUNICATED AUXILIARIES 4
PENCILS PROVIDED potself; gpotself(3)
Quick access
- Variables:
c,calc_cylgrav_stresses,gm1,gravitational_const,idiag_gpgzm,idiag_gpotself2m,idiag_gpotselfx2m,idiag_gpotselfxm,idiag_gpotselfy2m,idiag_gpotselfym,idiag_gpotselfz2m,idiag_gpotselfzm,idiag_grgpm,idiag_grgzm,idiag_gxgym,idiag_gxgzm,idiag_gygzm,idiag_jeanslength,idiag_ljeans2d,idiag_potself2m,idiag_potselfm,idiag_potselfmx,idiag_potselfmxy,idiag_potselfmy,idiag_potselfmz,idiag_qtoomre,idiag_qtoomremax,idiag_qtoomremin,idiag_rpotselfm,idiag_rugpotselfm,kappa_mn,lbryan_etal14,ljeans_stiffening,lselfgravity_dust,lselfgravity_gas,lselfgravity_neutrals,luse_g_newton,nj_stiff,rhs_poisson_const,stiff_gamma,tselfgrav_gentle,tstart_selfgrav- Routines:
addselfgrav(),calc_diagnostics_selfgrav(),calc_pencils_selfgravity(),calc_selfpotential(),initialize_selfgravity(),pencil_criteria_selfgravity(),pencil_interdep_selfgravity(),read_selfgravity_init_pars(),read_selfgravity_run_pars(),register_selfgravity(),rprint_selfgravity(),write_selfgravity_init_pars(),write_selfgravity_run_pars()
Needed modules
cdata: $Id$general(keep_compiler_quiet()): $Id$messages: $Id$
Variables
- selfgravity/c [real,private]
- selfgravity/calc_cylgrav_stresses [private]
- selfgravity/gm1 [real,private]
- selfgravity/gravitational_const [real,private/target/optional/default=0.0]
- selfgravity/idiag_gpgzm [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfx2m [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfxm [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfy2m [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfym [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfz2m [integer,private/optional/default=0]
- selfgravity/idiag_gpotselfzm [integer,private/optional/default=0]
- selfgravity/idiag_grgpm [integer,private/optional/default=0]
- selfgravity/idiag_grgzm [integer,private/optional/default=0]
- selfgravity/idiag_gxgym [integer,private/optional/default=0]
- selfgravity/idiag_gxgzm [integer,private/optional/default=0]
- selfgravity/idiag_gygzm [integer,private/optional/default=0]
- selfgravity/idiag_jeanslength [integer,private/optional/default=0]
- selfgravity/idiag_ljeans2d [integer,private/optional/default=0]
- selfgravity/idiag_potself2m [integer,private/optional/default=0]
- selfgravity/idiag_potselfm [integer,private/optional/default=0]
- selfgravity/idiag_potselfmx [integer,private/optional/default=0]
- selfgravity/idiag_potselfmxy [integer,private/optional/default=0]
- selfgravity/idiag_potselfmy [integer,private/optional/default=0]
- selfgravity/idiag_potselfmz [integer,private/optional/default=0]
- selfgravity/idiag_qtoomre [integer,private/optional/default=0]
- selfgravity/idiag_qtoomremax [integer,private/optional/default=0]
- selfgravity/idiag_qtoomremin [integer,private/optional/default=0]
- selfgravity/kappa [real,private/optional/default=0.0]
- selfgravity/ljeans_stiffening [logical,private/optional/default=.false.]
- selfgravity/lselfgravity_dust [logical,private/optional/default=.false.]
- selfgravity/lselfgravity_gas [logical,private/optional/default=.true.]
- selfgravity/lselfgravity_neutrals [logical,private/optional/default=.false.]
- selfgravity/nj_stiff [integer,private/optional/default=8]
- selfgravity/rhs_poisson_const [real,private/target/optional/default=1.0]
- selfgravity/stiff_gamma [real,private/optional/default=1.6666666666666667]
- selfgravity/tselfgrav_gentle [real,private/target/optional/default=0.0]
- selfgravity/tstart_selfgrav [real,private/target/optional/default=0.0]
Subroutines and functions
- subroutine selfgravity/register_selfgravity()
Initialise self gravity variables.
15-may-06/anders+jeff: adapted
- Use :
- Called from:
- Call to:
svn_id(),fatal_error(),get_stratz(),particles_calc_selfpotential(),inverse_laplacian(),get_acceleration(),calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/initialize_selfgravity(f)
Perform any post-parameter-read initialization i.e. calculate derived parameters.
15-may-06/anders+jeff: adapted
- Parameters:
- Use :
- Called from:
- Call to:
fatal_error(),get_stratz(),particles_calc_selfpotential(),inverse_laplacian(),get_acceleration(),calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/pencil_criteria_selfgravity()
All pencils that the Selfgravity module depends on are specified here.
15-may-06/anders+jeff: adapted
- subroutine selfgravity/pencil_interdep_selfgravity(lpencil_in)
Interdependency among pencils from the Selfgravity module is specified here.
15-may-06/anders+jeff: adapted
- Parameters:
lpencil_in (npencils) [logical]
- Called from:
register_modules(),initialize_modules(),finalize_modules(),choose_pencils()- Call to:
particles_calc_selfpotential(),inverse_laplacian(),get_acceleration(),calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/calc_pencils_selfgravity(f, p)
Calculate Selfgravity pencils. Most basic pencils should come first, as others may depend on them.
15-may-06/anders+jeff: coded 03-feb-11/ccyang: add Jeans stiffening
- Parameters:
- Use :
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics()- Call to:
particles_calc_selfpotential(),inverse_laplacian(),get_acceleration(),calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/calc_selfpotential(f)
Calculate the potential of the self gravity.
15-may-06/anders+jeff: coded
- Parameters:
- Use :
- Called from:
register_density(),initialize_density(),init_lnrho(),density_before_boundary(),pencil_criteria_density(),pencil_interdep_density(),density_after_boundary(),dlnrho_dt(),calc_pencils_density(),pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics(),start- Call to:
particles_calc_selfpotential(),inverse_laplacian(),get_acceleration(),calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/addselfgrav(df, p)
Add self gravity acceleration on gas.
15-may-06/anders+jeff: coded
- Parameters:
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics()- Call to:
calc_diagnostics_selfgrav(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/calc_diagnostics_selfgrav(p)
- Parameters:
p [pencil_case]
- Use :
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),register_selfgravity(),initialize_selfgravity(),pencil_criteria_selfgravity(),pencil_interdep_selfgravity(),calc_pencils_selfgravity(),calc_selfpotential(),addselfgrav()- Call to:
max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/read_selfgravity_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine selfgravity/write_selfgravity_init_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()
- subroutine selfgravity/read_selfgravity_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine selfgravity/write_selfgravity_run_pars(unit)
- Parameters:
unit [integer,in]
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()
- subroutine selfgravity/rprint_selfgravity(lreset[, lwrite])
Reads and registers print parameters relevant for gravity advance.
16-may-06/anders+jeff: adapted
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
- Called from:
register_modules(),initialize_modules(),finalize_modules(),choose_pencils(),rprint_list()