Portage::Interpolate_2ndOrder< D, Entity_kind::NODE, SourceMeshType, TargetMeshType, SourceStateType, TargetStateType, double, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys > Class Template Reference
second-order interpolate class specialization for scalar fields on nodes. More...
#include <interpolate_2nd_order.h>
Public Member Functions | |
Interpolate_2ndOrder (SourceMeshType const &source_mesh, TargetMeshType const &target_mesh, SourceStateType const &source_state, NumericTolerances_t num_tols) | |
Constructor without interface reconstructor. More... | |
Interpolate_2ndOrder & | operator= (const Interpolate_2ndOrder &)=delete |
Assignment operator (disabled). More... | |
~Interpolate_2ndOrder ()=default | |
Destructor. More... | |
void | set_material (int m) |
Set the material we are operating on. More... | |
void | set_interpolation_variable (std::string const variable_name, Portage::vector< Vector< D >> *gradient_field=nullptr) |
Set the name of the interpolation variable and the gradient field. More... | |
double | operator() (int node_id, std::vector< Weights_t > const &sources_and_weights) const |
Functor to compute the interpolation of node values. More... | |
Static Public Attributes | |
static constexpr int | order = 2 |
Detailed Description
template<int D, typename SourceMeshType, typename TargetMeshType, typename SourceStateType, typename TargetStateType, template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter, class Matpoly_Clipper, class CoordSys>
class Portage::Interpolate_2ndOrder< D, Entity_kind::NODE, SourceMeshType, TargetMeshType, SourceStateType, TargetStateType, double, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >
second-order interpolate class specialization for scalar fields on nodes.
- Template Parameters
-
D spatial dimension of problem SourceMeshType mesh wrapper class used to access source mesh info TargetMeshType mesh wrapper class used to access target mesh info SourceStateType state manager used to access source data. InterfaceReconstructorType class for material interfaces reconstruction MatPoly_Splitter class used for splitting material polygons MatPoly_Clipper class used for clipping material polygons CoordSys what coordinate system are we operating in?
Constructor & Destructor Documentation
◆ Interpolate_2ndOrder()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
inline |
Constructor without interface reconstructor.
- Parameters
-
[in] source_mesh mesh wrapper used to query source mesh info. [in] target_mesh mesh wrapper used to query target mesh info. [in] source_state state-manager wrapper used to query field info. [in] num_tols numerical tolerances.
◆ ~Interpolate_2ndOrder()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
default |
Destructor.
Member Function Documentation
◆ operator()()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
inline |
Functor to compute the interpolation of node values.
- Parameters
-
[in] node_id target node index [in] sources_and_weights list of source mesh entities and corresponding weight vectors. Each element of the weights vector is a moment of the source data over the target entity; for first order interpolation, only the first element (or zero'th moment) of the weights vector (volume of intersection) is used. Source entities may be repeated in the list if the intersection of a target cell and a source cell consists of two or more disjoint pieces.
- Returns
- the interpolated value.
- Todo:
- : must remove assumption that field is scalar.
◆ operator=()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
delete |
Assignment operator (disabled).
- Parameters
-
[in] other the interpolator to copy
- Returns
- current interpolator reference
◆ set_interpolation_variable()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
inline |
Set the name of the interpolation variable and the gradient field.
- Parameters
-
[in] variable_name the variable name [in] gradient_field the gradient field to use
◆ set_material()
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
inline |
Set the material we are operating on.
- Parameters
-
[in] m the material ID.
Member Data Documentation
◆ order
template<int D, typename SourceMeshType , typename TargetMeshType , typename SourceStateType , typename TargetStateType , template< class, int, class, class > class InterfaceReconstructorType, class Matpoly_Splitter , class Matpoly_Clipper , class CoordSys >
|
static |
The documentation for this class was generated from the following file:
- /home/portage/portage/portage/interpolate/interpolate_2nd_order.h