Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scratch_registry::scratch_registry_t Type Reference
Collaboration diagram for scratch_registry::scratch_registry_t:

Public Member Functions

procedure, pass(this) init (this, size, expansion_size, dof)
 Constructor.
 
procedure, pass(this) free (this)
 Destructor.
 
procedure, pass(this) set_dofmap (this, dof)
 Assign a dofmap to the scratch registry.
 
procedure, pass(this) get_n_entries (this)
 Getter for n_entries.
 
procedure, pass(this) get_n_inuse (this)
 Getter for n_inuse.
 
procedure, pass(this) get_expansion_size (this)
 Getter for expansion_size.
 
procedure, pass(this) get_size (this)
 Return size of allocated fields.
 
procedure, pass(this) get_inuse (this, index)
 Get value of inuse for a given index.
 
procedure, pass(this) request_host_array (this, v, index, n, clear)
 Get a new scratch host array.
 
procedure, pass(this) relinquish_host_array_single (this, index)
 Relinquish the use of a host_array in the registry.
 
procedure, pass(this) relinquish_host_array_multiple (this, indices)
 Relinquish the use of multiple host_arrays in the registry.
 
generic relinquish_host_array (this, index)
 Free a host array for later reuse.
 
generic relinquish_host_array (this, indices)
 Free a host array for later reuse.
 
procedure, pass(this) request_device_array (this, v, index, n, clear)
 Get a new scratch device array.
 
procedure, pass(this) relinquish_device_array_single (this, index)
 Relinquish the use of a device_array in the registry.
 
procedure, pass(this) relinquish_device_array_multiple (this, indices)
 Relinquish the use of multiple device_arrays in the registry.
 
generic relinquish_device_array (this, index)
 Free a device array for later reuse.
 
generic relinquish_device_array (this, indices)
 Free a device array for later reuse.
 
procedure, pass(this) request_vector (this, v, index, n, clear)
 Get a new scratch vector.
 
procedure, pass(this) relinquish_vector_single (this, index)
 Relinquish the use of a vector in the registry.
 
procedure, pass(this) relinquish_vector_multiple (this, indices)
 Relinquish the use of multiple vectors in the registry.
 
generic relinquish_vector (this, index)
 Free a vector for later reuse.
 
generic relinquish_vector (this, indices)
 Free a vector for later reuse.
 
procedure, pass(this) request_matrix (this, m, index, nrows, ncols, clear)
 Get a new scratch matrix.
 
procedure, pass(this) relinquish_matrix_single (this, index)
 Relinquish the use of a matrix in the registry.
 
procedure, pass(this) relinquish_matrix_multiple (this, indices)
 Relinquish the use of multiple matrices in the registry.
 
generic relinquish_matrix (this, index)
 Free a matrix for later reuse.
 
generic relinquish_matrix (this, indices)
 Free a matrix for later reuse.
 
procedure, pass(this) request_tensor3 (this, t, index, n, m, l, clear)
 Get a new scratch tensor3.
 
procedure, pass(this) relinquish_tensor3_single (this, index)
 Relinquish the use of a tensor3 in the registry.
 
procedure, pass(this) relinquish_tensor3_multiple (this, indices)
 Relinquish the use of multiple tensor3s in the registry.
 
generic relinquish_tensor3 (this, index)
 Free a tensor3 for later reuse.
 
generic relinquish_tensor3 (this, indices)
 Free a tensor3 for later reuse.
 
procedure, pass(this) request_tensor4 (this, t, index, n, m, l, k, clear)
 Get a new scratch tensor4.
 
procedure, pass(this) relinquish_tensor4_single (this, index)
 Relinquish the use of a tensor4 in the registry.
 
procedure, pass(this) relinquish_tensor4_multiple (this, indices)
 Relinquish the use of multiple tensor4s in the registry.
 
generic relinquish_tensor4 (this, index)
 Free a tensor4 for later reuse.
 
generic relinquish_tensor4 (this, indices)
 Free a tensor4 for later reuse.
 
procedure, pass(this) request_field_stored_dof (this, f, index, clear)
 Get a new scratch field based on the stored dofmap.
 
procedure, pass(this) request_field_free_dof (this, f, index, dof, clear)
 Get a new scratch field based on a provided dofmap.
 
procedure, pass(this) relinquish_field_single (this, index)
 Relinquish the use of a field in the registry.
 
procedure, pass(this) relinquish_field_multiple (this, indices)
 Relinquish the use of multiple fields in the registry.
 
generic request_field (this, f, index, clear)
 Get a new scratch field.
 
generic request_field (this, f, index, dof, clear)
 Get a new scratch field.
 
generic relinquish_field (this, index)
 Free a field for later reuse.
 
generic relinquish_field (this, indices)
 Free a field for later reuse.
 
generic request (this, v, index, n, clear)
 Generic request procedure.
 
generic request (this, v, index, n, clear)
 Generic request procedure.
 
generic request (this, v, index, n, clear)
 Generic request procedure.
 
generic request (this, m, index, nrows, ncols, clear)
 Generic request procedure.
 
generic request (this, t, index, n, m, l, clear)
 Generic request procedure.
 
generic request (this, t, index, n, m, l, k, clear)
 Generic request procedure.
 
generic request (this, f, index, clear)
 Generic request procedure.
 
generic request (this, f, index, dof, clear)
 Generic request procedure.
 
procedure, pass(this) relinquish_single (this, index)
 Generic relinquish procedure for single objects.
 
procedure, pass(this) relinquish_multiple (this, indices)
 Generic relinquish procedure for multiple objects.
 
generic relinquish (this, index)
 Generic relinquish procedure.
 
generic relinquish (this, indices)
 Generic relinquish procedure.
 

Public Attributes

type(dofmap_t), pointer dof => null()
 Dofmap.
 

Private Member Functions

procedure, pass(this), private expand (this)
 

Private Attributes

type(registry_entry_t), dimension(:), allocatable, private entries
 List of scratch objects.
 
logical, dimension(:), allocatable, private inuse
 Tracks which objects are used.
 
integer, private n_entries = 0
 Number of registered objects.
 
integer, private n_inuse = 0
 Number of objects in use.
 
integer, private expansion_size = 10
 The size the objects array is increased by upon reallocation.
 

Detailed Description

Definition at line 61 of file scratch_registry.f90.

Member Function/Subroutine Documentation

◆ expand()

procedure, pass(this), private scratch_registry::scratch_registry_t::expand ( class(scratch_registry_t), intent(inout)  this)
private

Definition at line 75 of file scratch_registry.f90.

◆ free()

procedure, pass(this) scratch_registry::scratch_registry_t::free ( class(scratch_registry_t), intent(inout)  this)

Definition at line 79 of file scratch_registry.f90.

◆ get_expansion_size()

procedure, pass(this) scratch_registry::scratch_registry_t::get_expansion_size ( class(scratch_registry_t), intent(in)  this)

Definition at line 87 of file scratch_registry.f90.

◆ get_inuse()

procedure, pass(this) scratch_registry::scratch_registry_t::get_inuse ( class(scratch_registry_t), intent(in), target  this,
integer, intent(in)  index 
)

Definition at line 91 of file scratch_registry.f90.

◆ get_n_entries()

procedure, pass(this) scratch_registry::scratch_registry_t::get_n_entries ( class(scratch_registry_t), intent(in)  this)

Definition at line 83 of file scratch_registry.f90.

◆ get_n_inuse()

procedure, pass(this) scratch_registry::scratch_registry_t::get_n_inuse ( class(scratch_registry_t), intent(in)  this)

Definition at line 85 of file scratch_registry.f90.

◆ get_size()

procedure, pass(this) scratch_registry::scratch_registry_t::get_size ( class(scratch_registry_t), intent(in)  this)

Definition at line 89 of file scratch_registry.f90.

◆ init()

procedure, pass(this) scratch_registry::scratch_registry_t::init ( class(scratch_registry_t), intent(inout)  this,
integer, intent(in), optional  size,
integer, intent(in), optional  expansion_size,
type(dofmap_t), intent(in), optional, target  dof 
)
Parameters
sizeInitial size of the registry
expansion_sizeSize to expand the registry by when needed
dofDofmap to associate with the scratch registry
Note
If no DOF map is provided here, it must be set later using scratch_registry_t::set_dofmap before requesting fields.

Definition at line 77 of file scratch_registry.f90.

◆ relinquish() [1/2]

generic scratch_registry::scratch_registry_t::relinquish ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the object to free

Definition at line 164 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish() [2/2]

generic scratch_registry::scratch_registry_t::relinquish ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the objects to free

Definition at line 164 of file scratch_registry.f90.

◆ relinquish_device_array() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_device_array ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the device_array to free

Definition at line 106 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_device_array() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_device_array ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the device_arrays to free

Definition at line 106 of file scratch_registry.f90.

◆ relinquish_device_array_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_device_array_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the device_arrays to free

Definition at line 104 of file scratch_registry.f90.

◆ relinquish_device_array_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_device_array_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the device_array to free

Definition at line 103 of file scratch_registry.f90.

◆ relinquish_field() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_field ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the field to free

Definition at line 151 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_field() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_field ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the fields to free

Definition at line 151 of file scratch_registry.f90.

◆ relinquish_field_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_field_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the fields to free

Definition at line 146 of file scratch_registry.f90.

◆ relinquish_field_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_field_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the field to free

Definition at line 145 of file scratch_registry.f90.

◆ relinquish_host_array() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_host_array ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the host_array to free

Definition at line 98 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_host_array() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_host_array ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the host_arrays to free

Definition at line 98 of file scratch_registry.f90.

◆ relinquish_host_array_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_host_array_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the host_arrays to free

Definition at line 96 of file scratch_registry.f90.

◆ relinquish_host_array_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_host_array_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the host_array to free

Definition at line 95 of file scratch_registry.f90.

◆ relinquish_matrix() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_matrix ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the matrix to free

Definition at line 122 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_matrix() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_matrix ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the matrices to free

Definition at line 122 of file scratch_registry.f90.

◆ relinquish_matrix_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_matrix_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the matrices to free

Definition at line 120 of file scratch_registry.f90.

◆ relinquish_matrix_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_matrix_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the matrix to free

Definition at line 119 of file scratch_registry.f90.

◆ relinquish_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the objects to free

Definition at line 162 of file scratch_registry.f90.

◆ relinquish_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the object to free

Definition at line 160 of file scratch_registry.f90.

◆ relinquish_tensor3() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_tensor3 ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the tensor3 to free

Definition at line 130 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_tensor3() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_tensor3 ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the tensor3s to free

Definition at line 130 of file scratch_registry.f90.

◆ relinquish_tensor3_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_tensor3_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the tensor3s to free

Definition at line 128 of file scratch_registry.f90.

◆ relinquish_tensor3_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_tensor3_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the tensor3 to free

Definition at line 127 of file scratch_registry.f90.

◆ relinquish_tensor4() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_tensor4 ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the tensor4 to free

Definition at line 138 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_tensor4() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_tensor4 ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the tensor4s to free

Definition at line 138 of file scratch_registry.f90.

◆ relinquish_tensor4_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_tensor4_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the tensor4s to free

Definition at line 136 of file scratch_registry.f90.

◆ relinquish_tensor4_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_tensor4_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the tensor4 to free

Definition at line 135 of file scratch_registry.f90.

◆ relinquish_vector() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_vector ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the vector to free

Definition at line 114 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_vector() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_vector ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the vectors to free

Definition at line 114 of file scratch_registry.f90.

◆ relinquish_vector_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_vector_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout)  indices 
)
Parameters
indicesThe indices of the vectors to free

Definition at line 112 of file scratch_registry.f90.

◆ relinquish_vector_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_vector_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout)  index 
)
Parameters
indexThe index of the vector to free

Definition at line 111 of file scratch_registry.f90.

