PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
MeshQuadrature.h File Reference

Utility functions computing common mesh quadrature quantities. More...

#include "Concepts.h"
#include "Jacobian.h"
#include "ShapeFunctions.h"
#include "pbat/Aliases.h"
#include "pbat/common/Concepts.h"
#include <exception>
#include <fmt/format.h>

Go to the source code of this file.

Namespaces

namespace  pbat
 The main namespace of the library.
 
namespace  pbat::fem
 Finite Element Method (FEM)
 

Functions

template<CElement TElement, int QuadratureOrder, class TDerivedDetJe>
void pbat::fem::ToMeshQuadratureWeights (Eigen::MatrixBase< TDerivedDetJe > &detJeThenWg)
 Computes the inner product weights \( \mathbf{w}_{ge} \in \mathbb{R}^{|G^e| \times |E|} \) such that \( \int_\Omega \cdot d\Omega = \sum_e \sum_g w_{ge} \cdot \).
 
template<CElement TElement, int QuadratureOrder, class TDerivedE, class TDerivedX>
auto pbat::fem::MeshQuadratureWeights (Eigen::MatrixBase< TDerivedE > const &E, Eigen::MatrixBase< TDerivedX > const &X) -> Eigen::Matrix< typename TDerivedX::Scalar, TElement::template QuadratureType< QuadratureOrder, typename TDerivedX::Scalar >::kPoints, Eigen::Dynamic >
 Computes the inner product weights \( \mathbf{w}_{ge} \in \mathbb{R}^{|G^e| \times |E|} \) such that \( \int_\Omega \cdot d\Omega = \sum_e \sum_g w_{ge} \cdot \).
 
template<int QuadratureOrder, CMesh TMesh>
auto pbat::fem::MeshQuadratureWeights (TMesh const &mesh) -> Eigen::Matrix< typename TMesh::ScalarType, TMesh::ElementType::template QuadratureType< QuadratureOrder, typename TMesh::ScalarType >::kPoints, Eigen::Dynamic >
 Computes the inner product weights \( \mathbf{w}_{ge} \in \mathbb{R}^{|G^e| \times |E|} \) such that \( \int_\Omega \cdot d\Omega = \sum_e \sum_g w_{ge} \cdot \).
 
template<common::CIndex TIndex>
auto pbat::fem::MeshQuadratureElements (TIndex nElements, TIndex nQuadPtsPerElement)
 Computes the element quadrature points indices for each quadrature point, given the number of elements and the quadrature weights matrix.
 
template<common::CIndex TIndex, class TDerivedwg>
auto pbat::fem::MeshQuadratureElements (TIndex nElements, Eigen::DenseBase< TDerivedwg > const &wg)
 Computes the element quadrature points indices for each quadrature point, given the number of elements and the quadrature weights matrix.
 
template<class TDerivedE, class TDerivedwg>
auto pbat::fem::MeshQuadratureElements (Eigen::DenseBase< TDerivedE > const &E, Eigen::DenseBase< TDerivedwg > const &wg)
 Computes the element quadrature points indices for each quadrature point.
 
template<CElement TElement, int QuadratureOrder, common::CArithmetic TScalar = Scalar, common::CIndex TIndex = Index>
auto pbat::fem::MeshReferenceQuadraturePoints (TIndex nElements)
 Computes the element quadrature points in reference element space.
 
template<int QuadratureOrder, CMesh TMesh>
auto pbat::fem::MeshReferenceQuadraturePoints (TMesh const &mesh)
 Computes the element quadrature points in reference element space.
 

Detailed Description

Utility functions computing common mesh quadrature quantities.

Author
Quoc-Minh Ton-That (tonth.nosp@m.at.q.nosp@m.uocmi.nosp@m.nh@g.nosp@m.mail..nosp@m.com)
Date
2025-02-11