Parent module governing all equilibrium types and submodules. This module contains all equilibrium types and the initial declarations of the module subroutines. Every equilibrium submodule extends this module, implementing one of the module subroutines declared here. All "main" equilibrium configurations are set in the submodules. The ones that depend on "main" arrays, like radiative cooling, are set here through calls to their respective modules.
All use statements specified here at the main module scope are automatically accessible in every submodule that extends this one.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
procedure, | private, | pointer | :: | set_equilibrium_values | => | null() | pointer for the submodule, initialised to null |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
interface to the different equilibrium submodules
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
Calls the routine to set the equilibrium pointer, then calls the correct submodule. Performs some sanity checks (negative values, NaNs etc.) when the equilibrium is set, then calls additional physics modules if needed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(inout) | :: | settings | |||
type(grid_t), | intent(inout) | :: | grid | |||
type(background_t), | intent(inout) | :: | background | |||
type(physics_t), | intent(inout) | :: | physics |
Selects the submodule based on the specified equilibrium in the parfile. Works on a case-select basis.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(settings_t), | intent(in) | :: | settings |