config_collection Module

Provides a defined type that contains all possible config objects. This can be used to represent the configuration used for a particular run etc.



Contents


Derived Types

type, public ::  gs2_config_type

Components

Type Visibility Attributes Name Initial
type(ballstab_config_type), public :: ballstab_config
type(collisions_config_type), public :: collisions_config
type(diagnostics_config_type), public :: diagnostics_config
type(dist_fn_config_type), public :: dist_fn_config
type(dist_fn_species_config_type), public, dimension(:), allocatable :: dist_fn_species_config
type(driver_config_type), public :: driver_config
type(eigval_config_type), public :: eigval_config
type(fields_config_type), public :: fields_config
type(hyper_config_type), public :: hyper_config
type(ingen_config_type), public :: ingen_config
type(init_g_config_type), public :: init_g_config
type(knobs_config_type), public :: knobs_config
type(kt_grids_config_type), public :: kt_grids_config
type(kt_grids_box_config_type), public :: kt_grids_box_config
type(kt_grids_range_config_type), public :: kt_grids_range_config
type(kt_grids_single_config_type), public :: kt_grids_single_config
type(kt_grids_specified_config_type), public :: kt_grids_specified_config
type(kt_grids_specified_element_config_type), public, dimension(:), allocatable :: kt_grids_specified_element_config
type(layouts_config_type), public :: layouts_config
type(le_grids_config_type), public :: le_grids_config
type(nonlinear_terms_config_type), public :: nonlinear_terms_config
type(normalisations_config_type), public :: normalisations_config
type(optimisation_config_type), public :: optimisation_config
type(reinit_config_type), public :: reinit_config
type(source_config_type), public :: source_config
type(species_config_type), public :: species_config
type(species_element_config_type), public, dimension(:), allocatable :: species_element_config
type(split_nonlinear_terms_config_type), public :: split_nonlinear_terms_config
type(stir_config_type), public, dimension(:), allocatable :: stir_config
type(theta_grid_config_type), public :: theta_grid_config
type(theta_grid_eik_config_type), public :: theta_grid_eik_config
type(theta_grid_file_config_type), public :: theta_grid_file_config
type(theta_grid_gridgen_config_type), public :: theta_grid_gridgen_config
type(theta_grid_parameters_config_type), public :: theta_grid_parameters_config
type(theta_grid_salpha_config_type), public :: theta_grid_salpha_config

Type-Bound Procedures

procedure , public , :: write_to_unit Subroutine

See write_to_unit for details.

procedure , public , :: get_configs Subroutine

See get_configs for details

procedure , public , :: set_configs Subroutine

See set_configs for details

procedure , public , :: populate_from_file Subroutine

See populate_from_file for details


Subroutines

private subroutine write_to_unit(self, unit)

Writes out the current configuration state to an optionally provided unit. If no unit is provided then we write to output_unit.

Arguments

Type IntentOptional Attributes Name
class(gs2_config_type), intent(inout) :: self
integer, intent(in), optional :: unit

private subroutine get_configs(self)

Copy all the module-level configs into self.

Read more…

Arguments

Type IntentOptional Attributes Name
class(gs2_config_type), intent(inout) :: self

private subroutine set_configs(self)

Copy all the self configs into module level ones.

Arguments

Type IntentOptional Attributes Name
class(gs2_config_type), intent(in) :: self

private subroutine populate_from_file(self)

Attempts to populate the configs from file (basically call their init methods). There's no attempt currently to enforce any order here so smart defaults are unlikely correct, but it at least checks we can parse all namelists.

Arguments

Type IntentOptional Attributes Name
class(gs2_config_type), intent(inout) :: self