Neko 1.99.9
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_tensor3 (this, n, m, k, name, ignore_existing)
 Add a tensor3 to the registry.
 
subroutine registry_add_tensor4 (this, n, m, k, l, name, ignore_existing)
 Add a tensor4 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 (this, name)
 Get pointer to a stored field by field name.
 
recursive type(vector_t) function, pointer registry_get_vector (this, name)
 Get pointer to a stored vector by name.
 
recursive type(matrix_t) function, pointer registry_get_matrix (this, name)
 Get pointer to a stored matrix by name.
 
recursive type(tensor3_t) function, pointer registry_get_tensor3 (this, name)
 Get pointer to a stored tensor3 by name.
 
recursive type(tensor4_t) function, pointer registry_get_tensor4 (this, name)
 Get pointer to a stored tensor4 by name.
 
recursive real(kind=rp) function, pointer registry_get_real_scalar (this, name)
 Get pointer to a stored real scalar by name.
 
recursive integer function, pointer registry_get_integer_scalar (this, name)
 Get pointer to a stored integer scalar by name.
 
logical function registry_entry_exists (this, name, type)
 Check if an entry 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_tensor3_exists (this, name)
 Check if a tensor3 with a given name is already in the registry.
 
logical function registry_tensor4_exists (this, name)
 Check if a tensor4 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, type)
 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_tensor3s (this)
 Get the number of tensor3 stored in the registry.
 
pure integer function registry_n_tensor4s (this)
 Get the number of tensor4 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 516 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, default is false.

Definition at line 246 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 481 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, default is false.

Definition at line 326 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 445 of file registry.f90.

◆ registry_add_tensor3()

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

Definition at line 366 of file registry.f90.

◆ registry_add_tensor4()

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

Definition at line 406 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, default is false.

Definition at line 286 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,
character(len=*), intent(in), optional  type 
)
private
Parameters
nameThe name of the entry.
typeThe type of the entry. Optional, if not provided, will check all types.

Definition at line 755 of file registry.f90.

◆ registry_expand()

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

Definition at line 215 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 781 of file registry.f90.

◆ registry_free()

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

Definition at line 196 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 948 of file registry.f90.

◆ registry_get_field()

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

Definition at line 539 of file registry.f90.

◆ registry_get_integer_scalar()

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

Definition at line 718 of file registry.f90.

◆ registry_get_matrix()

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

Definition at line 598 of file registry.f90.

◆ registry_get_real_scalar()

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

Definition at line 688 of file registry.f90.

◆ registry_get_size()

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

Definition at line 936 of file registry.f90.

◆ registry_get_tensor3()

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

Definition at line 628 of file registry.f90.

◆ registry_get_tensor4()

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

Definition at line 658 of file registry.f90.

◆ registry_get_vector()

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

Definition at line 568 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 174 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 847 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 803 of file registry.f90.

◆ registry_n_aliases()

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

Definition at line 929 of file registry.f90.

◆ registry_n_entries()

pure integer function registry::registry_n_entries ( class(registry_t), intent(in)  this,
character(len=*), intent(in), optional  type 
)
private

Definition at line 861 of file registry.f90.

◆ registry_n_fields()

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

Definition at line 880 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 922 of file registry.f90.

◆ registry_n_matrices()

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

Definition at line 894 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 915 of file registry.f90.

◆ registry_n_tensor3s()

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

Definition at line 901 of file registry.f90.

◆ registry_n_tensor4s()

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

Definition at line 908 of file registry.f90.

◆ registry_n_vectors()

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

Definition at line 887 of file registry.f90.

◆ registry_print()

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

Definition at line 956 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 972 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 1014 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 836 of file registry.f90.

◆ registry_tensor3_exists()

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

Definition at line 814 of file registry.f90.

◆ registry_tensor4_exists()

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

Definition at line 825 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 792 of file registry.f90.

Variable Documentation

◆ neko_const_registry

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

Definition at line 164 of file registry.f90.

◆ neko_registry

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

Definition at line 158 of file registry.f90.