particles_drag

Module

Description

$Id$

This module integrates drag forces between particles and gas.

Reference:

Yang, C.-C., & Johansen, A. 2016, ApJS, in press (arXiv:1603.08523)

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


Quick access

Variables:

drag_mutual, drag_mutual_omega, drag_on_both, drag_on_particles, drag_particle, drag_particle_omega, dv_gas, epicycle_freq, epicycle_ratio, find_mp_swarm, gas_epicycle, get_nsh_solution, gx_gas, gz_par_coeff, gzpc, ldrag_equilibrium_global, ldrag_on_gas, ldrag_on_par, ldrag_pm_back_reaction, lset_drag_equilibrium, oneplustaus2inv, particle_zaccel, set_drag_equilibrium, taus, taus2, tdrag, twominusqtaus, twoomega1, twotaus

Routines:

init_particles_drag(), initialize_particles_drag(), integrate_drag(), read_particles_drag_init_pars(), read_particles_drag_run_pars(), register_particles_drag(), write_particles_drag_init_pars(), write_particles_drag_run_pars()

Needed modules

Variables

  • particles_drag/drag_mutual [private]
  • particles_drag/drag_mutual_omega [private]
  • particles_drag/drag_on_both [private]
  • particles_drag/drag_on_particles [private]
  • particles_drag/drag_particle [private]
  • particles_drag/drag_particle_omega [private]
  • particles_drag/dv_gas [real,private/optional/default=0.0]
  • particles_drag/epicycle_freq [real,private/optional/default=0.0]
  • particles_drag/epicycle_ratio [real,private/optional/default=0.0]
  • particles_drag/find_mp_swarm [private]
  • particles_drag/gas_epicycle [private]
  • particles_drag/get_nsh_solution [private]
  • particles_drag/gx_gas [real,private/target/optional/default=0.0]

    Background acceleration of gas in x direction

  • particles_drag/gz_par_coeff [real,private/optional/default=0.0]

    Coefficient for background acceleration of a particle in z direction

  • particles_drag/gzpc [real,private/optional/default=0.0]
  • particles_drag/ldrag_equilibrium_global [logical,private/optional/default=.false.]

    Set global/local drag equilibrium when lset_drag_equilibrium = .true.

  • particles_drag/ldrag_on_gas [logical,private/target/optional/default=.false.]

    Turn on/off drag on gas

  • particles_drag/ldrag_on_par [logical,private/optional/default=.false.]

    Turn on/off drag on particles

  • particles_drag/ldrag_pm_back_reaction [logical,private/optional/default=.true.]

    Couple the gas by particle-meshing back reaction from particles

  • particles_drag/lset_drag_equilibrium [logical,private/optional/default=.false.]

    Initialize the velocities of the particles and the gas under equilibrium

  • particles_drag/oneplustaus2inv [real,private/optional/default=0.0]
  • particles_drag/particle_zaccel [private]
  • particles_drag/set_drag_equilibrium [private]
  • particles_drag/taus [real,private/target/optional/default=0.0]

    Dimensionless stopping time: Omega * tdrag

  • particles_drag/taus2 [real,private/optional/default=0.0]
  • particles_drag/tdrag [real,private/optional/default=0.0]

    Drag timescale

  • particles_drag/twominusqtaus [real,private/optional/default=0.0]
  • particles_drag/twoomega1 [real,private/optional/default=0.0]
  • particles_drag/twotaus [real,private/optional/default=0.0]

Subroutines and functions

subroutine  particles_drag/register_particles_drag()

Register this module.

14-dec-14/ccyang: coded.

Use :

sharedvariables (put_shared_variable())

Called from:

particles_register_modules()

Call to:

svn_id(), fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/initialize_particles_drag()

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

11-dec-15/ccyang: coded.

Sanity checks.

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules()

Call to:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/init_particles_drag(f, fp)

Set some initial conditions for the gas and the particles, if any.

08-may-16/ccyang: coded.

Parameters:
Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init()

Call to:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/read_particles_drag_init_pars(iomsg)

Read initialization parameters from namelist particles_drag_init_pars.

27-aug-15/ccyang: coded.

Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/write_particles_drag_init_pars(unit)

Write initialization parameters to namelist particles_drag_init_pars.

14-dec-15/ccyang: coded.

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_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/read_particles_drag_run_pars(iomsg)

Read runtime parameters from namelist particles_drag_run_pars.

27-aug-15/ccyang: coded.

Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/write_particles_drag_run_pars(unit)

Write runtime parameters to namelist particles_drag_run_pars.

14-dec-15/ccyang: coded.

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:

fatal_error(), one_minus_exp(), get_gamma_etc()

subroutine  particles_drag/integrate_drag(f, fp, dt)

Wrapper for the integration of the drag force between particles and gas.

08-may-16/ccyang: coded.

Parameters:
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:

fatal_error(), one_minus_exp(), get_gamma_etc()