Derived Types

TypeLocationExtendsDescription
abstract_config_typeabstract_configNone

Define abstract type to represent the config type, allows common code to be moved here

abstract_eqfile_cart_geo_typegeo_utilsabstract_eqfile_geo_type
abstract_eqfile_geo_typegeo_utilsabstract_geo_type
abstract_geo_typegeo_utilsNone
accel_layout_typelayouts_typeNone

FIXME : Add documentation

accelx_layout_typelayouts_typeNone

FIXME : Add documentation

ballstab_config_typeballstababstract_config_type

Used to represent the input configuration of ballstab

cell_typefields_localNone

This is the next level up of data and represents the cell type. A cell has a unique it,ik pair and represents all the fields/field eq on the extended domain for the given it/ik

cell_typefields_gf_localNone

This is the next level up of data and represents the cell type. A cell has a unique it,ik pair and represents all the fields/field eq on the extended domain for the given it/ik

ceq_typeceqabstract_eqfile_geo_type
collisions_config_typecollisionsabstract_config_type

Used to represent the input configuration of collisions

comm_typempNone

A simple object for storing details of a communicator

connections_typedist_fnNone

A type to record information about connections between iglo points Store the iglo and iproc indices for connections to the left and right of a given point. Initialised to no connections, indicated by negative values

dcell_typefields_implicitNone

FIXME : Add documentation

dens_vel_diagnosticsgs2_heatingNone

Density-velocity perturbations

deq_typedeqabstract_eqfile_cart_geo_type
diagnostics_ascii_typediagnostics_asciiNone

Holds integers corresponding to the ascii output units

diagnostics_base_config_typediagnostics_base_configurationabstract_config_type

Used to represent the input configuration of gs2_diagnostics. This is the version used by the original diagnostics module.

diagnostics_typediagnostics_configNone

A type for storing the diagnostics configuration, a reference to the output file, and current results of the simulation

dist_fn_config_typedist_fnabstract_config_type

Used to represent the input configuration of dist_fn

dist_fn_species_config_typedist_fnabstract_config_type

Used to represent the input configuration of dist_fn_species. There should be one of this namelist for each species simulated.

driver_config_typeantennaabstract_config_type

Used to represent the input configuration of driver. See the documentation of the antenna module for more details.

e_layout_typelayouts_typeNone

FIXME : Add documentation

eeq_base_typeeeqabstract_eqfile_cart_geo_type
eeq_typeeeqeeq_base_type
EigNetcdfIDgs2_saveNone

A custom type to look after the netcdf ids for the eigenvalue file

eikcoefs_output_typegeometryNone

A type to hold a collection of geometrical quantities as calculated by eikcoefs

exit_codeexit_codesNone

Type providing an exit code and message text for exit reasons

f_layout_typegs2_layoutsNone

FIXME : Add documentation

fft_typefft_workNone

Information about a planned 42 transform

fftw_iodimfft_wrapperNone
fftw_iodim64fft_wrapperNone
fftwf_iodimfft_wrapperNone
fftwf_iodim64fft_wrapperNone
field_matrix_typefields_implicitNone

FIXME : Add documentation

fieldmat_typefields_localNone

This is the top level object, consisting of a collection of ky blocks.

fieldmat_typefields_gf_localNone

This is the top level object, consisting of a collection of ky blocks. Currently only support: 0 : Invert the field matrix In the future may wish to do things like LU decomposition etc. Could also do things like eigenvalue analysis etc.

fields_config_typefieldsabstract_config_type

Used to represent the input configuration of fields

fields_local_testingfields_localNone

Public type allowing tests to access otherwise-private routines

flux_surface_typegeo_utilsNone

Helper type to wrap up some flux surface specific variables for analytic equilibrium type.

g_adjust_direction_typedist_fn_arraysNone
g_layout_typelayouts_typeNone

FIXME : Add documentation

geo_input_typegeo_utilsNone

A derived type used to hold the inputs to the geo initialisation routine. By encapsulating all possible inputs in this type we can avoid having to have multiple initialisation interfaces which all types have to define.

geq_typegeqabstract_eqfile_geo_type
gf_layout_typelayouts_typeNone

FIXME : Add documentation

gs2_config_typeconfig_collectionNone
gs2_diagnostics_config_typegs2_diagnosticsdiagnostics_base_config_type
gs2_outputs_typegs2_mainNone

A type for storing outputs of gs2 for access externally

gs2_program_state_typegs2_mainNone

The object which specifies and records the gs2 program state. Some attributes of the object, like mp_comm_external, are designed to be directly manipulated by the user, and some are designed to store program state information and be manipulated internally, like init%level.

gs2_timers_typegs2_mainNone

Holds data pertaining to some of the main algorithm timers.

gs2d_typeeeqeeq_base_type
heating_diagnosticsgs2_heatingNone

FIXME : Add documentation

hyper_config_typehyperabstract_config_type

Used to represent the input configuration of hyper

ideq_typeideqabstract_eqfile_geo_type
ikitlayouts_typeNone

FIXME : Add documentation

ikitprocslayouts_typeNone

FIXME : Add documentation

index_list_typeredistributeNone

FIXME : Add documentation

index_mapredistributeNone

FIXME : Add documentation

ingen_config_typeingen_modabstract_config_type

Used to represent the input configuration of ingen

init_g_config_typeinit_gabstract_config_type

Used to represent the input configuration of init_g

init_level_list_typegs2_initNone

A type for labelling the different init levels available in gs2.

init_level_typegs2_initNone

Define an type to represent an initialisation level. This uses a hack to approximate type extension without the boiler plate of extending an abstract type. Specifically, we offer a type bound change_level procedure which just calls a procedure pointer to implement the actual work to change the level, specific to each instance.

init_typegs2_initNone

A type for storing the current initialization status, as well as all the overrides.

initial_values_overrides_typeoverridesNone

A type for storing overrides of the intial values of the fields and distribution function. This override is different to all the others, because in order to minimise memory usage and disk writes, this override is used internally during the simulation, and its values can thus change over the course of the simulation. In contrast, no other overrides are modified by running gs2. Also, depending on the value of in_memory, the override values will either be taken from the the arrays within the object, or from the restart files. If you want to externally modify the initial field and dist fn values, you need to use in_memory = .true. If you just want to use this override to allow you to reinitialise the equations and start from the same values, you can use either memory or restart files. If you want to want to change the number of processors and then reinitialise and then use this override you must use in_memory = .false., because currently the memory is allocated on a processor by processor basis. Changing grid sizes and then using this override is not supported. This one is too complicated to generate automatically

jf_layout_typegs2_layoutsNone

FIXME : Add documentation

knobs_config_typerun_parametersabstract_config_type

Used to represent the input configuration of run_parameters through "knobs"

kt_grids_box_config_typekt_grids_boxabstract_config_type

Used to represent the input configuration of kt_grids_box

kt_grids_config_typekt_gridsabstract_config_type

Used to represent the input configuration of kt_grids

kt_grids_overrides_typeoverridesNone

A type for containing overrides to the perpendicular grids (x and y).

kt_grids_range_config_typekt_grids_rangeabstract_config_type

Used to represent the input configuration of kt_grids_range

kt_grids_single_config_typekt_grids_singleabstract_config_type

Used to represent the input configuration of kt_grids_single

kt_grids_specified_config_typekt_grids_specifiedabstract_config_type

Used to represent the input configuration of kt_grids_specified

kt_grids_specified_element_config_typekt_grids_specifiedabstract_config_type

Used to represent the input configuration of a specific specified wavenumber pair

ky_typefields_localNone

This is the next level up of data and represents the ky type. A ky block consists of a number of supercells

ky_typefields_gf_localNone

This is the next level up of data and represents the ky type. A ky block consists of a number of supercells

layouts_config_typegs2_layoutsabstract_config_type

Used to represent the input configuration of layouts

le_grids_config_typele_gridsabstract_config_type

Used to represent the input configuration of le_grids

le_layout_typelayouts_typeNone

FIXME : Add documentation

leq_typeleqabstract_geo_type
lz_layout_typelayouts_typeNone

FIXME : Add documentation

matrix_inversion_method_typemat_invNone

A simple wrapper type around an integer to represent different inversion methods. We could consider deriving from this and binding the specific inversion methods to the type, but that is perhaps more complication than required.

matrix_multiply_method_typematrix_multiplyNone

A simple wrapper type around an integer to represent different multiply methods.

miller_geometry_overrides_typeoverridesNone

An object for overriding all or selected Miller geometry parameters.

mt19937_typemt19937None

Mersenne-Twister object. Allows multiple, independent instances to be used within a program

new_gs2_diagnostics_config_typediagnostics_configdiagnostics_base_config_type
nonlinear_terms_config_typenonlinear_termsabstract_config_type

Used to represent the input configuration of nonlinear_terms

nonlinear_terms_testingnonlinear_termsNone

Public type allowing tests to access otherwise-private routines

normalisations_config_typenormalisationsabstract_config_type

Used to represent the input configuration of normalisations. These values are not used for anything but will be written to the output file to aid post processing etc.

norms_typenormalisationsNone

Define a type to hold the set of normalisations, we could imagine extending this in the future to provide a normalise/denormalise routine which can be used to automatically convert quantities

optimisation_config_typeoptimisation_configurationabstract_config_type

Used to represent the input configuration for GS2's optimisation procedure. When turned on, GS2 performs a scan for the given input file, varying different optimisation flags. Results of this scan are reported in .optim. The optimal parameters are stored, allowing a user to run the same input file with optimised parameters in the same execution. A user can also choose to continue with a less-than-optimal set of parameters which satisfy other constraints.

optimisation_results_typeoptimisation_configurationNone
optimisation_typeoptimisation_configurationNone

A type for storing the optimisation configuration, the results

optimisations_overrides_typeoverridesNone

A type for containing overrides to the processor layout and optimisation flags for gs2.

p_layout_typelayouts_typeNone

FIXME : Add documentation

parameter_scan_config_typeparameter_scanabstract_config_type

Used to represent the input configuration of parameter_scan

pc_typefields_localNone

This is the type which controls/organises the parallel data decomposition etc.

pc_typefields_gf_localNone

This is the type which controls/organises the parallel data decomposition etc. the local fields. This may impact diagnostics/parallel writing as it means only the processors gf_lo local section of the fields are evolved on this processor.

Read more…
peq_base_typepeqabstract_eqfile_geo_type
peq_typepeqpeq_base_type
periodic_splinesplinesNone

Holds data representing a periodic spline. Should be set up by calling new_periodic_spline.

proc_layout_typeingen_modNone

FIXME : Add documentation

profiles_overrides_typeoverridesNone

An object for overriding all or selected profile parameters, for example species temps, densities or gradients or the flow gradient or mach number. Note that all species parameters are arrays of size nspec and you must set the override switches individually for each species.

redist_bufferredistributeNone

Small container type simply providing a 1D allocatable buffer. Used to allow array of buffers of different sizes.

redist_typeredistributeNone

FIXME : Add documentation

reinit_config_typegs2_reinitabstract_config_type

Used to represent the input configuration of reinit

results_summary_typediagnostics_configNone

A type for storing the current results of the simulation

rk_scheme_id_typerk_schemesNone

Internal named type to represent scheme ids

rk_scheme_typerk_schemesNone

Public type storing the data for a particular RK scheme

rowblock_typefields_localNone

This is the lowest level of data object and will hold the actual data involved with the field matrix

rowblock_typefields_gf_localNone

This is the lowest level of data object and will hold the actual data involved with the field matrix

runtime_info_typeruntime_testsNone

Type providing information about the code version, compiler, build environment etc

shm_info_tshm_mpi3None

FIXME : Add documentation

shm_node_pointers_tshm_mpi3None

FIXME : Add documentation

source_config_typedist_fnabstract_config_type

Used to represent the input configuration of source

speciespeciesNone

FIXME : Add documentation

species_config_typespeciesabstract_config_type

Used to represent the input configuration of species

species_element_config_typespeciesabstract_config_type

Used to represent the input configuration of species

splinesplinesNone

Holds data representing a non-periodic spline. Should be set up by calling new_spline.

split_nonlinear_terms_config_typesplit_nonlinear_termsabstract_config_type

Used to represent the input configuration of split_nonlinear_terms

standard_header_typestandard_headerNone

A header for files and output.

Read more…
stir_config_typeantennaabstract_config_type

Used to represent the input configuration of stir. See the documentation of the antenna module for more details.

supercell_propertiesbox_to_ballooning_spaceNone
supercell_typefields_localNone

This is the next level up of data and represents the supercell type. A supercell represents a collection of connected cells

supercell_typefields_gf_localNone

This is the next level up of data and represents the supercell type. A supercell represents a collection of connected cells

teq_typepeqpeq_base_type
text_optiontext_optionsNone

FIXME : Add documentation

theta_grid_config_typetheta_gridabstract_config_type

Used to represent the input configuration of theta_grid

theta_grid_eik_config_typetheta_grid_eikabstract_config_type

Used to represent the input configuration of theta_grid

theta_grid_file_config_typetheta_grid_fileabstract_config_type

Used to represent the input configuration of theta_grid

theta_grid_gridgen_config_typetheta_grid_gridgenabstract_config_type

Used to represent the input configuration of theta_grid_gridgen

theta_grid_parameters_config_typetheta_grid_paramsabstract_config_type

Used to represent the input configuration of theta_grid. Sets a number of parameters used by the different theta grid implementations. Not all parameters are active for a given theta grid type.

theta_grid_salpha_config_typetheta_grid_salphaabstract_config_type

Used to represent the input configuration of theta_grid_salpha

timestep_overrides_typeoverridesNone

A type for containing overrides to the timestep and the cfl parameters

xxf_layout_typelayouts_typeNone

FIXME : Add documentation

yxf_layout_typelayouts_typeNone

FIXME : Add documentation