LifeV
|
OseenAssembler - Assembly class for the Oseen problem. More...
#include <OseenAssembler.hpp>
Private Types | |
typedef CurrentFE | currentFE_Type |
typedef std::unique_ptr< currentFE_Type > | currentFEPtr_Type |
typedef MatrixElemental | localMatrix_Type |
typedef std::unique_ptr< localMatrix_Type > | localMatrixPtr_Type |
typedef VectorElemental | localVector_Type |
typedef std::unique_ptr< localVector_Type > | localVectorPtr_Type |
Public Types | |
typedef MapEpetra | map_Type |
typedef FESpace< meshType, map_Type > | fespace_Type |
typedef std::shared_ptr< fespace_Type > | fespacePtr_Type |
typedef AssemblyElemental::function_Type | function_Type |
typedef std::shared_ptr< matrixType > | matrixPtr_Type |
typedef LifeChrono | chrono_Type |
Constructor & Destructor | |
OseenAssembler () | |
Empty Constructor. More... | |
virtual | ~OseenAssembler () |
Destructor. More... | |
Methods | |
void | setup (const fespacePtr_Type &uFESpace, const fespacePtr_Type &pFESpace) |
Setup method for the FESpaces. More... | |
void | setup (const fespacePtr_Type &uFESpace, const fespacePtr_Type &pFESpace, const fespacePtr_Type &betaFESpace) |
Setup method for the FESpace with a different space for the convective field. More... | |
Assembly procedures | |
void | addViscousStress (matrixType &matrix, const Real &viscosity) |
Add the viscous stress in the standard block. More... | |
void | addViscousStress (matrixType &matrix, const Real &viscosity, const UInt &offsetLeft, const UInt &offsetUp) |
Add the viscous stress using the given offsets. More... | |
void | addStiffStrain (matrixType &matrix, const Real &viscosity) |
Add the stiff strain in the standard block. More... | |
void | addStiffStrain (matrixType &matrix, const Real &viscosity, const UInt &offsetLeft, const UInt &offsetUp) |
Add the stiff strain using the given offsets. More... | |
void | addGradPressure (matrixType &matrix) |
Add the term involved in the gradient of the pressure term. More... | |
void | addGradPressure (matrixType &matrix, const UInt &offsetLeft, const UInt &offsetUp) |
Add the term involved in the gradient of the pressure term using the given offsets. More... | |
void | addGradientTranspose (matrixType &matrix, const Real &coefficient=1.0) |
Add the term corresponding to the divergence free constraint. More... | |
void | addGradientTranspose (matrixType &matrix, const UInt &offsetLeft, const UInt &offsetUp, const Real &coefficient=1.0) |
Add the divergence free constraint in a given position of the matrix using the grad calls. More... | |
void | addDivergence (matrixType &matrix, const Real &coefficient=1.0) |
Add the term corresponding to the divergence free constraint. More... | |
void | addDivergence (matrixType &matrix, const UInt &offsetLeft, const UInt &offsetUp, const Real &coefficient=1.0) |
Add the divergence free constraint in a given position of the matrix. More... | |
void | addMass (matrixType &matrix, const Real &coefficient) |
Add the mass. More... | |
void | addMass (matrixType &matrix, const Real &coefficient, const UInt &offsetLeft, const UInt offsetUp) |
Add the mass using offsets. More... | |
void | addPressureMass (matrixType &matrix, const Real &coefficient) |
Add the Pressure mass. More... | |
void | addPressureMass (matrixType &matrix, const Real &coefficient, const UInt &offsetLeft, const UInt offsetUp) |
Add the mass using offsets. More... | |
void | addMassDivW (matrixType &matrix, const Real &coefficient, const vectorType &beta) |
Add a consistent stabilizing term. More... | |
void | addMassDivW (matrixType &matrix, const Real &coefficient, const vectorType &beta, const UInt &offsetLeft, const UInt offsetUp) |
Add a consistent stabilizing term with the given offsets. More... | |
void | addConvection (matrixType &matrix, const Real &coefficient, const vectorType &beta) |
Add the convective term. More... | |
void | addConvection (matrixType &matrix, const Real &coefficient, const vectorType &beta, const UInt &offsetLeft, const UInt offsetUp) |
Add the convective term with the given offsets. More... | |
void | addNewtonConvection (matrixType &matrix, const vectorType &beta, const UInt &offsetLeft, const UInt offsetUp) |
Add the convective term necessary to build the Newton method. More... | |
void | addNewtonConvection (matrixType &matrix, const vectorType &beta) |
Add the convective term necessary to build the Newton method. More... | |
void | addSymmetricConvection (matrixType &matrix, const Real &coefficient, const vectorType &beta) |
Add the convective term. More... | |
void | addSymmetricConvection (matrixType &matrix, const Real &coefficient, const vectorType &beta, const UInt &offsetLeft, const UInt offsetUp) |
Add the symmetric convective term with the given offset. More... | |
void | addConvectionRhs (vectorType &rhs, const Real &coefficient, const vectorType &velocity) |
Add an explicit convection term to the right hand side. More... | |
void | addMassRhs (vectorType &rhs, const function_Type &fun, const Real &t) |
void | addFluxTerms (vectorType &vector, BCHandler const &bcHandler) |
Set Methods | |
void | setQuadRuleForMassRhs (const QuadratureRule &qr) |
Setter for the quadrature used for the right hand side. More... | |
Private Methods | |
OseenAssembler (const OseenAssembler &) | |
OseenAssembler - Assembly class for the Oseen problem.
Signes!! Coefficients
Definition at line 66 of file OseenAssembler.hpp.
Definition at line 73 of file OseenAssembler.hpp.
typedef FESpace<meshType, map_Type> fespace_Type |
Definition at line 75 of file OseenAssembler.hpp.
typedef std::shared_ptr<fespace_Type> fespacePtr_Type |
Definition at line 76 of file OseenAssembler.hpp.
Definition at line 78 of file OseenAssembler.hpp.
typedef std::shared_ptr<matrixType> matrixPtr_Type |
Definition at line 80 of file OseenAssembler.hpp.
typedef LifeChrono chrono_Type |
Definition at line 82 of file OseenAssembler.hpp.
|
private |
Definition at line 264 of file OseenAssembler.hpp.
|
private |
Definition at line 265 of file OseenAssembler.hpp.
|
private |
Definition at line 267 of file OseenAssembler.hpp.
|
private |
Definition at line 268 of file OseenAssembler.hpp.
|
private |
Definition at line 270 of file OseenAssembler.hpp.
|
private |
Definition at line 271 of file OseenAssembler.hpp.
OseenAssembler | ( | ) |
Empty Constructor.
Definition at line 334 of file OseenAssembler.hpp.
|
inlinevirtual |
Destructor.
Definition at line 94 of file OseenAssembler.hpp.
|
private |
|
inline |
Setup method for the FESpaces.
This method sets the FESpace for the assembly. With this method, the convective field is assumed to be the same as the velocity field. If they differ, use another setup method.
Definition at line 108 of file OseenAssembler.hpp.
void setup | ( | const fespacePtr_Type & | uFESpace, |
const fespacePtr_Type & | pFESpace, | ||
const fespacePtr_Type & | betaFESpace | ||
) |
Setup method for the FESpace with a different space for the convective field.
Definition at line 368 of file OseenAssembler.hpp.
|
inline |
Add the viscous stress in the standard block.
Definition at line 123 of file OseenAssembler.hpp.
void addViscousStress | ( | matrixType & | matrix, |
const Real & | viscosity, | ||
const UInt & | offsetLeft, | ||
const UInt & | offsetUp | ||
) |
Add the viscous stress using the given offsets.
Definition at line 466 of file OseenAssembler.hpp.
|
inline |
Add the stiff strain in the standard block.
Definition at line 132 of file OseenAssembler.hpp.
void addStiffStrain | ( | matrixType & | matrix, |
const Real & | viscosity, | ||
const UInt & | offsetLeft, | ||
const UInt & | offsetUp | ||
) |
Add the stiff strain using the given offsets.
Definition at line 511 of file OseenAssembler.hpp.
|
inline |
Add the term involved in the gradient of the pressure term.
Definition at line 141 of file OseenAssembler.hpp.
Add the term involved in the gradient of the pressure term using the given offsets.
Definition at line 559 of file OseenAssembler.hpp.
|
inline |
Add the term corresponding to the divergence free constraint.
The default choice coefficient=1.0 leads to a divergence matrix which is the transpose of the pressure gradient matrix.
Definition at line 154 of file OseenAssembler.hpp.
void addGradientTranspose | ( | matrixType & | matrix, |
const UInt & | offsetLeft, | ||
const UInt & | offsetUp, | ||
const Real & | coefficient = 1.0 |
||
) |
Add the divergence free constraint in a given position of the matrix using the grad calls.
Definition at line 606 of file OseenAssembler.hpp.
|
inline |
Add the term corresponding to the divergence free constraint.
The default choice coefficient=1.0 leads to a divergence matrix which is the transpose of the pressure gradient matrix.
Definition at line 167 of file OseenAssembler.hpp.
void addDivergence | ( | matrixType & | matrix, |
const UInt & | offsetLeft, | ||
const UInt & | offsetUp, | ||
const Real & | coefficient = 1.0 |
||
) |
Add the divergence free constraint in a given position of the matrix.
Definition at line 653 of file OseenAssembler.hpp.
|
inline |
Add the mass.
Definition at line 176 of file OseenAssembler.hpp.
void addMass | ( | matrixType & | matrix, |
const Real & | coefficient, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add the mass using offsets.
Definition at line 959 of file OseenAssembler.hpp.
|
inline |
Add the Pressure mass.
Definition at line 185 of file OseenAssembler.hpp.
void addPressureMass | ( | matrixType & | matrix, |
const Real & | coefficient, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add the mass using offsets.
Definition at line 1003 of file OseenAssembler.hpp.
|
inline |
Add a consistent stabilizing term.
Definition at line 195 of file OseenAssembler.hpp.
void addMassDivW | ( | matrixType & | matrix, |
const Real & | coefficient, | ||
const vectorType & | beta, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add a consistent stabilizing term with the given offsets.
Definition at line 1047 of file OseenAssembler.hpp.
|
inline |
Add the convective term.
Definition at line 204 of file OseenAssembler.hpp.
void addConvection | ( | matrixType & | matrix, |
const Real & | coefficient, | ||
const vectorType & | beta, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add the convective term with the given offsets.
Definition at line 701 of file OseenAssembler.hpp.
void addNewtonConvection | ( | matrixType & | matrix, |
const vectorType & | beta, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add the convective term necessary to build the Newton method.
Definition at line 758 of file OseenAssembler.hpp.
|
inline |
Add the convective term necessary to build the Newton method.
Definition at line 216 of file OseenAssembler.hpp.
|
inline |
Add the convective term.
Definition at line 222 of file OseenAssembler.hpp.
void addSymmetricConvection | ( | matrixType & | matrix, |
const Real & | coefficient, | ||
const vectorType & | beta, | ||
const UInt & | offsetLeft, | ||
const UInt | offsetUp | ||
) |
Add the symmetric convective term with the given offset.
Definition at line 827 of file OseenAssembler.hpp.
void addConvectionRhs | ( | vectorType & | rhs, |
const Real & | coefficient, | ||
const vectorType & | velocity | ||
) |
Add an explicit convection term to the right hand side.
Definition at line 897 of file OseenAssembler.hpp.
void addMassRhs | ( | vectorType & | rhs, |
const function_Type & | fun, | ||
const Real & | t | ||
) |
Definition at line 1105 of file OseenAssembler.hpp.
void addFluxTerms | ( | vectorType & | vector, |
BCHandler const & | bcHandler | ||
) |
Definition at line 1147 of file OseenAssembler.hpp.
|
inline |
Setter for the quadrature used for the right hand side.
Beware that calling this function might be quite heavy, so avoid using it when it is not necessary.
Definition at line 247 of file OseenAssembler.hpp.
|
private |
Definition at line 283 of file OseenAssembler.hpp.
|
private |
Definition at line 286 of file OseenAssembler.hpp.
|
private |
Definition at line 289 of file OseenAssembler.hpp.
|
private |
Definition at line 292 of file OseenAssembler.hpp.
|
private |
Definition at line 294 of file OseenAssembler.hpp.
|
private |
Definition at line 295 of file OseenAssembler.hpp.
|
private |
Definition at line 297 of file OseenAssembler.hpp.
|
private |
Definition at line 298 of file OseenAssembler.hpp.
|
private |
Definition at line 300 of file OseenAssembler.hpp.
|
private |
Definition at line 301 of file OseenAssembler.hpp.
|
private |
Definition at line 302 of file OseenAssembler.hpp.
|
private |
Definition at line 304 of file OseenAssembler.hpp.
|
private |
Definition at line 305 of file OseenAssembler.hpp.
|
private |
Definition at line 307 of file OseenAssembler.hpp.
|
private |
Definition at line 310 of file OseenAssembler.hpp.
|
private |
Definition at line 314 of file OseenAssembler.hpp.
|
private |
Definition at line 316 of file OseenAssembler.hpp.
|
private |
Definition at line 318 of file OseenAssembler.hpp.
|
private |
Definition at line 320 of file OseenAssembler.hpp.
|
private |
Definition at line 322 of file OseenAssembler.hpp.
|
private |
Definition at line 324 of file OseenAssembler.hpp.
|
private |
Definition at line 326 of file OseenAssembler.hpp.
|
private |
Definition at line 328 of file OseenAssembler.hpp.