openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
Public Member Functions | List of all members
SF::scatter_registry Class Reference

The scatterer registry class. More...

#include <SF_abstract_vector.h>

Collaboration diagram for SF::scatter_registry:

Public Member Functions

template<class T >
scatteringregister_permutation (const quadruple< int > spec, const vector< T > &nbr_a, const vector< T > &nbr_b, const size_t gsize_a, const size_t gsize_b, const short dpn)
 Register a permutation scattering. More...
 
template<class T >
scatteringregister_scattering (const quadruple< int > spec, const vector< T > &layout_a, const vector< T > &layout_b, const vector< T > &idx_a, const vector< T > &idx_b, const int rank, const int dpn)
 Register a scattering. More...
 
scatteringget_scattering (const quadruple< int > spec)
 Access an previously registered scattering. More...
 
void free_scatterings ()
 Free the registered scatterings. More...
 

Detailed Description

The scatterer registry class.

Scatterings between arbitrary numberings and parallel layouts can be registered for later access.

Template Parameters
TInteger type.

Definition at line 755 of file SF_abstract_vector.h.

Member Function Documentation

◆ free_scatterings()

void SF::scatter_registry::free_scatterings ( )
inline

Free the registered scatterings.

Definition at line 914 of file SF_abstract_vector.h.

Here is the caller graph for this function:

◆ get_scattering()

scattering* SF::scatter_registry::get_scattering ( const quadruple< int >  spec)
inline

Access an previously registered scattering.

Parameters
[in]specScattering specification, see register routines.
[out]use_forwardIf the scattering was found, this is true. If only the transposed scattering was found this is false and the returned scattering has to be used transposed.
Returns
The requested scattering.

Definition at line 900 of file SF_abstract_vector.h.

Here is the caller graph for this function:

◆ register_permutation()

template<class T >
scattering* SF::scatter_registry::register_permutation ( const quadruple< int >  spec,
const vector< T > &  nbr_a,
const vector< T > &  nbr_b,
const size_t  gsize_a,
const size_t  gsize_b,
const short  dpn 
)
inline

Register a permutation scattering.

Parameters
[in]specThe spec specifies: v1 = mesh ID, v2 = permutation type, v3 = numbering, v4 = dpn
[in]nbr_aNodal numbering of "a" side.
[in]nbr_bNodal numbering of "b" side.
[in]gsize_aGlobal nodal size of "a" side.
[in]gsize_bGlobal nodal size of "b" side.
[in]dpnDegrees of freedom per node index.
Postcondition
Scattering has been registered and set up.

Definition at line 775 of file SF_abstract_vector.h.

Here is the caller graph for this function:

◆ register_scattering()

template<class T >
scattering* SF::scatter_registry::register_scattering ( const quadruple< int >  spec,
const vector< T > &  layout_a,
const vector< T > &  layout_b,
const vector< T > &  idx_a,
const vector< T > &  idx_b,
const int  rank,
const int  dpn 
)
inline

Register a scattering.

Postcondition
Scattering has been registered and set up.

Definition at line 832 of file SF_abstract_vector.h.

Here is the caller graph for this function:

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