Chi-Tech
chi_mesh::FieldFunctionInterpolationSlice Class Reference

#include <chi_ffinter_slice.h>

Inheritance diagram for chi_mesh::FieldFunctionInterpolationSlice:
chi_mesh::FieldFunctionInterpolation

Public Member Functions

 FieldFunctionInterpolationSlice ()
 
chi_mesh::NormalGetNormal ()
 
chi_mesh::NormalGetBiNorm ()
 
chi_mesh::NormalGetTangent ()
 
chi_mesh::Vector3GetPlanePoint ()
 
void Initialize () override
 
void Execute () override
 
std::string GetDefaultFileBaseName () const override
 
void ExportPython (std::string base_name) override
 
- Public Member Functions inherited from chi_mesh::FieldFunctionInterpolation
 FieldFunctionInterpolation (ff_interpolation::Type type)
 
std::vector< chi_physics::FieldFunctionGridBasedPtr > & GetFieldFunctions ()
 
ff_interpolation::Type Type () const
 
virtual void Initialize ()
 
virtual void Execute ()
 
virtual std::string GetDefaultFileBaseName () const =0
 
virtual void ExportPython (std::string base_name)=0
 

Protected Attributes

chi_mesh::Normal normal_ =chi_mesh::Normal(0.0, 0.0, 1.0)
 
chi_mesh::Normal binorm_ =chi_mesh::Normal(0.0, 1.0, 0.0)
 
chi_mesh::Normal tangent_ =chi_mesh::Normal(1.0, 0.0, 0.0)
 
chi_mesh::Vector3 plane_point_
 
- Protected Attributes inherited from chi_mesh::FieldFunctionInterpolation
ff_interpolation::Type type_
 
unsigned int ref_component_ = 0
 
std::vector< chi_physics::FieldFunctionGridBasedPtrfield_functions_
 

Private Attributes

std::vector< FFICellIntersectioncell_intersections_
 

Detailed Description

A slice based interpolation function.

This functionality needs to cater for numerous spatial discretizations. The most simple one is cell-averaged values and the more complicated ones are PWLD and then CFEM.

Cell average values requires computing the slice of the polyhedron and then computing the centroid of that cut. This can be done cell by cell.

Definition at line 37 of file chi_ffinter_slice.h.

Constructor & Destructor Documentation

◆ FieldFunctionInterpolationSlice()

chi_mesh::FieldFunctionInterpolationSlice::FieldFunctionInterpolationSlice ( )
inline

Definition at line 48 of file chi_ffinter_slice.h.

Member Function Documentation

◆ Execute()

void chi_mesh::FieldFunctionInterpolationSlice::Execute ( )
overridevirtual

Executes the slice interpolation.

Reimplemented from chi_mesh::FieldFunctionInterpolation.

Definition at line 11 of file chi_ffinter_slice_execute.cc.

◆ ExportPython()

void chi_mesh::FieldFunctionInterpolationSlice::ExportPython ( std::string  base_name)
overridevirtual

◆ GetBiNorm()

chi_mesh::Normal & chi_mesh::FieldFunctionInterpolationSlice::GetBiNorm ( )
inline

Definition at line 53 of file chi_ffinter_slice.h.

◆ GetDefaultFileBaseName()

std::string chi_mesh::FieldFunctionInterpolationSlice::GetDefaultFileBaseName ( ) const
inlineoverridevirtual

Implements chi_mesh::FieldFunctionInterpolation.

Definition at line 63 of file chi_ffinter_slice.h.

◆ GetNormal()

chi_mesh::Normal & chi_mesh::FieldFunctionInterpolationSlice::GetNormal ( )
inline

Definition at line 52 of file chi_ffinter_slice.h.

◆ GetPlanePoint()

chi_mesh::Vector3 & chi_mesh::FieldFunctionInterpolationSlice::GetPlanePoint ( )
inline

Definition at line 55 of file chi_ffinter_slice.h.

◆ GetTangent()

chi_mesh::Normal & chi_mesh::FieldFunctionInterpolationSlice::GetTangent ( )
inline

Definition at line 54 of file chi_ffinter_slice.h.

◆ Initialize()

void chi_mesh::FieldFunctionInterpolationSlice::Initialize ( )
overridevirtual

Initializes the data structures necessary for interpolation. This is independent of the physics and hence is a routine on its own.

The first step of this initialization is to determine which cells are intersected by this plane. For polyhedrons this is evaluated tet-by-tet.

The second step is find where face-edges are intersected. This will effectively create intersection polygons.

Reimplemented from chi_mesh::FieldFunctionInterpolation.

Definition at line 22 of file chi_ffinter_slice_initialize.cc.

Field Documentation

◆ binorm_

chi_mesh::Normal chi_mesh::FieldFunctionInterpolationSlice::binorm_ =chi_mesh::Normal(0.0, 1.0, 0.0)
protected

Definition at line 41 of file chi_ffinter_slice.h.

◆ cell_intersections_

std::vector<FFICellIntersection> chi_mesh::FieldFunctionInterpolationSlice::cell_intersections_
private

Definition at line 46 of file chi_ffinter_slice.h.

◆ normal_

chi_mesh::Normal chi_mesh::FieldFunctionInterpolationSlice::normal_ =chi_mesh::Normal(0.0, 0.0, 1.0)
protected

Definition at line 40 of file chi_ffinter_slice.h.

◆ plane_point_

chi_mesh::Vector3 chi_mesh::FieldFunctionInterpolationSlice::plane_point_
protected

Definition at line 43 of file chi_ffinter_slice.h.

◆ tangent_

chi_mesh::Normal chi_mesh::FieldFunctionInterpolationSlice::tangent_ =chi_mesh::Normal(1.0, 0.0, 0.0)
protected

Definition at line 42 of file chi_ffinter_slice.h.


The documentation for this class was generated from the following files: