HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Namespaces | Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables
Common

Various general functions and classes. More...

Namespaces

namespace  Eigen::internal
 

Classes

class  HArDCore3D::GlobalDOFSpace
 Base class for global DOF spaces. Provides functions to manipulate global DOFs (the local version being provided by DOFSpace). More...
 
struct  HArDCore3D::IntegralWeight
 Structure for weights (scalar, at the moment) in integral. More...
 
class  HArDCore3D::LinearSolver< MatrixType >
 This structure is a wrapper to allow a given code to select various linear solvers. More...
 
struct  HArDCore3D::LocalStaticCondensation
 Structure to store information for, and perform, local static condensation. More...
 
class  HArDCore3D::LocalDOFSpace
 Base class for DOF spaces: functions to access local DOFs (organised from the smallest dimension to the largest) associated with each geometric entity. More...
 
struct  HArDCore3D::SystemVectors< MatrixType >
 Struct to store the systems and vector. More...
 
class  Eigen::PastixLU< _MatrixType, IsStrSym >
 Class to invoke the Pastix LU solver. More...
 
class  Eigen::PastixLLT< _MatrixType, _UpLo >
 Class to invoke the Pastix LLT solver. More...
 
class  Eigen::PastixLDLT< _MatrixType, _UpLo >
 Class to invoke the Pastix LDLT solver. More...
 
struct  Eigen::internal::pastix_traits< Pastix >
 
struct  Eigen::internal::pastix_traits< PastixLU< _MatrixType > >
 
struct  Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >
 
struct  Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >
 
class  Eigen::PastixBase< Derived >
 
struct  HArDCore3D::PolynomialSpaceDimension< GeometricSupport >
 Basis dimensions for various polynomial spaces on edges/faces/elements (when relevant): Pk, Gk, Rk and complements. More...
 
struct  HArDCore3D::PolynomialSpaceDimension< Cell >
 
struct  HArDCore3D::PolynomialSpaceDimension< Face >
 
struct  HArDCore3D::PolynomialSpaceDimension< Edge >
 
class  HArDCore3D::VariableDOFSpace
 Base class for global DOF spaces. More...
 

Macros

#define PASTIX_COMPLEX   std::complex<float>
 
#define PASTIX_DCOMPLEX   std::complex<double>
 

Typedefs

typedef std::function< double(const Cell &, const Eigen::Vector3d &)> HArDCore3D::IntegralWeightValueType
 
typedef std::function< size_t(const Cell &)> HArDCore3D::IntegralWeightDegreeType
 
template<typename MatrixType >
using HArDCore3D::EigenLUType = Eigen::SparseLU< MatrixType >
 
template<typename MatrixType >
using HArDCore3D::EigenBiCGStabType = Eigen::BiCGSTAB< MatrixType, Eigen::IncompleteLUT< double > >
 
template<typename MatrixType >
using HArDCore3D::PardisoLUType = bool
 
template<typename MatrixType >
using HArDCore3D::UMFPACKType = bool
 
using HArDCore3D::PastixLUType = bool
 
using HArDCore3D::PastixLLTType = bool
 
template<typename MatrixType >
using HArDCore3D::ListSolvers = std::tuple< std::unique_ptr< EigenLUType< MatrixType > >, std::unique_ptr< EigenBiCGStabType< MatrixType > >, std::unique_ptr< PardisoLUType< MatrixType > >, std::unique_ptr< UMFPACKType< MatrixType > >, std::unique_ptr< PastixLUType >, std::unique_ptr< PastixLLTType > >
 
typedef _MatrixType Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::MatrixType
 
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::Scalar
 
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::RealScalar
 
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::StorageIndex
 
typedef _MatrixType Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::MatrixType
 
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::Scalar
 
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::RealScalar
 
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::StorageIndex
 
typedef _MatrixType Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::MatrixType
 
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::Scalar
 
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::RealScalar
 
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::StorageIndex
 
typedef SparseSolverBase< Derived > Eigen::PastixBase< Derived >::Base
 
typedef internal::pastix_traits< Derived >::MatrixType Eigen::PastixBase< Derived >::_MatrixType
 
typedef _MatrixType Eigen::PastixBase< Derived >::MatrixType
 
typedef MatrixType::Scalar Eigen::PastixBase< Derived >::Scalar
 
typedef MatrixType::RealScalar Eigen::PastixBase< Derived >::RealScalar
 
typedef MatrixType::StorageIndex Eigen::PastixBase< Derived >::StorageIndex
 
typedef Matrix< Scalar, Dynamic, 1 > Eigen::PastixBase< Derived >::Vector
 
typedef SparseMatrix< Scalar, ColMajor > Eigen::PastixBase< Derived >::ColSpMatrix
 
typedef _MatrixType Eigen::PastixLU< _MatrixType, IsStrSym >::MatrixType
 
typedef PastixBase< PastixLU< MatrixType > > Eigen::PastixLU< _MatrixType, IsStrSym >::Base
 
typedef Base::ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::ColSpMatrix
 
typedef MatrixType::StorageIndex Eigen::PastixLU< _MatrixType, IsStrSym >::StorageIndex
 
typedef _MatrixType Eigen::PastixLLT< _MatrixType, _UpLo >::MatrixType
 
typedef PastixBase< PastixLLT< MatrixType, _UpLo > > Eigen::PastixLLT< _MatrixType, _UpLo >::Base
 
typedef Base::ColSpMatrix Eigen::PastixLLT< _MatrixType, _UpLo >::ColSpMatrix
 
typedef _MatrixType Eigen::PastixLDLT< _MatrixType, _UpLo >::MatrixType
 
typedef PastixBase< PastixLDLT< MatrixType, _UpLo > > Eigen::PastixLDLT< _MatrixType, _UpLo >::Base
 
typedef Base::ColSpMatrix Eigen::PastixLDLT< _MatrixType, _UpLo >::ColSpMatrix
 

Enumerations

enum  HArDCore3D::SolverName {
  HArDCore3D::EigenLU , HArDCore3D::EigenBiCGStab , HArDCore3D::PardisoLU , HArDCore3D::UMFPACK ,
  HArDCore3D::PaStiXLU , HArDCore3D::PaStiXLLT
}
 Enumeration of all available solvers. More...
 
enum  { Eigen::PastixBase< Derived >::ColsAtCompileTime = MatrixType::ColsAtCompileTime , Eigen::PastixBase< Derived >::MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime }
 
enum  { Eigen::PastixLLT< _MatrixType, _UpLo >::UpLo = _UpLo }
 
enum  { Eigen::PastixLDLT< _MatrixType, _UpLo >::UpLo = _UpLo }
 

Functions

std::pair< double, doubleHArDCore3D::store_times (boost::timer::cpu_timer &timer, std::string message="")
 Function to store and display wall/proc timers from boost::timer::cpu_timer.
 
 HArDCore3D::GlobalDOFSpace::GlobalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, size_t n_local_cell_dofs)
 Constructor.
 
size_t HArDCore3D::GlobalDOFSpace::globalOffset (const Vertex &V) const
 Return the global offset for the unknowns on the vertex V.
 
size_t HArDCore3D::GlobalDOFSpace::globalOffset (const Edge &E) const
 Return the global offset for the unknowns on the edge E.
 
size_t HArDCore3D::GlobalDOFSpace::globalOffset (const Face &F) const
 Return the global offset for the unknowns on the face F.
 
size_t HArDCore3D::GlobalDOFSpace::globalOffset (const Cell &T) const
 Return the global offset for the unknowns on the cell T.
 
size_t HArDCore3D::GlobalDOFSpace::globalOffset (size_t d, size_t i) const
 Return the global offset for the unknows on the i-th element of dimension d.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrictEdge (size_t iE, const Eigen::VectorXd &vh) const
 Restrict to the edge (including its vertices) of index iE.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrictFace (size_t iF, const Eigen::VectorXd &vh) const
 Restrict to the face (including vertices and edges) of index iF.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrictCell (size_t iT, const Eigen::VectorXd &vh) const
 Restrict to the cell (including vertices, edges and faces) of index iT.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict (const Edge &E, const Eigen::VectorXd vh) const
 Restrict to an edge.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict (const Face &F, const Eigen::VectorXd vh) const
 Restrict to a face.
 
Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict (const Cell &T, const Eigen::VectorXd vh) const
 Restrict to a cell.
 
Eigen::MatrixXd HArDCore3D::GlobalDOFSpace::extendOperator (const Cell &T, const Face &F, const Eigen::MatrixXd &opF) const
 
Eigen::MatrixXd HArDCore3D::GlobalDOFSpace::extendOperator (const Cell &T, const Edge &E, const Eigen::MatrixXd &opE) const
 Extend an edge operator to a cell.
 
Eigen::MatrixXd HArDCore3D::GlobalDOFSpace::extendOperator (const Face &F, const Edge &E, const Eigen::MatrixXd &opE) const
 Extend an edge operator to a face.
 
Eigen::MatrixXd HArDCore3D::GlobalDOFSpace::extendOperator (size_t d1, size_t i1, size_t d2, size_t i2, const Eigen::MatrixXd &op) const
 Generic extension operator from the i2-th d2-cell to the i1-th d1-cell.
 
void HArDCore3D::GlobalDOFSpace::addInnerProductContribution (const Cell &T, const Face &F, Eigen::MatrixXd &prodT, const Eigen::MatrixXd &prodF) const
 Takes an inner product prodF on a face F, and adds its contributions to the inner product prodT on the element T (distributes the contributions according to the DOFs as seen from T)
 
std::vector< size_tHArDCore3D::GlobalDOFSpace::globalDOFIndices (const Cell &T) const
 Returns a vector listing the global DOFs attached to the element T: vertex DOFs, edge DOFs, face DOFs and element DOFs.
 
std::vector< size_tHArDCore3D::GlobalDOFSpace::globalDOFIndices (const Face &F) const
 Returns a vector listing the global DOFs attached to the face F: vertex DOFs, edge DOFs, face DOFs.
 
 HArDCore3D::IntegralWeight::IntegralWeight (const IntegralWeightValueType _value, const IntegralWeightDegreeType _deg)
 Generic constructor.
 
 HArDCore3D::IntegralWeight::IntegralWeight (double val)
 Constructor for constant weights.
 
 HArDCore3D::IntegralWeight::IntegralWeight (const std::function< double(const VectorRd &)> &val, const size_t &deg)
 Constructor when the dependency on the cell T is not explicit in the value (and degree is constant)
 
 HArDCore3D::IntegralWeight::IntegralWeight (const std::function< double(const VectorRd &)> &val)
 Constructor when the dependency on the cell T is not explicit in the value, and degree is not provided (it is assumed to be 0)
 
