particles_caustics

Module

Description

$Id$

This modules solves for the gradient matrix of flow velocities. The gradient matrix Sigma obeys the equation:

(d/dt) Sigma = (1/(taup))*(S - Sigma) - Sigma^2

where A is the flow gradient matrix at the position of the particle; and taup is the Stokes time.

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

MAUX CONTRIBUTION 9 COMMUNICATED AUXILIARIES 9 MPVAR CONTRIBUTION 10 MPAUX CONTRIBUTION 4


Quick access

Variables:

idiag_blowupm, idiag_lnvpm, idiag_ncaustics, idiag_trsigmapm, trsigma_cutoff

Routines:

dcaustics_dt(), dcaustics_dt_pencil(), init_particles_caustics(), initialize_particles_caustics(), read_pcaustics_init_pars(), read_pcaustics_run_pars(), register_particles_caustics(), reinitialize_caustics(), reset_caustics(), rprint_particles_caustics(), write_pcaustics_init_pars(), write_pcaustics_run_pars()

Needed modules

Variables

  • particles_caustics/dummy [integer,private]
  • particles_caustics/idiag_blowupm [integer,private/optional/default=0]

    DIAG_DOC: Mean no. of times $sigma$ falls below cutoff

  • particles_caustics/idiag_lnvpm [integer,private/optional/default=0]

    DIAG_DOC: Mean of (logarithm of) Volume around an inertial particle

  • particles_caustics/idiag_ncaustics (ndustrad) [integer,private/optional/default=0]
  • particles_caustics/idiag_trsigmapm [integer,private/optional/default=0]

    DIAG_DOC: $langle{rm Tr}left[sigmaright]rangle$

  • particles_caustics/trsigma_cutoff [real,private/optional/default=-10000000000.0]

Subroutines and functions

subroutine  particles_caustics/register_particles_caustics()

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_caustics(), linarray2matrix(), inv2_3x3mat(), det3x3mat(), get_stbin(), sum_par_name(), interpolate_linear(), matrix2linarray()

subroutine  particles_caustics/initialize_particles_caustics(f)

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

Parameters:

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

Use :

general (keep_compiler_quiet()), farraymanager

Call to:

fatal_error(), reinitialize_caustics(), linarray2matrix(), inv2_3x3mat(), det3x3mat(), get_stbin(), sum_par_name(), interpolate_linear(), matrix2linarray()

subroutine  particles_caustics/init_particles_caustics(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(), random_number_wrapper()), mpicomm (mpiallreduce_sum_int()), hydro (calc_gradu())

Call to:

reinitialize_caustics(), linarray2matrix(), inv2_3x3mat(), det3x3mat(), get_stbin(), sum_par_name(), interpolate_linear(), matrix2linarray()

subroutine  particles_caustics/dcaustics_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 :

particles_radius (get_stbin()), diagnostics, particles_sub (sum_par_name()), sub (linarray2matrix(), inv2_3x3mat(), det3x3mat())

Call to:

linarray2matrix(), inv2_3x3mat(), det3x3mat(), get_stbin(), sum_par_name(), interpolate_linear(), matrix2linarray()

subroutine  particles_caustics/dcaustics_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:

linarray2matrix(), interpolate_linear(), matrix2linarray()

subroutine  particles_caustics/read_pcaustics_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_caustics/write_pcaustics_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_caustics/read_pcaustics_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_caustics/write_pcaustics_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_caustics/rprint_particles_caustics(lreset[, lwrite])

Read and register print parameters relevant for particles.

may-2016/dhruba+akshay: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics, farraymanager (farray_index_append()), general (itoa())

subroutine  particles_caustics/reinitialize_caustics(fp)
Parameters:

fp (mpar_loc,mparray) [real,out]

Called from:

register_particles_caustics(), initialize_particles_caustics(), init_particles_caustics(), particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), read_snapshot_particles()

subroutine  particles_caustics/reset_caustics(fp)
Parameters:

fp (mpar_loc,mparray) [real,out]

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(), particles_before_boundary(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()