|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Assemble a Stokes problem. More...
#include <ddr-stokes.hpp>
Public Types | |
| typedef Eigen::SparseMatrix< double > | SystemMatrixType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | ForcingTermType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VelocityType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VorticityType |
| typedef std::function< double(const Eigen::Vector3d &)> | PressureType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | PressureGradientType |
| typedef IntegralWeight | ViscosityType |
| typedef Eigen::SparseMatrix< double > | SystemMatrixType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | ForcingTermType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VelocityType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VorticityType |
| typedef std::function< double(const Eigen::Vector3d &)> | PressureType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | PressureGradientType |
| typedef IntegralWeight | ViscosityType |
| typedef Eigen::SparseMatrix< double > | SystemMatrixType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | ForcingTermType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VelocityType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | VorticityType |
| typedef std::function< double(const Eigen::Vector3d &)> | PressureType |
| typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> | PressureGradientType |
| typedef IntegralWeight | ViscosityType |
Public Member Functions | |
| Stokes (const DDRCore &ddrcore, bool use_threads, std::ostream &output=std::cout) | |
| Constructor. | |
| void | assembleLinearSystem (const ForcingTermType &f, const VelocityType &u, const VorticityType &omega, const ViscosityType &nu) |
| Assemble the global system | |
| size_t | dimension () const |
| Returns the global problem dimension (without Lagrange multiplier, just velocity & pressure) | |
| size_t | nbSCDOFs_u () const |
| Returns the number of statically condensed DOFs (velocity) | |
| size_t | nbSCDOFs_p () const |
| Returns the number of statically condensed DOFs (pressure) | |
| size_t | nbSCDOFs () const |
| Returns the number of statically condensed DOFs (both velocity and pressure) | |
| size_t | sizeSystem () const |
| Returns the size of the statically condensed system (with Lagrange multiplier) | |
| const XGrad & | xGrad () const |
| Returns the space XGrad. | |
| const XCurl & | xCurl () const |
| Returns the space XCurl. | |
| const XDiv & | xDiv () const |
| Returns the space XDiv. | |
| const SystemMatrixType & | systemMatrix () const |
| Returns the linear system matrix. | |
| SystemMatrixType & | systemMatrix () |
| Returns the linear system matrix. | |
| const Eigen::VectorXd & | systemVector () const |
| Returns the linear system right-hand side vector. | |
| Eigen::VectorXd & | systemVector () |
| Returns the linear system right-hand side vector. | |
| const SystemMatrixType & | scMatrix () const |
| Returns the static condensation recovery operator. | |
| Eigen::VectorXd & | scVector () |
| Returns the static condensation rhs. | |
| const double & | stabilizationParameter () const |
| Returns the stabilization parameter. | |
| double & | stabilizationParameter () |
| Returns the stabilization parameter. | |
| std::vector< StokesNorms > | 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 > | 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) | |
| double | evaluateDefectCommutationGradInterp (const PressureType &p, const PressureGradientType &grad_p, const size_t deg_quad_interpolate) const |
| Evaluate the defect of commutation G_h (Igrad p) = Icurl (grad p) by computing the norm of the difference (which should be 0). | |
| Stokes (const DDRCore &ddrcore, bool use_threads, std::ostream &output=std::cout) | |
| Constructor. | |
| void | assembleLinearSystem (const ForcingTermType &f, const VelocityType &u, const VorticityType &omega, const ViscosityType &nu) |
| Assemble the global system | |
| size_t | dimensionSpace () const |
| Returns the global problem dimension (without Lagrange multiplier, just velocity & pressure) | |
| size_t | nbSCDOFs_u () const |
| Returns the number of statically condensed DOFs (velocity) | |
| size_t | nbSCDOFs_p () const |
| Returns the number of statically condensed DOFs (pressure) | |
| size_t | nbSCDOFs () const |
| Returns the number of statically condensed DOFs (both velocity and pressure) | |
| size_t | sizeSystem () const |
| Returns the size of the statically condensed system (with Lagrange multiplier) | |
| const SXGrad & | sxGrad () const |
| Returns the space SXGrad. | |
| const SXCurl & | sxCurl () const |
| Returns the space SXCurl. | |
| const SXDiv & | sxDiv () const |
| Returns the space XDiv. | |
| const SystemMatrixType & | systemMatrix () const |
| Returns the linear system matrix. | |
| SystemMatrixType & | systemMatrix () |
| Returns the linear system matrix. | |
| const Eigen::VectorXd & | systemVector () const |
| Returns the linear system right-hand side vector. | |
| Eigen::VectorXd & | systemVector () |
| Returns the linear system right-hand side vector. | |
| const SystemMatrixType & | scMatrix () const |
| Returns the static condensation recovery operator. | |
| Eigen::VectorXd & | scVector () |
| Returns the static condensation rhs. | |
| const double & | stabilizationParameter () const |
| Returns the stabilization parameter. | |
| double & | stabilizationParameter () |
| Returns the stabilization parameter. | |
| std::vector< StokesNorms > | 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 > | 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) | |
| Stokes (const VEMCore &vemcore, bool use_threads, std::ostream &output=std::cout) | |
| Constructor. | |
| void | assembleLinearSystem (const ForcingTermType &f, const ForcingTermType &curl_f, const VelocityType &u, const VorticityType &omega, const ViscosityType &nu) |
| Assemble the global system | |
| size_t | dimension () const |
| Returns the global problem dimension (without Lagrange multiplier, just velocity & pressure) | |
| size_t | nbSCDOFs_u () const |
| Returns the number of statically condensed DOFs (velocity) | |
| size_t | nbSCDOFs_p () const |
| Returns the number of statically condensed DOFs (pressure) | |
| size_t | nbSCDOFs () const |
| Returns the number of statically condensed DOFs (both velocity and pressure) | |
| size_t | sizeSystem () const |
| Returns the size of the statically condensed system (with Lagrange multiplier) | |
| const VGrad & | vGrad () const |
| Returns the space VGrad. | |
| const VCurl & | vCurl () const |
| Returns the space VCurl. | |
| const VDiv & | vDiv () const |
| Returns the space VDiv. | |
| const SystemMatrixType & | systemMatrix () const |
| Returns the linear system matrix. | |
| SystemMatrixType & | systemMatrix () |
| Returns the linear system matrix. | |
| const Eigen::VectorXd & | systemVector () const |
| Returns the linear system right-hand side vector. | |
| Eigen::VectorXd & | systemVector () |
| Returns the linear system right-hand side vector. | |
| const SystemMatrixType & | scMatrix () const |
| Returns the static condensation recovery operator. | |
| Eigen::VectorXd & | scVector () |
| Returns the static condensation rhs. | |
| const double & | stabilizationParameter () const |
| Returns the stabilization parameter. | |
| double & | stabilizationParameter () |
| Returns the stabilization parameter. | |
| std::vector< StokesNorms > | 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 > | 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) | |
Assemble a Stokes problem.