HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
HArDCore2D::QuadRot Struct Reference

#include <ddr-quadrot.hpp>

Public Types

typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< VectorRd(const VectorRd &)> PotentialType
 
typedef std::function< double(const VectorRd &)> RotorType
 
typedef std::function< VectorRd(const VectorRd &)> RotRotType
 
typedef std::function< double(const VectorRd &)> LagrangeMultiplierType
 
typedef std::function< VectorRd(const VectorRd &)> ForcingTermType
 

Public Member Functions

 QuadRot (const DDRCore &ddrcore, const BoundaryConditions &bc_u, const BoundaryConditions &bc_p, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const XGradxGrad () const
 Returns the space XGrad.
 
const XRotRotxRotRot () const
 Returns the space XRotRot.
 
const XRotxRot () const
 Returns the space XGrad.
 
const double & stabilizationParameter () const
 Returns the stabilization parameter.
 
double & stabilizationParameter ()
 Returns the stabilization parameter.
 
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.
 
std::vector< size_t > globalDOFIndices (const Cell &T) const
 Create the vector of DOF indices for the cell T, which combines the DOFs for the spaces XRotRot and XGrad.
 
size_t dimensionLocalSpace (size_t iT) const
 Returns the dimension of the local potential + Lagrange multiplier space on the element of index iT.
 
size_t dimensionSpace () const
 Returns the dimension of the potential + Lagrange multiplier space.
 
size_t numBoundaryDofs () const
 Returns the number of boundary DOFs.
 
size_t dimensionLinearSystem () const
 Returns the dimension of the linear system.
 
int dofToUnknown (size_t i) const
 DOF-to-unknown mapping.
 
Eigen::VectorXd assembleLinearSystem (const ForcingTermType &f, const PotentialType &u, const RotorType &rot_u, const LagrangeMultiplierType &p)
 

Member Typedef Documentation

◆ ForcingTermType

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::QuadRot::ForcingTermType

◆ LagrangeMultiplierType

typedef std::function<double(const VectorRd &)> HArDCore2D::QuadRot::LagrangeMultiplierType

◆ PotentialType

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::QuadRot::PotentialType

◆ RotorType

typedef std::function<double(const VectorRd &)> HArDCore2D::QuadRot::RotorType

◆ RotRotType

typedef std::function<VectorRd(const VectorRd &)> HArDCore2D::QuadRot::RotRotType

◆ SystemMatrixType

typedef Eigen::SparseMatrix<double> HArDCore2D::QuadRot::SystemMatrixType

Constructor & Destructor Documentation

◆ QuadRot()

QuadRot::QuadRot ( const DDRCore ddrcore,
const BoundaryConditions bc_u,
const BoundaryConditions bc_p,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

Parameters
ddrcoreCore for the DDR spaces sequence
bc_uBoundary condition for the potential
bc_pBoundary condition for the Lagrange multiplier
use_threadsTrue for parallel execution, false for sequential execution
outputOutput stream to print status messages

Member Function Documentation

◆ assembleLinearSystem()

Eigen::VectorXd QuadRot::assembleLinearSystem ( const ForcingTermType f,
const PotentialType u,
const RotorType rot_u,
const LagrangeMultiplierType p 
)

Assemble linear system and returns a lifting of the boundary condition (which coincides with the interpolate of the exact solution when the latter is passed as an argument)

Parameters
fForcing term
uSolution
rot_uRotor of the exact solution
pLagrange multiplier

◆ dimensionLinearSystem()

size_t HArDCore2D::QuadRot::dimensionLinearSystem ( ) const
inline

Returns the dimension of the linear system.

◆ dimensionLocalSpace()

size_t HArDCore2D::QuadRot::dimensionLocalSpace ( size_t  iT) const
inline

Returns the dimension of the local potential + Lagrange multiplier space on the element of index iT.

◆ dimensionSpace()

size_t HArDCore2D::QuadRot::dimensionSpace ( ) const
inline

Returns the dimension of the potential + Lagrange multiplier space.

◆ dofToUnknown()

int HArDCore2D::QuadRot::dofToUnknown ( size_t  i) const
inline

DOF-to-unknown mapping.

◆ globalDOFIndices()

std::vector< size_t > QuadRot::globalDOFIndices ( const Cell &  T) const

Create the vector of DOF indices for the cell T, which combines the DOFs for the spaces XRotRot and XGrad.

◆ numBoundaryDofs()

size_t HArDCore2D::QuadRot::numBoundaryDofs ( ) const
inline

Returns the number of boundary DOFs.

◆ stabilizationParameter() [1/2]

double & HArDCore2D::QuadRot::stabilizationParameter ( )
inline

Returns the stabilization parameter.

◆ stabilizationParameter() [2/2]

const double & HArDCore2D::QuadRot::stabilizationParameter ( ) const
inline

Returns the stabilization parameter.

◆ systemMatrix() [1/2]

SystemMatrixType & HArDCore2D::QuadRot::systemMatrix ( )
inline

Returns the linear system matrix.

◆ systemMatrix() [2/2]

const SystemMatrixType & HArDCore2D::QuadRot::systemMatrix ( ) const
inline

Returns the linear system matrix.

◆ systemVector() [1/2]

Eigen::VectorXd & HArDCore2D::QuadRot::systemVector ( )
inline

Returns the linear system right-hand side vector.

◆ systemVector() [2/2]

const Eigen::VectorXd & HArDCore2D::QuadRot::systemVector ( ) const
inline

Returns the linear system right-hand side vector.

◆ xGrad()

const XGrad & HArDCore2D::QuadRot::xGrad ( ) const
inline

Returns the space XGrad.

◆ xRot()

const XRot & HArDCore2D::QuadRot::xRot ( ) const
inline

Returns the space XGrad.

◆ xRotRot()

const XRotRot & HArDCore2D::QuadRot::xRotRot ( ) const
inline

Returns the space XRotRot.


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