|
Neko 1.99.2
A portable framework for high-order spectral element flow simulations
|
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.
Data Types | |
| type | scratch_registry_t |
Functions/Subroutines | |
| subroutine | scratch_registry_init (this, size, expansion_size, dof) |
| Constructor, optionally taking initial registry and expansion size as argument. | |
| subroutine | scratch_registry_free (this) |
| Destructor. | |
| subroutine | scratch_registry_set_dofmap (this, dof) |
| Assign a dofmap to the scratch registry. | |
| pure integer function | get_n_entries (this) |
| Get the number of objects stored in the registry. | |
| pure integer function | get_n_inuse (this) |
| Get the number of objects currently in use. | |
| pure integer function | get_size (this) |
| Get the size of the objects array. | |
| pure integer function | get_expansion_size (this) |
| Get the expansion size. | |
| pure logical function | get_inuse (this, index) |
| Get the inuse status for a given index. | |
| subroutine | expand (this) |
| subroutine | request_field (this, f, index, clear) |
| Get a field from the registry by assigning it to a pointer. | |
| subroutine | request_vector (this, v, index, n, clear) |
| Get a vector from the registry by assigning it to a pointer. | |
| subroutine | request_matrix (this, m, index, nrows, ncols, clear) |
| Get a matrix from the registry by assigning it to a pointer. | |
| subroutine | relinquish_field_single (this, index) |
| Relinquish the use of a field in the registry. | |
| subroutine | relinquish_field_multiple (this, indices) |
| Relinquish the use of multiple fields in the registry. | |
| subroutine | relinquish_vector_single (this, index) |
| Relinquish the use of a vector in the registry. | |
| subroutine | relinquish_vector_multiple (this, indices) |
| Relinquish the use of multiple vectors in the registry. | |
| subroutine | relinquish_matrix_single (this, index) |
| Relinquish the use of a matrix in the registry. | |
| subroutine | relinquish_matrix_multiple (this, indices) |
| Relinquish the use of multiple matrices in the registry. | |
| subroutine | relinquish_single (this, index) |
| Relinquish the use of an object in the registry. | |
| subroutine | relinquish_multiple (this, indices) |
| Relinquish the use of multiple objects in the registry. | |
Variables | |
| type(scratch_registry_t), target, public | neko_scratch_registry |
| Global scratch registry. | |
|
private |
Definition at line 243 of file scratch_registry.f90.
|
private |
Definition at line 228 of file scratch_registry.f90.
|
private |
Definition at line 236 of file scratch_registry.f90.


|
private |
Definition at line 200 of file scratch_registry.f90.
|
private |
Definition at line 208 of file scratch_registry.f90.
|
private |
Definition at line 216 of file scratch_registry.f90.
|
private |
| indices | The indices of the fields to free |
Definition at line 426 of file scratch_registry.f90.

|
private |
| index | The index of the field to free |
Definition at line 411 of file scratch_registry.f90.

|
private |
| indices | The indices of the matrices to free |
Definition at line 492 of file scratch_registry.f90.

|
private |
| index | The index of the matrix to free |
Definition at line 477 of file scratch_registry.f90.

|
private |
| indices | The indices of the objects to free |
Definition at line 520 of file scratch_registry.f90.

|
private |
| index | The index of the object to free |
Definition at line 510 of file scratch_registry.f90.

|
private |
| indices | The indices of the vectors to free |
Definition at line 459 of file scratch_registry.f90.

|
private |
| index | The index of the vector to free |
Definition at line 444 of file scratch_registry.f90.

|
private |
| f | Pointer to the requested field. |
| index | Index of the field in the registry (for relinquishing later). |
| clear | If true, the field values are set to zero upon request. |
Definition at line 263 of file scratch_registry.f90.


|
private |
| m | Pointer to the requested matrix. |
| index | Index of the matrix in the registry (for relinquishing later). |
| nrows | Number of rows of the requested matrix. |
| ncols | Number of columns of the requested matrix. |
| clear | If true, the matrix values are set to zero upon request. |
Definition at line 364 of file scratch_registry.f90.

|
private |
| v | Pointer to the requested vector. |
| index | Index of the vector in the registry (for relinquishing later). |
| n | Size of the requested vector. |
| clear | If true, the vector values are set to zero upon request. |
Definition at line 314 of file scratch_registry.f90.

|
private |
Definition at line 152 of file scratch_registry.f90.
|
private |
| size | Initial size of the registry |
| expansion_size | Size to expand the registry by when needed |
| dof | Dofmap to associate with the scratch registry |
Definition at line 129 of file scratch_registry.f90.
|
private |
| dof | Dofmap to assign |
Definition at line 185 of file scratch_registry.f90.
| type(scratch_registry_t), target, public scratch_registry::neko_scratch_registry |
Definition at line 117 of file scratch_registry.f90.