PolyFEM
Loading...
Searching...
No Matches
MassMatrixAssembler.hpp
Go to the documentation of this file.
1#pragma once
2
6
7#include <Eigen/Sparse>
8#include <vector>
9#include <iostream>
10#include <cmath>
11#include <memory>
12
13// mass matrix assembler
14namespace polyfem::assembler
15{
17 {
18 public:
30 void assemble_cross(
31 const bool is_volume,
32 const int size,
33 const int n_from_basis,
34 const std::vector<basis::ElementBases> &from_bases,
35 const std::vector<basis::ElementBases> &from_gbases,
36 const int n_to_basis,
37 const std::vector<basis::ElementBases> &to_bases,
38 const std::vector<basis::ElementBases> &to_gbases,
40 StiffnessMatrix &mass) const;
41 };
42} // namespace polyfem::assembler
std::unique_ptr< MatrixCache > cache
Definition Assembler.cpp:21
Caches basis evaluation and geometric mapping at every element.
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.
Used for test only.
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix
Definition Types.hpp:22