14 #ifndef _SAM_PATCH_PETSC_H
15 #define _SAM_PATCH_PETSC_H
90 mutable IS glob2LocEq =
nullptr;
98 bool scatterCreated =
false;
100 mutable std::map<char,DofIS> dofIS;
103 DofIS& getIS(
char dofType)
const;
std::vector< int > IntVec
General integer vector.
Definition: ASMbase.h:25
#define Real
The floating point type to use.
Definition: ImmersedBoundaries.h:18
int IS
To avoid compilation failures.
Definition: PETScSupport.h:51
Assembly of FE matrices into system matrices for multi-patch models.
Class for administration of MPI processes in IFEM library.
Definition: ProcessAdm.h:33
This is a sub-class of SAMpatch with support for parallel processing.
Definition: SAMpatchPETSc.h:29
SAMpatchPETSc(const std::map< int, int > &g2ln, const ProcessAdm &padm)
The constructor initializes the l2gn array.
Definition: SAMpatchPETSc.C:20
int nProc
Number of processes.
Definition: SAMpatchPETSc.h:83
IntVec l2gn
Local-to-global node numbers for this processor.
Definition: SAMpatchPETSc.h:85
virtual Real dot(const Vector &x, const Vector &y, char dofType='D') const
Computes the dot-product of two vectors.
Definition: SAMpatchPETSc.C:45
virtual Real normL2(const Vector &x, char dofType='D') const
Computes the L2-norm of a vector.
Definition: SAMpatchPETSc.C:89
const ProcessAdm & adm
Parallel process administrator.
Definition: SAMpatchPETSc.h:87
virtual Real normInf(const Vector &x, size_t &comp, char dofType='D') const
Computes the inf-norm of a vector.
Definition: SAMpatchPETSc.C:127
virtual ~SAMpatchPETSc()
The destructor destroys the index set arrays.
Definition: SAMpatchPETSc.C:28
IntVec ghostNodes
Indices for the ghost nodes.
Definition: SAMpatchPETSc.h:84
virtual bool expandSolution(const SystemVector &solVec, Vector &dofVec, Real scaleSD) const
Expands a solution vector from equation-ordering to DOF-ordering.
Definition: SAMpatchPETSc.C:179
This is a sub-class of SAM with added functionality for spline models.
Definition: SAMpatch.h:29
Base class for representing a system vector on different formats.
Definition: SystemMatrix.h:32
A vector class with some added algebraic operations.
Definition: matrix.h:64