HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
Implementation of the DDR scheme for the Reissner-Mindlin plate problem. More...
Classes | |
struct | HArDCore2D::RMParameters |
Structure to store model data. More... | |
struct | HArDCore2D::RMNorms |
Structure to store component norms (for rotation, displacement, Kirchoff term and total energy) More... | |
struct | HArDCore2D::ReissnerMindlin |
Assemble a RM problem. More... | |
Typedefs | |
typedef Eigen::SparseMatrix< double > | HArDCore2D::ReissnerMindlin::SystemMatrixType |
typedef std::function< double(const RMParameters &, const Eigen::Vector2d &)> | HArDCore2D::ReissnerMindlin::ForcingTermType |
typedef std::function< Eigen::Vector2d(const RMParameters &, const Eigen::Vector2d &)> | HArDCore2D::ReissnerMindlin::SolutionRotationType |
typedef std::function< Eigen::Matrix2d(const RMParameters &, const Eigen::Vector2d &)> | HArDCore2D::ReissnerMindlin::GradientRotationType |
typedef std::function< double(const RMParameters &, const Eigen::Vector2d &)> | HArDCore2D::ReissnerMindlin::SolutionDisplacementType |
Functions | |
HArDCore2D::RMParameters::RMParameters (const double thickness, const double young_modulus, const double poisson_ratio) | |
Constructor. | |
HArDCore2D::RMNorms::RMNorms (double norm_rotation, double norm_displacement, double norm_kirchoff) | |
Constructor. | |
HArDCore2D::ReissnerMindlin::ReissnerMindlin (const DDRCore &ddrcore, const RMParameters ¶, const BoundaryConditions &BC_theta, const BoundaryConditions &BC_u, bool use_threads, std::ostream &output=std::cout) | |
Constructor. | |
void | HArDCore2D::ReissnerMindlin::assembleLinearSystem (const ForcingTermType &f, const SolutionRotationType &theta, const GradientRotationType &grad_theta, const SolutionDisplacementType &u) |
Assemble the global system | |
size_t | HArDCore2D::ReissnerMindlin::dimensionSpace () const |
Returns the dimension of the rotation + displacement space (with BC) | |
size_t | HArDCore2D::ReissnerMindlin::nb_bdryDOFs () const |
Returns the nb of DOFs for BC. | |
size_t | HArDCore2D::ReissnerMindlin::sizeSystem () const |
Returns the size of the system without BC. | |
const std::vector< std::pair< size_t, size_t > > & | HArDCore2D::ReissnerMindlin::locUKN () const |
Returns the location of the unknowns among the DOFs. | |
std::vector< size_t > | HArDCore2D::ReissnerMindlin::globalDOFIndices (const Cell &T) const |
Create the vector of DOF indices for cell T, which combines the DOFs for the spaces EXcurl and Xgrad. | |
const RMParameters & | HArDCore2D::ReissnerMindlin::para () const |
Returns the parameters. | |
const EXCurl & | HArDCore2D::ReissnerMindlin::exCurl () const |
Returns the space EXCurl. | |
const XGrad & | HArDCore2D::ReissnerMindlin::xGrad () const |
Returns the space XGrad. | |
const SystemMatrixType & | HArDCore2D::ReissnerMindlin::systemMatrix () const |
Returns the linear system matrix. | |
SystemMatrixType & | HArDCore2D::ReissnerMindlin::systemMatrix () |
Returns the linear system matrix. | |
const Eigen::VectorXd & | HArDCore2D::ReissnerMindlin::systemVector () const |
Returns the linear system right-hand side vector. | |
Eigen::VectorXd & | HArDCore2D::ReissnerMindlin::systemVector () |
Returns the linear system right-hand side vector. | |
const SystemMatrixType & | HArDCore2D::ReissnerMindlin::bdryMatrix () const |
Returns the Matrix for BC. | |
const Eigen::VectorXd & | HArDCore2D::ReissnerMindlin::bdryValues () const |
Returns the boundary values. | |
const double & | HArDCore2D::ReissnerMindlin::stabilizationParameter () const |
Returns the stabilization parameter. | |
double & | HArDCore2D::ReissnerMindlin::stabilizationParameter () |
Returns the stabilization parameter. | |
RMNorms | HArDCore2D::ReissnerMindlin::computeNorms (const Eigen::VectorXd &v) const |
Compute the discrete norms: rotation, displacement, Kirchoff term, and complete energy. | |
template<typename outValue , typename Fct > | |
std::function< outValue(const Eigen::Vector2d &)> | HArDCore2D::ReissnerMindlin::contractPara (const Fct &F) const |
Takes a function dependent on RMParameter and a position x, and returns a function depending only on x (using the parameters of this class) | |
Implementation of the DDR scheme for the Reissner-Mindlin plate problem.
typedef std::function<double(const RMParameters &, const Eigen::Vector2d &)> HArDCore2D::ReissnerMindlin::ForcingTermType |
typedef std::function<Eigen::Matrix2d(const RMParameters &, const Eigen::Vector2d &)> HArDCore2D::ReissnerMindlin::GradientRotationType |
typedef std::function<double(const RMParameters &, const Eigen::Vector2d &)> HArDCore2D::ReissnerMindlin::SolutionDisplacementType |
typedef std::function<Eigen::Vector2d(const RMParameters &, const Eigen::Vector2d &)> HArDCore2D::ReissnerMindlin::SolutionRotationType |
typedef Eigen::SparseMatrix<double> HArDCore2D::ReissnerMindlin::SystemMatrixType |
void ReissnerMindlin::assembleLinearSystem | ( | const ForcingTermType & | f, |
const SolutionRotationType & | theta, | ||
const GradientRotationType & | grad_theta, | ||
const SolutionDisplacementType & | u | ||
) |
Assemble the global system
f | Forcing term |
theta | Boundary value |
grad_theta | Boundary value |
u | Boundary value |
|
inline |
Returns the Matrix for BC.
|
inline |
Returns the boundary values.
RMNorms ReissnerMindlin::computeNorms | ( | const Eigen::VectorXd & | v | ) | const |
Compute the discrete norms: rotation, displacement, Kirchoff term, and complete energy.
v | The vector |
|
inline |
Takes a function dependent on RMParameter and a position x, and returns a function depending only on x (using the parameters of this class)
|
inline |
Returns the dimension of the rotation + displacement space (with BC)
|
inline |
Create the vector of DOF indices for cell T, which combines the DOFs for the spaces EXcurl and Xgrad.
|
inline |
Returns the location of the unknowns among the DOFs.
|
inline |
Returns the nb of DOFs for BC.
|
inline |
Returns the parameters.
ReissnerMindlin::ReissnerMindlin | ( | const DDRCore & | ddrcore, |
const RMParameters & | para, | ||
const BoundaryConditions & | BC_theta, | ||
const BoundaryConditions & | BC_u, | ||
bool | use_threads, | ||
std::ostream & | output = std::cout |
||
) |
Constructor.
ddrcore | Core for the DDR space sequence |
para | Physical parameters |
BC_theta | Boundary conditions for rotation |
BC_u | Boundary conditions for displacement |
use_threads | True for parallel execution, false for sequential execution |
output | Output stream to print status messages |
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Returns the size of the system without BC.
|
inline |
Returns the stabilization parameter.
|
inline |
Returns the stabilization parameter.
|
inline |
Returns the linear system matrix.
|
inline |
Returns the linear system matrix.
|
inline |
Returns the linear system right-hand side vector.
|
inline |
Returns the linear system right-hand side vector.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
double HArDCore2D::RMParameters::beta0 |
double HArDCore2D::RMParameters::beta1 |
|
static |
|
static |
|
static |
|
static |
double HArDCore2D::RMNorms::displacement |
Norm of displacement.
double HArDCore2D::RMParameters::E |
double HArDCore2D::RMNorms::energy |
Total energy.
double HArDCore2D::RMParameters::kappa |
|
static |
|
static |
|
static |
|
static |
double HArDCore2D::RMNorms::kirchoff |
Norm of kirchoff term.
double HArDCore2D::RMParameters::nu |
|
static |
|
static |
|
static |
|
static |
|
static |
double HArDCore2D::RMNorms::rotation |
Norm of rotation.
double HArDCore2D::RMParameters::t |
|
static |
|
static |
|
static |
|
static |