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

Functor class generating a numbering optimized for PETSc. More...

#include <SF_numbering.h>

Inheritance diagram for SF::petsc_numbering< T, S >:
Collaboration diagram for SF::petsc_numbering< T, S >:

Public Member Functions

 petsc_numbering (const overlapping_layout< T > &pl)
 
void operator() (meshdata< T, S > &mesh)
 Generate a numbering as necessary for good PETSc parallel performance. More...
 

Detailed Description

template<class T, class S>
class SF::petsc_numbering< T, S >

Functor class generating a numbering optimized for PETSc.

Template Parameters
TInteger type.
SFloating point type.

Definition at line 230 of file SF_numbering.h.

Constructor & Destructor Documentation

◆ petsc_numbering()

template<class T, class S>
SF::petsc_numbering< T, S >::petsc_numbering ( const overlapping_layout< T > &  pl)
inline

Definition at line 235 of file SF_numbering.h.

Member Function Documentation

◆ operator()()

template<class T, class S>
void SF::petsc_numbering< T, S >::operator() ( meshdata< T, S > &  mesh)
inlinevirtual

Generate a numbering as necessary for good PETSc parallel performance.

PETSc implicitly the following parallel layout of unknowns:

Rank unknowns intervals
0 [0,1,...,N0-1]
1 [N0,N0+1,...,N1-1]
... ...

For good parallel performance, the node indices used in the domain decomposition should match as closely as possible to the described layout. This makes a renumbering necessary.

Parameters
[in,out]meshThe mesh.
Postcondition
A PETSc numbering has been added to the mesh.

Implements SF::numbering< T, S >.

Definition at line 258 of file SF_numbering.h.


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