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 dust_list module parameters from a file. More...
 
subroutine, public dust_check_params ()
 
subroutine, public dust_check_w (ixIL, ixOL, w, flag)
 
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 (ixIL, ixOL, 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 alpha_T (always between 0 and 1) 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...
 
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, dimensionless expression. More...
 
double precision, dimension(:), allocatable, public dust_density
 Internal density of each dust species, dimensionless expression. 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 as used when dust_small_to_zero=T. 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 510 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 140 of file mod_dust.t.

Here is the call graph for this function:

◆ dust_check_w()

subroutine, public mod_dust::dust_check_w ( integer, intent(in)  ixI,
integer, intent(in)  L,
integer, intent(in)  ixO,
  L,
double precision, dimension(ixi^s,1:nw), intent(in)  w,
logical, dimension(ixi^s,1:nw), intent(inout)  flag 
)

Definition at line 175 of file mod_dust.t.

◆ dust_get_cmax()

subroutine, public mod_dust::dust_get_cmax ( 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,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(inout)  cmax,
double precision, dimension(ixi^s), intent(inout), optional  cmin 
)

Definition at line 674 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, 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,
integer, intent(in)  idim,
double precision, dimension(ixi^s), intent(inout)  cmax,
double precision, dimension(ixi^s), intent(inout), optional  cmin 
)

Definition at line 697 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:ndim), intent(in)  x 
)

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

Definition at line 563 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:ndim), 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 233 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:ndim), 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 256 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 83 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 dust_list module parameters from a file.

Definition at line 123 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, 1:nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 189 of file mod_dust.t.

Here is the call graph for this function:

◆ 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, 1:nw), intent(inout)  w,
double precision, dimension(ixi^s, 1:ndim), intent(in)  x 
)

Definition at line 209 of file mod_dust.t.

Here is the call graph for this function:

◆ 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, 1:ndir), intent(in)  vgas 
)

Definition at line 333 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 alpha_T (always between 0 and 1)

Uses Temperatures in K Equation from Decin et al. 2006

Definition at line 419 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!!!!

It takes as input the stellar luminosity in solar units in 'stellar' case or a fixed dust input temperature in Kelvin when 'constant' or does case 'ism'

Definition at line 449 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 279 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 293 of file mod_dust.t.

◆ set_dusttozero()

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

Definition at line 308 of file mod_dust.t.

Variable Documentation

◆ dust_density

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

Internal density of each dust species, dimensionless expression.

Definition at line 27 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 58 of file mod_dust.t.

◆ dust_min_rho

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

Minimum dust density as used when dust_small_to_zero=T.

Definition at line 49 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 21 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 18 of file mod_dust.t.

◆ dust_size

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

Size of each dust species, dimensionless expression.

Definition at line 24 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 46 of file mod_dust.t.