particles_collisions
Module
Description
$Id$
This modules takes care of instantaneous collisions between superparticles.
** 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_collisions = .true.
MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0
Quick access
- Variables:
energy_gain_inelastic,icoll,idiag_decollpm,idiag_ncollpm,idiag_npartpm,lambda_mfp_single,lapproaching_collisions,lcollision_big_ball,lcollision_random_angle,lkeplerian_flat,lshear_in_vp,lstop_at_first_collision,ltauc_from_tauf,ncoll_max_par,npart_max_par,npart_max_par_2,particle_collision- Routines:
initialize_particles_collisions(),particles_collisions_blocks(),particles_collisions_pencils(),particles_collisions_timestep(),read_particles_coll_run_pars(),rprint_particles_collisions(),write_particles_coll_run_pars()
Needed modules
cdata: $Id$general(keep_compiler_quiet()): $Id$messages: $Id$particles_cdata: $Id$particles_map: $Id$particles_mpicomm: $Id$particles_sub: $Id$
Variables
- particles_collisions/coeff_restitution [real,private/optional/default=1.0]
- particles_collisions/energy_gain_inelastic [real,private/optional/default=0.0]
- particles_collisions/gravr [real,private/pointer]
- particles_collisions/icoll [character,private/optional/default='big-ball']
- particles_collisions/idiag_decollpm [integer,private/optional/default=0]
- particles_collisions/idiag_ncollpm [integer,private/optional/default=0]
- particles_collisions/idiag_npartpm [integer,private/optional/default=0]
- particles_collisions/lambda_mfp_single [real,private/optional/default=1.0]
- particles_collisions/lapproaching_collisions [logical,private/optional/default=.false.]
- particles_collisions/lcollision_big_ball [logical,private/optional/default=.false.]
- particles_collisions/lcollision_random_angle [logical,private/optional/default=.false.]
- particles_collisions/lkeplerian_flat [logical,private/optional/default=.false.]
- particles_collisions/lshear_in_vp [logical,private/optional/default=.false.]
- particles_collisions/lstop_at_first_collision [logical,private/optional/default=.false.]
- particles_collisions/ltauc_from_tauf [logical,private/optional/default=.false.]
- particles_collisions/ncoll_max_par [integer,private/optional/default=-1]
- particles_collisions/npart_max_par [integer,private/optional/default=-1]
- particles_collisions/npart_max_par_2 [integer,private/optional/default=0]
- particles_collisions/particle_collision [private]
- particles_collisions/tausp1_species (*) [real,private/pointer]
- particles_collisions/tausp_species (*) [real,private/pointer]
Subroutines and functions
- subroutine particles_collisions/initialize_particles_collisions(f)
Perform any post-parameter-read initialization i.e. calculate derived parameters.
07-oct-08/anders: coded
- Parameters:
- Use :
- Called from:
particles_register_modules(),particles_rprint_list(),particles_initialize_modules()- Call to:
fatal_error(),shepherd_neighbour_pencil(),sum_par_name(),save_name(),shepherd_neighbour_block()
- subroutine particles_collisions/particles_collisions_timestep(fp, ineargrid)
Time-step contribution from particle collisions.
30-nov-10/anders: dummy
- Parameters:
fp (mpar_loc,mparray) [real]
ineargrid (mpar_loc,3) [integer]
- 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:
shepherd_neighbour_pencil(),sum_par_name(),save_name(),shepherd_neighbour_block(),fatal_error()
- subroutine particles_collisions/particles_collisions_pencils(fp, ineargrid)
Calculate collisions between superparticles by comparing the collision time-scale to the time-step. A random number is used to determine whether two superparticles collide in this time-step.
Collisions change the velocity vectors of the colliding particles instantaneously.
23-mar-09/anders: coded
- Parameters:
fp (mpar_loc,mparray) [real,inout]
ineargrid (mpar_loc,3) [integer,in]
- 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(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
shepherd_neighbour_pencil(),sum_par_name(),save_name(),shepherd_neighbour_block(),fatal_error()
- subroutine particles_collisions/particles_collisions_blocks(fp, ineargrid)
Calculate collisions between superparticles by comparing the collision time-scale to the time-step. A random number is used to determine whether two superparticles collide in this time-step.
Collisions change the velocity vectors of the colliding particles instantaneously.
23-mar-09/anders: coded
- Parameters:
fp (mpar_loc,mparray) [real,inout]
ineargrid (mpar_loc,3) [integer,in]
- 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(),read_all_particles_init_pars(),read_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles()- Call to:
shepherd_neighbour_block(),fatal_error(),sum_par_name(),save_name()
- subroutine particles_collisions/read_particles_coll_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine particles_collisions/write_particles_coll_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_collisions/rprint_particles_collisions(lreset[, lwrite])
Read and register diagnostic parameters.
28-mar-09/anders: adapted
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
- Called from: