Neko 1.99.2
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scratch_registry.f90 File Reference

Go to the source code of this file.

Data Types

type  scratch_registry::scratch_registry_t
 

Modules

module  scratch_registry
 Defines a registry for storing and requesting temporary objects This can be used when you have a function that will be called often and you don't want to create temporary objects (work arrays) inside it on each call.
 

Functions/Subroutines

subroutine scratch_registry::scratch_registry_init (this, size, expansion_size, dof)
 Constructor, optionally taking initial registry and expansion size as argument.
 
subroutine scratch_registry::scratch_registry_free (this)
 Destructor.
 
subroutine scratch_registry::scratch_registry_set_dofmap (this, dof)
 Assign a dofmap to the scratch registry.
 
pure integer function scratch_registry::get_n_entries (this)
 Get the number of objects stored in the registry.
 
pure integer function scratch_registry::get_n_inuse (this)
 Get the number of objects currently in use.
 
pure integer function scratch_registry::get_size (this)
 Get the size of the objects array.
 
pure integer function scratch_registry::get_expansion_size (this)
 Get the expansion size.
 
pure logical function scratch_registry::get_inuse (this, index)
 Get the inuse status for a given index.
 
subroutine scratch_registry::expand (this)
 
subroutine scratch_registry::request_field (this, f, index, clear)
 Get a field from the registry by assigning it to a pointer.
 
subroutine scratch_registry::request_vector (this, v, index, n, clear)
 Get a vector from the registry by assigning it to a pointer.
 
subroutine scratch_registry::request_matrix (this, m, index, nrows, ncols, clear)
 Get a matrix from the registry by assigning it to a pointer.
 
subroutine scratch_registry::relinquish_field_single (this, index)
 Relinquish the use of a field in the registry.
 
subroutine scratch_registry::relinquish_field_multiple (this, indices)
 Relinquish the use of multiple fields in the registry.
 
subroutine scratch_registry::relinquish_vector_single (this, index)
 Relinquish the use of a vector in the registry.
 
subroutine scratch_registry::relinquish_vector_multiple (this, indices)
 Relinquish the use of multiple vectors in the registry.
 
subroutine scratch_registry::relinquish_matrix_single (this, index)
 Relinquish the use of a matrix in the registry.
 
subroutine scratch_registry::relinquish_matrix_multiple (this, indices)
 Relinquish the use of multiple matrices in the registry.
 
subroutine scratch_registry::relinquish_single (this, index)
 Relinquish the use of an object in the registry.
 
subroutine scratch_registry::relinquish_multiple (this, indices)
 Relinquish the use of multiple objects in the registry.
 

Variables

type(scratch_registry_t), target, public scratch_registry::neko_scratch_registry
 Global scratch registry.