gs2_config_type Derived Type

type, public :: gs2_config_type


Contents

Source Code


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

See write_to_unit for details.

  • 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

procedure, public, :: get_configs

See get_configs for details

  • private subroutine get_configs(self)

    Copy all the module-level configs into self.

    Can be used to get a "snapshot" of the current state of all module's configs.

    Arguments

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

procedure, public, :: set_configs

See set_configs for details

  • 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

procedure, public, :: populate_from_file

See populate_from_file for details

  • 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

Source Code

  type :: gs2_config_type
     type(ballstab_config_type) :: ballstab_config
     type(collisions_config_type) :: collisions_config
     type(diagnostics_config_type) :: diagnostics_config
     type(dist_fn_config_type) :: dist_fn_config
     type(dist_fn_species_config_type), dimension(:), allocatable :: dist_fn_species_config
     type(driver_config_type) :: driver_config
     type(eigval_config_type) :: eigval_config
     type(fields_config_type) :: fields_config
     type(hyper_config_type) :: hyper_config
     type(ingen_config_type) :: ingen_config
     type(init_g_config_type) :: init_g_config
     type(knobs_config_type) :: knobs_config
     type(kt_grids_config_type) :: kt_grids_config
     type(kt_grids_box_config_type) :: kt_grids_box_config
     type(kt_grids_range_config_type) :: kt_grids_range_config
     type(kt_grids_single_config_type) :: kt_grids_single_config
     type(kt_grids_specified_config_type) :: kt_grids_specified_config
     type(kt_grids_specified_element_config_type), dimension(:), allocatable :: kt_grids_specified_element_config
     type(layouts_config_type) :: layouts_config
     type(le_grids_config_type) :: le_grids_config
     type(nonlinear_terms_config_type) :: nonlinear_terms_config
     type(normalisations_config_type) :: normalisations_config
     type(optimisation_config_type) :: optimisation_config
     type(reinit_config_type) :: reinit_config
     type(source_config_type) :: source_config
     type(species_config_type) :: species_config
     type(species_element_config_type), dimension(:), allocatable :: species_element_config
     type(split_nonlinear_terms_config_type) :: split_nonlinear_terms_config
     type(stir_config_type), dimension(:), allocatable :: stir_config
     type(theta_grid_config_type) :: theta_grid_config
     type(theta_grid_eik_config_type) :: theta_grid_eik_config
     type(theta_grid_file_config_type) :: theta_grid_file_config
     type(theta_grid_gridgen_config_type) :: theta_grid_gridgen_config
     type(theta_grid_parameters_config_type) :: theta_grid_parameters_config
     type(theta_grid_salpha_config_type) :: theta_grid_salpha_config
   contains
     !> See [[write_to_unit]] for details.
     procedure :: write_to_unit
     !> See [[get_configs]] for details
     procedure :: get_configs
     !> See [[set_configs]] for details
     procedure :: set_configs
     !> See [[populate_from_file]] for details
     procedure :: populate_from_file
  end type gs2_config_type