|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Classes defining the Discrete De Rham sequence. More...
Classes | |
| class | HArDCore3D::DDRCore |
| Construct all polynomial spaces for the DDR sequence. More... | |
| struct | HArDCore3D::DDRCore::CellBases |
| Structure to store element bases. More... | |
| struct | HArDCore3D::DDRCore::FaceBases |
| Structure to store face bases. More... | |
| struct | HArDCore3D::DDRCore::EdgeBases |
| Structure to store edge bases. More... | |
| class | HArDCore3D::SerendipityProblem |
| Construct all polynomial spaces for the DDR sequence. More... | |
| class | HArDCore3D::SXCurl |
| Discrete Serendipity Hcurl space: local operators, L2 product and global interpolator. More... | |
| struct | HArDCore3D::SXCurl::TransferOperators |
| A structure to store the serendipity, extension and reduction operators. More... | |
| class | HArDCore3D::SXDiv |
| Discrete Serendipity Hdiv space: local operators, L2 product and global interpolator. More... | |
| class | HArDCore3D::SXGrad |
| Discrete Serendipity Hgrad space: local operators, L2 product and global interpolator. More... | |
| struct | HArDCore3D::SXGrad::TransferOperators |
| A structure to store the serendipity, extension and reduction operators. More... | |
| class | HArDCore3D::XCurl |
| Discrete Hcurl space: local operators, L2 product and global interpolator. More... | |
| struct | HArDCore3D::XCurl::LocalOperators |
| A structure to store the local operators (curl and potential) More... | |
| class | HArDCore3D::XDiv |
| Discrete Hdiv space: local operators, L2 product and global interpolator. More... | |
| struct | HArDCore3D::XDiv::LocalOperators |
| A structure to store local operators (divergence and potential) More... | |
| class | HArDCore3D::XGrad |
| Discrete H1 space: local operators, L2 product and global interpolator. More... | |
| struct | HArDCore3D::XGrad::LocalOperators |
| A structure to store local operators (gradient and potential) More... | |
Functions | |
| HArDCore3D::DDRCore::DDRCore (const Mesh &mesh, size_t K, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::DDRCore::mesh () const |
| Return a const reference to the mesh. | |
| const size_t & | HArDCore3D::DDRCore::degree () const |
| Return the polynomial degree. | |
| const CellBases & | HArDCore3D::DDRCore::cellBases (size_t iT) const |
| Return cell bases for element iT. | |
| const FaceBases & | HArDCore3D::DDRCore::faceBases (size_t iF) const |
| Return face bases for face iF. | |
| const EdgeBases & | HArDCore3D::DDRCore::edgeBases (size_t iE) const |
| Return edge bases for edge iE. | |
| HArDCore3D::SerendipityProblem::SerendipityProblem (const DDRCore &ddrcore, bool use_threads=true, std::ostream &output=std::cout, bool use_serendipity=true) | |
| Constructor. | |
| const std::vector< size_t > & | HArDCore3D::SerendipityProblem::serendipityEdges (size_t iF) const |
| Return the list of serendipity edges in a face. | |
| const int | HArDCore3D::SerendipityProblem::n_serendipityEdges (size_t iF) const |
| Return the number of serendipity edges in a face. | |
| const int | HArDCore3D::SerendipityProblem::serDegreeFace (size_t iF) const |
| Return the serendipity degree ell_F in a face. | |
| const std::vector< size_t > & | HArDCore3D::SerendipityProblem::serendipityFaces (size_t iT) const |
| Return the list of serendipity face in a cell. | |
| const int | HArDCore3D::SerendipityProblem::n_serendipityFaces (size_t iT) const |
| Return the number of serendipity faces in a cell. | |
| const int | HArDCore3D::SerendipityProblem::serDegreeCell (size_t iT) const |
| Return the serendipity degree ell_T in a cell. | |
| size_t | HArDCore3D::SerendipityProblem::dimFacePolyl (size_t iF) const |
| Return the dimension of P^l on face of index iF. | |
| size_t | HArDCore3D::SerendipityProblem::dimFacePolyl (const Face &F) const |
| Return the dimension of P^{l+1} on face F. | |
| const PolylBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisPolyl (size_t iF) const |
| Return the basis of P^l on face of index iF. | |
| const PolylBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisPolyl (const Face &F) const |
| Return the basis of P^l on face F. | |
| size_t | HArDCore3D::SerendipityProblem::dimCellPolyl (size_t iT) const |
| Return the dimension of P^l on cell of index iT. | |
| size_t | HArDCore3D::SerendipityProblem::dimCellPolyl (const Cell &T) const |
| Return the dimension of P^l on cell T. | |
| const PolylBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisPolyl (size_t iT) const |
| Return the basis of P^l on cell of index iT. | |
| const PolylBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisPolyl (const Cell &T) const |
| Return the basis of P^l on cell T. | |
| Eigen::VectorXi | HArDCore3D::SerendipityProblem::nDOFs_faces_SXGrad () const |
| Number of DOFs on faces for serendipity XGrad space. | |
| Eigen::VectorXi | HArDCore3D::SerendipityProblem::nDOFs_cells_SXGrad () const |
| Number of DOFs on cells for serendipity XGrad space. | |
| size_t | HArDCore3D::SerendipityProblem::dimFaceRolyCompllpo (size_t iF) const |
| Return the dimension of R^{c,l+1} on face of index iF. | |
| size_t | HArDCore3D::SerendipityProblem::dimFaceRolyCompllpo (const Face &F) const |
| Return the dimension of R^{c,l+1} on face F. | |
| const RolyCompllpoBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisRolyCompllpo (size_t iF) const |
| Return the basis of R^{c,l+1} on face of index iF. | |
| const RolyCompllpoBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisRolyCompllpo (const Face &F) const |
| Return the basis of R^{c,l+1} on face F. | |
| size_t | HArDCore3D::SerendipityProblem::dimCellRolyCompllpo (size_t iT) const |
| Return the dimension of R^{c,l+1} on cell of index iT. | |
| size_t | HArDCore3D::SerendipityProblem::dimCellRolyCompllpo (const Cell &T) const |
| Return the dimension of R^{c,l+1} on cell T. | |
| const RolyCompllpoBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisRolyCompllpo (size_t iT) const |
| Return the basis of R^{c,l+1} on cell of index iT. | |
| const RolyCompllpoBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisRolyCompllpo (const Cell &T) const |
| Return the basis of R^{c,l+1} on cell T. | |
| Eigen::VectorXi | HArDCore3D::SerendipityProblem::nDOFs_faces_SXCurl () const |
| Number of DOFs on faces for serendipity XCurl space. | |
| Eigen::VectorXi | HArDCore3D::SerendipityProblem::nDOFs_cells_SXCurl () const |
| Number of DOFs on cells for serendipity XCurl space. | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorFace (const size_t iF, const Eigen::MatrixXd &LF) const |
| Compute the serendipity operator on the face of index iF. | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorFace (const Face &F, const Eigen::MatrixXd &LF) const |
| Compute the serendipity operator on the face F. | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorCell (const size_t iT, const Eigen::MatrixXd <) const |
| Compute the serendipity operator on the cell of index iT. | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorCell (const Cell &T, const Eigen::MatrixXd <) const |
| Compute the serendipity operator on the Cell T. | |
| const Mesh & | HArDCore3D::SerendipityProblem::mesh () const |
| Return a const reference to the mesh. | |
| const DDRCore & | HArDCore3D::SerendipityProblem::ddrCore () const |
| Return a const reference to the underlying DDR core. | |
| HArDCore3D::SXCurl::TransferOperators::TransferOperators (const Eigen::MatrixXd &_serendipity, const Eigen::MatrixXd &_extension, const Eigen::MatrixXd &_reduction) | |
| HArDCore3D::SXCurl::SXCurl (const DDRCore &ddr_core, const SerendipityProblem &ser_pro, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::SXCurl::mesh () const |
| Return the mesh. | |
| const size_t & | HArDCore3D::SXCurl::degree () const |
| Return the polynomial degree. | |
| const SerendipityProblem & | HArDCore3D::SXCurl::serPro () const |
| Eigen::VectorXd | HArDCore3D::SXCurl::interpolate (const FunctionType &v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const |
| Interpolator of a continuous function. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlFace (size_t iF) const |
| Return the serendipity reconstruction for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlFace (size_t iF) const |
| Return the extension for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlFace (size_t iF) const |
| Return the reduction for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlFace (const Face &F) const |
| Return the serendipity reconstruction for face F. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlFace (const Face &F) const |
| Return the extension for face F. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlFace (const Face &F) const |
| Return cell reduction for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlCell (size_t iT) const |
| Return the serendipity reconstruction for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlCell (size_t iT) const |
| Return the extension for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlCell (size_t iT) const |
| Return the reduction for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlCell (const Cell &T) const |
| Return the serendipity reconstruction for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlCell (const Cell &T) const |
| Return the extension for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlCell (const Cell &T) const |
| Return the reduction for cell T. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::faceCurl (size_t iF) const |
| Return the full curl operator on the face of index iF. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::faceCurl (const Face &F) const |
| Return the full curl operator on face F. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::facePotential (size_t iF) const |
| Return the potential operator on the face of index iF. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::facePotential (const Face &F) const |
| Return the potential operator on face F. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellCurl (size_t iT) const |
| Return the full curl operator on the cell of index iT. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellCurl (const Cell &T) const |
| Return the full curl operator on cell T. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellPotential (size_t iT) const |
| Return the potential operator on the cell of index iT. | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellPotential (const Cell &T) const |
| Return the potential operator on cell T. | |
| Eigen::MatrixXd | HArDCore3D::SXCurl::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product. | |
| Eigen::MatrixXd | HArDCore3D::SXCurl::computeL2ProductGradient (const size_t iT, const SXGrad &sx_grad, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side"). | |
| std::vector< VectorRd > | HArDCore3D::SXCurl::computeVertexValues (const Eigen::VectorXd &u) const |
| Computes the values of the potential reconstruction at the mesh vertices. | |
| const DDRCore::CellBases & | HArDCore3D::SXCurl::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. | |
| const DDRCore::CellBases & | HArDCore3D::SXCurl::cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | HArDCore3D::SXCurl::faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | HArDCore3D::SXCurl::faceBases (const Face &F) const |
| Return cell bases for face F. | |
| const DDRCore::EdgeBases & | HArDCore3D::SXCurl::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. | |
| const DDRCore::EdgeBases & | HArDCore3D::SXCurl::edgeBases (const Edge &E) const |
| Return edge bases for edge E. | |
| HArDCore3D::SXDiv::SXDiv (const DDRCore &ddr_core, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| Eigen::MatrixXd | HArDCore3D::SXDiv::computeL2ProductCurl (const size_t iT, const SXCurl &sx_curl, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete serendipity curl on the left/right/both sides (depending on argument "side"). | |
| HArDCore3D::SXGrad::TransferOperators::TransferOperators (const Eigen::MatrixXd &_serendipity, const Eigen::MatrixXd &_extension, const Eigen::MatrixXd &_reduction) | |
| HArDCore3D::SXGrad::SXGrad (const DDRCore &ddr_core, const SerendipityProblem &ser_pro, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::SXGrad::mesh () const |
| Return the mesh. | |
| const size_t & | HArDCore3D::SXGrad::degree () const |
| Return the polynomial degree. | |
| const SerendipityProblem & | HArDCore3D::SXGrad::serPro () const |
| Eigen::VectorXd | HArDCore3D::SXGrad::interpolate (const FunctionType &q, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const |
| Interpolator of a continuous function. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradFace (size_t iF) const |
| Return the serendipity reconstruction for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradFace (size_t iF) const |
| Return the extension for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradFace (size_t iF) const |
| Return the reduction for the face of index iF. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradFace (const Face &F) const |
| Return the serendipity reconstruction for face F. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradFace (const Face &F) const |
| Return the extension for face F. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradFace (const Face &F) const |
| Return cell reduction for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradCell (size_t iT) const |
| Return the serendipity reconstruction for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradCell (size_t iT) const |
| Return the extension for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradCell (size_t iT) const |
| Return the reduction for the cell of index iT. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradCell (const Cell &T) const |
| Return the serendipity reconstruction for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradCell (const Cell &T) const |
| Return the extension for cell T. | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradCell (const Cell &T) const |
| Return the reduction for cell T. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgeGradient (size_t iE) const |
| Return the full gradient operator on the edge of index iE. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgeGradient (const Edge &E) const |
| Return the full gradient operator on edge E. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgePotential (size_t iE) const |
| Return the potential operator on the edge of index iE. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgePotential (const Edge &E) const |
| Return the potential operator on edge E. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::faceGradient (size_t iF) const |
| Return the full gradient operator on the face of index iF. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::faceGradient (const Face &F) const |
| Return the full gradient operator on face F. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::facePotential (size_t iF) const |
| Return the potential operator on the face of index iF. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::facePotential (const Face &F) const |
| Return the potential operator on face F. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellGradient (size_t iT) const |
| Return the full gradient operator on the cell of index iT. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellGradient (const Cell &T) const |
| Return the full gradient operator on cell T. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellPotential (size_t iT) const |
| Return the potential operator on the cell of index iT. | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellPotential (const Cell &T) const |
| Return the potential operator on cell T. | |
| Eigen::MatrixXd | HArDCore3D::SXGrad::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pkpo_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product. | |
| Eigen::MatrixXd | HArDCore3D::SXGrad::computeStabilisation (const size_t iT, const IntegralWeight &weight=IntegralWeight(1.)) const |
| Computes only the stabilisation matrix of the (weighted) L2-product for the cell of index iT. | |
| std::vector< double > | HArDCore3D::SXGrad::computeVertexValues (const Eigen::VectorXd &u) const |
| Computes the values of the potential reconstruction at the mesh vertices. | |
| const DDRCore::CellBases & | HArDCore3D::SXGrad::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. | |
| const DDRCore::CellBases & | HArDCore3D::SXGrad::cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | HArDCore3D::SXGrad::faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | HArDCore3D::SXGrad::faceBases (const Face &F) const |
| Return face bases for face F. | |
| const DDRCore::EdgeBases & | HArDCore3D::SXGrad::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. | |
| const DDRCore::EdgeBases & | HArDCore3D::SXGrad::edgeBases (const Edge &E) const |
| Return edge bases for edge E. | |
| HArDCore3D::XCurl::LocalOperators::LocalOperators (const Eigen::MatrixXd &_curl, const Eigen::MatrixXd &_potential) | |
| HArDCore3D::XCurl::XCurl (const DDRCore &ddr_core, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::XCurl::mesh () const |
| Return the mesh. | |
| const size_t & | HArDCore3D::XCurl::degree () const |
| Return the polynomial degree. | |
| Eigen::VectorXd | HArDCore3D::XCurl::interpolate (const FunctionType &v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const |
| Interpolator of a continuous function. | |
| const LocalOperators & | HArDCore3D::XCurl::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. | |
| const LocalOperators & | HArDCore3D::XCurl::cellOperators (const Cell &T) const |
| Return cell operators for cell T. | |
| const LocalOperators & | HArDCore3D::XCurl::faceOperators (size_t iF) const |
| Return face operators for the face of index iF. | |
| const LocalOperators & | HArDCore3D::XCurl::faceOperators (const Face &F) const |
| Return face operators for face F. | |
| const DDRCore::CellBases & | HArDCore3D::XCurl::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. | |
| const DDRCore::CellBases & | HArDCore3D::XCurl::cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | HArDCore3D::XCurl::faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | HArDCore3D::XCurl::faceBases (const Face &F) const |
| Return cell bases for face F. | |
| const DDRCore::EdgeBases & | HArDCore3D::XCurl::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. | |
| const DDRCore::EdgeBases & | HArDCore3D::XCurl::edgeBases (const Edge &E) const |
| Return edge bases for edge E. | |
| Eigen::MatrixXd | HArDCore3D::XCurl::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials. | |
| Eigen::MatrixXd | HArDCore3D::XCurl::computeL2ProductGradient (const size_t iT, const XGrad &x_grad, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side"). | |
| Eigen::MatrixXd | HArDCore3D::XCurl::computeL2Product_with_Ops (const size_t iT, const std::vector< Eigen::MatrixXd > &leftOp, const std::vector< Eigen::MatrixXd > &rightOp, const double &penalty_factor, const Eigen::MatrixXd &w_mass_Pk3_T, const IntegralWeight &weight) const |
| Compute the matrix of the L2 product, applying leftOp and rightOp to the variables. Probably not directly called, mostly invoked through the wrappers computeL2Product and computeL2ProductGradient. | |
| Eigen::MatrixXd | HArDCore3D::XCurl::computeL2ProductDOFs (size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) |
| Alternate version of L2 product, using only cell potentials and 'DOFs' (as in Di-Pietro & Droniou, JCP 2020) | |
| HArDCore3D::XDiv::LocalOperators::LocalOperators (const Eigen::MatrixXd &_divergence, const Eigen::MatrixXd &_divergence_rhs, const Eigen::MatrixXd &_potential) | |
| HArDCore3D::XDiv::XDiv (const DDRCore &ddr_core, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::XDiv::mesh () const |
| Return the mesh. | |
| const size_t & | HArDCore3D::XDiv::degree () const |
| Return the polynomial degree. | |
| Eigen::VectorXd | HArDCore3D::XDiv::interpolate (const FunctionType &v, const int doe_cell=-1, const int doe_face=-1) const |
| Interpolator of a continuous function. | |
| const LocalOperators & | HArDCore3D::XDiv::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. | |
| const LocalOperators & | HArDCore3D::XDiv::cellOperators (const Cell &T) const |
| Return cell operators for cell T. | |
| const DDRCore::CellBases & | HArDCore3D::XDiv::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. | |
| const DDRCore::CellBases & | HArDCore3D::XDiv::cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | HArDCore3D::XDiv::faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | HArDCore3D::XDiv::faceBases (const Face &F) const |
| Return cell bases for face F. | |
| Eigen::MatrixXd | HArDCore3D::XDiv::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product for the cell of index iT. | |
| Eigen::MatrixXd | HArDCore3D::XDiv::computeL2ProductCurl (const size_t iT, const XCurl &x_curl, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete curl on the left/right/both sides (depending on argument "side"). | |
| Eigen::MatrixXd | HArDCore3D::XDiv::computeL2Product_with_Ops (const size_t iT, const std::vector< Eigen::MatrixXd > &leftOp, const std::vector< Eigen::MatrixXd > &rightOp, const double &penalty_factor, const Eigen::MatrixXd &w_mass_Pk3_T, const IntegralWeight &weight) const |
| Compute the matrix of the L2 product, applying leftOp and rightOp to the variables. Probably not directly called, mostly invoked through the wrappers computeL2Product and computeL2ProductCurl. | |
| LocalOperators | HArDCore3D::XDiv::_compute_cell_divergence_potential (size_t iT) |
| HArDCore3D::XGrad::LocalOperators::LocalOperators (const Eigen::MatrixXd &_gradient, const Eigen::MatrixXd &_potential) | |
| HArDCore3D::XGrad::XGrad (const DDRCore &ddr_core, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | HArDCore3D::XGrad::mesh () const |
| Return the mesh. | |
| const size_t & | HArDCore3D::XGrad::degree () const |
| Return the polynomial degree. | |
| Eigen::VectorXd | HArDCore3D::XGrad::interpolate (const FunctionType &q, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const |
| Interpolator of a continuous function. | |
| const LocalOperators & | HArDCore3D::XGrad::edgeOperators (size_t iE) const |
| Return edge operators for the edge of index iE. | |
| const LocalOperators & | HArDCore3D::XGrad::edgeOperators (const Edge &E) const |
| Return edge operators for edge E. | |
| const LocalOperators & | HArDCore3D::XGrad::faceOperators (size_t iF) const |
| Return face operators for the face of index iF. | |
| const LocalOperators & | HArDCore3D::XGrad::faceOperators (const Face &F) const |
| Return face operators for face F. | |
| const LocalOperators & | HArDCore3D::XGrad::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. | |
| const LocalOperators & | HArDCore3D::XGrad::cellOperators (const Cell &T) const |
| Return cell operators for cell T. | |
| const DDRCore::CellBases & | HArDCore3D::XGrad::cellBases (size_t iT) const |
| Return cell bases for the cell of index iT. | |
| const DDRCore::CellBases & | HArDCore3D::XGrad::cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | HArDCore3D::XGrad::faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | HArDCore3D::XGrad::faceBases (const Face &F) const |
| Return cell bases for face F. | |
| const DDRCore::EdgeBases & | HArDCore3D::XGrad::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. | |
| const DDRCore::EdgeBases & | HArDCore3D::XGrad::edgeBases (const Edge &E) const |
| Return edge bases for edge E. | |
| Eigen::MatrixXd | HArDCore3D::XGrad::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pkpo_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials. | |
| Eigen::MatrixXd | HArDCore3D::XGrad::computeStabilisation (const size_t iT, const IntegralWeight &weight=IntegralWeight(1.)) const |
| Computes only the stabilisation matrix of the (weighted) L2-product for the cell of index iT. This stabilisation is based on cell and face potentials. | |
| Eigen::MatrixXd | HArDCore3D::XGrad::buildGradientComponentsCell (size_t iT) const |
| Build the components of the gradient operator (probably not useful in practice to implement schemes) | |
Classes defining the Discrete De Rham sequence.
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::SXCurl::FunctionType |
| typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::SXGrad::FunctionType |
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::XCurl::FunctionType |
| typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::XDiv::FunctionType |
| typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::XGrad::FunctionType |
Geometric support.
Geometric support.
Geometric support.
| typedef Family<GradientBasis<ShiftedBasis<MonomialScalarBasisCell> > > HArDCore3D::DDRCore::GolyBasisCellType |
| typedef Eigen::FullPivLU<Eigen::MatrixXd> HArDCore3D::SerendipityProblem::InverseProblem |
Type for inverses of matrix for serendipity problem.
| typedef RestrictedBasis<DDRCore::PolyBasisCellType> HArDCore3D::SerendipityProblem::PolylBasisCellType |
| typedef RestrictedBasis<DDRCore::PolyBasisFaceType> HArDCore3D::SerendipityProblem::PolylBasisFaceType |
| typedef Family<CurlBasis<ShiftedBasis<MonomialScalarBasisFace> > > HArDCore3D::DDRCore::RolyBasisFaceType |
| typedef RestrictedBasis<DDRCore::RolyComplBasisCellType> HArDCore3D::SerendipityProblem::RolyCompllpoBasisCellType |
| typedef RestrictedBasis<DDRCore::RolyComplBasisFaceType> HArDCore3D::SerendipityProblem::RolyCompllpoBasisFaceType |
|
protected |
| Eigen::MatrixXd XGrad::buildGradientComponentsCell | ( | size_t | iT | ) | const |
Build the components of the gradient operator (probably not useful in practice to implement schemes)
|
inline |
Return cell bases for cell T.
|
inline |
Return cell bases for cell T.
|
inline |
Return cell bases for cell T.
|
inline |
Return cell bases for cell T.
|
inline |
Return cell bases for cell T.
Return cell bases for element iT.
|
inline |
Return cell bases for the face of index iT.
|
inline |
Return cell bases for the face of index iT.
|
inline |
Return cell bases for the face of index iT.
|
inline |
Return cell bases for the face of index iT.
|
inline |
Return cell bases for the cell of index iT.
|
inline |
Return the basis of P^l on cell T.
|
inline |
Return the basis of P^l on cell of index iT.
|
inline |
Return the basis of R^{c,l+1} on cell T.
|
inline |
Return the basis of R^{c,l+1} on cell of index iT.
Return the full curl operator on cell T.
Return the full curl operator on the cell of index iT.
Return the full gradient operator on cell T.
Return the full gradient operator on the cell of index iT.
|
inline |
Return cell operators for cell T.
|
inline |
Return cell operators for cell T.
|
inline |
Return cell operators for cell T.
|
inline |
Return cell operators for the cell of index iT.
|
inline |
Return cell operators for the cell of index iT.
|
inline |
Return cell operators for the cell of index iT.
Return the potential operator on cell T.
Return the potential operator on cell T.
Return the potential operator on the cell of index iT.
Return the potential operator on the cell of index iT.
|
inline |
Compute the matrix of the (weighted) L2-product.
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to 1 |
| Eigen::MatrixXd XCurl::computeL2Product | ( | const size_t | iT, |
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials.
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to 1 |
| Eigen::MatrixXd XDiv::computeL2Product | ( | const size_t | iT, |
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product for the cell of index iT.
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to 1 |
|
inline |
Compute the matrix of the (weighted) L2-product.
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pkpo_T | if pre-computed, the mass matrix of P^{k+1}(T); if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to 1 |
| Eigen::MatrixXd XGrad::computeL2Product | ( | const size_t | iT, |
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pkpo_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials.
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pkpo_T | if pre-computed, the mass matrix of P^{k+1}(T); if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to 1 |
| Eigen::MatrixXd XCurl::computeL2Product_with_Ops | ( | const size_t | iT, |
| const std::vector< Eigen::MatrixXd > & | leftOp, | ||
| const std::vector< Eigen::MatrixXd > & | rightOp, | ||
| const double & | penalty_factor, | ||
| const Eigen::MatrixXd & | w_mass_Pk3_T, | ||
| const IntegralWeight & | weight | ||
| ) | const |
Compute the matrix of the L2 product, applying leftOp and rightOp to the variables. Probably not directly called, mostly invoked through the wrappers computeL2Product and computeL2ProductGradient.
| iT | index of the cell |
| leftOp | edge, face and element operators to apply on the left |
| rightOp | edge, face and element operators to apply on the right |
| penalty_factor | pre-factor for stabilisation term |
| w_mass_Pk3_T | mass matrix of (P^k(T))^3 weighted by weight |
| weight | weight function in the L2 product |
| Eigen::MatrixXd XDiv::computeL2Product_with_Ops | ( | const size_t | iT, |
| const std::vector< Eigen::MatrixXd > & | leftOp, | ||
| const std::vector< Eigen::MatrixXd > & | rightOp, | ||
| const double & | penalty_factor, | ||
| const Eigen::MatrixXd & | w_mass_Pk3_T, | ||
| const IntegralWeight & | weight | ||
| ) | const |
Compute the matrix of the L2 product, applying leftOp and rightOp to the variables. Probably not directly called, mostly invoked through the wrappers computeL2Product and computeL2ProductCurl.
| iT | index of the cell |
| leftOp | edge, face and element operators to apply on the left |
| rightOp | edge, face and element operators to apply on the right |
| penalty_factor | pre-factor for stabilisation term |
| w_mass_Pk3_T | mass matrix of (P^k(T))^3 weighted by weight |
| weight | weight function in the L2 product |
| Eigen::MatrixXd SXDiv::computeL2ProductCurl | ( | const size_t | iT, |
| const SXCurl & | sx_curl, | ||
| const std::string & | side, | ||
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete serendipity curl on the left/right/both sides (depending on argument "side").
| iT | index of the cell |
| sx_curl | instance of SXCurl to access the serendipity curls |
| side | which side (left, right, both) we apply the gradient to |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to constant 1. |
| Eigen::MatrixXd XDiv::computeL2ProductCurl | ( | const size_t | iT, |
| const XCurl & | x_curl, | ||
| const std::string & | side, | ||
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete curl on the left/right/both sides (depending on argument "side").
| iT | index of the cell |
| x_curl | instance of XCurl to access the full curls |
| side | which side (left, right, both) we apply the gradient to |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to constant 1. |
| Eigen::MatrixXd XCurl::computeL2ProductDOFs | ( | size_t | iT, |
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) |
Alternate version of L2 product, using only cell potentials and 'DOFs' (as in Di-Pietro & Droniou, JCP 2020)
| iT | index of the cell |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, default to constant equal to 1. |
| Eigen::MatrixXd SXCurl::computeL2ProductGradient | ( | const size_t | iT, |
| const SXGrad & | sx_grad, | ||
| const std::string & | side, | ||
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").
| iT | index of the cell |
| sx_grad | instance of SXGrad to access the full gradients |
| side | which side (left, right, both) we apply the gradient to |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to constant 1. |
| Eigen::MatrixXd XCurl::computeL2ProductGradient | ( | const size_t | iT, |
| const XGrad & | x_grad, | ||
| const std::string & | side, | ||
| const double & | penalty_factor = 1., |
||
| const Eigen::MatrixXd & | mass_Pk3_T = Eigen::MatrixXd::Zero(1,1), |
||
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").
| iT | index of the cell |
| x_grad | instance of XGrad to access the full gradients |
| side | which side (left, right, both) we apply the gradient to |
| penalty_factor | pre-factor for stabilisation term |
| mass_Pk3_T | if pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation |
| weight | weight function in the L2 product, defaults to constant 1. |
|
inline |
Computes only the stabilisation matrix of the (weighted) L2-product for the cell of index iT.
| iT | index of the cell |
| weight | weight function in the stabilisation, defaults to 1 |
| Eigen::MatrixXd XGrad::computeStabilisation | ( | const size_t | iT, |
| const IntegralWeight & | weight = IntegralWeight(1.) |
||
| ) | const |
Computes only the stabilisation matrix of the (weighted) L2-product for the cell of index iT. This stabilisation is based on cell and face potentials.
| iT | index of the cell |
| weight | weight function in the stabilisation, defaults to 1 |
| std::vector< VectorRd > SXCurl::computeVertexValues | ( | const Eigen::VectorXd & | u | ) | const |
Computes the values of the potential reconstruction at the mesh vertices.
| u | DOFs in the discrete space |
Computes the values of the potential reconstruction at the mesh vertices.
| u | DOFs in the discrete space |
Return a const reference to the underlying DDR core.
| DDRCore::DDRCore | ( | const Mesh & | mesh, |
| size_t | K, | ||
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
Return the dimension of P^l on cell T.
Return the dimension of P^l on cell of index iT.
Return the dimension of R^{c,l+1} on cell T.
Return the dimension of R^{c,l+1} on cell of index iT.
Return the dimension of P^{l+1} on face F.
Return the dimension of P^l on face of index iF.
Return the dimension of R^{c,l+1} on face F.
Return the dimension of R^{c,l+1} on face of index iF.
Return the extension for cell T.
Return the extension for the cell of index iT.
Return the extension for face F.
Return the extension for the face of index iF.
|
inline |
Return edge bases for edge E.
|
inline |
Return edge bases for edge E.
|
inline |
Return edge bases for edge E.
|
inline |
Return edge bases for edge E.
Return edge bases for edge iE.
|
inline |
Return edge bases for the edge of index iE.
|
inline |
Return edge bases for the edge of index iE.
|
inline |
Return edge bases for the edge of index iE.
|
inline |
Return edge bases for the edge of index iE.
Return the full gradient operator on edge E.
Return the full gradient operator on the edge of index iE.
|
inline |
Return edge operators for edge E.
|
inline |
Return edge operators for the edge of index iE.
Return the potential operator on edge E.
Return the potential operator on the edge of index iE.
Return the extension for cell T.
Return the extension for the cell of index iT.
Return the extension for face F.
Return the extension for the face of index iF.
|
inline |
Return cell bases for face F.
|
inline |
Return face bases for face F.
|
inline |
Return cell bases for face F.
|
inline |
Return cell bases for face F.
|
inline |
Return cell bases for face F.
Return face bases for face iF.
|
inline |
Return face bases for the face of index iF.
|
inline |
Return face bases for the face of index iF.
|
inline |
Return face bases for the face of index iF.
|
inline |
Return face bases for the face of index iF.
|
inline |
Return face bases for the face of index iF.
|
inline |
Return the basis of P^l on face F.
|
inline |
Return the basis of P^l on face of index iF.
|
inline |
Return the basis of R^{c,l+1} on face F.
|
inline |
Return the basis of R^{c,l+1} on face of index iF.
Return the full curl operator on face F.
Return the full curl operator on the face of index iF.
Return the full gradient operator on face F.
Return the full gradient operator on the face of index iF.
|
inline |
Return face operators for face F.
|
inline |
Return face operators for face F.
|
inline |
Return face operators for the face of index iF.
|
inline |
Return face operators for the face of index iF.
Return the potential operator on face F.
Return the potential operator on face F.
Return the potential operator on the face of index iF.
Return the potential operator on the face of index iF.
| Eigen::VectorXd SXGrad::interpolate | ( | const FunctionType & | q, |
| const int | doe_cell = -1, |
||
| const int | doe_face = -1, |
||
| const int | doe_edge = -1 |
||
| ) | const |
Interpolator of a continuous function.
| q | The function to interpolate |
| doe_cell | The optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_face | The optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_edge | The optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| Eigen::VectorXd XGrad::interpolate | ( | const FunctionType & | q, |
| const int | doe_cell = -1, |
||
| const int | doe_face = -1, |
||
| const int | doe_edge = -1 |
||
| ) | const |
Interpolator of a continuous function.
| q | The function to interpolate |
| doe_cell | The optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_face | The optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_edge | The optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| Eigen::VectorXd XDiv::interpolate | ( | const FunctionType & | v, |
| const int | doe_cell = -1, |
||
| const int | doe_face = -1 |
||
| ) | const |
Interpolator of a continuous function.
| v | The function to interpolate |
| doe_cell | The optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_face | The optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| Eigen::VectorXd SXCurl::interpolate | ( | const FunctionType & | v, |
| const int | doe_cell = -1, |
||
| const int | doe_face = -1, |
||
| const int | doe_edge = -1 |
||
| ) | const |
Interpolator of a continuous function.
| v | The function to interpolate |
| doe_cell | The optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_face | The optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_edge | The optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| Eigen::VectorXd XCurl::interpolate | ( | const FunctionType & | v, |
| const int | doe_cell = -1, |
||
| const int | doe_face = -1, |
||
| const int | doe_edge = -1 |
||
| ) | const |
Interpolator of a continuous function.
| v | The function to interpolate |
| doe_cell | The optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_face | The optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
| doe_edge | The optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used. |
|
inline |
| _curl | Curl operator |
| _potential | Potential operator |
|
inline |
| _divergence | Divergence operator |
| _divergence_rhs | RHS for the divergence operator problem |
| _potential | Potential operator |
|
inline |
| _gradient | Gradient operator |
| _potential | Potential operator |
Return a const reference to the mesh.
Return the number of serendipity edges in a face.
Return the number of serendipity faces in a cell.
| Eigen::VectorXi SerendipityProblem::nDOFs_cells_SXCurl | ( | ) | const |
Number of DOFs on cells for serendipity XCurl space.
| Eigen::VectorXi SerendipityProblem::nDOFs_cells_SXGrad | ( | ) | const |
Number of DOFs on cells for serendipity XGrad space.
| Eigen::VectorXi SerendipityProblem::nDOFs_faces_SXCurl | ( | ) | const |
Number of DOFs on faces for serendipity XCurl space.
| Eigen::VectorXi SerendipityProblem::nDOFs_faces_SXGrad | ( | ) | const |
Number of DOFs on faces for serendipity XGrad space.
Return the reduction for cell T.
Return the reduction for the cell of index iT.
Return cell reduction for cell T.
Return the reduction for the face of index iF.
Return the reduction for cell T.
Return the reduction for the cell of index iT.
Return cell reduction for cell T.
Return the reduction for the face of index iF.
Return the serendipity reconstruction for cell T.
Return the serendipity reconstruction for the cell of index iT.
Return the serendipity reconstruction for face F.
Return the serendipity reconstruction for the face of index iF.
Return the serendipity degree ell_T in a cell.
Return the serendipity degree ell_F in a face.
|
inline |
Return the list of serendipity edges in a face.
|
inline |
Return the list of serendipity face in a cell.
|
inline |
Compute the serendipity operator on the Cell T.
| const Eigen::MatrixXd SerendipityProblem::SerendipityOperatorCell | ( | const size_t | iT, |
| const Eigen::MatrixXd & | LT | ||
| ) | const |
Compute the serendipity operator on the cell of index iT.
|
inline |
Compute the serendipity operator on the face F.
| const Eigen::MatrixXd SerendipityProblem::SerendipityOperatorFace | ( | const size_t | iF, |
| const Eigen::MatrixXd & | LF | ||
| ) | const |
Compute the serendipity operator on the face of index iF.
| SerendipityProblem::SerendipityProblem | ( | const DDRCore & | ddrcore, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout, |
||
| bool | use_serendipity = true |
||
| ) |
Constructor.
| ddrcore | DDR class from which this serendipity is constructed |
| use_threads | Using multithreading for construction |
| output | Output for messages |
| use_serendipity | False means that we actually use the DDR class (no serendipity is applied) |
|
inline |
|
inline |
Return the serendipity reconstruction for cell T.
Return the serendipity reconstruction for the cell of index iT.
Return the serendipity reconstruction for face F.
Return the serendipity reconstruction for the face of index iF.
| SXCurl::SXCurl | ( | const DDRCore & | ddr_core, |
| const SerendipityProblem & | ser_pro, | ||
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| SXDiv::SXDiv | ( | const DDRCore & | ddr_core, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| SXGrad::SXGrad | ( | const DDRCore & | ddr_core, |
| const SerendipityProblem & | ser_pro, | ||
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| XCurl::XCurl | ( | const DDRCore & | ddr_core, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
Constructor.
| XGrad::XGrad | ( | const DDRCore & | ddr_core, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| Eigen::MatrixXd HArDCore3D::XCurl::LocalOperators::curl |
| Eigen::MatrixXd HArDCore3D::XDiv::LocalOperators::divergence |
| Eigen::MatrixXd HArDCore3D::XDiv::LocalOperators::divergence_rhs |
| Eigen::MatrixXd HArDCore3D::SXCurl::TransferOperators::extension |
| Eigen::MatrixXd HArDCore3D::SXGrad::TransferOperators::extension |
| std::unique_ptr<GolyComplBasisCellType> HArDCore3D::DDRCore::CellBases::GolyComplk |
| std::unique_ptr<GolyComplBasisCellType> HArDCore3D::DDRCore::CellBases::GolyComplkpo |
| std::unique_ptr<GolyBasisCellType> HArDCore3D::DDRCore::CellBases::Golykmo |
| Eigen::MatrixXd HArDCore3D::XGrad::LocalOperators::gradient |
|
protected |
|
protected |
|
protected |
| std::unique_ptr<PolyBasisCellType> HArDCore3D::DDRCore::CellBases::Polyk |
| std::unique_ptr<PolyBasisFaceType> HArDCore3D::DDRCore::FaceBases::Polyk |
| std::unique_ptr<PolyBasisEdgeType> HArDCore3D::DDRCore::EdgeBases::Polyk |
| std::unique_ptr<Poly2BasisFaceType> HArDCore3D::DDRCore::FaceBases::Polyk2 |
| std::unique_ptr<Poly3BasisCellType> HArDCore3D::DDRCore::CellBases::Polyk3 |
| std::unique_ptr<PolyBasisCellType> HArDCore3D::DDRCore::CellBases::Polykmo |
| std::unique_ptr<PolyBasisFaceType> HArDCore3D::DDRCore::FaceBases::Polykmo |
| std::unique_ptr<PolyBasisEdgeType> HArDCore3D::DDRCore::EdgeBases::Polykmo |
| std::unique_ptr<PolyBasisCellType> HArDCore3D::DDRCore::CellBases::Polykpo |
| std::unique_ptr<PolyBasisFaceType> HArDCore3D::DDRCore::FaceBases::Polykpo |
| std::unique_ptr<PolyBasisEdgeType> HArDCore3D::DDRCore::EdgeBases::Polykpo |
| Eigen::MatrixXd HArDCore3D::XCurl::LocalOperators::potential |
| Eigen::MatrixXd HArDCore3D::XDiv::LocalOperators::potential |
| Eigen::MatrixXd HArDCore3D::XGrad::LocalOperators::potential |
| Eigen::MatrixXd HArDCore3D::SXCurl::TransferOperators::reduction |
| Eigen::MatrixXd HArDCore3D::SXGrad::TransferOperators::reduction |
| std::unique_ptr<RolyComplBasisCellType> HArDCore3D::DDRCore::CellBases::RolyComplk |
| std::unique_ptr<RolyComplBasisFaceType> HArDCore3D::DDRCore::FaceBases::RolyComplk |
| std::unique_ptr<RolyComplBasisCellType> HArDCore3D::DDRCore::CellBases::RolyComplkp2 |
| std::unique_ptr<RolyComplBasisFaceType> HArDCore3D::DDRCore::FaceBases::RolyComplkp2 |
| std::unique_ptr<RolyBasisCellType> HArDCore3D::DDRCore::CellBases::Rolykmo |
| std::unique_ptr<RolyBasisFaceType> HArDCore3D::DDRCore::FaceBases::Rolykmo |
| Eigen::MatrixXd HArDCore3D::SXCurl::TransferOperators::serendipity |
| Eigen::MatrixXd HArDCore3D::SXGrad::TransferOperators::serendipity |