MPI-AMRVAC  2.0
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
Functions/Subroutines | Variables
mod_dust Module Reference

Module for including dust species, which interact with the gas through a drag force. More...

Functions/Subroutines

subroutine, public dust_init (g_rho, g_mom, g_energy)
 
subroutine dust_read_params (files)
 Read this module"s parameters from a file. More...
 
subroutine, public dust_check_params ()
 
subroutine, public dust_to_conserved (ixIL, ixOL, w, x)
 
subroutine, public dust_to_primitive (ixIL, ixOL, w, x)
 
subroutine, public dust_get_flux (w, x, ixIL, ixOL, idim, f)
 
subroutine, public dust_get_flux_prim (w, x, ixIL, ixOL, idim, f)
 
double precision function, dimension(ixo^s) get_vdust (w, ixIL, ixOL, idim, n)
 
double precision function, dimension(ixo^s) get_vdust_prim (w, ixIL, ixOL, idim, n)
 
subroutine, public set_dusttozero (qdt, ixIL, ixOL, wCT, w, x)
 
subroutine get_3d_dragforce (ixIL, ixOL, w, x, fdrag, ptherm, vgas)
 
subroutine get_sticking (w, x, ixIL, ixOL, alpha_T, ptherm)
 Get sticking coefficient. More...
 
subroutine get_tdust (w, x, ixIL, ixOL, Td)
 Returns dust temperature (in K), either as constant or based on equ. 5.41, 5.42 and 5.44 from Tielens (2005) More...
 
subroutine, public dust_add_source (qdt, ixIL, ixOL, wCT, w, x, qsourcesplit, active)
 w[iw]= w[iw]+qdt*S[wCT, x] where S is the source based on wCT within ixO More...
 
subroutine, public dust_get_dt (w, ixIL, ixOL, dtnew, dxD, x)
 Get dt related to dust and gas stopping time (Laibe 2011) More...
 
subroutine, public dust_get_cmax (w, x, ixIL, ixOL, idim, cmax, cmin)
 
subroutine, public dust_get_cmax_prim (w, x, ixIL, ixOL, idim, cmax, cmin)
 

Variables

integer, public, protected dust_n_species = 0
 The number of dust species. More...
 
double precision, public, protected gas_mu = -huge(1.0d0)
 Mean molecular weight of gas molecules. More...
 
integer, dimension(:), allocatable, public, protected dust_rho
 Indices of the dust densities. More...
 
integer, dimension(:, :), allocatable, public, protected dust_mom
 Indices of the dust momentum densities. More...
 
double precision, dimension(:), allocatable, public dust_size
 Size of each dust species. More...
 
double precision, dimension(:), allocatable, public dust_stokes
 Stokes number of each dust species (for dust_method = Stokes) More...
 
double precision, dimension(:), allocatable, public dust_density
 Internal density of each dust species. More...
 
logical, public, protected dust_small_to_zero = .false.
 Set small dust densities to zero to avoid numerical problems. More...
 
double precision, public, protected dust_min_rho = -1.0d0
 Minimum dust density. More...
 

Detailed Description

Module for including dust species, which interact with the gas through a drag force.

Function/Subroutine Documentation

◆ dust_add_source()

subroutine, public mod_dust::dust_add_source ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  wCT,
double precision, dimension(ixi^s, 1:nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
logical, intent(in)  qsourcesplit,
logical, intent(inout)  active 
)

w[iw]= w[iw]+qdt*S[wCT, x] where S is the source based on wCT within ixO

Definition at line 493 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_check_params()

subroutine, public mod_dust::dust_check_params ( )

Definition at line 138 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_get_cmax()

subroutine, public mod_dust::dust_get_cmax ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s, 1:^nd), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(inout)  cmax,
double precision, dimension(ixi^s), intent(inout), optional  cmin 
)

Definition at line 681 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_get_cmax_prim()

subroutine, public mod_dust::dust_get_cmax_prim ( double precision, dimension(ixi^s, nw), intent(in)  w,
double precision, dimension(ixi^s, 1:^nd), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(inout)  cmax,
double precision, dimension(ixi^s), intent(inout), optional  cmin 
)

Definition at line 704 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_get_dt()

subroutine, public mod_dust::dust_get_dt ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, intent(inout)  dtnew,
double precision, intent(in)  dx,
double precision, intent(in)  D,
double precision, dimension(ixi^s, 1:^nd), intent(in)  x 
)

Get dt related to dust and gas stopping time (Laibe 2011)

Definition at line 549 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_get_flux()

subroutine, public mod_dust::dust_get_flux ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:^nd), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s, nwflux), intent(inout)  f 
)

Definition at line 208 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_get_flux_prim()

subroutine, public mod_dust::dust_get_flux_prim ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:^nd), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
double precision, dimension(ixi^s, nwflux), intent(inout)  f 
)

Definition at line 230 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_init()

subroutine, public mod_dust::dust_init ( integer, intent(in)  g_rho,
integer, dimension(ndir), intent(in)  g_mom,
integer, intent(in)  g_energy 
)

Definition at line 79 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_read_params()

subroutine mod_dust::dust_read_params ( character(len=*), dimension(:), intent(in)  files)

Read this module"s parameters from a file.

Definition at line 121 of file mod_dust.t.

◆ dust_to_conserved()

subroutine, public mod_dust::dust_to_conserved ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 170 of file mod_dust.t.

◆ dust_to_primitive()

subroutine, public mod_dust::dust_to_primitive ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 187 of file mod_dust.t.

◆ get_3d_dragforce()

subroutine mod_dust::get_3d_dragforce ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
double precision, dimension(ixi^s, 1:ndir, 1:dust_n_species), intent(out)  fdrag,
double precision, dimension(ixi^s), intent(in)  ptherm,
double precision, dimension(ixi^s, ndir), intent(in)  vgas 
)

Definition at line 303 of file mod_dust.t.

Here is the call graph for this function:

◆ get_sticking()

subroutine mod_dust::get_sticking ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:dust_n_species), intent(out)  alpha_T,
double precision, dimension(ixi^s), intent(in)  ptherm 
)

Get sticking coefficient.

Assume cgs units, and use of convert factors for conversion Equation from Decin et al. 2006

Definition at line 407 of file mod_dust.t.

Here is the call graph for this function:

◆ get_tdust()

subroutine mod_dust::get_tdust ( double precision, dimension(ixi^s, 1:nw), intent(in)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:dust_n_species), intent(out)  Td 
)

Returns dust temperature (in K), either as constant or based on equ. 5.41, 5.42 and 5.44 from Tielens (2005)

Note that this calculation assumes cgs!!!! with conversion between physical and scaled quantities done through the convert factors!!!!

It takes as input the stellar luminosoity in solar units and/or a fixed dust temperature in Kelvin

Definition at line 436 of file mod_dust.t.

Here is the call graph for this function:

◆ get_vdust()

double precision function, dimension(ixo^s) mod_dust::get_vdust ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
integer, intent(in)  n 
)

Definition at line 252 of file mod_dust.t.

◆ get_vdust_prim()

double precision function, dimension(ixo^s) mod_dust::get_vdust_prim ( double precision, dimension(ixi^s, nw), intent(in)  w,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
integer, intent(in)  idim,
integer, intent(in)  n 
)

Definition at line 265 of file mod_dust.t.

◆ set_dusttozero()

subroutine, public mod_dust::set_dusttozero ( double precision, intent(in)  qdt,
integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s, 1:nw), intent(in)  wCT,
double precision, dimension(ixi^s, 1:nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 279 of file mod_dust.t.

Variable Documentation

◆ dust_density

double precision, dimension(:), allocatable, public mod_dust::dust_density

Internal density of each dust species.

Definition at line 33 of file mod_dust.t.

◆ dust_min_rho

double precision, public, protected mod_dust::dust_min_rho = -1.0d0

Minimum dust density.

Definition at line 46 of file mod_dust.t.

◆ dust_mom

integer, dimension(:, :), allocatable, public, protected mod_dust::dust_mom

Indices of the dust momentum densities.

Definition at line 24 of file mod_dust.t.

◆ dust_n_species

integer, public, protected mod_dust::dust_n_species = 0

The number of dust species.

Definition at line 11 of file mod_dust.t.

◆ dust_rho

integer, dimension(:), allocatable, public, protected mod_dust::dust_rho

Indices of the dust densities.

Definition at line 21 of file mod_dust.t.

◆ dust_size

double precision, dimension(:), allocatable, public mod_dust::dust_size

Size of each dust species.

Definition at line 27 of file mod_dust.t.

◆ dust_small_to_zero

logical, public, protected mod_dust::dust_small_to_zero = .false.

Set small dust densities to zero to avoid numerical problems.

Definition at line 43 of file mod_dust.t.

◆ dust_stokes

double precision, dimension(:), allocatable, public mod_dust::dust_stokes

Stokes number of each dust species (for dust_method = Stokes)

Definition at line 30 of file mod_dust.t.

◆ gas_mu

double precision, public, protected mod_dust::gas_mu = -huge(1.0d0)

Mean molecular weight of gas molecules.

Definition at line 18 of file mod_dust.t.