PolyFEM
|
#include <MassMatrixAssembler.hpp>
Public Member Functions | |
void | assemble_cross (const bool is_volume, const int size, const int n_from_basis, const std::vector< basis::ElementBases > &from_bases, const std::vector< basis::ElementBases > &from_gbases, const int n_to_basis, const std::vector< basis::ElementBases > &to_bases, const std::vector< basis::ElementBases > &to_gbases, const AssemblyValsCache &cache, StiffnessMatrix &mass) const |
Assembles the cross mass matrix between to function spaces. | |
Definition at line 16 of file MassMatrixAssembler.hpp.
void polyfem::assembler::MassMatrixAssembler::assemble_cross | ( | const bool | is_volume, |
const int | size, | ||
const int | n_from_basis, | ||
const std::vector< basis::ElementBases > & | from_bases, | ||
const std::vector< basis::ElementBases > & | from_gbases, | ||
const int | n_to_basis, | ||
const std::vector< basis::ElementBases > & | to_bases, | ||
const std::vector< basis::ElementBases > & | to_gbases, | ||
const AssemblyValsCache & | cache, | ||
StiffnessMatrix & | mass | ||
) | const |
Assembles the cross mass matrix between to function spaces.
[in] | is_volume | True if the mesh is volumetric. |
[in] | size | Size of the problem (e.g., 1 for Laplace). |
[in] | n_from_basis | Number of basis functions in the initial function space. |
[in] | from_bases | Finite element bases to map from. |
[in] | from_gbases | Geometric bases to map from. |
[in] | n_from_basis | Number of basis functions in the resulting function space. |
[in] | from_bases | Finite element bases to map to. |
[in] | from_gbases | Geometric bases to map to. |
[in] | cache | Assembly values cache. |
[out] | mass | Output constructed mass matrix. |
Definition at line 83 of file MassMatrixAssembler.cpp.
References polyfem::utils::barycentric_coordinates(), polyfem::basis::ElementBases::bases, polyfem::utils::TetrahedronClipping::clip(), polyfem::utils::TriangleClipping::clip(), polyfem::basis::ElementBases::eval_geom_mapping(), polyfem::basis::ElementBases::evaluate_bases(), polyfem::quadrature::TetQuadrature::get_quadrature(), polyfem::quadrature::TriQuadrature::get_quadrature(), polyfem::basis::ElementBases::nodes(), quadrature, polyfem::utils::tetrahedron_volume(), polyfem::utils::triangle_area(), and val.
Referenced by polyfem::mesh::Remesher::project_quantities(), and polyfem::mesh::PhysicsRemesher< wmtk::TetMesh >::smooth_after().