|
HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
Assemble a RM problem. More...
#include <ddr-rmplate.hpp>
Public Types | |
| typedef Eigen::SparseMatrix< double > | SystemMatrixType |
| typedef std::function< double(const RMParameters &, const Eigen::Vector2d &)> | ForcingTermType |
| typedef std::function< Eigen::Vector2d(const RMParameters &, const Eigen::Vector2d &)> | SolutionRotationType |
| typedef std::function< Eigen::Matrix2d(const RMParameters &, const Eigen::Vector2d &)> | GradientRotationType |
| typedef std::function< double(const RMParameters &, const Eigen::Vector2d &)> | SolutionDisplacementType |
Public Member Functions | |
| ReissnerMindlin (const DDRCore &ddrcore, const RMParameters ¶, const BoundaryConditions &BC_theta, const BoundaryConditions &BC_u, bool use_threads, std::ostream &output=std::cout) | |
| Constructor. | |
| void | assembleLinearSystem (const ForcingTermType &f, const SolutionRotationType &theta, const GradientRotationType &grad_theta, const SolutionDisplacementType &u) |
| Assemble the global system | |
| size_t | dimensionSpace () const |
| Returns the dimension of the rotation + displacement space (with BC) | |
| size_t | nb_bdryDOFs () const |
| Returns the nb of DOFs for BC. | |
| size_t | sizeSystem () const |
| Returns the size of the system without BC. | |
| const std::vector< std::pair< size_t, size_t > > & | locUKN () const |
| Returns the location of the unknowns among the DOFs. | |
| std::vector< size_t > | 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 & | para () const |
| Returns the parameters. | |
| const EXCurl & | exCurl () const |
| Returns the space EXCurl. | |
| const XGrad & | xGrad () const |
| Returns the space XGrad. | |
| const SystemMatrixType & | systemMatrix () const |
| Returns the linear system matrix. | |
| SystemMatrixType & | systemMatrix () |
| 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 SystemMatrixType & | bdryMatrix () const |
| Returns the Matrix for BC. | |
| const Eigen::VectorXd & | bdryValues () const |
| Returns the boundary values. | |
| const double & | stabilizationParameter () const |
| Returns the stabilization parameter. | |
| double & | stabilizationParameter () |
| Returns the stabilization parameter. | |
| RMNorms | 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 &)> | 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) | |
Assemble a RM problem.