Neko 1.99.2
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
registry Module Reference

Defines a registry for storing solution fields.

Data Types

type  registry_t
 

Functions/Subroutines

subroutine registry_init (this, size, expansion_size)
 Constructor.
 
subroutine registry_free (this)
 Destructor.
 
subroutine registry_expand (this)
 Expand the fields array so as to accommodate more fields.
 
subroutine registry_add_field (this, dof, name, ignore_existing)
 Add a field to the registry.
 
subroutine registry_add_vector (this, n, name, ignore_existing)
 Add a vector to the registry.
 
subroutine registry_add_matrix (this, nrows, ncols, name, ignore_existing)
 Add a matrix to the registry.
 
subroutine registry_add_real_scalar (this, value, name, ignore_existing)
 Add a real scalar to the registry.
 
subroutine registry_add_integer_scalar (this, value, name, ignore_existing)
 Add an integer scalar to the registry.
 
subroutine registry_add_alias (this, alias, name)
 Add an alias for an existing entry in the registry.
 
recursive type(field_t) function, pointer registry_get_field_by_name (this, name)
 Get pointer to a stored field by field name.
 
recursive type(vector_t) function, pointer registry_get_vector_by_name (this, name)
 Get pointer to a stored vector by name.
 
recursive type(matrix_t) function, pointer registry_get_matrix_by_name (this, name)
 Get pointer to a stored matrix by name.
 
recursive real(kind=rp) function, pointer registry_get_real_scalar_by_name (this, name)
 Get pointer to a stored real scalar by name.
 
recursive integer function, pointer registry_get_integer_scalar_by_name (this, name)
 Get pointer to a stored integer scalar by name.
 
logical function registry_entry_exists (this, name)
 Check if a field with a given name is already in the registry.
 
logical function registry_field_exists (this, name)
 Check if a field with a given name is already in the registry.
 
logical function registry_vector_exists (this, name)
 Check if a vector with a given name is already in the registry.
 
logical function registry_matrix_exists (this, name)
 Check if a matrix with a given name is already in the registry.
 
logical function registry_real_scalar_exists (this, name)
 Check if a real scalar with a given name is already in the registry.
 
logical function registry_integer_scalar_exists (this, name)
 Check if an integer scalar with a given name is already in the registry.
 
pure integer function registry_n_entries (this)
 Get number of registered entries.
 
pure integer function registry_n_fields (this)
 Get the number of fields stored in the registry.
 
pure integer function registry_n_vectors (this)
 Get the number of vector stored in the registry.
 
pure integer function registry_n_matrices (this)
 Get the number of matrix stored in the registry.
 
pure integer function registry_n_real_scalars (this)
 Get the number of real scalars stored in the registry.
 
pure integer function registry_n_integer_scalars (this)
 Get the number of integer scalars stored in the registry.
 
pure integer function registry_n_aliases (this)
 Get the number of aliases stored in the registry.
 
pure integer function registry_get_size (this)
 Get the size of the fields array.
 
pure integer function registry_get_expansion_size (this)
 Get the expansion size.
 
subroutine registry_print (this)
 Print the contents of the registry to standard output.
 
subroutine registry_print_contents (this, type)
 Print the registry contents grouped by entity type.
 
subroutine registry_print_section (this, entity_type)
 Print a single section of the registry for the given type.
 

Variables

type(registry_t), target, public neko_registry
 Global field registry.
 
type(registry_t), target, public neko_const_registry
 This registry is used to store user-defined scalars and vectors, provided under the constants section of the case file. These are separated from the global registry to prevent name clashes with registered objects used by Neko itself.
 

Function/Subroutine Documentation

◆ registry_add_alias()

subroutine registry::registry_add_alias ( class(registry_t), intent(inout this,
character(len=*), intent(in alias,
character(len=*), intent(in name 
)
private
Parameters
aliasThe alias.
nameThe name of the entry.

Definition at line 414 of file registry.f90.

◆ registry_add_field()

subroutine registry::registry_add_field ( class(registry_t), intent(inout this,
type(dofmap_t), intent(in), target  dof,
character(len=*), intent(in), target  name,
logical, intent(in), optional  ignore_existing 
)
private
Parameters
dofThe map of degrees of freedom.
nameThe name of the field.
ignore_existingIf true, will do nothing if the field is already in the registry. If false, will throw an error. Optional, defaults to false.

Definition at line 224 of file registry.f90.

◆ registry_add_integer_scalar()

subroutine registry::registry_add_integer_scalar ( class(registry_t), intent(inout this,
integer, intent(in value,
character(len=*), intent(in), target  name,
logical, intent(in), optional  ignore_existing 
)
private
Parameters
valueThe scalar value.
nameThe name of the scalar.
ignore_existingIf true, skip if scalar already registered.

Definition at line 379 of file registry.f90.

◆ registry_add_matrix()

subroutine registry::registry_add_matrix ( class(registry_t), intent(inout this,
integer, intent(in nrows,
integer, intent(in ncols,
character(len=*), intent(in), target  name,
logical, intent(in), optional  ignore_existing 
)
private
Parameters
nThe size of the matrix.
nameThe name of the matrix.
ignore_existingIf true, will do nothing if the matrix is already in the registry. If false, will throw an error. Optional, defaults to false.

Definition at line 304 of file registry.f90.

◆ registry_add_real_scalar()

subroutine registry::registry_add_real_scalar ( class(registry_t), intent(inout this,
real(kind=rp), intent(in value,
character(len=*), intent(in), target  name,
logical, intent(in), optional  ignore_existing 
)
private
Parameters
valueThe scalar value.
nameThe name of the scalar.
ignore_existingIf true, skip if scalar already registered.

Definition at line 343 of file registry.f90.

◆ registry_add_vector()

subroutine registry::registry_add_vector ( class(registry_t), intent(inout this,
integer, intent(in n,
character(len=*), intent(in), target  name,
logical, intent(in), optional  ignore_existing 
)
private
Parameters
nThe size of the vector.
nameThe name of the vector.
ignore_existingIf true, will do nothing if the vector is already in the registry. If false, will throw an error. Optional, defaults to false.

Definition at line 264 of file registry.f90.

◆ registry_entry_exists()

logical function registry::registry_entry_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 590 of file registry.f90.

◆ registry_expand()

subroutine registry::registry_expand ( class(registry_t), intent(inout this)
private

Definition at line 207 of file registry.f90.

◆ registry_field_exists()

logical function registry::registry_field_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 608 of file registry.f90.

◆ registry_free()

subroutine registry::registry_free ( class(registry_t), intent(inout this)
private

Definition at line 188 of file registry.f90.

◆ registry_get_expansion_size()

pure integer function registry::registry_get_expansion_size ( class(registry_t), intent(in this)
private

Definition at line 799 of file registry.f90.

◆ registry_get_field_by_name()

recursive type(field_t) function, pointer registry::registry_get_field_by_name ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 437 of file registry.f90.

◆ registry_get_integer_scalar_by_name()

recursive integer function, pointer registry::registry_get_integer_scalar_by_name ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 556 of file registry.f90.

◆ registry_get_matrix_by_name()

recursive type(matrix_t) function, pointer registry::registry_get_matrix_by_name ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 496 of file registry.f90.

◆ registry_get_real_scalar_by_name()

recursive real(kind=rp) function, pointer registry::registry_get_real_scalar_by_name ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 526 of file registry.f90.

◆ registry_get_size()

pure integer function registry::registry_get_size ( class(registry_t), intent(in this)
private

Definition at line 787 of file registry.f90.

◆ registry_get_vector_by_name()

recursive type(vector_t) function, pointer registry::registry_get_vector_by_name ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 466 of file registry.f90.

◆ registry_init()

subroutine registry::registry_init ( class(registry_t), intent(inout this,
integer, intent(in), optional  size,
integer, intent(in), optional  expansion_size 
)
private
Parameters
sizeThe allocation size of entries on init.
expansion_sizeThe number of entries added to entries on expansion.

Definition at line 166 of file registry.f90.

◆ registry_integer_scalar_exists()

logical function registry::registry_integer_scalar_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 684 of file registry.f90.

◆ registry_matrix_exists()

logical function registry::registry_matrix_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 646 of file registry.f90.

◆ registry_n_aliases()

pure integer function registry::registry_n_aliases ( class(registry_t), intent(in this)
private

Definition at line 779 of file registry.f90.

◆ registry_n_entries()

pure integer function registry::registry_n_entries ( class(registry_t), intent(in this)
private

Definition at line 706 of file registry.f90.

◆ registry_n_fields()

pure integer function registry::registry_n_fields ( class(registry_t), intent(in this)
private

Definition at line 714 of file registry.f90.

◆ registry_n_integer_scalars()

pure integer function registry::registry_n_integer_scalars ( class(registry_t), intent(in this)
private

Definition at line 766 of file registry.f90.

◆ registry_n_matrices()

pure integer function registry::registry_n_matrices ( class(registry_t), intent(in this)
private

Definition at line 740 of file registry.f90.

◆ registry_n_real_scalars()

pure integer function registry::registry_n_real_scalars ( class(registry_t), intent(in this)
private

Definition at line 753 of file registry.f90.

◆ registry_n_vectors()

pure integer function registry::registry_n_vectors ( class(registry_t), intent(in this)
private

Definition at line 727 of file registry.f90.

◆ registry_print()

subroutine registry::registry_print ( class(registry_t), intent(in this)
private

Definition at line 807 of file registry.f90.

◆ registry_print_contents()

subroutine registry::registry_print_contents ( class(registry_t), intent(in this,
character(len=*), intent(in), optional  type 
)
private

Definition at line 823 of file registry.f90.

Here is the call graph for this function:

◆ registry_print_section()

subroutine registry::registry_print_section ( class(registry_t), intent(in this,
character(len=*), intent(in entity_type 
)
private

Definition at line 863 of file registry.f90.

Here is the caller graph for this function:

◆ registry_real_scalar_exists()

logical function registry::registry_real_scalar_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 665 of file registry.f90.

◆ registry_vector_exists()

logical function registry::registry_vector_exists ( class(registry_t), intent(inout), target  this,
character(len=*), intent(in name 
)
private

Definition at line 627 of file registry.f90.

Variable Documentation

◆ neko_const_registry

type(registry_t), target, public registry::neko_const_registry

Definition at line 155 of file registry.f90.

◆ neko_registry

type(registry_t), target, public registry::neko_registry

Definition at line 149 of file registry.f90.