selfgravity
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 1 COMMUNICATED AUXILIARIES 1
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/calc_cylgrav_stresses [private]
- selfgravity/gravitational_const [real,private/target/optional/default=0.0]
- selfgravity/idiag_gpgzm [integer,private/optional/default=0]
- selfgravity/idiag_gpotself2m [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/idiag_rpotselfm [integer,private/optional/default=0]
- selfgravity/idiag_rugpotselfm [integer,private/optional/default=0]
- selfgravity/kappa [real,private/optional/default=0.0]
- selfgravity/lbryan_etal14 [logical,private/optional/default=.false.]
- 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/luse_g_newton [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
- subroutine selfgravity/initialize_selfgravity(f)
Perform any post-parameter-read initialization i.e. calculate derived parameters.
15-may-06/anders+jeff: adapted
- Parameters:
f (,,*,*) [real,contiguous]
- Use :
- Call to:
fatal_error(),get_stratz(),particles_calc_selfpotential(),inverse_laplacian(),calc_diagnostics_selfgrav(),dot_mn(),dot2_mn(),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]
- Call to:
particles_calc_selfpotential(),inverse_laplacian(),calc_diagnostics_selfgrav(),dot_mn(),dot2_mn(),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:
f (,,*,*) [real,inout,contiguous]
p [pencil_case,inout]
- Use :
- Call to:
particles_calc_selfpotential(),inverse_laplacian(),calc_diagnostics_selfgrav(),dot_mn(),dot2_mn(),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 27-oct-25/axel: added ascale_type with default (from cdata) being the default
- Parameters:
f (,,*,*) [real,inout,contiguous]
- Use :
particles_main(particles_calc_selfpotential()),farraymanager,poisson- Call to:
particles_calc_selfpotential(),inverse_laplacian(),calc_diagnostics_selfgrav(),dot_mn(),dot2_mn(),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:
df (,,*,*) [real,inout,contiguous]
p [pencil_case,in]
- Call to:
calc_diagnostics_selfgrav(),dot_mn(),dot2_mn(),max_mn_name(),yzsum_mn_name_x(),xzsum_mn_name_y(),xysum_mn_name_z()
- subroutine selfgravity/calc_diagnostics_selfgrav(p)
Diagnostic averages.
- Parameters:
p [pencil_case]
- Use :
- Call to:
dot_mn(),dot2_mn(),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]
- subroutine selfgravity/read_selfgravity_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine selfgravity/write_selfgravity_run_pars(unit)
- Parameters:
unit [integer,in]
- 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 :