IntegralWeight HArDCore3D::operator* (double const &r, IntegralWeight const &weight)
 Operator to multiply an IntegralWeight by a number.
 
IntegralWeight HArDCore3D::operator+ (IntegralWeight const &weight1, IntegralWeight const &weight2)
 Operator to add an IntegralWeight to another one.
 
 HArDCore3D::LinearSolver< MatrixType >::LinearSolver (const std::string &namesolver)
 Constructor.
 
std::string HArDCore3D::LinearSolver< MatrixType >::name () const
 Returns the name of the solver.
 
Eigen::ComputationInfo HArDCore3D::LinearSolver< MatrixType >::info_factorize () const
 Returns the information message after the "factorize" step.
 
Eigen::ComputationInfo HArDCore3D::LinearSolver< MatrixType >::info_solve () const
 Returns the information message after the "solve" step.
 
void HArDCore3D::LinearSolver< MatrixType >::analyzePattern (MatrixType &A)
 Analyze the pattern of the matrix.
 
void HArDCore3D::LinearSolver< MatrixType >::factorize (MatrixType &A)
 Factorize the matrix.
 
void HArDCore3D::LinearSolver< MatrixType >::compute (MatrixType &A)
 Analyze and factorize the matrix.
 
template<typename VectorType >
VectorType HArDCore3D::LinearSolver< MatrixType >::solve (VectorType &b)
 Solve the system Ax=b using the selected solver (after analysis of pattern and computation of matrix)
 
template<typename VectorType >
VectorType HArDCore3D::LinearSolver< MatrixType >::compute_and_solve (MatrixType &A, VectorType &b)
 Perform all operators to solve Ax=b.
 
template<typename VectorType >
double HArDCore3D::LinearSolver< MatrixType >::residual (MatrixType &A, VectorType &b, VectorType &x)
 Check relative infinity norm of residual: ||Ax-b||/||b||.
 
 HArDCore3D::LocalStaticCondensation::LocalStaticCondensation (const Eigen::MatrixXd &Perm, const std::vector< size_t > &globalDOFs_gl, const std::vector< size_t > &globalDOFs_sc)
 Constructor.
 
std::tuple< Eigen::MatrixXd, Eigen::VectorXd, Eigen::MatrixXd, Eigen::VectorXd > HArDCore3D::LocalStaticCondensation::compute (const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &lsT)
 Compute the local static condensation.
 
std::vector< size_tHArDCore3D::LocalStaticCondensation::globalDOFs_gl ()
 Returns global DOFs that are not statically condensend.
 
size_t HArDCore3D::LocalStaticCondensation::dim_gl ()
 Returns the number of DOFs that are not statically condensed.
 
std::vector< size_tHArDCore3D::LocalStaticCondensation::globalDOFs_sc ()
 Returns global DOFs that are statically condensend.
 
size_t HArDCore3D::LocalStaticCondensation::dim_sc ()
 Returns the number of DOFs that are statically condensed.
 
 HArDCore3D::LocalDOFSpace::LocalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, size_t n_local_cell_dofs)
 Constructor.
 
const MeshHArDCore3D::LocalDOFSpace::mesh () const
 Returns the mesh.
 
size_t HArDCore3D::LocalDOFSpace::numLocalDofsVertex () const
 Returns the number of local vertex DOFs.
 
size_t HArDCore3D::LocalDOFSpace::numLocalDofsEdge () const
 Returns the number of local edge DOFs.
 
size_t HArDCore3D::LocalDOFSpace::numLocalDofsFace () const
 Returns the number of local face DOFs.
 
size_t HArDCore3D::LocalDOFSpace::numLocalDofsCell () const
 Returns the number of local cell DOFs.
 
size_t HArDCore3D::LocalDOFSpace::numLocalDofs (size_t d) const
 Returns the number of local d-cell DOFs.
 
size_t HArDCore3D::LocalDOFSpace::dimension () const
 Returns the dimension of the global space (all DOFs for all geometric entities)
 
size_t HArDCore3D::LocalDOFSpace::dimensionVertex (const Vertex &V) const
 Returns the dimension of the local space on the vertex V.
 
size_t HArDCore3D::LocalDOFSpace::dimensionVertex (size_t iV) const
 Returns the dimension of the local space on the vertex of index iV.
 
size_t HArDCore3D::LocalDOFSpace::dimensionEdge (const Edge &E) const
 Returns the dimension of the local space on the edge E (including vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimensionEdge (size_t iE) const
 Returns the dimension of the local space on the edge of index iE (including vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimensionFace (const Face &F) const
 Returns the dimension of the local space on the face F (including edges and vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimensionFace (size_t iF) const
 Returns the dimension of the local space on the face of index iF (including edges and vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimensionCell (const Cell &T) const
 Returns the dimension of the local space on the cell T (including faces, edges and vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimensionCell (size_t iT) const
 Returns the dimension of the local space on the cell of index iT (including faces, edges and vertices)
 
size_t HArDCore3D::LocalDOFSpace::dimension (size_t d, size_t i) const
 Returns the dimension of the local space on the d-cell of index i (including its boundary)
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Edge &E, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the edge E.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Edge &E) const
 Returns the local offset of the unknowns attached to the edge E.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Face &F, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the face F.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Face &F, const Edge &E) const
 Returns the local offset of the edge E with respect to the face F.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Face &F) const
 Returns the local offset of the unknowns attached to the face F.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Cell &T, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the cell T.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Cell &T, const Edge &E) const
 Returns the local offset of the edge E with respect to the cell T.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Cell &T, const Face &F) const
 Returns the local offset of the face F with respect to the cell T.
 
size_t HArDCore3D::LocalDOFSpace::localOffset (const Cell &T) const
 Returns the local offset of the unknowns attached to the element T.
 
 HArDCore3D::SystemVectors< MatrixType >::SystemVectors (std::vector< MatrixType > sys, std::vector< Eigen::VectorXd > vec)
 Constructor.
 
static std::pair< std::vector< int >, std::vector< int > > HArDCore3D::distributeLoad (size_t nb_elements, unsigned nb_threads)
 Function to distribute elements (considered as jobs) over threads. It returns a pair of vectors indicating the start and end element of each thread.
 
static void HArDCore3D::parallel_for (unsigned nb_elements, std::function< void(size_t start, size_t end)> functor, bool use_threads=true)
 Generic function to execute threaded processes.
 
static SystemVectors< Eigen::SparseMatrix< double > > HArDCore3D::parallel_assembly_system (size_t nb_elements, std::vector< std::pair< size_t, size_t > > size_systems, std::vector< size_t > size_vectors, std::function< void(size_t start, size_t end, std::vector< std::list< Eigen::Triplet< double > > > *triplets, std::vector< Eigen::VectorXd > *vecs)> batch_local_assembly, bool use_threads=true)
 Function to assemble global matrices from a procedure that compute local triplets.
 
static std::pair< Eigen::SparseMatrix< double >, Eigen::VectorXd > HArDCore3D::parallel_assembly_system (size_t nb_elements, size_t size_system, std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets, Eigen::VectorXd *rhs)> batch_local_assembly, bool use_threads=true)
 Function to assemble a global matrix and right-hand side from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)
 
static std::tuple< Eigen::SparseMatrix< double >, Eigen::VectorXd, Eigen::SparseMatrix< double >, Eigen::VectorXd > HArDCore3D::parallel_assembly_system (size_t nb_elements, size_t size_system1, std::pair< size_t, size_t > size_Mat2, size_t size_b2, std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets1, Eigen::VectorXd *vec1, std::list< Eigen::Triplet< double > > *triplets2, Eigen::VectorXd *vec2)> batch_local_assembly, bool use_threads=true)
 Function to assemble two global matrices and vectors (such as: system and static condensation operator, or system and matrix for BC) from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)
 
int Eigen::internal::eigen_pastix (pastix_data_t **pastix_data, PASTIX_Comm pastix_comm, int n, int *ptr, int *idx, float *vals, int *perm, int *invp, float *x, int nbrhs, int *iparm, double *dparm)
 
int Eigen::internal::eigen_pastix (pastix_data_t **pastix_data, PASTIX_Comm pastix_comm, int n, int *ptr, int *idx, double *vals, int *perm, int *invp, double *x, int nbrhs, int *iparm, double *dparm)
 
int Eigen::internal::eigen_pastix (pastix_data_t **pastix_data, PASTIX_Comm pastix_comm, int n, int *ptr, int *idx, std::complex< float > *vals, int *perm, int *invp, std::complex< float > *x, int nbrhs, int *iparm, double *dparm)
 
int Eigen::internal::eigen_pastix (pastix_data_t **pastix_data, PASTIX_Comm pastix_comm, int n, int *ptr, int *idx, std::complex< double > *vals, int *perm, int *invp, std::complex< double > *x, int nbrhs, int *iparm, double *dparm)
 
template<typename MatrixType >
void Eigen::internal::c_to_fortran_numbering (MatrixType &mat)
 
template<typename MatrixType >
void Eigen::internal::fortran_to_c_numbering (MatrixType &mat)
 
 Eigen::PastixBase< Derived >::PastixBase ()
 
 Eigen::PastixBase< Derived >::~PastixBase ()
 
template<typename Rhs , typename Dest >
bool Eigen::PastixBase< Derived >::_solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const
 
Array< StorageIndex, IPARM_SIZE, 1 > & Eigen::PastixBase< Derived >::iparm ()
 
int & Eigen::PastixBase< Derived >::iparm (int idxparam)
 
Array< double, DPARM_SIZE, 1 > & Eigen::PastixBase< Derived >::dparm ()
 
double & Eigen::PastixBase< Derived >::dparm (int idxparam)
 
Index Eigen::PastixBase< Derived >::cols () const
 
Index Eigen::PastixBase< Derived >::rows () const
 
ComputationInfo Eigen::PastixBase< Derived >::info () const
 Reports whether previous computation was successful.
 
void Eigen::PastixBase< Derived >::init (double eps_refinement=0.0, double eps_ctrl=0.0)
 
void Eigen::PastixBase< Derived >::analyzePattern (ColSpMatrix &mat)
 
void Eigen::PastixBase< Derived >::factorize (ColSpMatrix &mat)
 
void Eigen::PastixBase< Derived >::clean ()
 
void Eigen::PastixBase< Derived >::compute (ColSpMatrix &mat)
 
 Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU ()
 
 Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU (const MatrixType &matrix)
 
void Eigen::PastixLU< _MatrixType, IsStrSym >::compute (const MatrixType &matrix)
 
void Eigen::PastixLU< _MatrixType, IsStrSym >::analyzePattern (const MatrixType &matrix)
 
void Eigen::PastixLU< _MatrixType, IsStrSym >::factorize (const MatrixType &matrix)
 
void Eigen::PastixLU< _MatrixType, IsStrSym >::init (double eps_refinement=0.0, double eps_ctrl=0.0)
 
void Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
 Eigen::PastixLLT< _MatrixType, _UpLo >::PastixLLT ()
 
 Eigen::PastixLLT< _MatrixType, _UpLo >::PastixLLT (const MatrixType &matrix)
 
void Eigen::PastixLLT< _MatrixType, _UpLo >::compute (const MatrixType &matrix)
 
void Eigen::PastixLLT< _MatrixType, _UpLo >::analyzePattern (const MatrixType &matrix)
 
void Eigen::PastixLLT< _MatrixType, _UpLo >::factorize (const MatrixType &matrix)
 
void Eigen::PastixLLT< _MatrixType, _UpLo >::init ()
 
void Eigen::PastixLLT< _MatrixType, _UpLo >::grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
 Eigen::PastixLDLT< _MatrixType, _UpLo >::PastixLDLT ()
 
 Eigen::PastixLDLT< _MatrixType, _UpLo >::PastixLDLT (const MatrixType &matrix)
 
void Eigen::PastixLDLT< _MatrixType, _UpLo >::compute (const MatrixType &matrix)
 
void Eigen::PastixLDLT< _MatrixType, _UpLo >::analyzePattern (const MatrixType &matrix)
 
void Eigen::PastixLDLT< _MatrixType, _UpLo >::factorize (const MatrixType &matrix)
 
void Eigen::PastixLDLT< _MatrixType, _UpLo >::init ()
 
void Eigen::PastixLDLT< _MatrixType, _UpLo >::grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Poly (int k)
 Dimension of Pk(T)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Goly (int k)
 Dimension of Gk(T)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::GolyCompl (int k)
 Dimension of Gck(T)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Roly (int k)
 Dimension of Rk(T)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::RolyCompl (int k)
 Dimension of Rck(T)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Poly (int k)
 Dimension of Pk(F)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Goly (int k)
 Dimension of Gk(F)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Face >::GolyCompl (int k)
 Dimension of Gck(F)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Roly (int k)
 Dimension of Rk(F)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Face >::RolyCompl (int k)
 Dimension of Rck(F)
 
static size_t HArDCore3D::PolynomialSpaceDimension< Edge >::Poly (int k)
 Dimension of Pk(E)
 
 HArDCore3D::VariableDOFSpace::VariableDOFSpace (const Mesh &mesh, const Eigen::VectorXi n_local_vertex_dofs, const Eigen::VectorXi n_local_edge_dofs, const Eigen::VectorXi n_local_face_dofs, const Eigen::VectorXi n_local_cell_dofs)
 Constructor.
 
 HArDCore3D::VariableDOFSpace::VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, const Eigen::VectorXi n_local_edge_dofs, const Eigen::VectorXi n_local_face_dofs, const Eigen::VectorXi n_local_cell_dofs)
 Simpler constructor if all vertices have the same number of DOFs.
 
 HArDCore3D::VariableDOFSpace::VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, const Eigen::VectorXi n_local_face_dofs, const Eigen::VectorXi n_local_cell_dofs)
 Simpler constructor if all vertices/edges have the same number of DOFs.
 
 HArDCore3D::VariableDOFSpace::VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, const Eigen::VectorXi n_local_cell_dofs)
 Simpler constructor if all vertices/edges/faces have the same number of DOFs.
 
 HArDCore3D::VariableDOFSpace::VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, size_t n_local_cell_dofs)
 Simpler constructor if all vertices/edges/faces/cells have the same number of DOFs.
 
const MeshHArDCore3D::VariableDOFSpace::mesh () const
 Returns the mesh.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsVertex (const size_t iV) const
 Returns the number of local DOFs on vertex of index iV.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsVertex (const Vertex &V) const
 Returns the number of local DOFs on vertex V.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsEdge (const size_t iE) const
 Returns the number of local DOFs on edge of index iE.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsEdge (const Edge &E) const
 Returns the number of local DOFs on edge E.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsFace (const size_t iF) const
 Returns the number of local DOFs on face of index iF.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsFace (const Face &F) const
 Returns the number of local DOFs on face F.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsCell (const size_t iT) const
 Returns the number of local DOFs on cell of index iT.
 
size_t HArDCore3D::VariableDOFSpace::numLocalDofsCell (const Cell &T) const
 Returns the number of local DOFs on cell T.
 
size_t HArDCore3D::VariableDOFSpace::nDOFs_vertices () const
 Total number of vertices DOFs.
 
size_t HArDCore3D::VariableDOFSpace::nDOFs_edges () const
 Total number of edges DOFs.
 
size_t HArDCore3D::VariableDOFSpace::nDOFs_faces () const
 Total number of faces DOFs.
 
size_t HArDCore3D::VariableDOFSpace::nDOFs_cells () const
 Total number of cells DOFs.
 
size_t HArDCore3D::VariableDOFSpace::dimension () const
 Returns the dimension of the global space (all DOFs for all geometric entities)
 
size_t HArDCore3D::VariableDOFSpace::dimensionVertex (const Vertex &V) const
 Returns the dimension of the local space on the vertex V.
 
size_t HArDCore3D::VariableDOFSpace::dimensionVertex (size_t iV) const
 Returns the dimension of the local space on the vertex of index iV.
 
size_t HArDCore3D::VariableDOFSpace::dimensionEdge (const Edge &E) const
 Returns the dimension of the local space on the edge E (including vertices)
 
size_t HArDCore3D::VariableDOFSpace::dimensionEdge (size_t iE) const
 Returns the dimension of the local space on the edge of index iE (including vertices)
 
size_t HArDCore3D::VariableDOFSpace::dimensionFace (const Face &F) const
 Returns the dimension of the local space on the face F (including edges and vertices)
 
size_t HArDCore3D::VariableDOFSpace::dimensionFace (size_t iF) const
 Returns the dimension of the local space on the face of index iF (including edges and vertices)
 
size_t HArDCore3D::VariableDOFSpace::dimensionCell (const Cell &T) const
 Returns the dimension of the local space on the cell T (including faces, edges and vertices)
 
size_t HArDCore3D::VariableDOFSpace::dimensionCell (size_t iT) const
 Returns the dimension of the local space on the cell of index iT (including faces, edges and vertices)
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Edge &E, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the edge E.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Edge &E) const
 Returns the local offset of the unknowns attached to the edge E.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Face &F, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the face F.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Face &F, const Edge &E) const
 Returns the local offset of the edge E with respect to the face F.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Face &F) const
 Returns the local offset of the unknowns attached to the face F.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Cell &T, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the cell T.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Cell &T, const Edge &E) const
 Returns the local offset of the edge E with respect to the cell T.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Cell &T, const Face &F) const
 Returns the local offset of the face F with respect to the cell T.
 
size_t HArDCore3D::VariableDOFSpace::localOffset (const Cell &T) const
 Returns the local offset of the unknowns attached to the element T.
 
size_t HArDCore3D::VariableDOFSpace::globalOffset (const Vertex &V) const
 Return the global offset for the unknowns on the vertex V.
 
size_t HArDCore3D::VariableDOFSpace::globalOffset (const Edge &E) const
 Return the global offset for the unknowns on the edge E.
 
size_t HArDCore3D::VariableDOFSpace::globalOffset (const Face &F) const
 Return the global offset for the unknowns on the face F.
 
size_t HArDCore3D::VariableDOFSpace::globalOffset (const Cell &T) const
 Return the global offset for the unknowns on the cell T.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrictEdge (size_t iE, const Eigen::VectorXd &vh) const
 Restrict to the edge (including its vertices) of index iE.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrictFace (size_t iF, const Eigen::VectorXd &vh) const
 Restrict to the face (including vertices and edges) of index iF.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrictCell (size_t iT, const Eigen::VectorXd &vh) const
 Restrict to the cell (including vertices, edges and faces) of index iT.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict (const Edge &E, const Eigen::VectorXd vh) const
 Restrict to an edge.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict (const Face &F, const Eigen::VectorXd vh) const
 Restrict to a face.
 
Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict (const Cell &T, const Eigen::VectorXd vh) const
 Restrict to a cell.
 
Eigen::MatrixXd HArDCore3D::VariableDOFSpace::extendOperator (const Cell &T, const Face &F, const Eigen::MatrixXd &opF) const
 
Eigen::MatrixXd HArDCore3D::VariableDOFSpace::extendOperator (const Cell &T, const Edge &E, const Eigen::MatrixXd &opE) const
 Extend an edge operator to a cell.
 
Eigen::MatrixXd HArDCore3D::VariableDOFSpace::extendOperator (const Face &F, const Edge &E, const Eigen::MatrixXd &opE) const
 Extend an edge operator to a face.
 
void HArDCore3D::VariableDOFSpace::extendOperator (const Cell &T, const Face &F, Eigen::Ref< Eigen::MatrixXd > opT, const Eigen::MatrixXd &opF) const
 Adds a face operator to a cell operator: distributes and adds the contributions from face F to the operator opT on element T (equivalent to opT + extendOperator(T, F, opF)).
 
void HArDCore3D::VariableDOFSpace::extendOperator (const Cell &T, const Edge &E, Eigen::MatrixXd &opT, const Eigen::MatrixXd &opE) const
 Adds an edge operator to a cell.
 
void HArDCore3D::VariableDOFSpace::extendOperator (const Face &F, const Edge &E, Eigen::MatrixXd &opF, const Eigen::MatrixXd &opE) const
 Adds an edge operator to a face.
 
void HArDCore3D::VariableDOFSpace::addInnerProductContribution (const Cell &T, const Face &F, Eigen::MatrixXd &prodT, const Eigen::MatrixXd &prodF) const
 Takes an inner product prodF on a face F, and adds its contributions to the inner product prodT on the element T (distributes the contributions according to the DOFs as seen from T)
 
std::vector< size_tHArDCore3D::VariableDOFSpace::globalDOFIndices (const Cell &T) const
 Returns a vector listing the global DOFs attached to the element T: vertex DOFs, edge DOFs, face DOFs and element DOFs.
 
std::vector< size_tHArDCore3D::VariableDOFSpace::globalDOFIndices (const Face &F) const
 Returns a vector listing the global DOFs attached to the face F: vertex DOFs, edge DOFs, face DOFs.
 

Variables

IntegralWeightValueType HArDCore3D::IntegralWeight::value
 
IntegralWeightDegreeType HArDCore3D::IntegralWeight::deg
 
std::map< std::string, SolverNameHArDCore3D::map_solver
 Map to associate to each lowercase name a solver.
 
std::map< SolverName, std::string > HArDCore3D::map_realname
 Map to associate to each solver its proper name.
 
std::map< SolverName, size_tHArDCore3D::map_id
 
Eigen::MatrixXd HArDCore3D::LocalStaticCondensation::m_Perm
 
std::vector< size_tHArDCore3D::LocalStaticCondensation::m_globalDOFs_gl
 
std::vector< size_tHArDCore3D::LocalStaticCondensation::m_globalDOFs_sc
 
size_t HArDCore3D::LocalStaticCondensation::m_dim_gl
 
size_t HArDCore3D::LocalStaticCondensation::m_dim_sc
 
const MeshHArDCore3D::LocalDOFSpace::m_mesh
 
size_t HArDCore3D::LocalDOFSpace::m_n_local_vertex_dofs
 
size_t HArDCore3D::LocalDOFSpace::m_n_local_edge_dofs
 
size_t HArDCore3D::LocalDOFSpace::m_n_local_face_dofs
 
size_t HArDCore3D::LocalDOFSpace::m_n_local_cell_dofs
 
std::vector< MatrixType > HArDCore3D::SystemVectors< MatrixType >::systems
 
std::vector< Eigen::VectorXd > HArDCore3D::SystemVectors< MatrixType >::vectors
 
int Eigen::PastixBase< Derived >::m_initisOk
 
int Eigen::PastixBase< Derived >::m_analysisIsOk
 
int Eigen::PastixBase< Derived >::m_factorizationIsOk
 
ComputationInfo Eigen::PastixBase< Derived >::m_info
 
pastix_data_t * Eigen::PastixBase< Derived >::m_pastixdata
 
int Eigen::PastixBase< Derived >::m_comm
 
Array< int, IPARM_SIZE, 1 > Eigen::PastixBase< Derived >::m_iparm
 
Array< double, DPARM_SIZE, 1 > Eigen::PastixBase< Derived >::m_dparm
 
Matrix< StorageIndex, Dynamic, 1 > Eigen::PastixBase< Derived >::m_perm
 
Matrix< StorageIndex, Dynamic, 1 > Eigen::PastixBase< Derived >::m_invp
 
int Eigen::PastixBase< Derived >::m_size
 
ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::m_transposedStructure
 
bool Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate
 

Detailed Description

Various general functions and classes.

Macro Definition Documentation

◆ PASTIX_COMPLEX

#define PASTIX_COMPLEX   std::complex<float>

◆ PASTIX_DCOMPLEX

#define PASTIX_DCOMPLEX   std::complex<double>

Typedef Documentation

◆ _MatrixType

template<class Derived >
typedef internal::pastix_traits<Derived>::MatrixType Eigen::PastixBase< Derived >::_MatrixType

◆ Base [1/4]

template<class Derived >
typedef SparseSolverBase<Derived> Eigen::PastixBase< Derived >::Base
protected

◆ Base [2/4]

template<typename _MatrixType , bool IsStrSym>
typedef PastixBase<PastixLU<MatrixType> > Eigen::PastixLU< _MatrixType, IsStrSym >::Base

◆ Base [3/4]

template<typename _MatrixType , int _UpLo>
typedef PastixBase<PastixLLT<MatrixType, _UpLo> > Eigen::PastixLLT< _MatrixType, _UpLo >::Base

◆ Base [4/4]

template<typename _MatrixType , int _UpLo>
typedef PastixBase<PastixLDLT<MatrixType, _UpLo> > Eigen::PastixLDLT< _MatrixType, _UpLo >::Base

◆ ColSpMatrix [1/4]

template<class Derived >
typedef SparseMatrix<Scalar, ColMajor> Eigen::PastixBase< Derived >::ColSpMatrix

◆ ColSpMatrix [2/4]

template<typename _MatrixType , bool IsStrSym>
typedef Base::ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::ColSpMatrix

◆ ColSpMatrix [3/4]

template<typename _MatrixType , int _UpLo>
typedef Base::ColSpMatrix Eigen::PastixLLT< _MatrixType, _UpLo >::ColSpMatrix

◆ ColSpMatrix [4/4]

template<typename _MatrixType , int _UpLo>
typedef Base::ColSpMatrix Eigen::PastixLDLT< _MatrixType, _UpLo >::ColSpMatrix

◆ EigenBiCGStabType

template<typename MatrixType >
using HArDCore3D::EigenBiCGStabType = typedef Eigen::BiCGSTAB<MatrixType, Eigen::IncompleteLUT<double> >

◆ EigenLUType

template<typename MatrixType >
using HArDCore3D::EigenLUType = typedef Eigen::SparseLU<MatrixType>

◆ IntegralWeightDegreeType

◆ IntegralWeightValueType

typedef std::function<double (const Cell &, const Eigen::Vector3d &)> HArDCore3D::IntegralWeightValueType

◆ ListSolvers

template<typename MatrixType >
using HArDCore3D::ListSolvers = typedef std::tuple<std::unique_ptr<EigenLUType<MatrixType> >, std::unique_ptr<EigenBiCGStabType<MatrixType> >, std::unique_ptr<PardisoLUType<MatrixType> >, std::unique_ptr<UMFPACKType<MatrixType> >, std::unique_ptr<PastixLUType>, std::unique_ptr<PastixLLTType> >

◆ MatrixType [1/7]

template<typename _MatrixType >
typedef _MatrixType Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::MatrixType

◆ MatrixType [2/7]

template<typename _MatrixType , int Options>
typedef _MatrixType Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::MatrixType

◆ MatrixType [3/7]

template<typename _MatrixType , int Options>
typedef _MatrixType Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::MatrixType

◆ MatrixType [4/7]

template<class Derived >
typedef _MatrixType Eigen::PastixBase< Derived >::MatrixType

◆ MatrixType [5/7]

template<typename _MatrixType , bool IsStrSym>
typedef _MatrixType Eigen::PastixLU< _MatrixType, IsStrSym >::MatrixType

◆ MatrixType [6/7]

template<typename _MatrixType , int _UpLo>
typedef _MatrixType Eigen::PastixLLT< _MatrixType, _UpLo >::MatrixType

◆ MatrixType [7/7]

template<typename _MatrixType , int _UpLo>
typedef _MatrixType Eigen::PastixLDLT< _MatrixType, _UpLo >::MatrixType

◆ PardisoLUType

◆ PastixLLTType

◆ PastixLUType

◆ RealScalar [1/4]

template<typename _MatrixType >
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::RealScalar

◆ RealScalar [2/4]

template<typename _MatrixType , int Options>
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::RealScalar

◆ RealScalar [3/4]

template<typename _MatrixType , int Options>
typedef _MatrixType::RealScalar Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::RealScalar

◆ RealScalar [4/4]

template<class Derived >
typedef MatrixType::RealScalar Eigen::PastixBase< Derived >::RealScalar

◆ Scalar [1/4]

template<typename _MatrixType >
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::Scalar

◆ Scalar [2/4]

template<typename _MatrixType , int Options>
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::Scalar

◆ Scalar [3/4]

template<typename _MatrixType , int Options>
typedef _MatrixType::Scalar Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::Scalar

◆ Scalar [4/4]

template<class Derived >
typedef MatrixType::Scalar Eigen::PastixBase< Derived >::Scalar

◆ StorageIndex [1/5]

template<typename _MatrixType >
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLU< _MatrixType > >::StorageIndex

◆ StorageIndex [2/5]

template<typename _MatrixType , int Options>
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLLT< _MatrixType, Options > >::StorageIndex

◆ StorageIndex [3/5]

template<typename _MatrixType , int Options>
typedef _MatrixType::StorageIndex Eigen::internal::pastix_traits< PastixLDLT< _MatrixType, Options > >::StorageIndex

◆ StorageIndex [4/5]

template<class Derived >
typedef MatrixType::StorageIndex Eigen::PastixBase< Derived >::StorageIndex

◆ StorageIndex [5/5]

template<typename _MatrixType , bool IsStrSym>
typedef MatrixType::StorageIndex Eigen::PastixLU< _MatrixType, IsStrSym >::StorageIndex

◆ UMFPACKType

◆ Vector

template<class Derived >
typedef Matrix<Scalar,Dynamic,1> Eigen::PastixBase< Derived >::Vector

Enumeration Type Documentation

◆ anonymous enum

template<class Derived >
anonymous enum
Enumerator
ColsAtCompileTime 
MaxColsAtCompileTime 

◆ anonymous enum

template<typename _MatrixType , int _UpLo>
anonymous enum
Enumerator
UpLo 

◆ anonymous enum

template<typename _MatrixType , int _UpLo>
anonymous enum
Enumerator
UpLo 

◆ SolverName

Enumeration of all available solvers.

Enumerator
EigenLU 
EigenBiCGStab 
PardisoLU 
UMFPACK 
PaStiXLU 
PaStiXLLT 

Function Documentation

◆ _solve_impl()

template<typename Base >
template<typename Rhs , typename Dest >
bool Eigen::PastixBase< Base >::_solve_impl ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  x 
) const

◆ addInnerProductContribution() [1/2]

void GlobalDOFSpace::addInnerProductContribution ( const Cell &  T,
const Face &  F,
Eigen::MatrixXd &  prodT,
const Eigen::MatrixXd &  prodF 
) const

Takes an inner product prodF on a face F, and adds its contributions to the inner product prodT on the element T (distributes the contributions according to the DOFs as seen from T)

◆ addInnerProductContribution() [2/2]

void VariableDOFSpace::addInnerProductContribution ( const Cell &  T,
const Face &  F,
Eigen::MatrixXd &  prodT,
const Eigen::MatrixXd &  prodF 
) const

Takes an inner product prodF on a face F, and adds its contributions to the inner product prodT on the element T (distributes the contributions according to the DOFs as seen from T)

◆ analyzePattern() [1/5]

template<class Derived >
void Eigen::PastixBase< Derived >::analyzePattern ( ColSpMatrix mat)
protected

◆ analyzePattern() [2/5]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::analyzePattern ( const MatrixType matrix)
inline

Compute the LU symbolic factorization of matrix using its sparsity pattern. Several ordering methods can be used at this step. See the PaStiX user's manual. The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()

◆ analyzePattern() [3/5]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::analyzePattern ( const MatrixType matrix)
inline

Compute the LL^T symbolic factorization of matrix using its sparsity pattern The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()

◆ analyzePattern() [4/5]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLDLT< _MatrixType, _UpLo >::analyzePattern ( const MatrixType matrix)
inline

Compute the LDL^T symbolic factorization of matrix using its sparsity pattern The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()

◆ analyzePattern() [5/5]

template<typename MatrixType >
void HArDCore3D::LinearSolver< MatrixType >::analyzePattern ( MatrixType &  A)
inline

Analyze the pattern of the matrix.

Parameters
AMatrix of the system to solve

◆ c_to_fortran_numbering()

template<typename MatrixType >
void Eigen::internal::c_to_fortran_numbering ( MatrixType &  mat)

◆ clean()

template<class Derived >
void Eigen::PastixBase< Derived >::clean ( )
inlineprotected

◆ cols()

template<class Derived >
Index Eigen::PastixBase< Derived >::cols ( ) const
inline

◆ compute() [1/6]

template<class Derived >
void Eigen::PastixBase< Derived >::compute ( ColSpMatrix mat)
protected

◆ compute() [2/6]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::compute ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix. iparm and dparm can be used to tune the PaStiX parameters. see the PaStiX user's manual

See also
analyzePattern() factorize()

◆ compute() [3/6]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::compute ( const MatrixType matrix)
inline

Compute the L factor of the LL^T supernodal factorization of matrix

See also
analyzePattern() factorize()

◆ compute() [4/6]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLDLT< _MatrixType, _UpLo >::compute ( const MatrixType matrix)
inline

Compute the L and D factors of the LDL^T factorization of matrix

See also
analyzePattern() factorize()

◆ compute() [5/6]

std::tuple< Eigen::MatrixXd, Eigen::VectorXd, Eigen::MatrixXd, Eigen::VectorXd > HArDCore3D::LocalStaticCondensation::compute ( const std::pair< Eigen::MatrixXd, Eigen::VectorXd > &  lsT)
inline

Compute the local static condensation.

From a local pair of Matrix-Vector product, constructed with all the DOFs, returns a 4-tuple; the first two elements are the matrix-vector of the locally statically condensed system, the last two elements are the matrix-vector of the local recovery operator

◆ compute() [6/6]

template<typename MatrixType >
void HArDCore3D::LinearSolver< MatrixType >::compute ( MatrixType &  A)
inline

Analyze and factorize the matrix.

Parameters
AMatrix of the system to solve

◆ compute_and_solve()

template<typename MatrixType >
template<typename VectorType >
VectorType HArDCore3D::LinearSolver< MatrixType >::compute_and_solve ( MatrixType &  A,
VectorType b 
)
inline

Perform all operators to solve Ax=b.

Parameters
AMatrix of the system to solve
bRight-hand side of the system

◆ dim_gl()

size_t HArDCore3D::LocalStaticCondensation::dim_gl ( )
inline

Returns the number of DOFs that are not statically condensed.

◆ dim_sc()

size_t HArDCore3D::LocalStaticCondensation::dim_sc ( )
inline

Returns the number of DOFs that are statically condensed.

◆ dimension() [1/3]

size_t HArDCore3D::LocalDOFSpace::dimension ( ) const
inline

Returns the dimension of the global space (all DOFs for all geometric entities)

◆ dimension() [2/3]

size_t HArDCore3D::VariableDOFSpace::dimension ( ) const
inline

Returns the dimension of the global space (all DOFs for all geometric entities)

◆ dimension() [3/3]

size_t HArDCore3D::LocalDOFSpace::dimension ( size_t  d,
size_t  i 
) const
inline

Returns the dimension of the local space on the d-cell of index i (including its boundary)

◆ dimensionCell() [1/4]

size_t HArDCore3D::LocalDOFSpace::dimensionCell ( const Cell &  T) const
inline

Returns the dimension of the local space on the cell T (including faces, edges and vertices)

◆ dimensionCell() [2/4]

size_t HArDCore3D::VariableDOFSpace::dimensionCell ( const Cell &  T) const
inline

Returns the dimension of the local space on the cell T (including faces, edges and vertices)

◆ dimensionCell() [3/4]

size_t HArDCore3D::LocalDOFSpace::dimensionCell ( size_t  iT) const
inline

Returns the dimension of the local space on the cell of index iT (including faces, edges and vertices)

◆ dimensionCell() [4/4]

size_t HArDCore3D::VariableDOFSpace::dimensionCell ( size_t  iT) const
inline

Returns the dimension of the local space on the cell of index iT (including faces, edges and vertices)

◆ dimensionEdge() [1/4]

size_t HArDCore3D::LocalDOFSpace::dimensionEdge ( const Edge &  E) const
inline

Returns the dimension of the local space on the edge E (including vertices)

◆ dimensionEdge() [2/4]

size_t HArDCore3D::VariableDOFSpace::dimensionEdge ( const Edge &  E) const
inline

Returns the dimension of the local space on the edge E (including vertices)

◆ dimensionEdge() [3/4]

size_t HArDCore3D::LocalDOFSpace::dimensionEdge ( size_t  iE) const
inline

Returns the dimension of the local space on the edge of index iE (including vertices)

◆ dimensionEdge() [4/4]

size_t HArDCore3D::VariableDOFSpace::dimensionEdge ( size_t  iE) const
inline

Returns the dimension of the local space on the edge of index iE (including vertices)

◆ dimensionFace() [1/4]

size_t HArDCore3D::LocalDOFSpace::dimensionFace ( const Face &  F) const
inline

Returns the dimension of the local space on the face F (including edges and vertices)

◆ dimensionFace() [2/4]

size_t HArDCore3D::VariableDOFSpace::dimensionFace ( const Face &  F) const
inline

Returns the dimension of the local space on the face F (including edges and vertices)

◆ dimensionFace() [3/4]

size_t HArDCore3D::LocalDOFSpace::dimensionFace ( size_t  iF) const
inline

Returns the dimension of the local space on the face of index iF (including edges and vertices)

◆ dimensionFace() [4/4]

size_t HArDCore3D::VariableDOFSpace::dimensionFace ( size_t  iF) const
inline

Returns the dimension of the local space on the face of index iF (including edges and vertices)

◆ dimensionVertex() [1/4]

size_t HArDCore3D::LocalDOFSpace::dimensionVertex ( const Vertex &  V) const
inline

Returns the dimension of the local space on the vertex V.

◆ dimensionVertex() [2/4]

size_t HArDCore3D::VariableDOFSpace::dimensionVertex ( const Vertex &  V) const
inline

Returns the dimension of the local space on the vertex V.

◆ dimensionVertex() [3/4]

size_t HArDCore3D::LocalDOFSpace::dimensionVertex ( size_t  iV) const
inline

Returns the dimension of the local space on the vertex of index iV.

◆ dimensionVertex() [4/4]

size_t HArDCore3D::VariableDOFSpace::dimensionVertex ( size_t  iV) const
inline

Returns the dimension of the local space on the vertex of index iV.

◆ distributeLoad()

static std::pair< std::vector< int >, std::vector< int > > HArDCore3D::distributeLoad ( size_t  nb_elements,
unsigned  nb_threads 
)
static

Function to distribute elements (considered as jobs) over threads. It returns a pair of vectors indicating the start and end element of each thread.

◆ dparm() [1/2]

template<class Derived >
Array< double, DPARM_SIZE, 1 > & Eigen::PastixBase< Derived >::dparm ( )
inline

Returns a reference to the double vector DPARM of PaStiX parameters The statistics related to the different phases of factorization and solve are saved here as well

See also
analyzePattern() factorize()

◆ dparm() [2/2]

template<class Derived >
double & Eigen::PastixBase< Derived >::dparm ( int  idxparam)
inline

Return a reference to a particular index parameter of the DPARM vector

See also
dparm()

◆ eigen_pastix() [1/4]

int Eigen::internal::eigen_pastix ( pastix_data_t **  pastix_data,
PASTIX_Comm  pastix_comm,
int  n,
int *  ptr,
int *  idx,
double *  vals,
int *  perm,
int *  invp,
double *  x,
int  nbrhs,
int *  iparm,
double *  dparm 
)
inline

◆ eigen_pastix() [2/4]

int Eigen::internal::eigen_pastix ( pastix_data_t **  pastix_data,
PASTIX_Comm  pastix_comm,
int  n,
int *  ptr,
int *  idx,
float *  vals,
int *  perm,
int *  invp,
float *  x,
int  nbrhs,
int *  iparm,
double *  dparm 
)
inline

◆ eigen_pastix() [3/4]

int Eigen::internal::eigen_pastix ( pastix_data_t **  pastix_data,
PASTIX_Comm  pastix_comm,
int  n,
int *  ptr,
int *  idx,
std::complex< double > *  vals,
int *  perm,
int *  invp,
std::complex< double > *  x,
int  nbrhs,
int *  iparm,
double *  dparm 
)
inline

◆ eigen_pastix() [4/4]

int Eigen::internal::eigen_pastix ( pastix_data_t **  pastix_data,
PASTIX_Comm  pastix_comm,
int  n,
int *  ptr,
int *  idx,
std::complex< float > *  vals,
int *  perm,
int *  invp,
std::complex< float > *  x,
int  nbrhs,
int *  iparm,
double *  dparm 
)
inline

◆ extendOperator() [1/10]

Eigen::MatrixXd GlobalDOFSpace::extendOperator ( const Cell &  T,
const Edge &  E,
const Eigen::MatrixXd &  opE 
) const

Extend an edge operator to a cell.

◆ extendOperator() [2/10]

Eigen::MatrixXd VariableDOFSpace::extendOperator ( const Cell &  T,
const Edge &  E,
const Eigen::MatrixXd &  opE 
) const

