particles_selfgravity

Module

Description

$Id$

This module takes care of everything related to particle self-gravity by inverting the Poisson equation of the particle density mapped on the grid.

** 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 :: lparticles_selfgravity=.true.

MAUX CONTRIBUTION 3 COMMUNICATED AUXILIARIES 3


Quick access

Variables:

cdtpg, idiag_gpotenp, idiag_potselfpm, lnopartingrav, lselfgravity_particles

Routines:

calc_diagnostics_particles_selg(), calc_pencils_par_selfgrav(), calc_selfpotential_particles(), dvvp_dt_selfgrav(), dvvp_dt_selfgrav_pencil(), initialize_particles_selfgrav(), pencil_criteria_par_selfgrav(), pencil_interdep_par_selfgrav(), read_particles_selfg_init_pars(), read_particles_selfg_run_pars(), register_particles_selfgrav(), rprint_particles_selfgrav(), write_particles_selfg_init_pars(), write_particles_selfg_run_pars()

Needed modules

Variables

  • particles_selfgravity/cdtpg [real,private/optional/default=0.2]
  • particles_selfgravity/idiag_gpotenp [integer,private/optional/default=0]
  • particles_selfgravity/idiag_potselfpm [integer,private/optional/default=0]
  • particles_selfgravity/lnopartingrav [logical,private/optional/default=.false.]
  • particles_selfgravity/lselfgravity_particles [logical,private/optional/default=.true.]
  • particles_selfgravity/tstart_selfgrav [real,private/pointer]

Subroutines and functions

subroutine  particles_selfgravity/register_particles_selfgrav()

Set up indices for access to the f, fp and dfp arrays.

14-jun-06/anders: adapted

Use :

farraymanager, messages (svn_id())

Called from:

particles_register_modules()

Call to:

svn_id(), fatal_error(), calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), sum_par_name()

subroutine  particles_selfgravity/initialize_particles_selfgrav(f)

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

14-jun-06/anders: adapted

Parameters:

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

Use :

sharedvariables

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules()

Call to:

fatal_error(), calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), sum_par_name()

subroutine  particles_selfgravity/calc_selfpotential_particles(f, rhs_poisson, lcontinued)

Calculate the gravitational potential of the dust particles.

13-jun-06/anders: coded

Parameters:
Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_calc_selfpotential(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/pencil_criteria_par_selfgrav()

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

02-jul-06/anders: adapted

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/pencil_interdep_par_selfgrav(lpencil_in)

Interdependency among pencils provided by the Particles_selfgrav module is specified here.

02-jul-06/anders: adapted

Parameters:

lpencil_in (npencils) [logical]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/calc_pencils_par_selfgrav(f, p)

Calculate particle pencils.

02-jul-06/anders: adapted

Parameters:
Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/dvvp_dt_selfgrav_pencil(f, df, fp, dfp, p, ineargrid)

Add self-gravity to particle equation of motion.

14-jun-06/anders: coded

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

  • df (mx,my,mz,mvar) [real,in]

  • fp (mpar_loc,mparray) [real,in]

  • dfp (mpar_loc,mpvar) [real,in]

  • p [pencil_case,in]

  • ineargrid (mpar_loc,3) [integer,in]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_diagnostics_particles_selg(), interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/calc_diagnostics_particles_selg(p)
Parameters:

p [pencil_case]

Use :

diagnostics

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles(), register_particles_selfgrav(), initialize_particles_selfgrav(), calc_selfpotential_particles(), pencil_criteria_par_selfgrav(), pencil_interdep_par_selfgrav(), calc_pencils_par_selfgrav(), dvvp_dt_selfgrav_pencil()

Call to:

interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/dvvp_dt_selfgrav(f, df, fp, dfp, ineargrid)

Add self-gravity to particle equation of motion.

14-jun-06/anders: coded

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

  • df (mx,my,mz,mvar) [real]

  • fp (mpar_loc,mparray) [real,in]

  • dfp (mpar_loc,mpvar) [real,inout]

  • ineargrid (mpar_loc,3) [integer]

Use :

messages (fatal_error()), sub

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

interpolate_linear(), interpolate_quadratic_spline(), fatal_error(), sum_par_name()

subroutine  particles_selfgravity/read_particles_selfg_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_selfgravity/write_particles_selfg_init_pars(unit)
Parameters:

unit [integer,in]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

subroutine  particles_selfgravity/read_particles_selfg_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_selfgravity/write_particles_selfg_run_pars(unit)
Parameters:

unit [integer,in]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

subroutine  particles_selfgravity/rprint_particles_selfgrav(lreset[, lwrite])

Read and register print parameters relevant for particle self-gravity.

14-jun-06/anders: adapted

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics

Called from:

particles_register_modules(), particles_rprint_list()