template<class T, int MatOrder>
class gismo::gsFlowVisitor< T, MatOrder >
Base class for incompressible flow visitors.
- Template Parameters
-
T | real number type |
MatOrder | sparse matrix storage order (ColMajor/RowMajor) |
Inherited by gsFlowVisitorVectorValued< T, MatOrder >, gsINSVisitorPP< T, MatOrder >, gsINSVisitorRhsP< T, MatOrder >, gsINSVisitorRhsU< T, MatOrder >, and gsINSVisitorUU< T, MatOrder >.
|
virtual void | assemble () |
| Assemble the local matrix.
|
|
void | evaluate (const gsDomainIterator< T > *domIt) |
| Evaluate basis data on the current element (used for element-by-element assembly).
|
|
void | evaluate (index_t testFunID) |
| Evaluate basis data on the support of a given test function (used for row-by-row assembly).
|
|
void | initialize () |
| Initialize the visitor.
|
|
void | initOnPatch (index_t patchID) |
| Initialize the visitor on the given patch.
|
|
virtual void | localToGlobal (const std::vector< gsMatrix< T > > &eliminatedDofs, gsSparseMatrix< T, MatOrder > &globalMat, gsMatrix< T > &globalRhs) |
| Map local matrix to the global matrix.
|
|
virtual void | localToGlobal (gsMatrix< T > &globalRhs) |
| Map local rhs vector to the global rhs vector.
|
|
void | setCurrentSolution (gsField< T > &solution) |
| Set the current solution field.
|
|
void | setCurrentSolution (std::vector< gsField< T > > &solutions) |
| Set all needed current solution fields.
|
|
void | updateDofMappers (const std::vector< gsDofMapper > &mappers) |
| Update DoF mappers.
|
|
|
virtual void | defineTerms () |
| Define terms to be evaluated according to visitor type and given parameters.
|
|
virtual void | defineTestShapeBases () |
| Set pointers to test and shape basis.
|
|
virtual void | defineTestShapeUnknowns () |
| Set test and shape basis unknown IDs according to visitor type.
|
|
void | evalBasisData (const unsigned &basisFlags, const gsBasis< T > *basisPtr, gsMatrix< index_t > &activesUnique, std::vector< gsMatrix< T > > &basisData) |
| Evaluate required data for the given basis.
|
|
void | evalSingleFunData (const unsigned &basisFlags, const gsBasis< T > *basisPtr, const index_t funID, std::vector< gsMatrix< T > > &basisData) |
| Evaluate required data for the given basis function.
|
|
void | gatherEvalFlags () |
| Gather evaluation flags from all terms.
|
|
virtual void | setupQuadrature () |
| Setup the quadrature rule.
|
|
◆ evalBasisData()
template<class T , int MatOrder>
void evalBasisData |
( |
const unsigned & |
basisFlags, |
|
|
const gsBasis< T > * |
basisPtr, |
|
|
gsMatrix< index_t > & |
activesUnique, |
|
|
std::vector< gsMatrix< T > > & |
basisData |
|
) |
| |
|
protected |
Evaluate required data for the given basis.
- Parameters
-
[in] | basisFlags | evaluation flags |
[in] | basisPtr | the given basis |
[out] | activesUnique | vector of indices of basis functions that are nonzero in any of quNodes |
[out] | basisData | resulting data |
◆ evalSingleFunData()
template<class T , int MatOrder>
void evalSingleFunData |
( |
const unsigned & |
basisFlags, |
|
|
const gsBasis< T > * |
basisPtr, |
|
|
const index_t |
funID, |
|
|
std::vector< gsMatrix< T > > & |
basisData |
|
) |
| |
|
protected |
Evaluate required data for the given basis function.
- Parameters
-
[in] | basisFlags | evaluation flags |
[in] | basisPtr | the given basis |
[in] | funID | index of the function to be evaluated |
[out] | basisData | resulting data |
◆ evaluate() [1/2]
template<class T , int MatOrder>
Evaluate basis data on the current element (used for element-by-element assembly).
- Parameters
-
[in] | domIt | domain iterator pointing to the current element |
◆ evaluate() [2/2]
template<class T , int MatOrder>
Evaluate basis data on the support of a given test function (used for row-by-row assembly).
- Parameters
-
[in] | testFunID | the local test function index on the current patch |
◆ initOnPatch()
template<class T , int MatOrder>
void initOnPatch |
( |
index_t |
patchID | ) |
|
Initialize the visitor on the given patch.
- Parameters
-
[in] | patchID | the patch number |
◆ localToGlobal() [1/2]
template<class T , int MatOrder>
virtual void localToGlobal |
( |
const std::vector< gsMatrix< T > > & |
eliminatedDofs, |
|
|
gsSparseMatrix< T, MatOrder > & |
globalMat, |
|
|
gsMatrix< T > & |
globalRhs |
|
) |
| |
|
inlinevirtual |
Map local matrix to the global matrix.
- Parameters
-
[in] | eliminatedDofs | coefficients of the eliminated Dirichlet DoFs |
[out] | globalMat | resulting global matrix |
[out] | globalRhs | resulting global rhs |
◆ localToGlobal() [2/2]
template<class T , int MatOrder>
virtual void localToGlobal |
( |
gsMatrix< T > & |
globalRhs | ) |
|
|
inlinevirtual |
Map local rhs vector to the global rhs vector.
- Parameters
-
[out] | globalRhs | resulting global rhs |
◆ setCurrentSolution() [1/2]
template<class T , int MatOrder>
void setCurrentSolution |
( |
gsField< T > & |
solution | ) |
|
Set the current solution field.
- Parameters
-
[in] | solution | new solution field |
◆ setCurrentSolution() [2/2]
template<class T , int MatOrder>
void setCurrentSolution |
( |
std::vector< gsField< T > > & |
solutions | ) |
|
Set all needed current solution fields.
- Parameters
-
[in] | solutions | vector of new solution fields |
◆ updateDofMappers()
template<class T , int MatOrder>
void updateDofMappers |
( |
const std::vector< gsDofMapper > & |
mappers | ) |
|
|
inline |
Update DoF mappers.
- Parameters
-