Extend an edge operator to a cell.

◆ extendOperator() [3/10]

void VariableDOFSpace::extendOperator ( const Cell &  T,
const Edge &  E,
Eigen::MatrixXd &  opT,
const Eigen::MatrixXd &  opE 
) const

Adds an edge operator to a cell.

◆ extendOperator() [4/10]

Eigen::MatrixXd GlobalDOFSpace::extendOperator ( const Cell &  T,
const Face &  F,
const Eigen::MatrixXd &  opF 
) const

Extend a face operator to a cell: starting from a matrix acting on the DOFs of F (and its edges and vertices), redistribute the coefficients in a matrix acting on the DOFs viewed from T.

◆ extendOperator() [5/10]

Eigen::MatrixXd VariableDOFSpace::extendOperator ( const Cell &  T,
const Face &  F,
const Eigen::MatrixXd &  opF 
) const

Extend a face operator to a cell: starting from a matrix opF acting on the DOFs of F (and its edges and vertices), redistribute the coefficients in a matrix acting on the DOFs viewed from T.

◆ extendOperator() [6/10]

void VariableDOFSpace::extendOperator ( const Cell &  T,
const Face &  F,
Eigen::Ref< Eigen::MatrixXd >  opT,
const Eigen::MatrixXd &  opF 
) const

Adds a face operator to a cell operator: distributes and adds the contributions from face F to the operator opT on element T (equivalent to opT + extendOperator(T, F, opF)).

◆ extendOperator() [7/10]

Eigen::MatrixXd GlobalDOFSpace::extendOperator ( const Face &  F,
const Edge &  E,
const Eigen::MatrixXd &  opE 
) const

Extend an edge operator to a face.

◆ extendOperator() [8/10]

Eigen::MatrixXd VariableDOFSpace::extendOperator ( const Face &  F,
const Edge &  E,
const Eigen::MatrixXd &  opE 
) const

Extend an edge operator to a face.

◆ extendOperator() [9/10]

void VariableDOFSpace::extendOperator ( const Face &  F,
const Edge &  E,
Eigen::MatrixXd &  opF,
const Eigen::MatrixXd &  opE 
) const

Adds an edge operator to a face.

◆ extendOperator() [10/10]

Eigen::MatrixXd GlobalDOFSpace::extendOperator ( size_t  d1,
size_t  i1,
size_t  d2,
size_t  i2,
const Eigen::MatrixXd &  op 
) const

Generic extension operator from the i2-th d2-cell to the i1-th d1-cell.

◆ factorize() [1/5]

template<class Derived >
void Eigen::PastixBase< Derived >::factorize ( ColSpMatrix mat)
protected

◆ factorize() [2/5]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::factorize ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix WARNING The matrix matrix should have the same structural pattern as the same used in the analysis phase.

See also
analyzePattern()

◆ factorize() [3/5]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::factorize ( const MatrixType matrix)
inline

Compute the LL^T supernodal numerical factorization of matrix

See also
analyzePattern()

◆ factorize() [4/5]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLDLT< _MatrixType, _UpLo >::factorize ( const MatrixType matrix)
inline

Compute the LDL^T supernodal numerical factorization of matrix

◆ factorize() [5/5]

template<typename MatrixType >
void HArDCore3D::LinearSolver< MatrixType >::factorize ( MatrixType &  A)
inline

Factorize the matrix.

Parameters
AMatrix of the system to solve

◆ fortran_to_c_numbering()

template<typename MatrixType >
void Eigen::internal::fortran_to_c_numbering ( MatrixType &  mat)

◆ globalDOFIndices() [1/4]

std::vector< size_t > GlobalDOFSpace::globalDOFIndices ( const Cell &  T) const

Returns a vector listing the global DOFs attached to the element T: vertex DOFs, edge DOFs, face DOFs and element DOFs.

◆ globalDOFIndices() [2/4]

std::vector< size_t > VariableDOFSpace::globalDOFIndices ( const Cell &  T) const

Returns a vector listing the global DOFs attached to the element T: vertex DOFs, edge DOFs, face DOFs and element DOFs.

◆ globalDOFIndices() [3/4]

std::vector< size_t > GlobalDOFSpace::globalDOFIndices ( const Face &  F) const

Returns a vector listing the global DOFs attached to the face F: vertex DOFs, edge DOFs, face DOFs.

◆ globalDOFIndices() [4/4]

std::vector< size_t > VariableDOFSpace::globalDOFIndices ( const Face &  F) const

Returns a vector listing the global DOFs attached to the face F: vertex DOFs, edge DOFs, face DOFs.

◆ globalDOFs_gl()

std::vector< size_t > HArDCore3D::LocalStaticCondensation::globalDOFs_gl ( )
inline

Returns global DOFs that are not statically condensend.

◆ globalDOFs_sc()

std::vector< size_t > HArDCore3D::LocalStaticCondensation::globalDOFs_sc ( )
inline

Returns global DOFs that are statically condensend.

◆ GlobalDOFSpace()

GlobalDOFSpace::GlobalDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
size_t  n_local_edge_dofs,
size_t  n_local_face_dofs,
size_t  n_local_cell_dofs 
)

Constructor.

◆ globalOffset() [1/9]

size_t HArDCore3D::GlobalDOFSpace::globalOffset ( const Cell &  T) const
inline

Return the global offset for the unknowns on the cell T.

◆ globalOffset() [2/9]

size_t HArDCore3D::VariableDOFSpace::globalOffset ( const Cell &  T) const
inline

Return the global offset for the unknowns on the cell T.

◆ globalOffset() [3/9]

size_t HArDCore3D::GlobalDOFSpace::globalOffset ( const Edge &  E) const
inline

Return the global offset for the unknowns on the edge E.

◆ globalOffset() [4/9]

size_t HArDCore3D::VariableDOFSpace::globalOffset ( const Edge &  E) const
inline

Return the global offset for the unknowns on the edge E.

◆ globalOffset() [5/9]

size_t HArDCore3D::GlobalDOFSpace::globalOffset ( const Face &  F) const
inline

Return the global offset for the unknowns on the face F.

◆ globalOffset() [6/9]

size_t HArDCore3D::VariableDOFSpace::globalOffset ( const Face &  F) const
inline

Return the global offset for the unknowns on the face F.

◆ globalOffset() [7/9]

size_t HArDCore3D::GlobalDOFSpace::globalOffset ( const Vertex &  V) const
inline

Return the global offset for the unknowns on the vertex V.

◆ globalOffset() [8/9]

size_t HArDCore3D::VariableDOFSpace::globalOffset ( const Vertex &  V) const
inline

Return the global offset for the unknowns on the vertex V.

◆ globalOffset() [9/9]

size_t HArDCore3D::GlobalDOFSpace::globalOffset ( size_t  d,
size_t  i 
) const
inline

Return the global offset for the unknows on the i-th element of dimension d.

◆ Goly() [1/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Goly ( int  k)
inlinestatic

Dimension of Gk(T)

◆ Goly() [2/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Goly ( int  k)
inlinestatic

Dimension of Gk(F)

◆ GolyCompl() [1/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::GolyCompl ( int  k)
inlinestatic

Dimension of Gck(T)

◆ GolyCompl() [2/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Face >::GolyCompl ( int  k)
inlinestatic

Dimension of Gck(F)

◆ grabMatrix() [1/3]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected

◆ grabMatrix() [2/3]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected

◆ grabMatrix() [3/3]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLDLT< _MatrixType, _UpLo >::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected

◆ info()

template<class Derived >
ComputationInfo Eigen::PastixBase< Derived >::info ( ) const
inline

Reports whether previous computation was successful.

Returns
Success if computation was successful, NumericalIssue if the PaStiX reports a problem InvalidInput if the input matrix is invalid
See also
iparm()

◆ info_factorize()

template<typename MatrixType >
Eigen::ComputationInfo HArDCore3D::LinearSolver< MatrixType >::info_factorize ( ) const
inline

Returns the information message after the "factorize" step.

◆ info_solve()

template<typename MatrixType >
Eigen::ComputationInfo HArDCore3D::LinearSolver< MatrixType >::info_solve ( ) const
inline

Returns the information message after the "solve" step.

◆ init() [1/4]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLLT< _MatrixType, _UpLo >::init ( )
inlineprotected

◆ init() [2/4]

template<typename _MatrixType , int _UpLo>
void Eigen::PastixLDLT< _MatrixType, _UpLo >::init ( )
inlineprotected

◆ init() [3/4]

template<class Derived >
void Eigen::PastixBase< Derived >::init ( double  eps_refinement = 0.0,
double  eps_ctrl = 0.0 
)

Initialize the PaStiX data structure. A first call to this function fills iparm and dparm with the default PaStiX parameters

See also
iparm() dparm()

◆ init() [4/4]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::init ( double  eps_refinement = 0.0,
double  eps_ctrl = 0.0 
)
inline

◆ IntegralWeight() [1/4]

HArDCore3D::IntegralWeight::IntegralWeight ( const IntegralWeightValueType  _value,
const IntegralWeightDegreeType  _deg 
)
inline

Generic constructor.

Parameters
_valueValue of weight
_degLocal degree of weight

◆ IntegralWeight() [2/4]

HArDCore3D::IntegralWeight::IntegralWeight ( const std::function< double(const VectorRd &)> &  val)
inline

Constructor when the dependency on the cell T is not explicit in the value, and degree is not provided (it is assumed to be 0)

◆ IntegralWeight() [3/4]

HArDCore3D::IntegralWeight::IntegralWeight ( const std::function< double(const VectorRd &)> &  val,
const size_t deg 
)
inline

Constructor when the dependency on the cell T is not explicit in the value (and degree is constant)

◆ IntegralWeight() [4/4]

HArDCore3D::IntegralWeight::IntegralWeight ( double  val)
inline

Constructor for constant weights.

◆ iparm() [1/2]

template<class Derived >
Array< StorageIndex, IPARM_SIZE, 1 > & Eigen::PastixBase< Derived >::iparm ( )
inline

Returns a reference to the integer vector IPARM of PaStiX parameters to modify the default parameters. The statistics related to the different phases of factorization and solve are saved here as well

See also
analyzePattern() factorize()

◆ iparm() [2/2]

template<class Derived >
int & Eigen::PastixBase< Derived >::iparm ( int  idxparam)
inline

Return a reference to a particular index parameter of the IPARM vector

See also
iparm()

◆ LinearSolver()

template<typename MatrixType >
HArDCore3D::LinearSolver< MatrixType >::LinearSolver ( const std::string &  namesolver)
inline

Constructor.

The name of the solver is not caps-dependent

◆ LocalDOFSpace()

LocalDOFSpace::LocalDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
size_t  n_local_edge_dofs,
size_t  n_local_face_dofs,
size_t  n_local_cell_dofs 
)

Constructor.

◆ localOffset() [1/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Cell &  T) const
inline

Returns the local offset of the unknowns attached to the element T.

◆ localOffset() [2/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Cell &  T) const
inline

Returns the local offset of the unknowns attached to the element T.

◆ localOffset() [3/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Cell &  T,
const Edge &  E 
) const
inline

Returns the local offset of the edge E with respect to the cell T.

◆ localOffset() [4/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Cell &  T,
const Edge &  E 
) const
inline

Returns the local offset of the edge E with respect to the cell T.

◆ localOffset() [5/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Cell &  T,
const Face &  F 
) const
inline

Returns the local offset of the face F with respect to the cell T.

◆ localOffset() [6/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Cell &  T,
const Face &  F 
) const
inline

Returns the local offset of the face F with respect to the cell T.

◆ localOffset() [7/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Cell &  T,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the cell T.

◆ localOffset() [8/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Cell &  T,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the cell T.

◆ localOffset() [9/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Edge &  E) const
inline

Returns the local offset of the unknowns attached to the edge E.

◆ localOffset() [10/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Edge &  E) const
inline

Returns the local offset of the unknowns attached to the edge E.

◆ localOffset() [11/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Edge &  E,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the edge E.

◆ localOffset() [12/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Edge &  E,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the edge E.

◆ localOffset() [13/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Face &  F) const
inline

Returns the local offset of the unknowns attached to the face F.

◆ localOffset() [14/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Face &  F) const
inline

Returns the local offset of the unknowns attached to the face F.

◆ localOffset() [15/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Face &  F,
const Edge &  E 
) const
inline

Returns the local offset of the edge E with respect to the face F.

◆ localOffset() [16/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Face &  F,
const Edge &  E 
) const
inline

Returns the local offset of the edge E with respect to the face F.

◆ localOffset() [17/18]

size_t HArDCore3D::LocalDOFSpace::localOffset ( const Face &  F,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the face F.

◆ localOffset() [18/18]

size_t HArDCore3D::VariableDOFSpace::localOffset ( const Face &  F,
const Vertex &  V 
) const
inline

Returns the local offset of the vertex V with respect to the face F.

◆ LocalStaticCondensation()

HArDCore3D::LocalStaticCondensation::LocalStaticCondensation ( const Eigen::MatrixXd &  Perm,
const std::vector< size_t > &  globalDOFs_gl,
const std::vector< size_t > &  globalDOFs_sc 
)
inline

Constructor.

Parameters
PermPermutation that moves the DOFs to condense at the end
globalDOFs_glList of global DOFs that are globally coupled (not statically condensed)
globalDOFs_scList of global DOFs that are statically condensed

◆ mesh() [1/2]

const Mesh & HArDCore3D::LocalDOFSpace::mesh ( ) const
inline

Returns the mesh.

◆ mesh() [2/2]

const Mesh & HArDCore3D::VariableDOFSpace::mesh ( ) const
inline

Returns the mesh.

◆ name()

template<typename MatrixType >
std::string HArDCore3D::LinearSolver< MatrixType >::name ( ) const
inline

Returns the name of the solver.

◆ nDOFs_cells()

size_t HArDCore3D::VariableDOFSpace::nDOFs_cells ( ) const
inline

Total number of cells DOFs.

◆ nDOFs_edges()

size_t HArDCore3D::VariableDOFSpace::nDOFs_edges ( ) const
inline

Total number of edges DOFs.

◆ nDOFs_faces()

size_t HArDCore3D::VariableDOFSpace::nDOFs_faces ( ) const
inline

Total number of faces DOFs.

◆ nDOFs_vertices()

size_t HArDCore3D::VariableDOFSpace::nDOFs_vertices ( ) const
inline

Total number of vertices DOFs.

◆ numLocalDofs()

size_t HArDCore3D::LocalDOFSpace::numLocalDofs ( size_t  d) const
inline

Returns the number of local d-cell DOFs.

◆ numLocalDofsCell() [1/3]

size_t HArDCore3D::LocalDOFSpace::numLocalDofsCell ( ) const
inline

Returns the number of local cell DOFs.

◆ numLocalDofsCell() [2/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsCell ( const Cell &  T) const
inline

Returns the number of local DOFs on cell T.

◆ numLocalDofsCell() [3/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsCell ( const size_t  iT) const
inline

Returns the number of local DOFs on cell of index iT.

◆ numLocalDofsEdge() [1/3]

size_t HArDCore3D::LocalDOFSpace::numLocalDofsEdge ( ) const
inline

Returns the number of local edge DOFs.

◆ numLocalDofsEdge() [2/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsEdge ( const Edge &  E) const
inline

Returns the number of local DOFs on edge E.

◆ numLocalDofsEdge() [3/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsEdge ( const size_t  iE) const
inline

Returns the number of local DOFs on edge of index iE.

◆ numLocalDofsFace() [1/3]

size_t HArDCore3D::LocalDOFSpace::numLocalDofsFace ( ) const
inline

Returns the number of local face DOFs.

◆ numLocalDofsFace() [2/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsFace ( const Face &  F) const
inline

Returns the number of local DOFs on face F.

◆ numLocalDofsFace() [3/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsFace ( const size_t  iF) const
inline

Returns the number of local DOFs on face of index iF.

◆ numLocalDofsVertex() [1/3]

size_t HArDCore3D::LocalDOFSpace::numLocalDofsVertex ( ) const
inline

Returns the number of local vertex DOFs.

◆ numLocalDofsVertex() [2/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsVertex ( const size_t  iV) const
inline

Returns the number of local DOFs on vertex of index iV.

◆ numLocalDofsVertex() [3/3]

size_t HArDCore3D::VariableDOFSpace::numLocalDofsVertex ( const Vertex &  V) const
inline

Returns the number of local DOFs on vertex V.

◆ operator*()

Operator to multiply an IntegralWeight by a number.

◆ operator+()

Operator to add an IntegralWeight to another one.

◆ parallel_assembly_system() [1/3]

static std::pair< Eigen::SparseMatrix< double >, Eigen::VectorXd > HArDCore3D::parallel_assembly_system ( size_t  nb_elements,
size_t  size_system,
std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets, Eigen::VectorXd *rhs)>  batch_local_assembly,
bool  use_threads = true 
)
inlinestatic

Function to assemble a global matrix and right-hand side from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)

◆ parallel_assembly_system() [2/3]

static std::tuple< Eigen::SparseMatrix< double >, Eigen::VectorXd, Eigen::SparseMatrix< double >, Eigen::VectorXd > HArDCore3D::parallel_assembly_system ( size_t  nb_elements,
size_t  size_system1,
std::pair< size_t, size_t size_Mat2,
size_t  size_b2,
std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets1, Eigen::VectorXd *vec1, std::list< Eigen::Triplet< double > > *triplets2, Eigen::VectorXd *vec2)>  batch_local_assembly,
bool  use_threads = true 
)
inlinestatic

Function to assemble two global matrices and vectors (such as: system and static condensation operator, or system and matrix for BC) from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)

◆ parallel_assembly_system() [3/3]

static SystemVectors< Eigen::SparseMatrix< double > > HArDCore3D::parallel_assembly_system ( size_t  nb_elements,
std::vector< std::pair< size_t, size_t > >  size_systems,
std::vector< size_t size_vectors,
std::function< void(size_t start, size_t end, std::vector< std::list< Eigen::Triplet< double > > > *triplets, std::vector< Eigen::VectorXd > *vecs)>  batch_local_assembly,
bool  use_threads = true 
)
inlinestatic

Function to assemble global matrices from a procedure that compute local triplets.

◆ parallel_for()

static void HArDCore3D::parallel_for ( unsigned  nb_elements,
std::function< void(size_t start, size_t end)>  functor,
bool  use_threads = true 
)
inlinestatic

Generic function to execute threaded processes.

◆ PastixBase()

template<class Derived >
Eigen::PastixBase< Derived >::PastixBase ( )
inline

◆ PastixLDLT() [1/2]

template<typename _MatrixType , int _UpLo>
Eigen::PastixLDLT< _MatrixType, _UpLo >::PastixLDLT ( )
inline

◆ PastixLDLT() [2/2]

template<typename _MatrixType , int _UpLo>
Eigen::PastixLDLT< _MatrixType, _UpLo >::PastixLDLT ( const MatrixType matrix)
inlineexplicit

◆ PastixLLT() [1/2]

template<typename _MatrixType , int _UpLo>
Eigen::PastixLLT< _MatrixType, _UpLo >::PastixLLT ( )
inline

◆ PastixLLT() [2/2]

template<typename _MatrixType , int _UpLo>
Eigen::PastixLLT< _MatrixType, _UpLo >::PastixLLT ( const MatrixType matrix)
inlineexplicit

◆ PastixLU() [1/2]

template<typename _MatrixType , bool IsStrSym>
Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU ( )
inline

◆ PastixLU() [2/2]

template<typename _MatrixType , bool IsStrSym>
Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU ( const MatrixType matrix)
inlineexplicit

◆ Poly() [1/3]

static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Poly ( int  k)
inlinestatic

Dimension of Pk(T)

◆ Poly() [2/3]

static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Poly ( int  k)
inlinestatic

Dimension of Pk(F)

◆ Poly() [3/3]

static size_t HArDCore3D::PolynomialSpaceDimension< Edge >::Poly ( int  k)
inlinestatic

Dimension of Pk(E)

◆ residual()

template<typename MatrixType >
template<typename VectorType >
double HArDCore3D::LinearSolver< MatrixType >::residual ( MatrixType &  A,
VectorType b,
VectorType x 
)
inline

Check relative infinity norm of residual: ||Ax-b||/||b||.

◆ restrict() [1/6]

Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict ( const Cell &  T,
const Eigen::VectorXd  vh 
) const
inline

Restrict to a cell.

◆ restrict() [2/6]

Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict ( const Cell &  T,
const Eigen::VectorXd  vh 
) const
inline

Restrict to a cell.

◆ restrict() [3/6]

Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict ( const Edge &  E,
const Eigen::VectorXd  vh 
) const
inline

Restrict to an edge.

◆ restrict() [4/6]

Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict ( const Edge &  E,
const Eigen::VectorXd  vh 
) const
inline

Restrict to an edge.

◆ restrict() [5/6]

Eigen::VectorXd HArDCore3D::GlobalDOFSpace::restrict ( const Face &  F,
const Eigen::VectorXd  vh 
) const
inline

Restrict to a face.

◆ restrict() [6/6]

Eigen::VectorXd HArDCore3D::VariableDOFSpace::restrict ( const Face &  F,
const Eigen::VectorXd  vh 
) const
inline

Restrict to a face.

◆ restrictCell() [1/2]

Eigen::VectorXd GlobalDOFSpace::restrictCell ( size_t  iT,
const Eigen::VectorXd &  vh 
) const

Restrict to the cell (including vertices, edges and faces) of index iT.

◆ restrictCell() [2/2]

Eigen::VectorXd VariableDOFSpace::restrictCell ( size_t  iT,
const Eigen::VectorXd &  vh 
) const

Restrict to the cell (including vertices, edges and faces) of index iT.

◆ restrictEdge() [1/2]

Eigen::VectorXd GlobalDOFSpace::restrictEdge ( size_t  iE,
const Eigen::VectorXd &  vh 
) const

Restrict to the edge (including its vertices) of index iE.

◆ restrictEdge() [2/2]

Eigen::VectorXd VariableDOFSpace::restrictEdge ( size_t  iE,
const Eigen::VectorXd &  vh 
) const

Restrict to the edge (including its vertices) of index iE.

◆ restrictFace() [1/2]

Eigen::VectorXd GlobalDOFSpace::restrictFace ( size_t  iF,
const Eigen::VectorXd &  vh 
) const

Restrict to the face (including vertices and edges) of index iF.

◆ restrictFace() [2/2]

Eigen::VectorXd VariableDOFSpace::restrictFace ( size_t  iF,
const Eigen::VectorXd &  vh 
) const

Restrict to the face (including vertices and edges) of index iF.

◆ Roly() [1/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::Roly ( int  k)
inlinestatic

Dimension of Rk(T)

◆ Roly() [2/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Face >::Roly ( int  k)
inlinestatic

Dimension of Rk(F)

◆ RolyCompl() [1/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Cell >::RolyCompl ( int  k)
inlinestatic

Dimension of Rck(T)

◆ RolyCompl() [2/2]

static size_t HArDCore3D::PolynomialSpaceDimension< Face >::RolyCompl ( int  k)
inlinestatic

Dimension of Rck(F)

◆ rows()

template<class Derived >
Index Eigen::PastixBase< Derived >::rows ( ) const
inline

◆ solve()

template<typename MatrixType >
template<typename VectorType >
VectorType HArDCore3D::LinearSolver< MatrixType >::solve ( VectorType b)
inline

Solve the system Ax=b using the selected solver (after analysis of pattern and computation of matrix)

Parameters
bRight-hand side of the system to solve

◆ store_times()

std::pair< double, double > HArDCore3D::store_times ( boost::timer::cpu_timer &  timer,
std::string  message = "" 
)
inline

Function to store and display wall/proc timers from boost::timer::cpu_timer.

Wall time is in the first element of the pair, proc time in the second

Parameters
timerThe timer
messageOptional message to display with time (if not message is passed, times are not displayed)

◆ SystemVectors()

template<typename MatrixType >
HArDCore3D::SystemVectors< MatrixType >::SystemVectors ( std::vector< MatrixType >  sys,
std::vector< Eigen::VectorXd >  vec 
)
inline

Constructor.

◆ VariableDOFSpace() [1/5]

VariableDOFSpace::VariableDOFSpace ( const Mesh mesh,
const Eigen::VectorXi  n_local_vertex_dofs,
const Eigen::VectorXi  n_local_edge_dofs,
const Eigen::VectorXi  n_local_face_dofs,
const Eigen::VectorXi  n_local_cell_dofs 
)

Constructor.

◆ VariableDOFSpace() [2/5]

VariableDOFSpace::VariableDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
const Eigen::VectorXi  n_local_edge_dofs,
const Eigen::VectorXi  n_local_face_dofs,
const Eigen::VectorXi  n_local_cell_dofs 
)

Simpler constructor if all vertices have the same number of DOFs.

◆ VariableDOFSpace() [3/5]

VariableDOFSpace::VariableDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
size_t  n_local_edge_dofs,
const Eigen::VectorXi  n_local_face_dofs,
const Eigen::VectorXi  n_local_cell_dofs 
)

Simpler constructor if all vertices/edges have the same number of DOFs.

◆ VariableDOFSpace() [4/5]

VariableDOFSpace::VariableDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
size_t  n_local_edge_dofs,
size_t  n_local_face_dofs,
const Eigen::VectorXi  n_local_cell_dofs 
)

Simpler constructor if all vertices/edges/faces have the same number of DOFs.

◆ VariableDOFSpace() [5/5]

VariableDOFSpace::VariableDOFSpace ( const Mesh mesh,
size_t  n_local_vertex_dofs,
size_t  n_local_edge_dofs,
size_t  n_local_face_dofs,
size_t  n_local_cell_dofs 
)

Simpler constructor if all vertices/edges/faces/cells have the same number of DOFs.

◆ ~PastixBase()

template<class Derived >
Eigen::PastixBase< Derived >::~PastixBase ( )
inline

Variable Documentation

◆ deg

IntegralWeightDegreeType HArDCore3D::IntegralWeight::deg

◆ m_analysisIsOk

template<class Derived >
int Eigen::PastixBase< Derived >::m_analysisIsOk
protected

◆ m_comm

template<class Derived >
int Eigen::PastixBase< Derived >::m_comm
mutableprotected

◆ m_dim_gl

size_t HArDCore3D::LocalStaticCondensation::m_dim_gl

◆ m_dim_sc

size_t HArDCore3D::LocalStaticCondensation::m_dim_sc

◆ m_dparm

template<class Derived >
Array<double,DPARM_SIZE,1> Eigen::PastixBase< Derived >::m_dparm
mutableprotected

◆ m_factorizationIsOk

template<class Derived >
int Eigen::PastixBase< Derived >::m_factorizationIsOk
protected

◆ m_globalDOFs_gl

std::vector<size_t> HArDCore3D::LocalStaticCondensation::m_globalDOFs_gl

◆ m_globalDOFs_sc

std::vector<size_t> HArDCore3D::LocalStaticCondensation::m_globalDOFs_sc

◆ m_info

template<class Derived >
ComputationInfo Eigen::PastixBase< Derived >::m_info
mutableprotected

◆ m_initisOk

template<class Derived >
int Eigen::PastixBase< Derived >::m_initisOk
protected

◆ m_invp

template<class Derived >
Matrix<StorageIndex,Dynamic,1> Eigen::PastixBase< Derived >::m_invp
mutableprotected

◆ m_iparm

template<class Derived >
Array<int,IPARM_SIZE,1> Eigen::PastixBase< Derived >::m_iparm
mutableprotected

◆ m_mesh

const Mesh& HArDCore3D::LocalDOFSpace::m_mesh
protected

◆ m_n_local_cell_dofs

size_t HArDCore3D::LocalDOFSpace::m_n_local_cell_dofs
protected

◆ m_n_local_edge_dofs

size_t HArDCore3D::LocalDOFSpace::m_n_local_edge_dofs
protected

◆ m_n_local_face_dofs

size_t HArDCore3D::LocalDOFSpace::m_n_local_face_dofs
protected

◆ m_n_local_vertex_dofs

size_t HArDCore3D::LocalDOFSpace::m_n_local_vertex_dofs
protected

◆ m_pastixdata

template<class Derived >
pastix_data_t* Eigen::PastixBase< Derived >::m_pastixdata
mutableprotected

◆ m_Perm

Eigen::MatrixXd HArDCore3D::LocalStaticCondensation::m_Perm

◆ m_perm

template<class Derived >
Matrix<StorageIndex,Dynamic,1> Eigen::PastixBase< Derived >::m_perm
mutableprotected

◆ m_size

template<class Derived >
int Eigen::PastixBase< Derived >::m_size
mutableprotected

◆ m_structureIsUptodate

template<typename _MatrixType , bool IsStrSym>
bool Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate
protected

◆ m_transposedStructure

template<typename _MatrixType , bool IsStrSym>
ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::m_transposedStructure
protected

◆ map_id

std::map<SolverName, size_t> HArDCore3D::map_id
Initial value:
= {{EigenLU,0},
{PardisoLU,2},
{UMFPACK,3},
{PaStiXLU,4},
{PaStiXLLT,5}}
@ EigenLU
Definition linearsolver.hpp:36
@ PaStiXLLT
Definition linearsolver.hpp:36
@ PaStiXLU
Definition linearsolver.hpp:36
@ UMFPACK
Definition linearsolver.hpp:36
@ EigenBiCGStab
Definition linearsolver.hpp:36

◆ map_realname

std::map<SolverName, std::string> HArDCore3D::map_realname
Initial value:
= {{EigenLU,"Eigen LU"},
{EigenBiCGStab,"Eigen BiCGStab"},
{PardisoLU,"Pardiso LU"},
{UMFPACK,"UMFPACK"},
{PaStiXLU,"PaStiX LU"},
{PaStiXLLT,"PaStiX LLT"}}

Map to associate to each solver its proper name.

◆ map_solver

std::map<std::string, SolverName> HArDCore3D::map_solver
Initial value:
= {{"eigenlu",EigenLU},
{"eigenbicgstab",EigenBiCGStab},
{"pardisolu",PardisoLU},
{"umfpack",UMFPACK},
{"pastixlu",PaStiXLU},
{"pastixllt",PaStiXLLT},}

Map to associate to each lowercase name a solver.

The user passes a string and this map identifies the solver (this is case-independent)

◆ systems

template<typename MatrixType >
std::vector<MatrixType> HArDCore3D::SystemVectors< MatrixType >::systems

◆ value

IntegralWeightValueType HArDCore3D::IntegralWeight::value

◆ vectors

template<typename MatrixType >
std::vector<Eigen::VectorXd> HArDCore3D::SystemVectors< MatrixType >::vectors