|
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. More... | |
| const Mesh & | HArDCore3D::DDRCore::mesh () const |
| Return a const reference to the mesh. More... | |
| const size_t & | HArDCore3D::DDRCore::degree () const |
| Return the polynomial degree. More... | |
| const CellBases & | HArDCore3D::DDRCore::cellBases (size_t iT) const |
| Return cell bases for element iT. More... | |
| const FaceBases & | HArDCore3D::DDRCore::faceBases (size_t iF) const |
| Return face bases for face iF. More... | |
| const EdgeBases & | HArDCore3D::DDRCore::edgeBases (size_t iE) const |
| Return edge bases for edge iE. More... | |
| HArDCore3D::SerendipityProblem::SerendipityProblem (const DDRCore &ddrcore, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. More... | |
| const std::vector< size_t > & | HArDCore3D::SerendipityProblem::serendipityEdges (size_t iF) const |
| Return the list of serendipity edges in a face. More... | |
| const int | HArDCore3D::SerendipityProblem::n_serendipityEdges (size_t iF) const |
| Return the number of serendipity edges in a face. More... | |
| const int | HArDCore3D::SerendipityProblem::serDegreeFace (size_t iF) const |
| Return the serendipity degree ell_F in a face. More... | |
| const std::vector< size_t > & | HArDCore3D::SerendipityProblem::serendipityFaces (size_t iT) const |
| Return the list of serendipity face in a cell. More... | |
| const int | HArDCore3D::SerendipityProblem::n_serendipityFaces (size_t iT) const |
| Return the number of serendipity faces in a cell. More... | |
| const int | HArDCore3D::SerendipityProblem::serDegreeCell (size_t iT) const |
| Return the serendipity degree ell_T in a cell. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimFacePolyl (size_t iF) const |
| Return the dimension of P^l on face of index iF. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimFacePolyl (const Face &F) const |
| Return the dimension of P^{l+1} on face F. More... | |
| const PolylBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisPolyl (size_t iF) const |
| Return the basis of P^l on face of index iF. More... | |
| const PolylBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisPolyl (const Face &F) const |
| Return the basis of P^l on face F. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimCellPolyl (size_t iT) const |
| Return the dimension of P^l on cell of index iT. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimCellPolyl (const Cell &T) const |
| Return the dimension of P^l on cell T. More... | |
| const PolylBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisPolyl (size_t iT) const |
| Return the basis of P^l on cell of index iT. More... | |
| const PolylBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisPolyl (const Cell &T) const |
| Return the basis of P^l on cell T. More... | |
| Eigen::VectorXd | HArDCore3D::SerendipityProblem::nDOFs_faces_SXGrad () const |
| Number of DOFs on faces for serendipity XGrad space. More... | |
| Eigen::VectorXd | HArDCore3D::SerendipityProblem::nDOFs_cells_SXGrad () const |
| Number of DOFs on cells for serendipity XGrad space. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimFaceRolyCompllpo (size_t iF) const |
| Return the dimension of R^{c,l+1} on face of index iF. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimFaceRolyCompllpo (const Face &F) const |
| Return the dimension of R^{c,l+1} on face F. More... | |
| const RolyCompllpoBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisRolyCompllpo (size_t iF) const |
| Return the basis of R^{c,l+1} on face of index iF. More... | |
| const RolyCompllpoBasisFaceType & | HArDCore3D::SerendipityProblem::faceBasisRolyCompllpo (const Face &F) const |
| Return the basis of R^{c,l+1} on face F. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimCellRolyCompllpo (size_t iT) const |
| Return the dimension of R^{c,l+1} on cell of index iT. More... | |
| size_t | HArDCore3D::SerendipityProblem::dimCellRolyCompllpo (const Cell &T) const |
| Return the dimension of R^{c,l+1} on cell T. More... | |
| const RolyCompllpoBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisRolyCompllpo (size_t iT) const |
| Return the basis of R^{c,l+1} on cell of index iT. More... | |
| const RolyCompllpoBasisCellType & | HArDCore3D::SerendipityProblem::cellBasisRolyCompllpo (const Cell &T) const |
| Return the basis of R^{c,l+1} on cell T. More... | |
| Eigen::VectorXd | HArDCore3D::SerendipityProblem::nDOFs_faces_SXCurl () const |
| Number of DOFs on faces for serendipity XCurl space. More... | |
| Eigen::VectorXd | HArDCore3D::SerendipityProblem::nDOFs_cells_SXCurl () const |
| Number of DOFs on cells for serendipity XCurl space. More... | |
| 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. More... | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorFace (const Face &F, const Eigen::MatrixXd &LF) const |
| Compute the serendipity operator on the face F. More... | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorCell (const size_t iT, const Eigen::MatrixXd <) const |
| Compute the serendipity operator on the cell of index iT. More... | |
| const Eigen::MatrixXd | HArDCore3D::SerendipityProblem::SerendipityOperatorCell (const Cell &T, const Eigen::MatrixXd <) const |
| Compute the serendipity operator on the Cell T. More... | |
| const Mesh & | HArDCore3D::SerendipityProblem::mesh () const |
| Return a const reference to the mesh. More... | |
| 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. More... | |
| const Mesh & | HArDCore3D::SXCurl::mesh () const |
| Return the mesh. More... | |
| const size_t & | HArDCore3D::SXCurl::degree () const |
| Return the polynomial degree. More... | |
| 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. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlFace (size_t iF) const |
| Return the serendipity reconstruction for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlFace (size_t iF) const |
| Return the extension for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlFace (size_t iF) const |
| Return the reduction for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlFace (const Face &F) const |
| Return the serendipity reconstruction for face F. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlFace (const Face &F) const |
| Return the extension for face F. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlFace (const Face &F) const |
| Return cell reduction for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlCell (size_t iT) const |
| Return the serendipity reconstruction for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlCell (size_t iT) const |
| Return the extension for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlCell (size_t iT) const |
| Return the reduction for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::ScurlCell (const Cell &T) const |
| Return the serendipity reconstruction for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::EcurlCell (const Cell &T) const |
| Return the extension for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXCurl::RcurlCell (const Cell &T) const |
| Return the reduction for cell T. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::faceCurl (size_t iF) const |
| Return the full curl operator on the face of index iF. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::faceCurl (const Face &F) const |
| Return the full curl operator on face F. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::facePotential (size_t iF) const |
| Return the potential operator on the face of index iF. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::facePotential (const Face &F) const |
| Return the potential operator on face F. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellCurl (size_t iT) const |
| Return the full curl operator on the cell of index iT. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellCurl (const Cell &T) const |
| Return the full curl operator on cell T. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellPotential (size_t iT) const |
| Return the potential operator on the cell of index iT. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXCurl::cellPotential (const Cell &T) const |
| Return the potential operator on cell T. More... | |
| 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. More... | |
| 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"). More... | |
| const DDRCore::CellBases & | HArDCore3D::SXCurl::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. More... | |
| const DDRCore::CellBases & | HArDCore3D::SXCurl::cellBases (const Cell &T) const |
| Return cell bases for cell T. More... | |
| const DDRCore::FaceBases & | HArDCore3D::SXCurl::faceBases (size_t iF) const |
| Return face bases for the face of index iF. More... | |
| const DDRCore::FaceBases & | HArDCore3D::SXCurl::faceBases (const Face &F) const |
| Return cell bases for face F. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::SXCurl::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::SXCurl::edgeBases (const Edge &E) const |
| Return edge bases for edge E. More... | |
| HArDCore3D::SXDiv::SXDiv (const DDRCore &ddr_core, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. More... | |
| 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"). More... | |
| 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. More... | |
| const Mesh & | HArDCore3D::SXGrad::mesh () const |
| Return the mesh. More... | |
| const size_t & | HArDCore3D::SXGrad::degree () const |
| Return the polynomial degree. More... | |
| 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. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradFace (size_t iF) const |
| Return the serendipity reconstruction for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradFace (size_t iF) const |
| Return the extension for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradFace (size_t iF) const |
| Return the reduction for the face of index iF. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradFace (const Face &F) const |
| Return the serendipity reconstruction for face F. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradFace (const Face &F) const |
| Return the extension for face F. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradFace (const Face &F) const |
| Return cell reduction for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradCell (size_t iT) const |
| Return the serendipity reconstruction for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradCell (size_t iT) const |
| Return the extension for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradCell (size_t iT) const |
| Return the reduction for the cell of index iT. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::SgradCell (const Cell &T) const |
| Return the serendipity reconstruction for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::EgradCell (const Cell &T) const |
| Return the extension for cell T. More... | |
| const Eigen::MatrixXd & | HArDCore3D::SXGrad::RgradCell (const Cell &T) const |
| Return the reduction for cell T. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgeGradient (size_t iE) const |
| Return the full gradient operator on the edge of index iE. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgeGradient (const Edge &E) const |
| Return the full gradient operator on edge E. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgePotential (size_t iE) const |
| Return the potential operator on the edge of index iE. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::edgePotential (const Edge &E) const |
| Return the potential operator on edge E. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::faceGradient (size_t iF) const |
| Return the full gradient operator on the face of index iF. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::faceGradient (const Face &F) const |
| Return the full gradient operator on face F. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::facePotential (size_t iF) const |
| Return the potential operator on the face of index iF. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::facePotential (const Face &F) const |
| Return the potential operator on face F. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellGradient (size_t iT) const |
| Return the full gradient operator on the cell of index iT. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellGradient (const Cell &T) const |
| Return the full gradient operator on cell T. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellPotential (size_t iT) const |
| Return the potential operator on the cell of index iT. More... | |
| const Eigen::MatrixXd | HArDCore3D::SXGrad::cellPotential (const Cell &T) const |
| Return the potential operator on cell T. More... | |
| Eigen::MatrixXd | HArDCore3D::SXGrad::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. More... | |
| const DDRCore::CellBases & | HArDCore3D::SXGrad::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. More... | |
| const DDRCore::CellBases & | HArDCore3D::SXGrad::cellBases (const Cell &T) const |
| Return cell bases for cell T. More... | |
| const DDRCore::FaceBases & | HArDCore3D::SXGrad::faceBases (size_t iF) const |
| Return face bases for the face of index iF. More... | |
| const DDRCore::FaceBases & | HArDCore3D::SXGrad::faceBases (const Face &F) const |
| Return cell bases for face F. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::SXGrad::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::SXGrad::edgeBases (const Edge &E) const |
| Return edge bases for edge E. More... | |
| 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. More... | |
| const Mesh & | HArDCore3D::XCurl::mesh () const |
| Return the mesh. More... | |
| const size_t & | HArDCore3D::XCurl::degree () const |
| Return the polynomial degree. More... | |
| 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. More... | |
| const LocalOperators & | HArDCore3D::XCurl::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. More... | |
| const LocalOperators & | HArDCore3D::XCurl::cellOperators (const Cell &T) const |
| Return cell operators for cell T. More... | |
| const LocalOperators & | HArDCore3D::XCurl::faceOperators (size_t iF) const |
| Return face operators for the face of index iF. More... | |
| const LocalOperators & | HArDCore3D::XCurl::faceOperators (const Face &F) const |
| Return face operators for face F. More... | |
| const DDRCore::CellBases & | HArDCore3D::XCurl::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. More... | |
| const DDRCore::CellBases & | HArDCore3D::XCurl::cellBases (const Cell &T) const |
| Return cell bases for cell T. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XCurl::faceBases (size_t iF) const |
| Return face bases for the face of index iF. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XCurl::faceBases (const Face &F) const |
| Return cell bases for face F. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::XCurl::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::XCurl::edgeBases (const Edge &E) const |
| Return edge bases for edge E. More... | |
| 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. More... | |
| 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"). More... | |
| 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. More... | |
| 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) More... | |
| 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. More... | |
| const Mesh & | HArDCore3D::XDiv::mesh () const |
| Return the mesh. More... | |
| const size_t & | HArDCore3D::XDiv::degree () const |
| Return the polynomial degree. More... | |
| Eigen::VectorXd | HArDCore3D::XDiv::interpolate (const FunctionType &v, const int doe_cell=-1, const int doe_face=-1) const |
| Interpolator of a continuous function. More... | |
| const LocalOperators & | HArDCore3D::XDiv::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. More... | |
| const LocalOperators & | HArDCore3D::XDiv::cellOperators (const Cell &T) const |
| Return cell operators for cell T. More... | |
| const DDRCore::CellBases & | HArDCore3D::XDiv::cellBases (size_t iT) const |
| Return cell bases for the face of index iT. More... | |
| const DDRCore::CellBases & | HArDCore3D::XDiv::cellBases (const Cell &T) const |
| Return cell bases for cell T. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XDiv::faceBases (size_t iF) const |
| Return face bases for the face of index iF. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XDiv::faceBases (const Face &F) const |
| Return cell bases for face F. More... | |
| 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. More... | |
| 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"). More... | |
| 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. More... | |
| 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. More... | |
| const Mesh & | HArDCore3D::XGrad::mesh () const |
| Return the mesh. More... | |
| const size_t & | HArDCore3D::XGrad::degree () const |
| Return the polynomial degree. More... | |
| 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. More... | |
| const LocalOperators & | HArDCore3D::XGrad::edgeOperators (size_t iE) const |
| Return edge operators for the edge of index iE. More... | |
| const LocalOperators & | HArDCore3D::XGrad::edgeOperators (const Edge &E) const |
| Return edge operators for edge E. More... | |
| const LocalOperators & | HArDCore3D::XGrad::faceOperators (size_t iF) const |
| Return face operators for the face of index iF. More... | |
| const LocalOperators & | HArDCore3D::XGrad::faceOperators (const Face &F) const |
| Return face operators for face F. More... | |
| const LocalOperators & | HArDCore3D::XGrad::cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. More... | |
| const LocalOperators & | HArDCore3D::XGrad::cellOperators (const Cell &T) const |
| Return cell operators for cell T. More... | |
| const DDRCore::CellBases & | HArDCore3D::XGrad::cellBases (size_t iT) const |
| Return cell bases for the cell of index iT. More... | |
| const DDRCore::CellBases & | HArDCore3D::XGrad::cellBases (const Cell &T) const |
| Return cell bases for cell T. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XGrad::faceBases (size_t iF) const |
| Return face bases for the face of index iF. More... | |
| const DDRCore::FaceBases & | HArDCore3D::XGrad::faceBases (const Face &F) const |
| Return cell bases for face F. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::XGrad::edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. More... | |
| const DDRCore::EdgeBases & | HArDCore3D::XGrad::edgeBases (const Edge &E) const |
| Return edge bases for edge E. More... | |
| 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. More... | |
| Eigen::MatrixXd | HArDCore3D::XGrad::buildGradientComponentsCell (size_t iT) const |
| Build the components of the gradient operator (probably not useful in practice to implement schemes) More... | |
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 |
| typedef Cell HArDCore3D::DDRCore::CellBases::GeometricSupport |
Geometric support.
| typedef Face HArDCore3D::DDRCore::FaceBases::GeometricSupport |
Geometric support.
| typedef Edge HArDCore3D::DDRCore::EdgeBases::GeometricSupport |
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.
|
inline |
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.
|
inline |
Return the full curl operator on cell T.
|
inline |
Return the full curl operator on the cell of index iT.
|
inline |
Return the full gradient operator on cell T.
|
inline |
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.
|
inline |
Return the potential operator on cell T.
|
inline |
Return the potential operator on cell T.
|
inline |
Return the potential operator on the cell of index iT.
|
inline |
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 |
|
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 |
| 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. |
| DDRCore::DDRCore | ( | const Mesh & | mesh, |
| size_t | K, | ||
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
|
inline |
Return the polynomial degree.
|
inline |
Return the polynomial degree.
|
inline |
Return the polynomial degree.
|
inline |
Return the polynomial degree.
|
inline |
Return the polynomial degree.
|
inline |
Return the polynomial degree.
|
inline |
Return the dimension of P^l on cell T.
|
inline |
Return the dimension of P^l on cell of index iT.
|
inline |
Return the dimension of R^{c,l+1} on cell T.
|
inline |
Return the dimension of R^{c,l+1} on cell of index iT.
|
inline |
Return the dimension of P^{l+1} on face F.
|
inline |
Return the dimension of P^l on face of index iF.
|
inline |
Return the dimension of R^{c,l+1} on face F.
|
inline |
Return the dimension of R^{c,l+1} on face of index iF.
|
inline |
Return the extension for cell T.
|
inline |
Return the extension for the cell of index iT.
|
inline |
Return the extension for face F.
|
inline |
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.
|
inline |
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.
|
inline |
Return the full gradient operator on edge E.
|
inline |
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.
|
inline |
Return the potential operator on edge E.
|
inline |
Return the potential operator on the edge of index iE.
|
inline |
Return the extension for cell T.
|
inline |
Return the extension for the cell of index iT.
|
inline |
Return the extension for face F.
|
inline |
Return the extension for the face of index iF.
|
inline |
Return cell 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.
|
inline |
Return cell bases for face F.
|
inline |
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.
|
inline |
Return the full curl operator on face F.
|
inline |
Return the full curl operator on the face of index iF.
|
inline |
Return the full gradient operator on face F.
|
inline |
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.
|
inline |
Return the potential operator on face F.
|
inline |
Return the potential operator on face F.
|
inline |
Return the potential operator on the face of index iF.
|
inline |
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 |
|
inline |
Return a const reference to the mesh.
|
inline |
Return a const reference to the mesh.
|
inline |
Return the mesh.
|
inline |
Return the mesh.
|
inline |
Return the mesh.
|
inline |
Return the mesh.
|
inline |
Return the mesh.
|
inline |
Return the number of serendipity edges in a face.
|
inline |
Return the number of serendipity faces in a cell.
| Eigen::VectorXd SerendipityProblem::nDOFs_cells_SXCurl | ( | ) | const |
Number of DOFs on cells for serendipity XCurl space.
| Eigen::VectorXd SerendipityProblem::nDOFs_cells_SXGrad | ( | ) | const |
Number of DOFs on cells for serendipity XGrad space.
| Eigen::VectorXd SerendipityProblem::nDOFs_faces_SXCurl | ( | ) | const |
Number of DOFs on faces for serendipity XCurl space.
| Eigen::VectorXd SerendipityProblem::nDOFs_faces_SXGrad | ( | ) | const |
Number of DOFs on faces for serendipity XGrad space.
|
inline |
Return the reduction for cell T.
|
inline |
Return the reduction for the cell of index iT.
|
inline |
Return cell reduction for cell T.
|
inline |
Return the reduction for the face of index iF.
|
inline |
Return the reduction for cell T.
|
inline |
Return the reduction for the cell of index iT.
|
inline |
Return cell reduction for cell T.
|
inline |
Return the reduction for the face of index iF.
|
inline |
Return the serendipity reconstruction for cell T.
|
inline |
Return the serendipity reconstruction for the cell of index iT.
|
inline |
Return the serendipity reconstruction for face F.
|
inline |
Return the serendipity reconstruction for the face of index iF.
|
inline |
Return the serendipity degree ell_T in a cell.
|
inline |
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 |
||
| ) |
Constructor.
|
inline |
|
inline |
|
inline |
Return the serendipity reconstruction for cell T.
|
inline |
Return the serendipity reconstruction for the cell of index iT.
|
inline |
Return the serendipity reconstruction for face F.
|
inline |
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.
|
inline |
|
inline |
| XCurl::XCurl | ( | const DDRCore & | ddr_core, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
Constructor.
| XDiv::XDiv | ( | const DDRCore & | ddr_core, |
| bool | use_threads = true, |
||
| std::ostream & | output = std::cout |
||
| ) |
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 |
|
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 |