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

Assemble a Kirchhoff-Love plate problem. More...

#include <ddr-klplate.hpp>

Public Types

typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< double(const Eigen::Vector2d &)> ForcingTermType
 
typedef std::function< double(const Eigen::Vector2d &)> DeflectionType
 
typedef std::function< Eigen::Vector2d(const Eigen::Vector2d &)> GradientDeflectionType
 
typedef std::function< Eigen::Matrix2d(const Eigen::Vector2d &)> MomentTensorType
 
typedef std::function< double(const Eigen::Vector2d &, const Edge &)> MomentTensorEdgeDerivativeType
 
typedef XDivDiv::ConstitutiveLawType ConstitutiveLawType
 
typedef Eigen::SparseMatrix< double > SystemMatrixType
 
typedef std::function< double(const Eigen::Vector2d &)> ForcingTermType
 
typedef std::function< double(const Eigen::Vector2d &)> DeflectionType
 
typedef std::function< Eigen::Matrix2d(const Eigen::Vector2d &)> MomentTensorType
 
typedef std::function< double(const Eigen::Vector2d &, const Edge &)> MomentTensorEdgeDerivativeType
 

Public Member Functions

 KirchhoffLove (const PlatesCore &platescore, const ConstitutiveLawType &law, bool use_threads, std::ostream &output=std::cout)
 Constructor. More...
 
size_t dimensionSpace () const
 Returns the dimension of the moment + deflection space. More...
 
size_t nbSCDOFs () const
 Returns the number of statically condensed DOFs (here, the cell moments DOFs) More...
 
size_t sizeSystem () const
 Returns the size of the statically condensed system. More...
 
const XDivDivxDivDiv () const
 Returns the space XDivDiv. More...
 
const GlobalDOFSpace polykm2Th () const
 Returns the space \(\mathbb{P}^{k-2}(\mathcal{T}_h)\). More...
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix. More...
 
SystemMatrixTypesystemMatrix ()
 Returns the linear system matrix. More...
 
const Eigen::VectorXd & systemVector () const
 Returns the linear system right-hand side vector. More...
 
Eigen::VectorXd & systemVector ()
 Returns the linear system right-hand side vector. More...
 
const SystemMatrixTypescMatrix () const
 Returns the static condensation recovery operator. More...
 
Eigen::VectorXd & scVector ()
 Returns the static condensation rhs. More...
 
const double & stabilizationParameter () const
 Returns the stabilization parameter. More...
 
double & stabilizationParameter ()
 Returns the stabilization parameter. More...
 
void assembleLinearSystem (const ForcingTermType &f, const DeflectionType &u, const GradientDeflectionType &grad_u)
 Assemble the global system. More...
 
Eigen::VectorXd interpolateDeflection (const DeflectionType &u, int deg_quad=-1) const
 Interpolate deflection. More...
 
double computeNorm (const Eigen::VectorXd &v) const
 Compute the discrete norm. More...
 
 KirchhoffLove (const PlatesCore &platescore, bool use_threads, std::ostream &output=std::cout)
 Constructor. More...
 
size_t dimensionSpace () const
 Returns the dimension of the rotation + displacement space (with BC) More...
 
const XDivDivxDivDiv () const
 Returns the space XDivDiv. More...
 
const SystemMatrixTypesystemMatrix () const
 Returns the linear system matrix. More...
 
SystemMatrixTypesystemMatrix ()
 Returns the linear system matrix. More...
 
const Eigen::VectorXd & systemVector () const
 Returns the linear system right-hand side vector. More...
 
Eigen::VectorXd & systemVector ()
 Returns the linear system right-hand side vector. More...
 
const double & stabilizationParameter () const
 Returns the stabilization parameter. More...
 
double & stabilizationParameter ()
 Returns the stabilization parameter. More...
 

Detailed Description

Assemble a Kirchhoff-Love plate problem.

Member Typedef Documentation

◆ DeflectionType

typedef std::function<double(const Eigen::Vector2d &)> HArDCore2D::KirchhoffLove::DeflectionType

◆ ForcingTermType

typedef std::function<double(const Eigen::Vector2d &)> HArDCore2D::KirchhoffLove::ForcingTermType

◆ MomentTensorEdgeDerivativeType

typedef std::function<double(const Eigen::Vector2d &, const Edge &)> HArDCore2D::KirchhoffLove::MomentTensorEdgeDerivativeType

◆ MomentTensorType

typedef std::function<Eigen::Matrix2d(const Eigen::Vector2d &)> HArDCore2D::KirchhoffLove::MomentTensorType

◆ SystemMatrixType

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

Constructor & Destructor Documentation

◆ KirchhoffLove()

KirchhoffLove::KirchhoffLove ( const PlatesCore platescore,
bool  use_threads,
std::ostream &  output = std::cout 
)

Constructor.

Parameters
platescoreCore for the DDR space sequence
use_threadsTrue for parallel execution, false for sequential execution
outputOutput stream to print status messages

Member Function Documentation

◆ dimensionSpace()

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

Returns the dimension of the rotation + displacement space (with BC)

◆ stabilizationParameter() [1/2]

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

Returns the stabilization parameter.

◆ stabilizationParameter() [2/2]

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

Returns the stabilization parameter.

◆ systemMatrix() [1/2]

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

Returns the linear system matrix.

◆ systemMatrix() [2/2]

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

Returns the linear system matrix.

◆ systemVector() [1/2]

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

Returns the linear system right-hand side vector.

◆ systemVector() [2/2]

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

Returns the linear system right-hand side vector.

◆ xDivDiv()

const XDivDiv& HArDCore2D::KirchhoffLove::xDivDiv ( ) const
inline

Returns the space XDivDiv.


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