MPI-AMRVAC
3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
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_evaluate_implicit (qtC, psa) |
inplace update of psa==>F_im(psa) More... | |
subroutine | dust_terms (ixIL, ixOL, w, x) |
subroutine, public | dust_implicit_update (dtfactor, qdt, qtC, psb, psa) |
Implicit solve of psb=psa+dtfactor*dt*F_im(psb) More... | |
subroutine | dust_advance_implicit_grid (ixIL, ixOL, w, wout, x, dtfactor, qdt) |
subroutine | get_alpha_dust (ixIL, ixOL, w, vgas, x, alpha) |
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... | |
Module for including dust species, which interact with the gas through a drag force.
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 528 of file mod_dust.t.
subroutine mod_dust::dust_advance_implicit_grid | ( | 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:nw), intent(out) | wout, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
double precision, intent(in) | dtfactor, | ||
double precision, intent(in) | qdt | ||
) |
subroutine, public mod_dust::dust_check_params |
Definition at line 153 of file mod_dust.t.
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 193 of file mod_dust.t.
subroutine, public mod_dust::dust_evaluate_implicit | ( | double precision, intent(in) | qtC, |
type(state), dimension(max_blocks), target | psa | ||
) |
inplace update of psa==>F_im(psa)
Definition at line 581 of file mod_dust.t.
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,1:number_species), intent(inout) | cmax, | ||
double precision, dimension(ixi^s,1:number_species), intent(inout), optional | cmin | ||
) |
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 | ||
) |
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 896 of file mod_dust.t.
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 | ||
) |
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 | ||
) |
subroutine, public mod_dust::dust_implicit_update | ( | double precision, intent(in) | dtfactor, |
double precision, intent(in) | qdt, | ||
double precision, intent(in) | qtC, | ||
type(state), dimension(max_blocks), target | psb, | ||
type(state), dimension(max_blocks), target | psa | ||
) |
Implicit solve of psb=psa+dtfactor*dt*F_im(psb)
Definition at line 650 of file mod_dust.t.
subroutine, public mod_dust::dust_init | ( | integer, intent(in) | g_rho, |
integer, dimension(ndir), intent(in) | g_mom, | ||
integer, intent(in) | g_energy | ||
) |
subroutine mod_dust::dust_read_params | ( | character(len=*), dimension(:), intent(in) | files | ) |
Read dust_list module parameters from a file.
Definition at line 135 of file mod_dust.t.
subroutine mod_dust::dust_terms | ( | 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 | ||
) |
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 | ||
) |
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 | ||
) |
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 | ||
) |
subroutine mod_dust::get_alpha_dust | ( | 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:ndir), intent(in) | vgas, | ||
double precision, dimension(ixi^s, 1:ndim), intent(in) | x, | ||
double precision, dimension(ixi^s, 1:ndir, 1:dust_n_species), intent(out) | alpha | ||
) |
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 437 of file mod_dust.t.
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 467 of file mod_dust.t.
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 297 of file mod_dust.t.
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 311 of file mod_dust.t.
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 326 of file mod_dust.t.
double precision, dimension(:), allocatable, public mod_dust::dust_density |
Internal density of each dust species, dimensionless expression.
Definition at line 28 of file mod_dust.t.
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 59 of file mod_dust.t.
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 50 of file mod_dust.t.
integer, dimension(:, :), allocatable, public, protected mod_dust::dust_mom |
Indices of the dust momentum densities.
Definition at line 22 of file mod_dust.t.
integer, public, protected mod_dust::dust_n_species = 0 |
The number of dust species.
Definition at line 12 of file mod_dust.t.
integer, dimension(:), allocatable, public, protected mod_dust::dust_rho |
Indices of the dust densities.
Definition at line 19 of file mod_dust.t.
double precision, dimension(:), allocatable, public mod_dust::dust_size |
Size of each dust species, dimensionless expression.
Definition at line 25 of file mod_dust.t.
logical, public, protected mod_dust::dust_small_to_zero = .false. |
Set small dust densities to zero to avoid numerical problems.
Definition at line 47 of file mod_dust.t.