|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Implementation of the serendipity DDR scheme for the Stokes problem in curl-curl formulation. More...

Classes | |
| struct | HArDCore3D::StokesNorms |
| Structure to store norm components (for velocity, its curl, pressure, and its gradient), as well as Hcurl and Hgrad norms of velocity and pressure. More... | |
| struct | HArDCore3D::Stokes |
| Assemble a Stokes problem. More... | |
Typedefs | |
| typedef Eigen::SparseMatrix< double > | HArDCore3D::Stokes::SystemMatrixType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | HArDCore3D::Stokes::ForcingTermType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | HArDCore3D::Stokes::VelocityType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | HArDCore3D::Stokes::VorticityType |
| typedef std::function< double(const Eigen::Vector3d &)> | HArDCore3D::Stokes::PressureType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | HArDCore3D::Stokes::PressureGradientType |
| typedef IntegralWeight | HArDCore3D::Stokes::ViscosityType |
Functions | |
| HArDCore3D::StokesNorms::StokesNorms (double norm_u, double norm_curl_u, double norm_p, double norm_grad_p) | |
| Constructor. | |
| HArDCore3D::StokesNorms::StokesNorms () | |
| HArDCore3D::Stokes::Stokes (const DDRCore &ddrcore, bool use_threads, std::ostream &output=std::cout) | |
| Constructor. | |
| void | HArDCore3D::Stokes::assembleLinearSystem (const ForcingTermType &f, const VelocityType &u, const VorticityType &omega, const ViscosityType &nu) |
| Assemble the global system | |
| size_t | HArDCore3D::Stokes::dimensionSpace () const |
| Returns the global problem dimension (without Lagrange multiplier, just velocity & pressure) | |
| size_t | HArDCore3D::Stokes::nbSCDOFs_u () const |
| Returns the number of statically condensed DOFs (velocity) | |
| size_t | HArDCore3D::Stokes::nbSCDOFs_p () const |
| Returns the number of statically condensed DOFs (pressure) | |
| size_t | HArDCore3D::Stokes::nbSCDOFs () const |
| Returns the number of statically condensed DOFs (both velocity and pressure) | |
| size_t | HArDCore3D::Stokes::sizeSystem () const |
| Returns the size of the statically condensed system (with Lagrange multiplier) | |
| const SXGrad & | HArDCore3D::Stokes::sxGrad () const |
| Returns the space SXGrad. | |
| const SXCurl & | HArDCore3D::Stokes::sxCurl () const |
| Returns the space SXCurl. | |
| const SXDiv & | HArDCore3D::Stokes::sxDiv () const |
| Returns the space XDiv. | |
| const SystemMatrixType & | HArDCore3D::Stokes::systemMatrix () const |
| Returns the linear system matrix. | |
| SystemMatrixType & | HArDCore3D::Stokes::systemMatrix () |
| Returns the linear system matrix. | |
| const Eigen::VectorXd & | HArDCore3D::Stokes::systemVector () const |
| Returns the linear system right-hand side vector. | |
| Eigen::VectorXd & | HArDCore3D::Stokes::systemVector () |
| Returns the linear system right-hand side vector. | |
| const SystemMatrixType & | HArDCore3D::Stokes::scMatrix () const |
| Returns the static condensation recovery operator. | |
| Eigen::VectorXd & | HArDCore3D::Stokes::scVector () |
| Returns the static condensation rhs. | |
| const double & | HArDCore3D::Stokes::stabilizationParameter () const |
| Returns the stabilization parameter. | |
| double & | HArDCore3D::Stokes::stabilizationParameter () |
| Returns the stabilization parameter. | |
| std::vector< StokesNorms > | HArDCore3D::Stokes::computeStokesNorms (const std::vector< Eigen::VectorXd > &list_dofs) const |
| Compute the discrete L2 norms, for a family of Eigen::VectorXd representing velocities & pressures, of u, curl u, p and grad p. | |
| std::pair< StokesNorms, StokesNorms > | HArDCore3D::Stokes::computeContinuousErrorsNorms (const Eigen::VectorXd &v, const VelocityType &u, const VorticityType &curl_u, const PressureType &p, const PressureGradientType &grad_p) const |
| Compute the continuous Hcurl errors in u and Hgrad error in p (1st component), and same with continuous norms (second component) | |
Implementation of the serendipity DDR scheme for the Stokes problem in curl-curl formulation.
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::Stokes::ForcingTermType |
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::Stokes::PressureGradientType |
| typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::Stokes::PressureType |
| typedef Eigen::SparseMatrix<double> HArDCore3D::Stokes::SystemMatrixType |
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::Stokes::VelocityType |
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::Stokes::VorticityType |
| void HArDCore3D::Stokes::assembleLinearSystem | ( | const ForcingTermType & | f, |
| const VelocityType & | u, | ||
| const VorticityType & | omega, | ||
| const ViscosityType & | nu | ||
| ) |
Assemble the global system
| f | Forcing term |
| u | Boundary condition on velocity |
| omega | Boundary condition on vorticity |
| nu | Viscosity |
| std::pair< StokesNorms, StokesNorms > HArDCore3D::Stokes::computeContinuousErrorsNorms | ( | const Eigen::VectorXd & | v, |
| const VelocityType & | u, | ||
| const VorticityType & | curl_u, | ||
| const PressureType & | p, | ||
| const PressureGradientType & | grad_p | ||
| ) | const |
Compute the continuous Hcurl errors in u and Hgrad error in p (1st component), and same with continuous norms (second component)
| v | The vector, contains both velocity and pressure |
| u | Continuous velocity |
| curl_u | Curl of continuous velocity |
| p | Continuous pressure |
| grad_p | Grad of continuous pressure |
| std::vector< StokesNorms > HArDCore3D::Stokes::computeStokesNorms | ( | const std::vector< Eigen::VectorXd > & | list_dofs | ) | const |
Compute the discrete L2 norms, for a family of Eigen::VectorXd representing velocities & pressures, of u, curl u, p and grad p.
| list_dofs | List of vectors representing velocities and pressures |
|
inline |
Returns the global problem dimension (without Lagrange multiplier, just velocity & pressure)
|
inline |
Returns the number of statically condensed DOFs (both velocity and pressure)
|
inline |
Returns the number of statically condensed DOFs (pressure)
|
inline |
Returns the number of statically condensed DOFs (velocity)
|
inline |
Returns the static condensation recovery operator.
|
inline |
Returns the static condensation rhs.
|
inline |
Returns the size of the statically condensed system (with Lagrange multiplier)
|
inline |
Returns the stabilization parameter.
Returns the stabilization parameter.
| HArDCore3D::Stokes::Stokes | ( | const DDRCore & | ddrcore, |
| bool | use_threads, | ||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| ddrcore | Core for the DDR space sequence |
| use_threads | True for parallel execution, false for sequential execution |
| output | Output stream to print status messages |
|
inline |
|
inline |
Constructor.
|
inline |
Returns the linear system matrix.
|
inline |
Returns the linear system matrix.
|
inline |
Returns the linear system right-hand side vector.
|
inline |
Returns the linear system right-hand side vector.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |