MPI-AMRVAC  2.2
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_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...
 
character(len=std_len), public, protected dust_method = 'Kwok'
 What type of dust drag force to use. Can be 'Kwok', 'sticking', 'linear', 'usr' or 'none'. 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 474 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 133 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 657 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 680 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 530 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 204 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 226 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 76 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 116 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 166 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 183 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 299 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 387 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 416 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 248 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 261 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 275 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 30 of file mod_dust.t.

◆ dust_method

character(len=std_len), public, protected mod_dust::dust_method = 'Kwok'

What type of dust drag force to use. Can be 'Kwok', 'sticking', 'linear', 'usr' or 'none'.

Definition at line 52 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 43 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 40 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.