particles_tetrad

Module

Description

$Id$

Follow a particle. For this particle solve for three other particles that that are in the neighbourhood of the particle we were following. These four particles together forms a tetrad.

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

MAUX CONTRIBUTION 9 COMMUNICATED AUXILIARIES 9 MPVAR CONTRIBUTION 18 MPAUX CONTRIBUTION 2


Quick access

Variables:

idiag_pspacevolm, idiag_tvolm, idiag_tvolnm, idiag_tvolpm, idiag_velvolm, idiag_velvolnm, idiag_velvolpm, reset_tetrad, rsmall

Routines:

dtetrad_dt(), dtetrad_dt_pencil(), init_particles_tetrad(), initialize_particles_tetrad(), read_ptetrad_init_pars(), read_ptetrad_run_pars(), register_particles_tetrad(), reinitialize_tetrad(), rprint_particles_tetrad(), write_ptetrad_init_pars(), write_ptetrad_run_pars()

Needed modules

Variables

  • particles_tetrad/dummy [integer,private]
  • particles_tetrad/idiag_pspacevolm [integer,private]

    DIAG_DOC : mean of the phase-space volume always positive.

  • particles_tetrad/idiag_tvolm [integer,private]

    DIAG_DOC: Mean absolute volume of the tetrads

  • particles_tetrad/idiag_tvolnm [integer,private]

    DIAG_DOC: Mean of negative volume of the tetrads

  • particles_tetrad/idiag_tvolpm [integer,private]

    DIAG_DOC: Mean of positive volume of the tetrads

  • particles_tetrad/idiag_velvolm [integer,private]

    DIAG_DOC: Mean absolute volume of the tetrads in velocity space

  • particles_tetrad/idiag_velvolnm [integer,private]

    DIAG_DOC: Mean of negative volume of the tetrads in velocity space.

  • particles_tetrad/idiag_velvolpm [integer,private]

    DIAG_DOC: Mean of positive volume of the tetrads in velocity space

  • particles_tetrad/rsmall [real,private/optional/default=1e-06]

Subroutines and functions

subroutine  particles_tetrad/register_particles_tetrad()

Set up indices for access to the fp and dfp arrays

May-16/dhruba: coded

Use :

farraymanager (farray_register_auxiliary())

Call to:

svn_id(), append_npvar(), append_npaux(), fatal_error(), reinitialize_tetrad(), scalartripleproduct(), sum_par_name(), interpolate_linear(), linarray2matrix()

subroutine  particles_tetrad/initialize_particles_tetrad(f)

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

Parameters:

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

Use :

general (keep_compiler_quiet())

Call to:

fatal_error(), reinitialize_tetrad(), scalartripleproduct(), sum_par_name(), interpolate_linear(), linarray2matrix()

subroutine  particles_tetrad/init_particles_tetrad(f, fp, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real,in]

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

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

Use :

general (keep_compiler_quiet())

Call to:

reinitialize_tetrad(), scalartripleproduct(), sum_par_name(), interpolate_linear(), linarray2matrix()

subroutine  particles_tetrad/dtetrad_dt(f, df, fp, dfp, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real,in]

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

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

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

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

Use :

sub (scalartripleproduct()), diagnostics

Call to:

scalartripleproduct(), sum_par_name(), interpolate_linear(), linarray2matrix()

subroutine  particles_tetrad/dtetrad_dt_pencil(f, df, fp, dfp, p, ineargrid, k, taup1)
Parameters:
  • f (mx,my,mz,mfarray) [real,in]

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

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

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

  • p [pencil_case]

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

  • k [integer,in]

  • taup1 [real,in]

Use :

sub (linarray2matrix(), matrix2linarray())

Call to:

interpolate_linear(), linarray2matrix()

subroutine  particles_tetrad/read_ptetrad_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_tetrad/write_ptetrad_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_tetrad/read_ptetrad_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_tetrad/write_ptetrad_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_tetrad/rprint_particles_tetrad(lreset[, lwrite])

Read and register print parameters relevant for particles.

may-2016/dhruba+akshay: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics

subroutine  particles_tetrad/reinitialize_tetrad(fp)
Parameters:

fp (mpar_loc,mparray) [real,out]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), read_snapshot_particles(), register_particles_tetrad(), initialize_particles_tetrad(), init_particles_tetrad()