particles_diagnos_dv

Module

Description

$Id$

This module bins particle pairs in separation and relative velocity at regular intervals.

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

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0


Quick access

Variables:

calc_distance2, col_combine, col_radius, col_radius1, col_radius2, coldat, coldat2, colspace, colvel, compdat, compdat2, dx_c, get_t_nextcol, increment_coldat, increment_colv, ineargrid_c, kshepherd_c, map_fake_grid, n_c, ncoltypes, particle_gridsize, velmult, write_collisions

Routines:

collisions(), initialize_particles_diagnos_dv(), read_pars_diagnos_dv_run_pars(), repeated_init(), rprint_particles_diagnos_dv(), write_pars_diagnos_dv_run_pars()

Needed modules

Variables

  • particles_diagnos_dv/calc_distance2 [private]
  • particles_diagnos_dv/col_combine [logical,private/optional/default=.false.]
  • particles_diagnos_dv/col_radius [real,private/optional/default=0.0]
  • particles_diagnos_dv/col_radius1 [real,private]
  • particles_diagnos_dv/col_radius2 [real,private/optional/default=0.0]
  • particles_diagnos_dv/coldat (*,*,*) [real,private/allocatable]
  • particles_diagnos_dv/coldat2 (*,*,*) [real,private/allocatable]
  • particles_diagnos_dv/colspace [integer,private/optional/default=-1]
  • particles_diagnos_dv/colvel [integer,private/optional/default=-1]
  • particles_diagnos_dv/compdat (*,*,*) [real,private/allocatable]
  • particles_diagnos_dv/compdat2 (*,*,*) [real,private/allocatable]
  • particles_diagnos_dv/dx_c (3) [real,private]

    dx for collisional grid

  • particles_diagnos_dv/get_t_nextcol [private]
  • particles_diagnos_dv/increment_coldat [private]
  • particles_diagnos_dv/increment_colv [private]
  • particles_diagnos_dv/ineargrid_c (*,*) [integer,private/allocatable]

    ineargrid for collisional grid

  • particles_diagnos_dv/kshepherd_c (*,*,*) [integer,private/allocatable]

    kshepherd for collisional grid

  • particles_diagnos_dv/map_fake_grid [private]
  • particles_diagnos_dv/n_c (3) [integer,private]

    number of grid points for collisional grid

  • particles_diagnos_dv/ncoltypes [integer,private/optional/default=-1]
  • particles_diagnos_dv/particle_gridsize [real,private/optional/default=0.0]
  • particles_diagnos_dv/turnover_call [logical,private/pointer]
  • particles_diagnos_dv/turnover_shared [real,private/pointer]
  • particles_diagnos_dv/uup_shared (*) [real,private/pointer]
  • particles_diagnos_dv/vel_call [logical,private/pointer]
  • particles_diagnos_dv/velmult [real,private/optional/default=100.0]
  • particles_diagnos_dv/write_collisions [private]

Subroutines and functions

subroutine  particles_diagnos_dv/initialize_particles_diagnos_dv(f)

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

Parameters:

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

Use :

mpicomm (mpibcast_real(), stop_it())

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules()

Call to:

stop_it(), shepherd_neighbour_pencil3d(), special_calc_particles(), collisions()

subroutine  particles_diagnos_dv/read_pars_diagnos_dv_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

shepherd_neighbour_pencil3d(), special_calc_particles(), collisions(), stop_it()

subroutine  particles_diagnos_dv/write_pars_diagnos_dv_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()

Call to:

shepherd_neighbour_pencil3d(), special_calc_particles(), collisions(), stop_it()

subroutine  particles_diagnos_dv/rprint_particles_diagnos_dv(lreset[, lwrite])

Read and register diagnostic parameters.

01-dec-11/hubbard: adapted

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics

Called from:

particles_register_modules(), particles_rprint_list()

Call to:

shepherd_neighbour_pencil3d(), special_calc_particles(), collisions(), stop_it()

subroutine  particles_diagnos_dv/collisions(fp)

20-July-2010: coded AlexHubbard calculate collision diagnostics all adapted from various other particle routines

Parameters:

fp (mpar_loc,mparray) [real]

Use :

particles_map (shepherd_neighbour_pencil3d()), mpicomm (mpireduce_sum(), mpibcast_real())

Called from:

initialize_particles_diagnos_dv(), read_pars_diagnos_dv_run_pars(), write_pars_diagnos_dv_run_pars(), rprint_particles_diagnos_dv(), collisions(), repeated_init()

Call to:

shepherd_neighbour_pencil3d(), special_calc_particles(), collisions(), stop_it()

subroutine  particles_diagnos_dv/repeated_init(fp, init_repeat)

repeatedly randomize the particle positions and call the diagnostics for testing

Parameters:
  • fp (mpar_loc,mparray) [real]

  • init_repeat [integer]

Use :

general (random_number_wrapper())

Call to:

collisions(), stop_it()