HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
HArDCore3D::Brinkman Struct Reference

Structure for Brinkman model. More...

#include <hho-brinkman.hpp>

Public Types

typedef Eigen::SparseMatrix< doubleSystemMatrixType
 
typedef std::function< VectorRd(const VectorRd &)> MomentumForcingTermType
 
typedef std::function< double(const VectorRd &)> CompressibilityForcingTermType
 
typedef std::function< VectorRd(const VectorRd &)> VelocityType
 
typedef std::function< MatrixRd(const VectorRd &)> VelocityGradientType
 
typedef std::function< double(const VectorRd &)> PressureType
 
typedef std::function< VectorRd(const VectorRd &)> PressureGradientType
 

Public Member Functions

 Brinkman (const VHHOSpace &vhho_space, const GlobalDOFSpace &p_space, const BoundaryConditions &BC, bool use_threads, std::ostream &output=std::cout)
 Constructor.
 
void assembleLinearSystem (const MomentumForcingTermType &f, const CompressibilityForcingTermType &g, const BrinkmanParameters &para, const VelocityType &u, Eigen::VectorXd &UDir)
 Assemble the global system

 
size_t nloc_sc_u () const
 Returns the local number of velocity statically condensed DOFs.
 
size_t nloc_sc_p () const
 Returns the local number of pressure statically condensed DOFs.
 
size_t numSCDOFs_u () const
 Returns the number of velocity statically condensed DOFs.
 
size_t numSCDOFs_p () const
 Returns the number of pressure statically condensed DOFs.
 
size_t numSCDOFs () const
 Returns the number of statically condensed DOFs.
 
size_t numDirDOFs () const
 Returns the number of Dirichlet DOFs.
 
size_t dimVelocity () const
 Returns the dimension of velocity space.
 
size_t dimPressure () const
 Returns the dimension of pressure space.
 
size_t numNonSCDOFs () const
 Returns the number of DOFs after SC and with Lagrange multiplier, but before eliminating Dirichlet DOFs.
 
size_t sizeSystem () const
 Returns the size of the final system with Lagrange multiplier, after application of SC and removal of Dirichlet BCs.
 
const VHHOSpacevhhospace () const
 Returns the velocity space.
 
const GlobalDOFSpacepspace () const
 Returns the pressure space.
 
const Meshmesh () const
 Returns the mesh.
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix.
 
SystemMatrixTypesystemMatrix ()
 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 std::pair< double, double > & stabilizationParameter () const
 Returns the stabilization parameter (scaling)
 
std::pair< double, double > & stabilizationParameter ()
 Returns the stabilization parameter.
 
const SystemMatrixTypescMatrix () const
 Returns the static condensation recovery operator.
 
Eigen::VectorXd & scVector ()
 Returns the static condensation rhs.
 
Eigen::VectorXd interpolate (const VelocityType &u, const PressureType &p, const int doe_cell=-1, const int doe_face=-1) const
 Interpolates velocity and pressure.
 
std::vector< BrinkmanNormscomputeBrinkmanNorms (const std::vector< Eigen::VectorXd > &list_dofs, const BrinkmanParameters &para) const
 Compute the discrete energy norm of a family of vectors representing the dofs.
 
std::vector< doublepressureVertexValues (const Eigen::VectorXd &p) const
 Create vertex values for the pressure (from the element values), for plotting.
 
std::pair< double, doublecomputeConditionNum () const
 Computes the condition number of the matrix.
 
std::pair< double, doublecomputeFlux (const Eigen::VectorXd &u, const std::pair< std::vector< VectorRd >, VectorRd > &surf) const
 Compute the velocity flux (integral of u.n) across a given surface, and the area of the surface, assumed to be star-shaped with respect the barycenter of its vertices.
 

Detailed Description

Structure for Brinkman model.

The global unknowns are in the following order:


The documentation for this struct was generated from the following files: