Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
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::Matrix3
tet_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

Definition at line 62 of file parametrizer.hpp.


Constructor & Destructor Documentation

Definition at line 66 of file parametrizer.hpp.

: hex_map(), tet_map() {}

Definition at line 67 of file parametrizer.hpp.

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

Member Function Documentation

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.

        {
            // get field values from moab tag,
            // then
            // evaluate_scalar_field();
        }
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.

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

        {
            // get entity
            typedef std::vector< moab::CartVect > Points;
            Points points;
            get_moab_points( moab, eh, points );
            // get type
            switch( moab.type_from_handle( eh ) )
            {
                case moab::MBHEX:
                    return hex_map( moab, eh, points, point );
                case moab::MBTET:
                    return tet_map( moab, eh, points, point );
                // TODO: not correct..
                // TODO: add quadratic hex, and a proper case for
                // spectral hex
                default:
                    quadratic_hex_map( moab, eh, points, point );
                    return spectral_hex_map( moab, eh, points, point );
                    std::cerr << "Element type not supported" << std::endl;
                    return make_pair( false, Point( 3, 0.0 ) );
            }
        }

Member Data Documentation

List of all members.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines