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

The scatterer registry class. More...

#include <SF_abstract_vector.h>

Collaboration diagram for SF::scatter_registry< T >:

Public Member Functions

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...
 
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

template<class T>
class SF::scatter_registry< T >

The scatterer registry class.

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

Template Parameters
TInteger type.

Definition at line 733 of file SF_abstract_vector.h.

Member Function Documentation

◆ free_scatterings()

template<class T>
void SF::scatter_registry< T >::free_scatterings ( )
inline

Free the registered scatterings.

Definition at line 892 of file SF_abstract_vector.h.

◆ get_scattering()

template<class T>
scattering* SF::scatter_registry< T >::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 878 of file SF_abstract_vector.h.

◆ register_permutation()

template<class T>
scattering* SF::scatter_registry< T >::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 753 of file SF_abstract_vector.h.

◆ register_scattering()

template<class T>
scattering* SF::scatter_registry< T >::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 810 of file SF_abstract_vector.h.


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