PLaSK library
Loading...
Searching...
No Matches
plask::InterpolationFlags Class Reference

Interpolation flags that give information how to interpolate fields on periodic and symmetric geometries. More...

#include <plask/mesh/interpolation.hpp>

Public Types

enum class  Symmetry : unsigned char {
  NO = 0 , POSITIVE = 1 , PP = 1 , NP = 3 ,
  PN = 5 , NN = 7 , PPP = 1 , NPP = 3 ,
  PNP = 5 , NNP = 7 , PPN = 9 , NPN = 11 ,
  PNN = 13 , NNN = 15 , NEGATIVE = 15
}
 

Public Member Functions

 InterpolationFlags ()
 
 InterpolationFlags (shared_ptr< const GeometryD< 2 > > geometry, Symmetry sym0, Symmetry sym1)
 
 InterpolationFlags (shared_ptr< const Geometry2DCartesian > geometry)
 
 InterpolationFlags (shared_ptr< Geometry2DCartesian > geometry)
 
 InterpolationFlags (shared_ptr< const Geometry2DCylindrical > geometry)
 
 InterpolationFlags (shared_ptr< Geometry2DCylindrical > geometry)
 
 InterpolationFlags (shared_ptr< const GeometryD< 3 > > geometry, Symmetry sym0, Symmetry sym1, Symmetry sym2)
 
 InterpolationFlags (shared_ptr< const Geometry3D > geometry)
 
 InterpolationFlags (shared_ptr< Geometry3D > geometry)
 
unsigned char symmetric (int axis) const
 
bool periodic (int axis) const
 
double low (int axis) const
 
double high (int axis) const
 
double wrap (int ax, double x) const
 
template<int dim>
Vec< dim > wrap (Vec< dim > pos) const
 
template<int dim, typename DataT >
Vec< dim, DataTreflect (int ax, Vec< dim, DataT > vec) const
 
template<typename DataT >
DataT reflect (int ax, DataT val) const
 
template<int dim, typename DataT >
DataT postprocess (Vec< dim > pos, DataT data) const
 

Detailed Description

Interpolation flags that give information how to interpolate fields on periodic and symmetric geometries.

Definition at line 127 of file interpolation.hpp.

Member Enumeration Documentation

◆ Symmetry

Enumerator
NO 
POSITIVE 
PP 
NP 
PN 
NN 
PPP 
NPP 
PNP 
NNP 
PPN 
NPN 
PNN 
NNN 
NEGATIVE 

Definition at line 134 of file interpolation.hpp.

Constructor & Destructor Documentation

◆ InterpolationFlags() [1/9]

plask::InterpolationFlags::InterpolationFlags ( )
inline

Definition at line 152 of file interpolation.hpp.

◆ InterpolationFlags() [2/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< const GeometryD< 2 > >  geometry,
Symmetry  sym0,
Symmetry  sym1 
)
inline

Definition at line 154 of file interpolation.hpp.

◆ InterpolationFlags() [3/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< const Geometry2DCartesian geometry)
inline

Definition at line 176 of file interpolation.hpp.

◆ InterpolationFlags() [4/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< Geometry2DCartesian geometry)
inline

Definition at line 177 of file interpolation.hpp.

◆ InterpolationFlags() [5/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< const Geometry2DCylindrical geometry)
inline

Definition at line 178 of file interpolation.hpp.

◆ InterpolationFlags() [6/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< Geometry2DCylindrical geometry)
inline

Definition at line 179 of file interpolation.hpp.

◆ InterpolationFlags() [7/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< const GeometryD< 3 > >  geometry,
Symmetry  sym0,
Symmetry  sym1,
Symmetry  sym2 
)
inline

Definition at line 181 of file interpolation.hpp.

◆ InterpolationFlags() [8/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< const Geometry3D geometry)
inline

Definition at line 210 of file interpolation.hpp.

◆ InterpolationFlags() [9/9]

plask::InterpolationFlags::InterpolationFlags ( shared_ptr< Geometry3D geometry)
inline

Definition at line 211 of file interpolation.hpp.

Member Function Documentation

◆ high()

double plask::InterpolationFlags::high ( int  axis) const
inline

Definition at line 222 of file interpolation.hpp.

◆ low()

double plask::InterpolationFlags::low ( int  axis) const
inline

Definition at line 217 of file interpolation.hpp.

◆ periodic()

bool plask::InterpolationFlags::periodic ( int  axis) const
inline

Definition at line 215 of file interpolation.hpp.

◆ postprocess()

template<int dim, typename DataT >
DataT plask::InterpolationFlags::postprocess ( Vec< dim >  pos,
DataT  data 
) const
inline

Definition at line 273 of file interpolation.hpp.

◆ reflect() [1/2]

template<typename DataT >
DataT plask::InterpolationFlags::reflect ( int  ax,
DataT  val 
) const
inline

Definition at line 267 of file interpolation.hpp.

◆ reflect() [2/2]

template<int dim, typename DataT >
Vec< dim, DataT > plask::InterpolationFlags::reflect ( int  ax,
Vec< dim, DataT vec 
) const
inline

Definition at line 261 of file interpolation.hpp.

◆ symmetric()

unsigned char plask::InterpolationFlags::symmetric ( int  axis) const
inline

Definition at line 213 of file interpolation.hpp.

◆ wrap() [1/2]

double plask::InterpolationFlags::wrap ( int  ax,
double  x 
) const
inline
Parameters
axaxes number
xcoordinate
Returns
wrapped version of x

Definition at line 232 of file interpolation.hpp.

◆ wrap() [2/2]

template<int dim>
Vec< dim > plask::InterpolationFlags::wrap ( Vec< dim >  pos) const
inline

Definition at line 253 of file interpolation.hpp.


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