◆ request() [1/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
clearIf true, the field values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [2/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
type(dofmap_t), intent(in), target  dof,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
dofDofmap to use for the field.
clearIf true, the field values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [3/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(matrix_t), intent(inout), pointer  m,
integer, intent(inout)  index,
integer, intent(in)  nrows,
integer, intent(in)  ncols,
logical, intent(in)  clear 
)
Parameters
mPointer to the requested matrix.
indexIndex of the matrix in the registry (for relinquishing later).
nrowsNumber of rows of the requested matrix.
ncolsNumber of columns of the requested matrix.
clearIf true, the matrix values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [4/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(tensor3_t), intent(inout), pointer  t,
integer, intent(inout)  index,
integer, intent(in)  n,
integer, intent(in)  m,
integer, intent(in)  l,
logical, intent(in)  clear 
)
Parameters
tPointer to the requested tensor3.
indexIndex of the tensor3 in the registry (for relinquishing later).
nNumber of rows of the requested tensor3.
mNumber of columns of the requested tensor3.
lNumber of layers of the requested tensor3.
clearIf true, the tensor3 values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [5/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(tensor4_t), intent(inout), pointer  t,
integer, intent(inout)  index,
integer, intent(in)  n,
integer, intent(in)  m,
integer, intent(in)  l,
integer, intent(in)  k,
logical, intent(in)  clear 
)
Parameters
tPointer to the requested tensor4.
indexIndex of the tensor4 in the registry (for relinquishing later).
nNumber of rows of the requested tensor4.
mNumber of columns of the requested tensor4.
lNumber of layers of the requested tensor4.
kNumber of slices of the requested tensor4.
clearIf true, the tensor4 values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [6/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
real(kind=rp), dimension(:), intent(inout), pointer  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested host array.
indexIndex of the host array in the registry (for relinquishing later).
nSize of the requested host_array.
clearIf true, the host_array values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

Here is the call graph for this function:

◆ request() [7/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(c_ptr), intent(inout)  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested device array.
indexIndex of the device array in the registry (for relinquishing later).
nSize of the requested device array.
clearIf true, the device array values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request() [8/8]

generic scratch_registry::scratch_registry_t::request ( class(scratch_registry_t), intent(inout), target  this,
type(vector_t), intent(inout), pointer  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested vector.
indexIndex of the vector in the registry (for relinquishing later).
nSize of the requested vector.
clearIf true, the vector values are set to zero upon request.

Definition at line 155 of file scratch_registry.f90.

◆ request_device_array()

procedure, pass(this) scratch_registry::scratch_registry_t::request_device_array ( class(scratch_registry_t), intent(inout), target  this,
type(c_ptr), intent(inout)  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested device array.
indexIndex of the device array in the registry (for relinquishing later).
nSize of the requested device array.
clearIf true, the device array values are set to zero upon request.

Definition at line 102 of file scratch_registry.f90.

◆ request_field() [1/2]

generic scratch_registry::scratch_registry_t::request_field ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
clearIf true, the field values are set to zero upon request.

Definition at line 148 of file scratch_registry.f90.

Here is the call graph for this function:

◆ request_field() [2/2]

generic scratch_registry::scratch_registry_t::request_field ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
type(dofmap_t), intent(in), target  dof,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
dofDofmap to use for the field.
clearIf true, the field values are set to zero upon request.

Definition at line 148 of file scratch_registry.f90.

◆ request_field_free_dof()

procedure, pass(this) scratch_registry::scratch_registry_t::request_field_free_dof ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
type(dofmap_t), intent(in), target  dof,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
dofDofmap to use for the field.
clearIf true, the field values are set to zero upon request.

Definition at line 144 of file scratch_registry.f90.

◆ request_field_stored_dof()

procedure, pass(this) scratch_registry::scratch_registry_t::request_field_stored_dof ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout)  index,
logical, intent(in)  clear 
)
Parameters
fPointer to the requested field.
indexIndex of the field in the registry (for relinquishing later).
clearIf true, the field values are set to zero upon request.

Definition at line 142 of file scratch_registry.f90.

◆ request_host_array()

procedure, pass(this) scratch_registry::scratch_registry_t::request_host_array ( class(scratch_registry_t), intent(inout), target  this,
real(kind=rp), dimension(:), intent(inout), pointer  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested host array.
indexIndex of the host array in the registry (for relinquishing later).
nSize of the requested host_array.
clearIf true, the host_array values are set to zero upon request.

Definition at line 94 of file scratch_registry.f90.

◆ request_matrix()

procedure, pass(this) scratch_registry::scratch_registry_t::request_matrix ( class(scratch_registry_t), intent(inout), target  this,
type(matrix_t), intent(inout), pointer  m,
integer, intent(inout)  index,
integer, intent(in)  nrows,
integer, intent(in)  ncols,
logical, intent(in)  clear 
)
Parameters
mPointer to the requested matrix.
indexIndex of the matrix in the registry (for relinquishing later).
nrowsNumber of rows of the requested matrix.
ncolsNumber of columns of the requested matrix.
clearIf true, the matrix values are set to zero upon request.

Definition at line 118 of file scratch_registry.f90.

◆ request_tensor3()

procedure, pass(this) scratch_registry::scratch_registry_t::request_tensor3 ( class(scratch_registry_t), intent(inout), target  this,
type(tensor3_t), intent(inout), pointer  t,
integer, intent(inout)  index,
integer, intent(in)  n,
integer, intent(in)  m,
integer, intent(in)  l,
logical, intent(in)  clear 
)
Parameters
tPointer to the requested tensor3.
indexIndex of the tensor3 in the registry (for relinquishing later).
nNumber of rows of the requested tensor3.
mNumber of columns of the requested tensor3.
lNumber of layers of the requested tensor3.
clearIf true, the tensor3 values are set to zero upon request.

Definition at line 126 of file scratch_registry.f90.

◆ request_tensor4()

procedure, pass(this) scratch_registry::scratch_registry_t::request_tensor4 ( class(scratch_registry_t), intent(inout), target  this,
type(tensor4_t), intent(inout), pointer  t,
integer, intent(inout)  index,
integer, intent(in)  n,
integer, intent(in)  m,
integer, intent(in)  l,
integer, intent(in)  k,
logical, intent(in)  clear 
)
Parameters
tPointer to the requested tensor4.
indexIndex of the tensor4 in the registry (for relinquishing later).
nNumber of rows of the requested tensor4.
mNumber of columns of the requested tensor4.
lNumber of layers of the requested tensor4.
kNumber of slices of the requested tensor4.
clearIf true, the tensor4 values are set to zero upon request.

Definition at line 134 of file scratch_registry.f90.

◆ request_vector()

procedure, pass(this) scratch_registry::scratch_registry_t::request_vector ( class(scratch_registry_t), intent(inout), target  this,
type(vector_t), intent(inout), pointer  v,
integer, intent(inout)  index,
integer, intent(in)  n,
logical, intent(in)  clear 
)
Parameters
vPointer to the requested vector.
indexIndex of the vector in the registry (for relinquishing later).
nSize of the requested vector.
clearIf true, the vector values are set to zero upon request.

Definition at line 110 of file scratch_registry.f90.

◆ set_dofmap()

procedure, pass(this) scratch_registry::scratch_registry_t::set_dofmap ( class(scratch_registry_t), intent(inout)  this,
type(dofmap_t), intent(in), target  dof 
)
Parameters
dofDofmap to assign
Note
First check if a dofmap is already assigned, and throw an error, unless it's the same dofmap.

Definition at line 81 of file scratch_registry.f90.

Member Data Documentation

◆ dof

type(dofmap_t), pointer scratch_registry::scratch_registry_t::dof => null()

Definition at line 73 of file scratch_registry.f90.

◆ entries

type(registry_entry_t), dimension(:), allocatable, private scratch_registry::scratch_registry_t::entries
private

Definition at line 63 of file scratch_registry.f90.

◆ expansion_size

integer, private scratch_registry::scratch_registry_t::expansion_size = 10
private

Definition at line 71 of file scratch_registry.f90.

◆ inuse

logical, dimension(:), allocatable, private scratch_registry::scratch_registry_t::inuse
private

Definition at line 65 of file scratch_registry.f90.

◆ n_entries

integer, private scratch_registry::scratch_registry_t::n_entries = 0
private

Definition at line 67 of file scratch_registry.f90.

◆ n_inuse

integer, private scratch_registry::scratch_registry_t::n_inuse = 0
private

Definition at line 69 of file scratch_registry.f90.


The documentation for this type was generated from the following file: