Chi-Tech
PieceWiseLinearBaseMapping.h
Go to the documentation of this file.
1#ifndef CELL_MAPPING_FE_PWL_BASE_H
2#define CELL_MAPPING_FE_PWL_BASE_H
3
4#include <utility>
5
6#include "mesh/chi_mesh.h"
7
8#include "CellMapping.h"
9
10// ###################################################################
12{
13/** Base class for all cell piece-wise linear cell-mappings.
14 * \ingroup doc_CellMappings*/
16{
17protected:
18public:
19 typedef std::vector<double> VecDbl;
20 typedef std::vector<chi_mesh::Vector3> VecVec3;
21
22public:
23 /** Constructor. */
25 const chi_mesh::Cell& cell,
26 size_t num_nodes,
27 std::vector<std::vector<int>> face_node_mappings);
28
29protected:
30 static std::vector<chi_mesh::Vector3>
32 const chi_mesh::Cell& cell);
33
34 static std::vector<std::vector<int>>
36};
37
38} // namespace chi_math::cell_mapping
39
40#endif
static std::vector< chi_mesh::Vector3 > GetVertexLocations(const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell)
PieceWiseLinearBaseMapping(const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, size_t num_nodes, std::vector< std::vector< int > > face_node_mappings)
static std::vector< std::vector< int > > MakeFaceNodeMapping(const chi_mesh::Cell &cell)