COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Public Types | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | List of all members
ElementTypeBase< ETYPE, TR > Class Template Reference

Fallback class if a concrete Element Type doesn't implement a static function. More...

#include <ElementTypeBase.hpp>

Public Types

typedef TR::SF SF
 
typedef TR::SF::MappedCoordsT MappedCoordsT
 
typedef Eigen::Matrix< Real, TR::dimension, 1 > CoordsT
 
typedef Eigen::Matrix< Real, nb_nodes, TR::dimension > NodesT
 
typedef Eigen::Matrix< Real, TR::SF::dimensionality, TR::dimension > JacobianT
 

Static Public Member Functions

static std::string type_name ()
 
static void compute_mapped_coordinate (const CoordsT &coord, const NodesT &nodes, MappedCoordsT &mapped_coord)
 
static Real jacobian_determinant (const MappedCoordsT &mapped_coord, const NodesT &nodes)
 
template<typename MatrixType >
static void compute_jacobian (const MappedCoordsT &mapped_coord, const NodesT &nodes, MatrixType &jacobian)
 
template<typename MatrixType >
static boost::enable_if< boost::is_same< MatrixType, JacobianT > >::type compute_jacobian_if_enabled (const MappedCoordsT &mapped_coord, const NodesT &nodes, MatrixType &jacobian)
 
template<typename MatrixType >
static boost::enable_if< boost::mpl::not_< boost::is_same< MatrixType, JacobianT > > >::type compute_jacobian_if_enabled (const MappedCoordsT &mapped_coord, const NodesT &nodes, MatrixType &jacobian)
 
static void compute_jacobian_adjoint (const MappedCoordsT &mapped_coord, const NodesT &nodes, JacobianT &result)
 
static Real volume (const NodesT &nodes)
 
static Real area (const NodesT &nodes)
 
static void compute_normal (const NodesT &nodes, CoordsT &normal)
 
static void compute_centroid (const NodesT &nodes, CoordsT &centroid)
 
static bool is_coord_in_element (const CoordsT &coord, const NodesT &nodes)
 
static void compute_plane_jacobian_normal (const MappedCoordsT &mapped_coord, const NodesT &nodes, const CoordRef orientation, CoordsT &result)
 
static MappedCoordsT mapped_coordinate (const CoordsT &coord, const NodesT &nodes)
 
static JacobianT jacobian (const MappedCoordsT &mapped_coord, const NodesT &nodes)
 
static CoordsT plane_jacobian_normal (const MappedCoordsT &mapped_coord, const NodesT &nodes, const CoordRef orientation)
 

Static Public Attributes

static const GeoShape::Type shape = (GeoShape::Type) TR::SF::shape
 
static const Uint order = (Uint) TR::SF::order
 
static const Uint dimensionality = (Uint) TR::SF::dimensionality
 
static const Uint dimension = (Uint) TR::dimension
 
static const Uint nb_faces = (Uint) TR::nb_faces
 
static const Uint nb_edges = (Uint) TR::nb_edges
 
static const Uint nb_nodes = (Uint) TR::SF::nb_nodes
 

Static Private Member Functions

static void throw_not_implemented (const common::CodeLocation &where)
 

Detailed Description

template<typename ETYPE, typename TR>
class cf3::mesh::ElementTypeBase< ETYPE, TR >

Fallback class if a concrete Element Type doesn't implement a static function.

Implements all functions ElementTypeT expects. When creating a new element type, this list shows all the possible static functions that can be implemented and are recognized by the dynamic interface from ElementType

Author
Willem Deconinck

Definition at line 48 of file ElementTypeBase.hpp.

Member Typedef Documentation

typedef Eigen::Matrix<Real, TR::dimension, 1> CoordsT

Definition at line 68 of file ElementTypeBase.hpp.

typedef Eigen::Matrix<Real, TR::SF::dimensionality, TR::dimension> JacobianT

Definition at line 70 of file ElementTypeBase.hpp.

typedef TR::SF::MappedCoordsT MappedCoordsT

Definition at line 67 of file ElementTypeBase.hpp.

typedef Eigen::Matrix<Real, nb_nodes, TR::dimension> NodesT

Definition at line 69 of file ElementTypeBase.hpp.

typedef TR::SF SF

Definition at line 54 of file ElementTypeBase.hpp.

Member Function Documentation

Real area ( const NodesT nodes)
static

Definition at line 215 of file ElementTypeBase.hpp.

void compute_centroid ( const NodesT nodes,
CoordsT centroid 
)
static

Definition at line 232 of file ElementTypeBase.hpp.

static void compute_jacobian ( const MappedCoordsT mapped_coord,
const NodesT nodes,
MatrixType &  jacobian 
)
inlinestatic

Definition at line 79 of file ElementTypeBase.hpp.

void compute_jacobian_adjoint ( const MappedCoordsT mapped_coord,
const NodesT nodes,
JacobianT result 
)
static

Definition at line 198 of file ElementTypeBase.hpp.

static boost::enable_if< boost::is_same< MatrixType, JacobianT > >::type compute_jacobian_if_enabled ( const MappedCoordsT mapped_coord,
const NodesT nodes,
MatrixType &  jacobian 
)
inlinestatic

Definition at line 86 of file ElementTypeBase.hpp.

static boost::enable_if< boost::mpl::not_<boost::is_same< MatrixType, JacobianT > > >::type compute_jacobian_if_enabled ( const MappedCoordsT mapped_coord,
const NodesT nodes,
MatrixType &  jacobian 
)
inlinestatic

Definition at line 93 of file ElementTypeBase.hpp.

void compute_mapped_coordinate ( const CoordsT coord,
const NodesT nodes,
MappedCoordsT mapped_coord 
)
static

Definition at line 162 of file ElementTypeBase.hpp.

void compute_normal ( const NodesT nodes,
CoordsT normal 
)
static

Definition at line 224 of file ElementTypeBase.hpp.

void compute_plane_jacobian_normal ( const MappedCoordsT mapped_coord,
const NodesT nodes,
const CoordRef  orientation,
CoordsT result 
)
static

Definition at line 258 of file ElementTypeBase.hpp.

bool is_coord_in_element ( const CoordsT coord,
const NodesT nodes 
)
static

Definition at line 240 of file ElementTypeBase.hpp.

ElementTypeBase< ETYPE, TR >::JacobianT jacobian ( const MappedCoordsT mapped_coord,
const NodesT nodes 
)
static

Definition at line 179 of file ElementTypeBase.hpp.

Real jacobian_determinant ( const MappedCoordsT mapped_coord,
const NodesT nodes 
)
static

Definition at line 170 of file ElementTypeBase.hpp.

ElementTypeBase< ETYPE, TR >::MappedCoordsT mapped_coordinate ( const CoordsT coord,
const NodesT nodes 
)
static

Definition at line 153 of file ElementTypeBase.hpp.

ElementTypeBase< ETYPE, TR >::CoordsT plane_jacobian_normal ( const MappedCoordsT mapped_coord,
const NodesT nodes,
const CoordRef  orientation 
)
static

Definition at line 249 of file ElementTypeBase.hpp.

void throw_not_implemented ( const common::CodeLocation where)
inlinestaticprivate

Definition at line 145 of file ElementTypeBase.hpp.

static std::string type_name ( )
inlinestatic

Definition at line 63 of file ElementTypeBase.hpp.

Real volume ( const NodesT nodes)
static

Definition at line 206 of file ElementTypeBase.hpp.

Member Data Documentation

const Uint dimension = (Uint) TR::dimension
static

Definition at line 58 of file ElementTypeBase.hpp.

const Uint dimensionality = (Uint) TR::SF::dimensionality
static

Definition at line 57 of file ElementTypeBase.hpp.

const Uint nb_edges = (Uint) TR::nb_edges
static

Definition at line 60 of file ElementTypeBase.hpp.

const Uint nb_faces = (Uint) TR::nb_faces
static

Definition at line 59 of file ElementTypeBase.hpp.

const Uint nb_nodes = (Uint) TR::SF::nb_nodes
static

Definition at line 61 of file ElementTypeBase.hpp.

const Uint order = (Uint) TR::SF::order
static

Definition at line 56 of file ElementTypeBase.hpp.

const GeoShape::Type shape = (GeoShape::Type) TR::SF::shape
static

Definition at line 55 of file ElementTypeBase.hpp.


The documentation for this class was generated from the following file:
Send comments to:
COOLFluiD Web Admin