COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
#include <ElementData.hpp>
Classes | |
struct | DataType |
Return the type of the data stored for variable I (I being an Integral Constant in the boost::mpl sense) More... | |
struct | DeleteVariablesData |
Delete stored per-variable data. More... | |
struct | FillRhs |
Set the element on each stored data item. More... | |
struct | InitVariablesData |
Initializes the pointers in a VariablesDataT fusion sequence. More... | |
struct | PrecomputeData |
Precompute variables data. More... | |
struct | SetElement |
Set the element on each stored data item. More... | |
struct | VariableType |
Return the type of the stored variable I (I being an Integral Constant in the boost::mpl sense) More... | |
Public Types | |
typedef SupportEtypeT | SupportShapeFunction |
Shape function for the support. More... | |
typedef MatrixSizePerVar< VariablesT, VariablesEtypeTT, SupportEtypeT >::type | MatrixSizesT |
Element matrix size per var. More... | |
typedef FilterEquationVars< EquationVariablesInT, VariablesEtypeTT, SupportEtypeT >::type | EquationVariablesT |
Filter out element-based fields from the equation variables. More... | |
typedef ElementMatrixSize< MatrixSizesT, EquationVariablesT >::type | EMatrixSizeT |
Size for the element matrix. More... | |
typedef Eigen::Matrix< Real, EMatrixSizeT::value, EMatrixSizeT::value > | ElementMatrixT |
Type for the element matrix (combined for all equations) More... | |
typedef Eigen::Matrix< Real, EMatrixSizeT::value, 1 > | ElementVectorT |
Type for the element vector (combined for all equations) More... | |
typedef boost::fusion::result_of::as_vector< typename boost::mpl::transform< typename boost::mpl::copy< boost::mpl::range_c< int, 0, NbVarsT::value >, boost::mpl::back_inserter< boost::mpl::vector_c< Uint > > >::type, MakeVarData< VariablesT, SupportEtypeT, VariablesEtypeTT, EquationVariablesT, MatrixSizesT, EMatrixSizeT > >::type >::type | VariablesDataT |
typedef boost::fusion::filter_view< VariablesDataT, IsEquationData > | EquationDataT |
A view of only the data used in the element matrix. More... | |
typedef GeometricSupport< SupportEtypeT > | SupportT |
Public Member Functions | |
ElementData (VariablesT &variables, mesh::Elements &elements) | |
void | init_block_accumulator (boost::mpl::false_) |
void | init_block_accumulator (boost::mpl::true_) |
~ElementData () | |
void | set_element (const Uint element_idx) |
Update element index. More... | |
void | update_blocks (boost::mpl::false_) |
Update block accumulator only if a system of equations is accessed in the expressions. More... | |
void | update_blocks (boost::mpl::true_) |
template<typename ExprT > | |
void | precompute_element_matrices (const typename SupportEtypeT::MappedCoordsT &mapped_coords, const ExprT &e) |
Precompute element matrices, for the variables found in expr. More... | |
template<typename I > | |
DataType< I >::type & | var_data (const I &) |
Return the data stored at index I. More... | |
template<typename I > | |
const VariableType< I >::type & | variable (const I &) |
Return the variable stored at index I. More... | |
SupportT & | support () |
Get the data associated with the geometric support. More... | |
const SupportT & | support () const |
ElementMatrixT & | element_matrix (const int i) |
Retrieve the element matrix at index i. More... | |
ElementVectorT & | element_vector (const int i) |
Retrieve the element vector at index i. More... | |
ElementVectorT & | element_rhs () |
Retrieve the element RHS. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef boost::fusion::result_of::size< VariablesT >::type | NbVarsT |
Number of variales that we have stored. More... | |
math::LSS::BlockAccumulator | block_accumulator |
Stores a mutable block accululator, always up-to-date with index mapping and correct size. More... | |
bool | indices_converted |
Static Public Attributes | |
static const Uint | dimension = SupportShapeFunction::dimension |
The dimension of the problem. More... | |
static const Uint | nb_lss_nodes = detail::GetNbNodes<EquationDataT>::value |
Private Attributes | |
VariablesT & | m_variables |
Variables used in the expression. More... | |
mesh::Elements & | m_elements |
Referred Elements. More... | |
SupportT | m_support |
Data for the geometric support. More... | |
VariablesDataT | m_variables_data |
Data associated with each numbered variable. More... | |
Uint | m_element_idx |
ElementMatrixT | m_element_matrices [CF3_PROTO_MAX_ELEMENT_MATRICES] |
ElementVectorT | m_element_vectors [CF3_PROTO_MAX_ELEMENT_MATRICES] |
ElementVectorT | m_element_rhs |
const EquationDataT | m_equation_data |
Filtered view of the data associated with equation variables. More... | |
Stores data that is used when looping over elements to execute Proto expressions. "Data" is meant here in the boost::proto sense, i.e. it is intended for use as 3rd argument for proto transforms. VariablesT is a fusion sequence containing each unique variable in the expression VariablesDataT is a fusion sequence of pointers to the data (also in proto sense) associated with each of the variables SupportEtypeT is the shape function for the geometric support
Definition at line 877 of file ElementData.hpp.
typedef Eigen::Matrix<Real, EMatrixSizeT::value, EMatrixSizeT::value> ElementMatrixT |
Type for the element matrix (combined for all equations)
Definition at line 900 of file ElementData.hpp.
typedef Eigen::Matrix<Real, EMatrixSizeT::value, 1> ElementVectorT |
Type for the element vector (combined for all equations)
Definition at line 903 of file ElementData.hpp.
typedef ElementMatrixSize<MatrixSizesT, EquationVariablesT>::type EMatrixSizeT |
Size for the element matrix.
Definition at line 897 of file ElementData.hpp.
typedef boost::fusion::filter_view< VariablesDataT, IsEquationData > EquationDataT |
A view of only the data used in the element matrix.
Definition at line 915 of file ElementData.hpp.
typedef FilterEquationVars<EquationVariablesInT, VariablesEtypeTT, SupportEtypeT>::type EquationVariablesT |
Filter out element-based fields from the equation variables.
Definition at line 894 of file ElementData.hpp.
typedef MatrixSizePerVar<VariablesT, VariablesEtypeTT, SupportEtypeT>::type MatrixSizesT |
Element matrix size per var.
Definition at line 891 of file ElementData.hpp.
typedef SupportEtypeT SupportShapeFunction |
Shape function for the support.
Definition at line 885 of file ElementData.hpp.
typedef GeometricSupport<SupportEtypeT> SupportT |
Definition at line 1022 of file ElementData.hpp.
typedef boost::fusion::result_of::as_vector< typename boost::mpl::transform < typename boost::mpl::copy<boost::mpl::range_c<int,0,NbVarsT::value>, boost::mpl::back_inserter< boost::mpl::vector_c<Uint> > >::type, MakeVarData<VariablesT, SupportEtypeT, VariablesEtypeTT, EquationVariablesT, MatrixSizesT, EMatrixSizeT> >::type >::type VariablesDataT |
Definition at line 912 of file ElementData.hpp.
|
inline |
Definition at line 919 of file ElementData.hpp.
|
inline |
Definition at line 952 of file ElementData.hpp.
|
inline |
Retrieve the element matrix at index i.
Definition at line 1050 of file ElementData.hpp.
|
inline |
Retrieve the element RHS.
Definition at line 1062 of file ElementData.hpp.
|
inline |
Retrieve the element vector at index i.
Definition at line 1056 of file ElementData.hpp.
|
inline |
Definition at line 936 of file ElementData.hpp.
|
inline |
Definition at line 948 of file ElementData.hpp.
|
inline |
Precompute element matrices, for the variables found in expr.
Definition at line 980 of file ElementData.hpp.
|
inline |
Update element index.
Definition at line 958 of file ElementData.hpp.
|
inline |
Get the data associated with the geometric support.
Definition at line 1039 of file ElementData.hpp.
|
inline |
Definition at line 1044 of file ElementData.hpp.
|
inline |
Update block accumulator only if a system of equations is accessed in the expressions.
Definition at line 968 of file ElementData.hpp.
|
inline |
Definition at line 974 of file ElementData.hpp.
|
inline |
Return the data stored at index I.
Definition at line 1026 of file ElementData.hpp.
|
inline |
Return the variable stored at index I.
Definition at line 1033 of file ElementData.hpp.
|
mutable |
Stores a mutable block accululator, always up-to-date with index mapping and correct size.
Definition at line 1065 of file ElementData.hpp.
|
static |
The dimension of the problem.
Definition at line 888 of file ElementData.hpp.
|
mutable |
Definition at line 1069 of file ElementData.hpp.
|
private |
Definition at line 1084 of file ElementData.hpp.
|
private |
Definition at line 1086 of file ElementData.hpp.
|
private |
Definition at line 1088 of file ElementData.hpp.
|
private |
Definition at line 1087 of file ElementData.hpp.
|
private |
Referred Elements.
Definition at line 1076 of file ElementData.hpp.
|
private |
Filtered view of the data associated with equation variables.
Definition at line 1091 of file ElementData.hpp.
|
private |
Data for the geometric support.
Definition at line 1079 of file ElementData.hpp.
|
private |
Variables used in the expression.
Definition at line 1073 of file ElementData.hpp.
|
private |
Data associated with each numbered variable.
Definition at line 1082 of file ElementData.hpp.
|
static |
Definition at line 917 of file ElementData.hpp.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef boost::fusion::result_of::size<VariablesT>::type NbVarsT |
Number of variales that we have stored.
Definition at line 882 of file ElementData.hpp.
Send comments to: COOLFluiD Web Admin |