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::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.
 
size_t dimensionSpace () const
 Returns the dimension of the moment + deflection space.
 
size_t nbSCDOFs () const
 Returns the number of statically condensed DOFs (here, the cell moments DOFs)
 
size_t sizeSystem () const
 Returns the size of the statically condensed system.
 
const XDivDivxDivDiv () const
 Returns the space XDivDiv.
 
const GlobalDOFSpace polykm2Th () const
 Returns the space \(\mathbb{P}^{k-2}(\mathcal{T}_h)\).
 
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 SystemMatrixTypescMatrix () 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.
 
void assembleLinearSystem (const ForcingTermType &f, const DeflectionType &u, const GradientDeflectionType &grad_u)
 Assemble the global system.
 
Eigen::VectorXd interpolateDeflection (const DeflectionType &u, int deg_quad=-1) const
 Interpolate deflection.
 
double computeNorm (const Eigen::VectorXd &v) const
 Compute the discrete norm.
 
 KirchhoffLove (const PlatesCore &platescore, bool use_threads, std::ostream &output=std::cout)
 Constructor.
 
size_t dimensionSpace () const
 Returns the dimension of the rotation + displacement space (with BC)
 
const XDivDivxDivDiv () const
 Returns the space XDivDiv.
 
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 double & stabilizationParameter () const
 Returns the stabilization parameter.
 
double & stabilizationParameter ()
 Returns the stabilization parameter.
 

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: