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 (overlapping_layout< T > &pl, bool use_rcm=false)
 
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 237 of file SF_numbering.h.

Constructor & Destructor Documentation

◆ petsc_numbering()

template<class T , class S >
SF::petsc_numbering< T, S >::petsc_numbering ( overlapping_layout< T > &  pl,
bool  use_rcm = false 
)
inline
Parameters
plOverlapping parallel layout. Reordered in place when use_rcm is set.
use_rcmIf true, apply the reversed breadth-first renumbering; otherwise ascending.

Definition at line 247 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 270 of file SF_numbering.h.


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