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

Functions and operators associated with a geometric support. More...

#include <ElementData.hpp>

Public Types

typedef ETYPE EtypeT
 The shape function type. More...
 
typedef EtypeT::NodesT ValueT
 The value type for all element nodes. More...
 
typedef const ValueTValueResultT
 Return type of the value() method. More...
 

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW GeometricSupport (const mesh::Elements &elements)
 We store nodes as a fixed-size Eigen matrix, so we need to make sure alignment is respected. More...
 
void set_element (const Uint element_idx)
 Update nodes for the current element and set the connectivity for the passed block accumulator. More...
 
ValueResultT nodes () const
 Reference to the current nodes. More...
 
Real volume () const
 
const EtypeT::CoordsTcoordinates (const typename EtypeT::MappedCoordsT &mapped_coords) const
 
const EtypeT::CoordsTcoordinates () const
 Precomputed coordinates. More...
 
const EtypeT::JacobianTjacobian (const typename EtypeT::MappedCoordsT &mapped_coords) const
 Jacobian matrix computed by the shape function. More...
 
const EtypeT::JacobianTjacobian () const
 Precomputed jacobian. More...
 
const EtypeT::JacobianTjacobian_inverse () const
 Precomputed jacobian inverse. More...
 
Real jacobian_determinant (const typename EtypeT::MappedCoordsT &mapped_coords) const
 
Real jacobian_determinant () const
 Precomputed jacobian determinant. More...
 
const EtypeT::CoordsTnormal (const typename EtypeT::MappedCoordsT &mapped_coords) const
 
const EtypeT::CoordsTnormal () const
 
void compute_shape_functions (const typename EtypeT::MappedCoordsT &mapped_coords) const
 Precompute the shape function matrix. More...
 
void compute_jacobian (const typename EtypeT::MappedCoordsT &mapped_coords) const
 Precompute jacobian for the given mapped coordinates. More...
 
void compute_coordinates () const
 Precompute the interpolated value (requires a computed EtypeT) More...
 
void compute_normal (const typename EtypeT::MappedCoordsT &mapped_coords) const
 Precompute normal (if we have a "face" type) More...
 
const boost::array< Uint, EtypeT::nb_nodes > & element_connectivity () const
 

Private Member Functions

void compute_normal_dispatch (boost::mpl::false_, const typename EtypeT::MappedCoordsT &) const
 
void compute_normal_dispatch (boost::mpl::true_, const typename EtypeT::MappedCoordsT &mapped_coords) const
 
void compute_jacobian_dispatch (boost::mpl::false_, const typename EtypeT::MappedCoordsT &) const
 
void compute_jacobian_dispatch (boost::mpl::true_, const typename EtypeT::MappedCoordsT &mapped_coords) const
 

Private Attributes

ValueT m_nodes
 Stored node data. More...
 
const common::Table< Real > & m_coordinates
 Coordinates table. More...
 
const mesh::Connectivity::ArrayTm_connectivity_array
 Connectivity for all elements. More...
 
boost::array< Uint, EtypeT::nb_nodesm_connectivity
 Connectivity table for the current element. More...
 
Uint m_element_idx
 Index for the current element. More...
 
EtypeT::SF::ValueT m_sf
 Temp storage for non-scalar results. More...
 
EtypeT::CoordsT m_eval_result
 
EtypeT::JacobianT m_jacobian_matrix
 
EtypeT::JacobianT m_jacobian_inverse
 
Real m_jacobian_determinant
 
EtypeT::CoordsT m_normal_vector
 

Detailed Description

template<typename ETYPE>
class cf3::solver::actions::Proto::GeometricSupport< ETYPE >

Functions and operators associated with a geometric support.

Definition at line 169 of file ElementData.hpp.

Member Typedef Documentation

typedef ETYPE EtypeT

The shape function type.

Definition at line 173 of file ElementData.hpp.

typedef const ValueT& ValueResultT

Return type of the value() method.

Definition at line 179 of file ElementData.hpp.

The value type for all element nodes.

Definition at line 176 of file ElementData.hpp.

Constructor & Destructor Documentation

EIGEN_MAKE_ALIGNED_OPERATOR_NEW GeometricSupport ( const mesh::Elements elements)
inline

We store nodes as a fixed-size Eigen matrix, so we need to make sure alignment is respected.

Definition at line 184 of file ElementData.hpp.

Member Function Documentation

void compute_coordinates ( ) const
inline

Precompute the interpolated value (requires a computed EtypeT)

Definition at line 278 of file ElementData.hpp.

void compute_jacobian ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Precompute jacobian for the given mapped coordinates.

Definition at line 272 of file ElementData.hpp.

void compute_jacobian_dispatch ( boost::mpl::false_  ,
const typename EtypeT::MappedCoordsT  
) const
inlineprivate

Definition at line 304 of file ElementData.hpp.

void compute_jacobian_dispatch ( boost::mpl::true_  ,
const typename EtypeT::MappedCoordsT mapped_coords 
) const
inlineprivate

Definition at line 308 of file ElementData.hpp.

void compute_normal ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Precompute normal (if we have a "face" type)

Definition at line 284 of file ElementData.hpp.

void compute_normal_dispatch ( boost::mpl::false_  ,
const typename EtypeT::MappedCoordsT  
) const
inlineprivate

Definition at line 295 of file ElementData.hpp.

void compute_normal_dispatch ( boost::mpl::true_  ,
const typename EtypeT::MappedCoordsT mapped_coords 
) const
inlineprivate

Definition at line 299 of file ElementData.hpp.

void compute_shape_functions ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Precompute the shape function matrix.

Definition at line 266 of file ElementData.hpp.

const EtypeT::CoordsT& coordinates ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Definition at line 210 of file ElementData.hpp.

const EtypeT::CoordsT& coordinates ( ) const
inline

Precomputed coordinates.

Definition at line 218 of file ElementData.hpp.

const boost::array<Uint, EtypeT::nb_nodes>& element_connectivity ( ) const
inline

Definition at line 289 of file ElementData.hpp.

const EtypeT::JacobianT& jacobian ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Jacobian matrix computed by the shape function.

Definition at line 224 of file ElementData.hpp.

const EtypeT::JacobianT& jacobian ( ) const
inline

Precomputed jacobian.

Definition at line 231 of file ElementData.hpp.

Real jacobian_determinant ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Definition at line 242 of file ElementData.hpp.

Real jacobian_determinant ( ) const
inline

Precomputed jacobian determinant.

Definition at line 249 of file ElementData.hpp.

const EtypeT::JacobianT& jacobian_inverse ( ) const
inline

Precomputed jacobian inverse.

Definition at line 237 of file ElementData.hpp.

ValueResultT nodes ( ) const
inline

Reference to the current nodes.

Definition at line 200 of file ElementData.hpp.

const EtypeT::CoordsT& normal ( const typename EtypeT::MappedCoordsT mapped_coords) const
inline

Definition at line 254 of file ElementData.hpp.

const EtypeT::CoordsT& normal ( ) const
inline

Definition at line 260 of file ElementData.hpp.

void set_element ( const Uint  element_idx)
inline

Update nodes for the current element and set the connectivity for the passed block accumulator.

Definition at line 191 of file ElementData.hpp.

Real volume ( ) const
inline

Definition at line 205 of file ElementData.hpp.

Member Data Documentation

boost::array<Uint, EtypeT::nb_nodes> m_connectivity
private

Connectivity table for the current element.

Definition at line 326 of file ElementData.hpp.

const mesh::Connectivity::ArrayT& m_connectivity_array
private

Connectivity for all elements.

Definition at line 323 of file ElementData.hpp.

const common::Table<Real>& m_coordinates
private

Coordinates table.

Definition at line 320 of file ElementData.hpp.

Uint m_element_idx
private

Index for the current element.

Definition at line 329 of file ElementData.hpp.

EtypeT::CoordsT m_eval_result
mutableprivate

Definition at line 334 of file ElementData.hpp.

Real m_jacobian_determinant
mutableprivate

Definition at line 337 of file ElementData.hpp.

EtypeT::JacobianT m_jacobian_inverse
mutableprivate

Definition at line 336 of file ElementData.hpp.

EtypeT::JacobianT m_jacobian_matrix
mutableprivate

Definition at line 335 of file ElementData.hpp.

ValueT m_nodes
private

Stored node data.

Definition at line 317 of file ElementData.hpp.

EtypeT::CoordsT m_normal_vector
mutableprivate

Definition at line 338 of file ElementData.hpp.

EtypeT::SF::ValueT m_sf
mutableprivate

Temp storage for non-scalar results.

Definition at line 333 of file ElementData.hpp.


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