Chi-Tech
chi_ffinter_slice.h
Go to the documentation of this file.
1#ifndef CHI_FFINTER_SLICE_H
2#define CHI_FFINTER_SLICE_H
3
4#include "../chi_ffinterpolation.h"
5
6#include "mesh/chi_mesh.h"
7
8namespace chi_mesh
9{
11{
14 double point_value = 0.0;
15};
16
18{
19 uint64_t ref_cell_local_id = 0;
20 std::vector<FFIFaceEdgeIntersection> intersections;
23 double cell_avg_value = 0.0;
24};
25
26}//namespace chi_mesh
27
28//###################################################################
29/** A slice based interpolation function.
30 *
31 * This functionality needs to cater for numerous spatial discretizations.
32 * The most simple one is cell-averaged values and the more complicated ones
33 * are PWLD and then CFEM.
34 *
35 * Cell average values requires computing the slice of the polyhedron and then
36 * computing the centroid of that cut. This can be done cell by cell.*/
38{
39protected:
44
45private:
46 std::vector<FFICellIntersection> cell_intersections_;
47public:
49 FieldFunctionInterpolation(ff_interpolation::Type::SLICE)
50 { }
51
56 //01
57 void Initialize() override;
58
59 //02
60 void Execute() override;
61public:
62 //03
63 std::string GetDefaultFileBaseName() const override
64 {return "ZPFFI";}
65 void ExportPython(std::string base_name) override;
66};
67
68
69
70
71#endif
ff_interpolation::Type Type() const
std::vector< FFICellIntersection > cell_intersections_
void ExportPython(std::string base_name) override
std::string GetDefaultFileBaseName() const override
Vector3 Normal
Definition: chi_mesh.h:18
chi_mesh::Vector3 intersection_2d_centre
chi_mesh::Vector3 intersection_centre
std::vector< FFIFaceEdgeIntersection > intersections