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 527 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 |
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 192 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 580 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 895 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 649 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 134 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 436 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 466 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 296 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 310 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 325 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 27 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 58 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 49 of file mod_dust.t.
integer, dimension(:, :), allocatable, public, protected mod_dust::dust_mom |
Indices of the dust momentum densities.
Definition at line 21 of file mod_dust.t.
integer, public, protected mod_dust::dust_n_species = 0 |
The number of dust species.
Definition at line 11 of file mod_dust.t.
integer, dimension(:), allocatable, public, protected mod_dust::dust_rho |
Indices of the dust densities.
Definition at line 18 of file mod_dust.t.
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.
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.