particles_sink
Module
Description
$Id: particles_dust.f90 19206 2012-06-30 21:40:24Z sven.bingert $
This module takes care of everything related to sink particles.
** 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_sink=.true.
MPVAR CONTRIBUTION 1
Quick access
- Variables:
aps0,aps1,aps2,aps3,bondi_accretion_grav_smooth,cdtsubgrid,idiag_nparsink,idiag_rhopinterp,initaps,laccrete_sink_sink,lbondi_accretion,ldebug_subgrid_accretion,lrhop_roche_unit,lselfgravity_sinkparticles,lsink_communication_all_to_all,lsink_create_one_per_27_cells,lsink_create_one_per_cell,lsink_radius_dx_unit,lsubgrid_accretion,lsubgrid_accretion_attempt,rhop_sink_create,rsurf_subgrid,rsurf_to_rhill,sink_birth_radius,sink_particle_accretion,sink_radius,subgrid_accretion,tausp1_species,tausp_species- Routines:
calc_selfpot_sinkparticles(),create_particles_sink(),init_particles_sink(),initialize_particles_sink(),read_particles_sink_init_pars(),read_particles_sink_run_pars(),register_particles_sink(),remove_particles_sink(),rprint_particles_sink(),write_particles_sink_init_pars(),write_particles_sink_run_pars()
Needed modules
cdata: $Id$general(keep_compiler_quiet(),find_proc(),itoa()): $Id$messages: $Id$particles_cdata: $Id$particles_map: $Id$particles_mpicomm: $Id$particles_sub: $Id$
Variables
- particles_sink/aps0 [real,private/optional/default=0.0]
- particles_sink/aps1 [real,private/optional/default=0.0]
- particles_sink/aps2 [real,private/optional/default=0.0]
- particles_sink/aps3 [real,private/optional/default=0.0]
- particles_sink/bondi_accretion_grav_smooth [real,private/optional/default=1.35]
- particles_sink/cdtsubgrid [real,private/optional/default=0.1]
- particles_sink/gravitational_const [real,private/pointer]
- particles_sink/idiag_nparsink [integer,private/optional/default=0]
- particles_sink/idiag_rhopinterp [integer,private/optional/default=0]
- particles_sink/laccrete_sink_sink [logical,private/optional/default=.true.]
- particles_sink/lbondi_accretion [logical,private/optional/default=.false.]
- particles_sink/ldebug_subgrid_accretion [logical,private/optional/default=.false.]
- particles_sink/lrhop_roche_unit [logical,private/optional/default=.false.]
- particles_sink/lselfgravity_sinkparticles [logical,private/optional/default=.true.]
- particles_sink/lsink_communication_all_to_all [logical,private/optional/default=.false.]
- particles_sink/lsink_create_one_per_27_cells [logical,private/optional/default=.false.]
- particles_sink/lsink_create_one_per_cell [logical,private/optional/default=.false.]
- particles_sink/lsink_radius_dx_unit [logical,private/optional/default=.false.]
- particles_sink/lsubgrid_accretion [logical,private/optional/default=.false.]
- particles_sink/lsubgrid_accretion_attempt (*) [logical,private/allocatable]
- particles_sink/rhop_sink_create [real,private/optional/default=-1.0]
- particles_sink/rsurf_subgrid [real,private/optional/default=0.001]
- particles_sink/rsurf_to_rhill [real,private/optional/default=0.0]
- particles_sink/sink_birth_radius [real,private/optional/default=1.0]
- particles_sink/sink_particle_accretion [private]
- particles_sink/sink_radius [real,private/optional/default=0.0]
- particles_sink/subgrid_accretion [private]
- particles_sink/tausp1_species (*) [real,private/pointer]
- particles_sink/tausp_species (*) [real,private/pointer]
- particles_sink/tselfgrav_gentle [real,private/pointer]
- particles_sink/tstart_selfgrav [real,private/pointer]
Subroutines and functions
- subroutine particles_sink/register_particles_sink()
Set up indices for access to the fp and dfp arrays
07-aug-12/anders: coded
- subroutine particles_sink/initialize_particles_sink(f)
Perform any post-parameter-read initialization i.e. calculate derived parameters.
07-aug-12/anders: coded
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules()- Call to:
fatal_error(),map_xxp_grid(),interpolate_linear(),interpolate_quadratic_spline(),interpolate_quadratic(),map_nearest_grid(),fatal_error_local(),fatal_error_local_collect(),remove_particle(),boundconds_particles()
- subroutine particles_sink/init_particles_sink(f, fp)
Initial sink particle radii.
07-aug-12/anders: coded
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init()- Call to:
fatal_error(),map_xxp_grid(),interpolate_linear(),interpolate_quadratic_spline(),interpolate_quadratic(),map_nearest_grid(),fatal_error_local(),fatal_error_local_collect(),remove_particle(),boundconds_particles()
- subroutine particles_sink/calc_selfpot_sinkparticles(f, rhs_poisson, fp, ineargrid)
Calculate the gravitational potential of the sink 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:
map_xxp_grid(),interpolate_linear(),interpolate_quadratic_spline(),interpolate_quadratic(),map_nearest_grid(),fatal_error_local(),fatal_error_local_collect(),remove_particle(),fatal_error(),boundconds_particles()
- subroutine particles_sink/create_particles_sink(f, fp, dfp, ineargrid)
Create sink particles based on local particle density.
07-aug-12/anders: coded 25-aug-15/ccyang: added switch to create at most one sink per cell 03-jan-23/urs: added switch to create at most one sink in each cube of 3x3x3 cells
- Parameters:
- Use :
- 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(),interpolate_quadratic(),map_nearest_grid(),fatal_error_local(),fatal_error_local_collect(),remove_particle(),fatal_error(),boundconds_particles()
- subroutine particles_sink/remove_particles_sink(f, fp, dfp, ineargrid)
Remove particles in the vicinity of sink particles.
07-aug-12/anders: coded
- Parameters:
- Use :
mpicomm(mpisend_int(),mpirecv_int(),mpisend_real(),mpirecv_real(),mpibcast_int(),mpibcast_real(),mpireduce_sum())- 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(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
map_nearest_grid(),fatal_error_local(),fatal_error_local_collect(),remove_particle(),fatal_error(),boundconds_particles(),interpolate_linear()
- subroutine particles_sink/read_particles_sink_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine particles_sink/write_particles_sink_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_sink/read_particles_sink_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine particles_sink/write_particles_sink_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_sink/rprint_particles_sink(lreset[, lwrite])
Read and register print parameters relevant for particles sink radius.
11-aug-12/anders: coded
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
- Called from: