particles_potential

Module

Description

$Id: particles_potential dhruba.mitra@gmail.com$

This module takes care of everything related to pairwise interaction of particles. It is experimental now (April 2016)

** AUTOMATIC CPARAM.INC GENERATION ************************

CPARAM logical, parameter :: lparticles_potential=.true.


Quick access

Variables:

apply_pbc_head, arb_factor, assimilate_incoming, calculate_potential, cell_in_grid, cell_length, construct_link_list, drbin, dxxp_dt_potential, fampl, get_boundary_particles, get_cell_neighbours, get_interaction_force, get_interparticle_accn, head, idiag_abs_mom, idiag_colvel_mom, idiag_gr, idiag_particles_vijm, idiag_particles_vijrms, init_particles_potential, lhead_allocated, link_list, list_particles_near_boundary, lpotential, make_fpbuffer, mcellx, mcelly, mcellz, mom_array, mom_max, mom_step, momcoljntpdf, momjntpdf, mpcorner, mpedge, mpface, nbin_in_rcutoff, ncell, npbufl, npbufu, particles_neighbour_proc, particles_neighbour_proc_dirn, pencil_criteria_par_potential, pmom_max, pmom_min, ppotential, ppower, psigma_by_dx, rcutoff, rcutoff_in_grid, rescale_diameter, sigma_in_grid, skin_factor, two_particle_int, ysteps_int, zsteps_int

Routines:

dvvp_dt_potential(), dvvp_dt_potential_pencil(), initialize_particles_potential(), particles_potential_clean_up(), read_particles_pot_init_pars(), read_particles_pot_run_pars(), register_particles_potential(), rprint_particles_potential(), write_particles_pot_init_pars(), write_particles_pot_run_pars()

Needed modules

Variables

  • particles_potential/arb_factor [integer,private/optional/default=10]
  • particles_potential/assimilate_incoming [private]
  • particles_potential/calculate_potential [private]
  • particles_potential/cell_in_grid [integer,private/optional/default=1]
  • particles_potential/cell_length [real,private/optional/default=0.0]
  • particles_potential/drbin [real,private/optional/default=1.0]
  • particles_potential/dxxp_dt_potential [private]
  • particles_potential/fampl [real,private/optional/default=1.0]
  • particles_potential/get_boundary_particles [private]
  • particles_potential/get_cell_neighbours [private]
  • particles_potential/get_interaction_force [private]
  • particles_potential/get_interparticle_accn [private]
  • particles_potential/head (*,*,*) [integer,private/allocatable]
  • particles_potential/idiag_abs_mom [logical,private/optional/default=.false.]
  • particles_potential/idiag_colvel_mom [logical,private/optional/default=.false.]
  • particles_potential/idiag_gr [logical,private/optional/default=.false.]
  • particles_potential/idiag_particles_vijm [logical,private/optional/default=.false.]
  • particles_potential/idiag_particles_vijrms [logical,private/optional/default=.false.]
  • particles_potential/init_particles_potential [private]
  • particles_potential/lhead_allocated [logical,private/optional/default=.false.]
  • particles_potential/list_particles_near_boundary [private]
  • particles_potential/lpotential [logical,private]
  • particles_potential/make_fpbuffer [private]
  • particles_potential/mcellx [integer,private/optional/default=0]
  • particles_potential/mcelly [integer,private/optional/default=0]
  • particles_potential/mcellz [integer,private/optional/default=0]
  • particles_potential/mom_array (*) [real,private/allocatable]
  • particles_potential/mom_max [integer,private]
  • particles_potential/mom_step [real,private/optional/default=0.25]
  • particles_potential/momcoljntpdf (*,*,*) [real,private/allocatable]
  • particles_potential/momjntpdf (*,*,*) [real,private/allocatable]
  • particles_potential/mpcorner [integer,private]
  • particles_potential/mpedge [integer,private]
  • particles_potential/mpface [integer,private]
  • particles_potential/nbin_in_rcutoff [integer,private/optional/default=100]
  • particles_potential/ncell [integer,private/optional/default=0]
  • particles_potential/npbufl [integer,private]
  • particles_potential/npbufu [integer,private]
  • particles_potential/particles_neighbour_proc [private]
  • particles_potential/particles_neighbour_proc_dirn [private]
  • particles_potential/pmom_max [real,private/optional/default=6]
  • particles_potential/pmom_min [real,private/optional/default=-2]
  • particles_potential/ppotential [character,private/optional/default='nothing']
  • particles_potential/ppower [real,private/optional/default=19]
  • particles_potential/psigma_by_dx [real,private/optional/default=0.1]
  • particles_potential/rcutoff [real,private/optional/default=0.0]
  • particles_potential/rcutoff_in_grid [integer,private/optional/default=1]
  • particles_potential/rescale_diameter [real,private/optional/default=1.0]
  • particles_potential/sigma_in_grid [integer,private/optional/default=1]
  • particles_potential/skin_factor [real,private/optional/default=2.0]
  • particles_potential/two_particle_int [private]
  • particles_potential/ysteps_int [integer,private]
  • particles_potential/zsteps_int [integer,private]

Subroutines and functions

subroutine  particles_potential/register_particles_potential()

Set up indices for access to the fp and dfp arrays

Call to:

svn_id(), get_maxrad(), fatal_error(), communicate_fpbuf(), periodic_fold_back(), get_stbin(), lower_triangular_index(), get_mass_from_radius()

subroutine  particles_potential/initialize_particles_potential(fp)

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

Parameters:

fp (mpar_loc,mparray) [real,in]

Use :

particles_radius (get_maxrad())

Call to:

get_maxrad(), fatal_error(), communicate_fpbuf(), periodic_fold_back(), get_stbin(), lower_triangular_index(), get_mass_from_radius()

subroutine  particles_potential/particles_potential_clean_up()

cleanup after the particles_potential module

Call to:

fatal_error(), communicate_fpbuf(), periodic_fold_back(), get_stbin(), lower_triangular_index(), get_mass_from_radius()

subroutine  particles_potential/dvvp_dt_potential_pencil(f, df, fp, dfp, ineargrid)

Jan-2017/dhruba: dummy

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

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

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

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

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

Call to:

fatal_error(), communicate_fpbuf(), periodic_fold_back(), get_stbin(), lower_triangular_index(), get_mass_from_radius()

subroutine  particles_potential/dvvp_dt_potential(f, df, fp, dfp, ineargrid)

Evolution of dust particle velocity.

Jan-2017/dhruba: coded

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

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

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

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

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

Use :

diagnostics, equationofstate (cs20())

Call to:

fatal_error(), communicate_fpbuf(), periodic_fold_back(), get_stbin(), lower_triangular_index(), get_mass_from_radius()

subroutine  particles_potential/read_particles_pot_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_potential/write_particles_pot_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_potential/read_particles_pot_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_potential/write_particles_pot_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_potential/rprint_particles_potential(lreset[, lwrite])

Read and register print parameters relevant for particles.

29-dec-04/anders: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics