template<class T, int MatOrder>
class gismo::gsFlowAssemblerBase< T, MatOrder >
A base class for all assemblers in gsIncompressibleFlow.
- Template Parameters
-
T | real number type |
MatOrder | sparse matrix storage order (ColMajor/RowMajor) |
|
virtual gsField< T > | constructSolution (const gsMatrix< T > &solVector, index_t unk) const |
| Construct solution from computed solution vector for unknown unk.
|
|
gsAssemblerOptions | getAssemblerOptions () const |
| Returns the assembler options.
|
|
std::vector< gsMultiBasis< T > > & | getBases () |
| Returns a reference to the discretization bases.
|
|
const gsBoundaryConditions< T > & | getBCs () const |
| Returns a const reference to the boundary conditions.
|
|
const std::vector< gsMatrix< T > > & | getDirichletDofs () const |
| Returns a const reference to the vectors of coefficients at the Dirichlet boundaries.
|
|
const std::vector< gsDofMapper > & | getMappers () const |
| Returns a const reference to the DOF mappers.
|
|
virtual gsSparseMatrix< T, MatOrder > & | getMassMatrix (index_t unkID) |
| Returns the mass matrix for unknown with index unk. There is also a const version.
|
|
const gsMultiPatch< T > & | getPatches () const |
| Returns a const reference to the multipatch representing the computational domain.
|
|
const gsFunction< T > * | getRhsFcn () const |
| Returns a pointer to the right-hand-side function.
|
|
const gsMatrix< T > & | getSolution () const |
| Returns a const reference to the current computed solution.
|
|
short_t | getTarDim () const |
| Returns the target dimension.
|
|
virtual void | initialize () |
| Initialize the assembler.
|
|
bool | isInitialized () |
| Returns true if the assembler has been initialized.
|
|
virtual void | markDofsAsEliminatedZeros (const std::vector< gsMatrix< index_t > > &boundaryDofs, const index_t unk) |
| Eliminate given DOFs as homogeneous Dirichlet boundary.
|
|
virtual const gsSparseMatrix< T, MatOrder > & | matrix () const |
| Returns the assembled matrix.
|
|
virtual const gsSparseMatrix< T, MatOrder > & | matrix (index_t unk) const |
| Returns the assembled matrix for unknown with index unk (e.g. from two-equation turbulence models).
|
|
index_t | numDofs () const |
| Returns the number of degrees of freedom (DOFs).
|
|
gsOptionList | options () const |
| Returns the flow solver option list.
|
|
virtual const gsMatrix< T > & | rhs () const |
| Returns the assembled right-hand side.
|
|
virtual const gsMatrix< T > & | rhs (index_t unk) const |
| Returns the assembled right-hand side for unknown with index unk (e.g. from two-equation turbulence models).
|
|
virtual void | update (const gsMatrix< T > &solVector, bool updateSol=true) |
| Update the assembler in new nonlinear iteration.
|
|
|
void | assembleBlock (gsFlowVisitor< T, MatOrder > &visitor, index_t testBasisID, gsSparseMatrix< T, MatOrder > &block, gsMatrix< T > &blockRhs) |
| Assemble a matrix block.
|
|
virtual void | assembleLinearPart () |
| Assemble the linear part of the problem.
|
|
virtual void | assembleNonlinearPart () |
| Assemble the nonlinear part of the problem.
|
|
void | assembleRhs (gsFlowVisitor< T, MatOrder > &visitor, index_t testBasisID, gsMatrix< T > &rhs) |
| Assemble the right-hand side.
|
|
void | computeDirichletDofs (const index_t unk, const index_t basisID, gsMatrix< T > &ddofVector) |
| Compute the coefficients of the basis functions at the Dirichlet boundaries.
|
|
void | computeDirichletDofsIntpl (const index_t unk, const gsDofMapper &mapper, const gsMultiBasis< T > &mbasis, gsMatrix< T > &ddofVector) |
| Compute the coefficients of the basis functions at the Dirichlet boundaries using interpolation.
|
|
void | computeDirichletDofsL2Proj (const index_t unk, const gsDofMapper &mapper, const gsMultiBasis< T > &mbasis, gsMatrix< T > &ddofVector) |
| Compute the coefficients of the basis functions at the Dirichlet boundaries using L2-projection.
|
|
void | initMembers () |
| Initialize the class members.
|
|
virtual void | updateAssembly () |
| Assemble all that needs to be updated in each nonlinear iteration.
|
|
virtual void | updateCurrentSolField (const gsMatrix< T > &solVector, bool updateSol) |
| Update current solution field stored in the assembler.
|
|
virtual void | updateDofMappers () |
| Update the DOF mappers in all visitors (when DOF numbers change, e.g. after markDofsAsEliminatedZeros()).
|
|
virtual void | updateSizes () |
| Update sizes of members (when DOF numbers change, e.g. after markDofsAsEliminatedZeros()).
|
|
template<class T , int MatOrder>
Returns a reference to the discretization bases.
In the case of velocity and pressure, the velocity basis is stored first, the pressure basis is second.
There is also a const version returning a const reference.
template<class T , int MatOrder>
const std::vector< gsMatrix< T > > & getDirichletDofs |
( |
| ) |
const |
|
inline |
Returns a const reference to the vectors of coefficients at the Dirichlet boundaries.
In the case of velocity and pressure, the vector of velocity coefficients is stored first, the vector of pressure coefficients is second.