| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=name_len), | public | :: | cons_wnames(max_nw) |
Conservative variable names |
|||
| integer, | public | :: | index_v_mag | = | 1 |
index of the var whose velocity appears in the induction eq. |
|
| integer, | public | :: | iw_e | = | -1 |
Index of the energy density |
|
| integer, | public | :: | iw_equi_p | = | -1 | ||
| integer, | public | :: | iw_equi_rho | = | -1 | ||
| integer, | public | :: | iw_extra(max_nw) | = | -1 |
Indices in w of the extra variables, in registration order: iw_extra(1:nwextra). Filled by var_set_extravar so that generic code can address the extra variables without assuming where in w they sit. |
|
| integer, | public, | allocatable | :: | iw_mom(:) |
Indices of the momentum density |
||
| integer, | public | :: | iw_q | = | -1 |
Index of the (scalar, field-aligned-only) heat flux (isotropic HTC only) |
|
| integer, | public | :: | iw_r_e | = | -1 |
Index of the radiation energy density |
|
| integer, | public | :: | iw_rho | = | -1 |
Index of the (gas) density |
|
| integer, | public | :: | iw_tcoff | = | -1 |
Index of the cutoff temperature for the TRAC method |
|
| integer, | public, | dimension(:), allocatable | :: | iw_vector |
Indices of vector variables |
||
| integer, | public | :: | iwstart | = | 1 | ||
| integer, | public, | parameter | :: | max_nw | = | 20 |
Maximum number of variables. The largest build (cell-centred GLM-MHD with anisotropic hyperbolic conduction and a few tracers) reaches ~15, so this is comfortable headroom; mod_convert and var_set_extravar guard against exceeding it. |
| integer, | public | :: | number_species | = | 1 |
number of species: each species has different characterictic speeds and should be used accordingly in mod_finite_volume and mod_finite_difference |
|
| integer, | public | :: | nvector | = | 0 |
Number of vector variables (used for writing output) |
|
| integer, | public | :: | nw | = | 0 |
Total number of variables |
|
| integer, | public | :: | nw_extra | = | 0 |
Number of extra variables in wextra seperated from w |
|
| integer, | public | :: | nwaux | = | 0 |
Number of auxiliary variables in w |
|
| integer, | public | :: | nwextra | = | 0 |
Number of extra variables in w |
|
| integer, | public | :: | nwflux | = | 0 |
Number of flux variables |
|
| integer, | public | :: | nwfluxbc | = | 0 |
Number of flux variables which need user to specify boundary type |
|
| integer, | public | :: | nwgc | = | 0 |
Number of variables which need to be updated in ghost cells |
|
| integer, | public | :: | nws | = | 0 |
Total number of stagger variables |
|
| character(len=name_len), | public | :: | prim_wnames(max_nw) |
Primitive variable names |
|||
| integer, | public, | allocatable | :: | start_indices(:) |
the indices in 1:nwflux array are assumed consecutive for each species this array should be of size number_species and contain the first index in the array of the number_species |
||
| integer, | public, | allocatable | :: | stop_indices(:) |
the indices in 1:nwflux array are assumed consecutive for each species this array should be of size number_species and contain the last index in the array of the first number_species, the last index for the last one is nwflux |
||
| integer, | protected, | allocatable | :: | iw_mag(:) |
Indices of the magnetic field components |
||
| integer, | protected, | allocatable | :: | iw_qvec(:) |
Indices of the heat flux vector components (anisotropic HTC only) |
Set auxiliary variable, which is not advected but has boundary conditions. This has to be done after defining flux variables.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name_cons | |||
| character(len=*), | intent(in) | :: | name_prim | |||
| integer, | intent(in), | optional | :: | ix |
Set magnetic field variables
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ndir |
Set energy variable
Set extra variable in w, which is not advected and has no boundary conditions. This has to be done after defining flux variables and auxiliary variables.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name_cons | |||
| character(len=*), | intent(in) | :: | name_prim | |||
| integer, | intent(in), | optional | :: | ix |
Set generic flux variable
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name_cons |
Conservative name |
||
| character(len=*), | intent(in) | :: | name_prim |
Primitive name |
||
| integer, | intent(in), | optional | :: | ix |
Optional index (to make var1, var2, ...) |
|
| logical, | intent(in), | optional | :: | need_bc |
Require boundary condition (default: true) |
Set momentum variables
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ndir |
Set heat flux variable (hyperbolic TC treatment)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in), | optional | :: | need_bc |
Set heat-flux vector variables (anisotropic HTC only): the full Cartesian heat-flux vector, decomposed into field-aligned/cross-field parts
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ndir | |||
| logical, | intent(in), | optional | :: | need_bc |
Set density variable
Set extra variable in wextra, which is not advected and has no boundary conditions and not output in dat. This has to be done after defining flux variables and auxiliary variables.
Exit MPI-AMRVAC with an error message
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | message |
The error message |