Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
moab::element_utility::Parametrizer Class Reference

#include <parametrizer.hpp>

+ Collaboration diagram for moab::element_utility::Parametrizer:

Public Member Functions

 Parametrizer ()
 
 Parametrizer (const Self &f)
 
template<typename Moab , typename Entity_handle , typename Point >
std::pair< bool, Point > operator() (Moab &moab, const Entity_handle &eh, const Point &point)
 
template<typename Moab , typename Entity_handle , typename Point >
void interpolate (Moab &moab, const Entity_handle &eh, const Point &natural_coords)
 

Private Types

typedef Parametrizer Self
 
typedef moab::EntityHandle Entity_handle
 

Private Attributes

Linear_hex_map< moab::Matrix3hex_map
 
Linear_tet_map< Entity_handle, moab::Matrix3tet_map
 
Spectral_hex_map< moab::Matrix3spectral_hex_map
 
Quadratic_hex_map< moab::Matrix3quadratic_hex_map
 

Detailed Description

Definition at line 59 of file parametrizer.hpp.

Member Typedef Documentation

◆ Entity_handle

◆ Self

Definition at line 62 of file parametrizer.hpp.

Constructor & Destructor Documentation

◆ Parametrizer() [1/2]

moab::element_utility::Parametrizer::Parametrizer ( )
inline

Definition at line 66 of file parametrizer.hpp.

66 : hex_map(), tet_map() {}

◆ Parametrizer() [2/2]

moab::element_utility::Parametrizer::Parametrizer ( const Self f)
inline

Definition at line 67 of file parametrizer.hpp.

67 : hex_map( f.hex_map ), tet_map( f.tet_map ) {}

Member Function Documentation

◆ interpolate()

template<typename Moab , typename Entity_handle , typename Point >
void moab::element_utility::Parametrizer::interpolate ( Moab &  moab,
const Entity_handle eh,
const Point &  natural_coords 
)
inline

Definition at line 95 of file parametrizer.hpp.

96  {
97  // get field values from moab tag,
98  // then
99  // evaluate_scalar_field();
100  }

◆ operator()()

template<typename Moab , typename Entity_handle , typename Point >
std::pair< bool, Point > moab::element_utility::Parametrizer::operator() ( Moab &  moab,
const Entity_handle eh,
const Point &  point 
)
inline

Definition at line 71 of file parametrizer.hpp.

72  {
73  // get entity
74  typedef std::vector< moab::CartVect > Points;
75  Points points;
76  get_moab_points( moab, eh, points );
77  // get type
78  switch( moab.type_from_handle( eh ) )
79  {
80  case moab::MBHEX:
81  return hex_map( moab, eh, points, point );
82  case moab::MBTET:
83  return tet_map( moab, eh, points, point );
84  // TODO: not correct..
85  // TODO: add quadratic hex, and a proper case for
86  // spectral hex
87  default:
88  quadratic_hex_map( moab, eh, points, point );
89  return spectral_hex_map( moab, eh, points, point );
90  std::cerr << "Element type not supported" << std::endl;
91  return make_pair( false, Point( 3, 0.0 ) );
92  }
93  }

References hex_map, MBHEX, MBTET, Points, quadratic_hex_map, spectral_hex_map, and tet_map.

Member Data Documentation

◆ hex_map

Linear_hex_map< moab::Matrix3 > moab::element_utility::Parametrizer::hex_map
private

Definition at line 103 of file parametrizer.hpp.

Referenced by operator()().

◆ quadratic_hex_map

Quadratic_hex_map< moab::Matrix3 > moab::element_utility::Parametrizer::quadratic_hex_map
private

Definition at line 106 of file parametrizer.hpp.

Referenced by operator()().

◆ spectral_hex_map

Spectral_hex_map< moab::Matrix3 > moab::element_utility::Parametrizer::spectral_hex_map
private

Definition at line 105 of file parametrizer.hpp.

Referenced by operator()().

◆ tet_map

Linear_tet_map< Entity_handle, moab::Matrix3 > moab::element_utility::Parametrizer::tet_map
private

Definition at line 104 of file parametrizer.hpp.

Referenced by operator()().


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