![]() |
COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
Namespaces | |
detail | |
Classes | |
struct | AddNodeData |
MPL transform operator to wrap a variable in its data type. More... | |
struct | AddNodeValues |
struct | AddNodeValuesIndex |
struct | AssignNodalValues |
Write to element nodal values. More... | |
struct | BlockAccumulation |
Grammar matching block accumulation expressions. More... | |
struct | BlockAccumulator |
Primitive transform to handle assignment to an LSS matrix. More... | |
struct | BlockAssignmentOp |
Helper struct for assignment to a matrix or RHS. More... | |
struct | BlockAssignmentOp< SystemMatrixTag, OpTagT > |
struct | BlockAssignmentOp< SystemRHSTag, OpTagT > |
struct | BlockLhsGrammar |
Grammar matching the LHS of an assignment op. More... | |
struct | CheckSameEtype |
Check if all variables are on fields with element type ETYPE. More... | |
struct | ColTag |
class | ComponentWrapper |
Proto-ready terminal type for wrapping a component. More... | |
class | ComponentWrapperImpl |
struct | ComputeNorm |
Compute the norm of a matrix or a vector. More... | |
struct | ConfigurableConstant |
Refers to a configurable constant value. More... | |
struct | ConstantStorage |
Storage for the values pointed to by a ConfigurableConstant. More... | |
struct | ConstantStorageType |
Returns the map type used to store values of the given type. More... | |
struct | CoordinatesGrammar |
struct | CoordinatesOp |
Interpolated real-world coordinates at mapped coordinates. More... | |
struct | CoordsTerminals |
Valid terminals that can represent the current node coordinates. More... | |
struct | CopyNumberedVars |
Copy the terminal values to a fusion list. More... | |
struct | CustomSFOp |
struct | CustomSFOpTransform |
Operation with a custom implementation. More... | |
struct | DeepCopy |
Transform to copy an expression, keeping terminals that store a value by reference unchanged (thanks to Eric Niebler) More... | |
struct | DefaultFunctions |
All possible default-evaluated functions. More... | |
struct | DefineType |
Transform that extracts the type of variable I. More... | |
struct | DefineTypeOp |
Ease application of DefineType as an MPL lambda expression, and strip the Var encapsulation. More... | |
struct | DimensionIdxTag |
Tags terminals that will be replaced with the current dimension. More... | |
struct | DirichletBCComponentSetter |
Sets a specific component of a vector. More... | |
struct | DirichletBCGrammar |
Matches the proper formulation of Dirichlet BC. More... | |
struct | DirichletBCSetter |
Sets whole-variable dirichlet BC, allowing the use of a complete vector as value. More... | |
struct | DirichletBCTag |
Tag for a Dirichlet BC. More... | |
struct | DivOp |
Evaluate the divergence. More... | |
struct | EigenIndexing |
Indexing into Eigen expressions. More... | |
struct | EigenMath |
Grammar for valid Eigen expressions, composed of primitives matching GrammarT. More... | |
struct | EigenMultiplication |
Handle an expression that is filtered by Eigen. More... | |
struct | EigenPlusAssignProductEval |
Evaluate A += B*C, which is a special case needed in Gauss integrator. If B or C is a scalar, it's also faster. More... | |
struct | EigenProductEval |
Evaluate the product LeftT * RightT. More... | |
struct | EigenProductType |
Generalization of Eigen::ProductReturnType that also works for scalars (see specializations below) More... | |
struct | EigenProductType< Eigen::GeneralProduct< LeftT, RightT >, Real > |
Scalar on the right. More... | |
struct | EigenProductType< LeftT, Real > |
Scalar on the right. More... | |
struct | EigenProductType< Real, Eigen::GeneralProduct< LeftT, RightT > > |
Scalar on the left. More... | |
struct | EigenProductType< Real, Real > |
Scalar - scalar. More... | |
struct | EigenProductType< Real, RightT > |
Scalar on the left. More... | |
struct | ElementBased |
Dummy shape function type used for element-based fields. More... | |
class | ElementData |
struct | ElementGrammar |
Matches and evaluates element-wise expressions. More... | |
struct | ElementIntegration |
struct | ElementLooper |
mpl::for_each compatible functor to loop over elements, using the correct shape function for the geometry More... | |
struct | ElementLooperImpl |
Helper struct to launch execution once all shape functions have been determined. More... | |
struct | ElementMath |
struct | ElementMathBase |
struct | ElementMathImplicit |
struct | ElementMathImplicitIndexed |
Grammar that allows looping over I and J indices. More... | |
struct | ElementMathIndexed |
struct | ElementMatrix |
Represents an element matrix. More... | |
struct | ElementMatrixBlockValue |
Only get a block containing the rows for the first var and the cols for the second. More... | |
struct | ElementMatrixGrammar |
struct | ElementMatrixGrammarIndexed |
Gets submatrices of vector variables. More... | |
struct | ElementMatrixRowsValue |
Only get the rows relevant for a given variable. More... | |
struct | ElementMatrixSize |
Calculate the size of the element matrix. More... | |
struct | ElementMatrixSubBlocks |
Match but don't evaluate subblock-expressions. More... | |
struct | ElementMatrixTerm |
Match element matrix terminals. More... | |
struct | ElementMatrixValue |
Get a given element matrix. More... | |
struct | ElementQuadrature |
struct | ElementQuadratureEval |
struct | ElementQuadratureMatch |
Match quadrature expressions. THese call the grouping separately, so don't trigger on indices there. More... | |
struct | ElementQuadratureTag |
Tags a gauss-quadrature loop for the following expressions. More... | |
struct | ElementRHS |
Reperesents element RHS vector. More... | |
struct | ElementRHSValue |
Get the RHS vector. More... | |
class | ElementsExpression |
struct | ElementSystemMatrix |
Represents an element matrix that is used as part of the linear system. More... | |
struct | ElementSystemMatrixTerm |
Match only element matrices that are used in a linear system. More... | |
struct | ElementValue |
struct | ElementVector |
Represents an element vector. More... | |
struct | ElementVectorRowsValue |
Only get the rows relevant for a given variable. More... | |
struct | ElementVectorTag |
struct | ElementVectorTerm |
Match element matrix terminals. More... | |
struct | ElementVectorTransform |
struct | ElementVectorValue |
Get a given element matrix. More... | |
struct | EquationVariables |
Calculate if a variable is part of an equation. More... | |
struct | EquationVariablesOp |
Wrap IsEquationVariable as a lambda expression. More... | |
class | EtypeTVariableData |
Data associated with field variables. More... | |
class | EtypeTVariableData< ElementBased< 1 >, SupportEtypeT, 1, IsEquationVar > |
Data for scalar element-based fields. More... | |
class | EtypeTVariableData< ElementBased< Dim >, SupportEtypeT, Dim, IsEquationVar > |
Data for element-based fields. More... | |
struct | EvalMappedCoords |
Transform to evalate mapped coordinates. More... | |
struct | ExpandDimension |
Replaces dimension placeholder with state. More... | |
class | Expression |
Abstract interface for classes that can hold a proto expression. More... | |
class | ExpressionBase |
Boilerplate implementation. More... | |
struct | ExpressionGroup |
Primitive transform to evaluate a group of expressions. More... | |
struct | ExpressionGroupTag |
Tags a terminal that triggers expression grouping. More... | |
struct | ExpressionProperties |
Convenience struct to get easy access to the numberof variables and their type. More... | |
struct | ExpressionRunner |
Find the concrete element type of each field variable. More... | |
struct | ExpressionRunner< ElementTypesT, ExprT, SupportETYPE, VariablesT, VariablesEtypesT, NbVarsT, NbVarsT > |
When we recursed to the last variable, actually run the expression. More... | |
struct | ExprVarArity |
Gets the arity (max index) for the numbered variables. More... | |
struct | ExtractDiag |
Primitive transform to perform the transpose. More... | |
struct | ExtractDiagTag |
Terminal to indicate we want a diagonal. More... | |
struct | FieldBase |
Base class for field data. More... | |
struct | FieldInterpolation |
Interpolate a field at the current gauss point. More... | |
class | FieldSynchronizer |
Helper struct to synchronize fields at the end of a loop. More... | |
struct | FieldTypes |
Match field types. More... | |
struct | FieldVariable |
struct | FieldWidth |
Get the width of a field varaible, based on the variable type. More... | |
struct | FieldWidth< ScalarField, SF > |
Scalars have width 1. More... | |
struct | FieldWidth< VectorField, SF > |
VectorFields have the same dimension as the problem domain. More... | |
struct | FilterElementField |
struct | FilterElementField< IsEqVarT, boost::mpl::void_ > |
struct | FilterEquationVars |
Filter out element-based fields from the possible equation variables. More... | |
struct | FilterMatrixSizes |
Filter the matrix size so equation variables are the only ones left with non-zero size. More... | |
struct | ForEachDimension |
Primitive transform to evaluate a group of expressions. More... | |
struct | ForEachDimensionGrammar |
Matches and evaluates groups of expressions matching GrammarT. More... | |
struct | ForEachDimensionTag |
Tags a terminal that indicates that indicates the argument should be evaluated for each dimension index. More... | |
struct | FunctionBase |
Base class of all functions that can be evaluated using "default" C++ semantics. More... | |
struct | FunctionPointer |
Matches a terminal containing a function pointer. More... | |
struct | GaussGrammar |
struct | GaussIntegral |
Primitive transform that evaluates an integral using the Gauss points and returns the result as a reference to a stored matrix (or scalar) More... | |
struct | GaussOrder |
Static constant for the Gauss integration order. More... | |
struct | GaussPointEval |
Transform to evaluate Gauss point access. More... | |
struct | GaussPointTag |
struct | GaussWeightEval |
Transform to evaluate Gauss weight access. More... | |
struct | GaussWeightTag |
class | GeometricSupport |
Functions and operators associated with a geometric support. More... | |
struct | GetCoordinates |
Provide access to the geometry coordinates in case of node expressions. More... | |
struct | GetElementResultType |
Dummy for non-element fields. More... | |
struct | GetElementResultType< T, ElementBased< Dim > > |
struct | GetNodeIdx |
struct | GetOrder |
Get the order of variable I. More... | |
struct | GetOrderFromData |
struct | GetOrderFromData< DataT, boost::mpl::void_ > |
struct | GetRHSVector |
struct | GetSolutionVector |
struct | GradientOp |
Evaluate the gradient. More... | |
struct | GroupGrammar |
Matches and evaluates groups of expressions matching GrammarT. More... | |
struct | HasIdx |
Check if index I is used in the expression. More... | |
struct | IdentityTag |
struct | IndexedNodeAssign |
Modify only a single component of a field. More... | |
struct | IndexedNodeAssignmentCases |
struct | IndexLooper |
struct | IndexTag |
Tag terminals used as index. More... | |
struct | IndexType |
Extract an index-type from a var. More... | |
struct | IndexType< Var< I, T > > |
struct | IndexValues |
Evaluate the value of both indices to the integral constants given in the template arguments. More... | |
struct | Integers |
Matches integer terminals. More... | |
struct | IntegralTag |
Tag for an integral, wit the order provided as an MPL integral constant. More... | |
struct | IntegrationOrder |
Determine integration order based on the order of the shape function. More... | |
struct | IntegrationOrder< 1 > |
struct | IntegrationOrder< 2 > |
struct | InterpolationOp |
Interpolated values at mapped coordinates. More... | |
struct | IsEquationData |
Predicate to check if data belongs to an equation variable. More... | |
struct | IsEquationVariable |
Transform to set a range with true indicating a variable that has an equation, and false for no equation. More... | |
struct | IsSubCols |
Match subrows. More... | |
struct | IsSubMatrix |
Match submatrices. More... | |
struct | IsSubRows |
Match subrows. More... | |
struct | IsVectorSubRows |
Match subrows for vectors. More... | |
struct | JacobianDeterminantOp |
Jacobian determinant. More... | |
struct | JacobianOp |
Jacobian matrix. More... | |
struct | LazyElementGrammar |
Less restricitve grammar to get the result of expressions that are in an integral as well. More... | |
struct | LazyIndexedGrammar |
class | LSSWrapper |
Proto-ready terminal type for wrapping a component. More... | |
class | LSSWrapperImpl |
struct | Lump |
Lump the matrix. More... | |
struct | LumpTag |
struct | MakeSFOp |
Helper struct to declare custom types. More... | |
struct | MakeVarData |
Metafunction class for creating an appropriate data type. More... | |
struct | MakeVarData< VariablesT, EtypeT, EtypeT, EquationVariablesT, MatrixSizesT, EMatrixSizeT > |
struct | MappedCoordTerms |
Possible types for mapped coords. More... | |
struct | MappedOpBase |
Base class for the implementation of operations that depend on mapped coordinates (CRTP pattern) More... | |
struct | MappedVarOpBase |
Base class for the implementation of operations that depend on mapped coordinates (CRTP pattern) More... | |
struct | MathOpDefault |
math operators evaluated using default C++ meaning More... | |
struct | MathOpDefaultCases |
Split up MapthOpDefault using cases, for better compilation performance. More... | |
struct | MathTerminals |
Matches terminal values that can be used in math formulas. More... | |
struct | MatrixAssignOpsCases |
Allowed block assignment operations. More... | |
struct | MatrixColAccess |
struct | MatrixElementAccess |
Primitive transform to access matrix elements using operator() More... | |
struct | MatrixRowAccess |
struct | MatrixSizePerVar |
The size of the element matrix for each variable. More... | |
struct | MatrixSubscript |
Primitive transform to access matrix elements using operator[]. More... | |
struct | MatrixTerm |
Match matrix terms (only matrix products need special treatment) More... | |
struct | MatVec |
Matches matrices and vectors. More... | |
struct | MaxOrder |
Get the maximum order of the shape functions used in Expr. More... | |
struct | NablaOp |
Gradient. More... | |
struct | NodalValues |
Get nodal values. More... | |
struct | NodalValuesTag |
struct | NodeAssign |
Handle modification of a field. More... | |
struct | NodeAssignGrammar |
struct | NodeAssignmentCases |
class | NodeData |
struct | NodeGrammar |
struct | NodeIdxOp |
struct | NodeLooper |
Loop over nodes, using static-sized vectors to store coordinates. More... | |
struct | NodeLooperDim |
Loop over nodes, when the dimension is known. More... | |
struct | NodeMath |
struct | NodeMathBase |
Matches expressions that can be used as terms in math formulas for element expressions. More... | |
struct | NodeMathIndexed |
class | NodesExpression |
Expression for looping over nodes. More... | |
struct | NodesOp |
Element nodes. More... | |
struct | NodesTimesDim |
Given a variable's data, get the product of the number of nodes with the dimension variable (i.e. the size of the element matrix if this variable would be the only one in the problem) More... | |
struct | NodesTimesDim< boost::mpl::void_, SF, SupportSF > |
struct | NodeStreamOutputIndexed |
struct | NodeVarData |
Struct keeping track of data associated with numbered variables in node expressions. More... | |
struct | NodeVarData< ScalarField > |
struct | NodeVarData< VectorField, Dim > |
struct | NormalOp |
Face Normal. More... | |
struct | NormTag |
struct | NumberedTermType |
Shorthand for terminals containing a numbered variable. More... | |
struct | ParsedFunctionGrammar |
struct | ParsedScalarFunctionTransform |
struct | ParsedVectorFunctionTransform |
Primitive transform to evaluate a function with the function parser. More... | |
struct | PhysicsConstant |
Refers to a value from the physical model. More... | |
struct | PhysicsConstantStorage |
Storage for the values pointed to by a PhysicsConstant. More... | |
struct | pow_fun |
Pow function based on Proto docs example. More... | |
class | ProtoAction |
Class to encapsulate Proto actions. More... | |
struct | ProtoDefaultFunction |
Matches a terminal containing a proto function that can be evaluated using operator() More... | |
struct | ProtoEvaluatedFunction |
Wrap the vectorial function, adding extra data that may be filled before expression evaluation. More... | |
struct | ReplaceConfigurableConstant |
Transform to replace an occurance of ConfigurableConstant with a reference to its value. More... | |
struct | ReplaceConfigurableConstants |
Grammar replacing ConfigurableConstants in an expression. More... | |
struct | ReplacePhysicsConstant |
Transform to replace an occurance of PhysicsConstant with a reference to its value. More... | |
struct | ReplacePhysicsConstants |
Grammar replacing PhysicsConstants in an expression. More... | |
struct | RestrictToElementType |
Primitive transform to evaluate a group of expressions for specific element types only. More... | |
struct | RestrictToElementTypeGrammar |
struct | RestrictToElementTypeGrammarSingle |
Matches and evaluates groups of expressions matching GrammarT, optionally restricting to certain element types. More... | |
struct | RestrictToElementTypeTag |
struct | RHSAccumulator |
struct | RHSVectorGrammar |
Matches placeholders for the solution vector. More... | |
struct | RowTag |
Placeholders to indicate if we should get a row or a column. More... | |
struct | RunFunctionOp |
Runs a shape function operation that is used as a function call. More... | |
struct | RunTerminalOp |
Runs a shape function operation that is used as a terminal. More... | |
struct | Scalar |
Matches scalar terminals. More... | |
struct | ScalarField |
Field data for a scalar field. More... | |
struct | ScalarFunction |
struct | SetIdentity |
struct | SetRHSGrammar |
Matches the proper formulation of Neumann BC. More... | |
struct | SetRHSSetter |
struct | SetSolutionGrammar |
Matches the proper formulation of Neumann BC. More... | |
struct | SetSolutionSetter |
struct | SetZero |
struct | SFOp |
Wrap all operations in a template, so we can detect ops using a wildcard. More... | |
struct | SFOp< CustomSFOp< OpT > > |
struct | SFOps |
Shape-function related operations. More... | |
struct | ShapeFunctionOp |
Shape functions. More... | |
struct | SingleExprElementGrammar |
struct | SingleExprNodeGrammar |
Matches and evaluates element-wise expressions. More... | |
struct | SolutionVectorGrammar |
Matches placeholders for the solution vector. More... | |
struct | SolutionVectorTag |
Tag for a Neumann BC. More... | |
struct | StoredMatrixExpression |
Wraps a given expression, so the value that it represents can be stored inside the expression itself. More... | |
struct | StreamOutput |
Stream output. More... | |
struct | StreamOutputIndexed |
struct | SubCols |
A subblock of columns. More... | |
struct | SubMatrix |
A submatrix. More... | |
struct | SubRows |
A subblock of rows. More... | |
struct | SystemMatrixTag |
Tag for system matrix. More... | |
struct | SystemRHSTag |
Tag for RHS. More... | |
struct | TransposeFunction |
Terminal to indicate we want a transpose. More... | |
struct | TransposeGrammar |
struct | TransposeTransform |
Primitive transform to perform the transpose. More... | |
struct | ValueType |
Extract the real value type of a given type, which might be an Eigen expression. More... | |
struct | ValueType< Eigen::CwiseUnaryOp< Eigen::internal::scalar_multiple_op< Real >, const MatrixT > > |
Specialise for multiplication with a scalar. More... | |
struct | ValueType< Eigen::Matrix< Real, I, J > > |
Specialize for Eigen matrices. More... | |
struct | ValueType< Eigen::Transpose< const Real > > |
Specialise for transpose of reals. More... | |
struct | ValueType< Real > |
Specialise for reals. More... | |
struct | Var |
Creates a variable that has unique ID I. More... | |
struct | VarArity |
struct | VarChild |
Helper to get the variable type at a child of an expression. More... | |
struct | VarDataType |
Helper to get the data type for the given variable. More... | |
struct | VarValue |
Returns the data value of a numbered variable. More... | |
struct | VectorField |
Field data for a vector having the dimension of the problem. More... | |
struct | VectorFunction |
struct | VectorSubRows |
A subblock for the element vector. More... | |
struct | VolumeOp |
Element volume. More... | |
struct | WrapExpression |
Grammar to do the expression wrapping. More... | |
struct | WrapMatrixExpression |
struct | WrappableElementExpressions |
Matches expressions that can be wrapped. More... | |
struct | WrappableNodeExpressions |
Matches expressions that need to be wrapped in an extension before they can be evaluated (i.e. Eigen products) More... | |
struct | ZeroTag |
Typedefs | |
typedef LSSWrapper< SystemMatrixTag > | SystemMatrix |
Represents a system matrix. More... | |
typedef LSSWrapper< SystemRHSTag > | SystemRHS |
Represents an RHS. More... | |
typedef LSSWrapper< DirichletBCTag > | DirichletBC |
Used to create placeholders for a Dirichlet condition. More... | |
typedef mesh::LagrangeP1::CellTypes | DefaultElementTypes |
Default element types supported by elements expressions. More... | |
typedef LSSWrapper< SolutionVectorTag > | SolutionVector |
Used to create placeholders for a Neumann condition. More... | |
Functions | |
void | do_assign_op_matrix (boost::proto::tag::assign, math::LSS::Matrix &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator) |
Translate tag to operator. More... | |
void | do_assign_op_matrix (boost::proto::tag::plus_assign, math::LSS::Matrix &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator) |
Translate tag to operator. More... | |
void | do_assign_op_rhs (boost::proto::tag::assign, math::LSS::Vector &lss_rhs, const math::LSS::BlockAccumulator &block_accumulator) |
Translate tag to operator. More... | |
void | do_assign_op_rhs (boost::proto::tag::plus_assign, math::LSS::Vector &lss_rhs, const math::LSS::BlockAccumulator &block_accumulator) |
Translate tag to operator. More... | |
template<typename TagT , typename TargetT > | |
void | do_assign_op (TagT, Real &lhs, TargetT &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator) |
Translate tag to operator. More... | |
void | assign_dirichlet (math::LSS::System &lss, const Real new_value, const Real old_value, const int node_idx, const Uint offset) |
Helper function for assignment. More... | |
template<typename NewT , typename OldT > | |
void | assign_dirichlet (math::LSS::System &lss, const NewT &new_value, const OldT &old_value, const int node_idx, const Uint offset) |
Overload for vector types. More... | |
mesh::Field & | find_field (mesh::Elements &elements, const std::string &tag) |
Helper function to find a field starting from a region. More... | |
template<Uint Order, typename ExprT > | |
boost::proto::result_of::make_expr< boost::proto::tag::function, IntegralTag< boost::mpl::int_< Order > >, ExprT const & >::type const | integral (ExprT const &expr) |
template<typename ElementTypesT , typename ExprT > | |
void | for_each_element (mesh::Region &root_region, const ExprT &expr) |
template<typename ExprT , typename ElementTypes > | |
boost::shared_ptr< ElementsExpression< ExprT, ElementTypes > > | elements_expression (ElementTypes, const ExprT &expr) |
template<typename ExprT > | |
boost::shared_ptr< ElementsExpression< ExprT, DefaultElementTypes > > | elements_expression (const ExprT &expr) |
template<typename ExprT > | |
boost::shared_ptr< NodesExpression< ExprT, boost::mpl::range_c< Uint, 1, 4 > > > | nodes_expression (const ExprT &expr) |
template<typename ExprT > | |
boost::shared_ptr< NodesExpression< ExprT, boost::mpl::range_c< Uint, 1, 2 > > > | nodes_expression_1d (const ExprT &expr) |
template<typename ExprT > | |
boost::shared_ptr< NodesExpression< ExprT, boost::mpl::range_c< Uint, 2, 3 > > > | nodes_expression_2d (const ExprT &expr) |
template<typename ExprT > | |
boost::shared_ptr< NodesExpression< ExprT, boost::mpl::range_c< Uint, 3, 4 > > > | nodes_expression_3d (const ExprT &expr) |
template<typename GrammarT , typename ExprT , typename DataT > | |
void | eval_expr (const ExprT &expr, DataT &data) |
template<Uint Exp, typename Arg > | |
boost::proto::result_of::make_expr< boost::proto::tag::function, pow_fun< Exp >, Arg const & >::type const | pow (Arg const &arg) |
template<typename ResultT , typename CoordsT > | |
void | evaluate_function (const ProtoEvaluatedFunction &func, const CoordsT &coords, ResultT &result) |
const common::Table< Real > & | extract_coordinates (const mesh::Region ®ion) |
Extract the coordinates, given a specific region. More... | |
mesh::Field & | find_field (mesh::Region ®ion, const std::string &tag) |
Helper function to find a field starting from a region. More... | |
template<Uint dim, typename ExprT > | |
void | for_each_node (mesh::Region &root_region, const ExprT &expr) |
template<typename ExprT > | |
void | for_each_node (mesh::Region &root_region, const ExprT &expr) |
boost::shared_ptr< ProtoAction > | create_proto_action (const std::string &name, const boost::shared_ptr< Expression > &expression) |
Create a new ProtoAction, immediatly setting the expression. More... | |
template<typename T > | |
void | print_error () |
Using this on a type always gives a compile error showing the type of T. More... | |
template<typename T > | |
void | print_error (const T &) |
Real | atan_vec (const RealVector2 &vec) |
Accept a 2D realvector for atan2. More... | |
Real | max (const Real a, const Real b) |
Maximum between two scalars. More... | |
Real | min (const Real a, const Real b) |
Minimum between two scalars. More... | |
Variables | |
boost::proto::terminal< TransposeFunction >::type const | transpose = {{}} |
boost::proto::terminal< ExtractDiagTag >::type const | diagonal = {{}} |
static boost::proto::terminal< RowTag >::type | _row = {} |
static boost::proto::terminal< ColTag >::type | _col = {} |
static boost::proto::terminal< NormTag >::type const | _norm = {} |
static boost::proto::terminal< LumpTag >::type const | lump = {} |
static MakeSFOp< GradientOp >::type const | gradient = {} |
static MakeSFOp< DivOp >::type const | divergence = {} |
static boost::proto::terminal< ElementQuadratureTag >::type | element_quadrature = {} |
Use element_quadrature(expr1, expr2, ..., exprN) to evaluate a group of expressions. More... | |
static boost::proto::terminal< ElementSystemMatrix< boost::mpl::int_< 0 > > >::type const | _A = {} |
Some predefined element matrices (more can be user-defined, but you have to change the number in the MPL int_ so the type is long and tedious) More... | |
static boost::proto::terminal< ElementVector< boost::mpl::int_< 0 > > >::type const | _a = {} |
static boost::proto::terminal< ElementSystemMatrix< boost::mpl::int_< 1 > > >::type const | _T = {} |
static boost::proto::terminal< ElementMatrix< boost::mpl::int_< 2 > > >::type const | _M = {} |
static boost::proto::terminal< ElementRHS >::type const | _x = {} |
Terminal for the element RHS vector ("b") More... | |
boost::proto::terminal< SFOp< VolumeOp > >::type const | volume = {} |
Static terminals that can be used in proto expressions. More... | |
boost::proto::terminal< SFOp< NodesOp > >::type const | nodes = {} |
boost::proto::terminal< SFOp< CoordinatesOp > >::type const | coordinates = {} |
boost::proto::terminal< SFOp< JacobianOp > >::type const | jacobian = {} |
boost::proto::terminal< SFOp< JacobianDeterminantOp > >::type const | jacobian_determinant = {} |
boost::proto::terminal< SFOp< NormalOp > >::type const | normal = {} |
boost::proto::terminal< SFOp< NablaOp > >::type const | nabla = {} |
boost::proto::terminal< SFOp< ShapeFunctionOp > >::type const | N = {} |
static boost::proto::terminal< NodalValuesTag >::type const | nodal_values = {} |
static boost::proto::terminal< ElementVectorTag >::type const | element_vector = {} |
static boost::proto::terminal< ExpressionGroupTag >::type | group = {} |
Use group(expr1, expr2, ..., exprN) to evaluate a group of expressions. More... | |
static boost::proto::terminal< DimensionIdxTag >::type | _dim = {} |
static boost::proto::terminal< ForEachDimensionTag >::type | for_each_dimension = {} |
Use for_each_dimension(expression) to execute expression for each dimension separately. More... | |
static boost::proto::terminal< GaussPointTag< GaussOrder< 1 > > >::type | gauss_points_1 = {} |
static boost::proto::terminal< GaussPointTag< GaussOrder< 2 > > >::type | gauss_points_2 = {} |
static boost::proto::terminal< GaussWeightTag< GaussOrder< 1 > > >::type | gauss_weights_1 = {} |
static boost::proto::terminal< GaussWeightTag< GaussOrder< 2 > > >::type | gauss_weights_2 = {} |
static boost::proto::terminal< IndexTag< boost::mpl::int_< 0 > > >::type const | _i = {} |
Index looping over the dimensions of a variable. More... | |
static boost::proto::terminal< IndexTag< boost::mpl::int_< 1 > > >::type const | _j = {} |
Index looping over the dimensions of a variable. More... | |
boost::proto::terminal< NodeIdxOp >::type const | node_index = {} |
ComponentBuilder< ProtoAction, common::Action, LibSolver > | ProtoAction_Builder |
static boost::proto::terminal< ZeroTag >::type | _0 = {} |
Placeholder for the zero matrix. More... | |
static boost::proto::terminal< IdentityTag >::type | _I = {} |
Placeholder for the identity matrix. More... | |
static boost::proto::terminal< std::ostream & >::type | _cout = {std::cout} |
Wrap std::cout. More... | |
static boost::proto::terminal< double(*)(double) >::type const | _sin = {&sin} |
static boost::proto::terminal< double(*)(double, double) >::type const | _atan2 = {&atan2} |
static boost::proto::terminal< double(*)(const RealVector2 &) >::type const | _atan_vec = {&atan_vec} |
static boost::proto::terminal< double(*)(double) >::type const | _exp = {&exp} |
static boost::proto::terminal< double(*)(double) >::type const | _sqrt = {&sqrt} |
static boost::proto::terminal< double(*)(double) >::type const | _abs = {&fabs} |
static boost::proto::terminal< double(*)(double, double) >::type const | _max = {&max} |
static boost::proto::terminal< double(*)(double, double) >::type const | _min = {&min} |
static boost::proto::terminal< double(*)(double, double) >::type const | _std_pow = {&std::pow} |
Default element types supported by elements expressions.
Definition at line 287 of file Expression.hpp.
typedef LSSWrapper<DirichletBCTag> DirichletBC |
Used to create placeholders for a Dirichlet condition.
Definition at line 31 of file DirichletBC.hpp.
typedef LSSWrapper<SolutionVectorTag> SolutionVector |
Used to create placeholders for a Neumann condition.
Definition at line 30 of file SolutionVector.hpp.
typedef LSSWrapper<SystemMatrixTag> SystemMatrix |
Represents a system matrix.
Definition at line 66 of file BlockAccumulator.hpp.
typedef LSSWrapper<SystemRHSTag> SystemRHS |
Represents an RHS.
Definition at line 74 of file BlockAccumulator.hpp.
|
inline |
Helper function for assignment.
Definition at line 34 of file DirichletBC.hpp.
|
inline |
Overload for vector types.
Definition at line 43 of file DirichletBC.hpp.
|
inline |
Accept a 2D realvector for atan2.
Definition at line 222 of file Terminals.hpp.
boost::shared_ptr< ProtoAction > create_proto_action | ( | const std::string & | name, |
const boost::shared_ptr< Expression > & | expression | ||
) |
Create a new ProtoAction, immediatly setting the expression.
Definition at line 155 of file ProtoAction.cpp.
|
inline |
Translate tag to operator.
Definition at line 120 of file BlockAccumulator.hpp.
|
inline |
Translate tag to operator.
Definition at line 95 of file BlockAccumulator.hpp.
|
inline |
Translate tag to operator.
Definition at line 101 of file BlockAccumulator.hpp.
|
inline |
Translate tag to operator.
Definition at line 107 of file BlockAccumulator.hpp.
|
inline |
Translate tag to operator.
Definition at line 113 of file BlockAccumulator.hpp.
boost::shared_ptr< ElementsExpression<ExprT, ElementTypes> > cf3::solver::actions::Proto::elements_expression | ( | ElementTypes | , |
const ExprT & | expr | ||
) |
Convenience method to construct an Expression to loop over elements
Definition at line 292 of file Expression.hpp.
boost::shared_ptr< ElementsExpression<ExprT, DefaultElementTypes> > cf3::solver::actions::Proto::elements_expression | ( | const ExprT & | expr | ) |
Convenience method to construct an Expression to loop over elements
Definition at line 300 of file Expression.hpp.
|
inline |
Definition at line 42 of file ForEachDimension.hpp.
void cf3::solver::actions::Proto::evaluate_function | ( | const ProtoEvaluatedFunction & | func, |
const CoordsT & | coords, | ||
ResultT & | result | ||
) |
Definition at line 69 of file Functions.hpp.
|
inline |
Extract the coordinates, given a specific region.
Definition at line 41 of file NodeData.hpp.
|
inline |
Helper function to find a field starting from a region.
Definition at line 88 of file NodeData.hpp.
|
inline |
Helper function to find a field starting from a region.
Definition at line 342 of file ElementData.hpp.
void cf3::solver::actions::Proto::for_each_element | ( | mesh::Region & | root_region, |
const ExprT & | expr | ||
) |
Definition at line 288 of file ElementLooper.hpp.
void cf3::solver::actions::Proto::for_each_node | ( | mesh::Region & | root_region, |
const ExprT & | expr | ||
) |
Definition at line 239 of file NodeLooper.hpp.
void cf3::solver::actions::Proto::for_each_node | ( | mesh::Region & | root_region, |
const ExprT & | expr | ||
) |
Visit all nodes used by root_region exactly once, executing expr
variable_names | Name of each of the variables, in case a linear system is solved |
variable_sizes | Size (number of scalars) that makes up each variable in the linear system, if any |
Definition at line 260 of file NodeLooper.hpp.
|
inline |
Definition at line 94 of file ElementIntegration.hpp.
|
inline |
Maximum between two scalars.
Definition at line 228 of file Terminals.hpp.
|
inline |
Minimum between two scalars.
Definition at line 234 of file Terminals.hpp.
boost::shared_ptr< NodesExpression<ExprT, boost::mpl::range_c<Uint, 1, 4> > > cf3::solver::actions::Proto::nodes_expression | ( | const ExprT & | expr | ) |
Convenience method to construct an Expression to loop over elements
Definition at line 308 of file Expression.hpp.
boost::shared_ptr< NodesExpression<ExprT, boost::mpl::range_c<Uint, 1, 2> > > cf3::solver::actions::Proto::nodes_expression_1d | ( | const ExprT & | expr | ) |
Definition at line 315 of file Expression.hpp.
boost::shared_ptr< NodesExpression<ExprT, boost::mpl::range_c<Uint, 2, 3> > > cf3::solver::actions::Proto::nodes_expression_2d | ( | const ExprT & | expr | ) |
Definition at line 322 of file Expression.hpp.
boost::shared_ptr< NodesExpression<ExprT, boost::mpl::range_c<Uint, 3, 4> > > cf3::solver::actions::Proto::nodes_expression_3d | ( | const ExprT & | expr | ) |
Definition at line 329 of file Expression.hpp.
boost::proto::result_of::make_expr< boost::proto::tag::function , pow_fun<Exp> , Arg const & >::type const cf3::solver::actions::Proto::pow | ( | Arg const & | arg | ) |
Definition at line 44 of file Functions.hpp.
void cf3::solver::actions::Proto::print_error | ( | ) |
Using this on a type always gives a compile error showing the type of T.
Definition at line 29 of file Terminals.hpp.
void cf3::solver::actions::Proto::print_error | ( | const T & | ) |
Definition at line 35 of file Terminals.hpp.
|
static |
Placeholder for the zero matrix.
Definition at line 209 of file Terminals.hpp.
|
static |
Some predefined element matrices (more can be user-defined, but you have to change the number in the MPL int_ so the type is long and tedious)
Definition at line 63 of file ElementMatrix.hpp.
|
static |
Definition at line 64 of file ElementMatrix.hpp.
|
static |
Definition at line 245 of file Terminals.hpp.
|
static |
Definition at line 241 of file Terminals.hpp.
|
static |
Definition at line 242 of file Terminals.hpp.
|
static |
Definition at line 504 of file EigenTransforms.hpp.
|
static |
Wrap std::cout.
Definition at line 219 of file Terminals.hpp.
|
static |
Definition at line 27 of file ForEachDimension.hpp.
|
static |
Definition at line 243 of file Terminals.hpp.
|
static |
Index looping over the dimensions of a variable.
Definition at line 40 of file IndexLooping.hpp.
|
static |
Placeholder for the identity matrix.
Definition at line 216 of file Terminals.hpp.
|
static |
Index looping over the dimensions of a variable.
Definition at line 42 of file IndexLooping.hpp.
|
static |
Definition at line 66 of file ElementMatrix.hpp.
|
static |
Definition at line 246 of file Terminals.hpp.
|
static |
Definition at line 247 of file Terminals.hpp.
|
static |
Definition at line 510 of file EigenTransforms.hpp.
|
static |
Definition at line 503 of file EigenTransforms.hpp.
|
static |
Definition at line 240 of file Terminals.hpp.
|
static |
Definition at line 244 of file Terminals.hpp.
|
static |
Definition at line 248 of file Terminals.hpp.
|
static |
Definition at line 65 of file ElementMatrix.hpp.
|
static |
Terminal for the element RHS vector ("b")
Definition at line 74 of file ElementMatrix.hpp.
boost::proto::terminal< SFOp<CoordinatesOp> >::type const coordinates = {} |
Definition at line 809 of file ElementOperations.hpp.
boost::proto::terminal<ExtractDiagTag>::type const diagonal = {{}} |
Definition at line 294 of file EigenTransforms.hpp.
Compute the divergence of the given variable v: div(v): evaluation inside integral at the current quadrature point div(v, xi): evaluation at any mapped coordinate xi
Definition at line 92 of file ElementGradDiv.hpp.
|
static |
Use element_quadrature(expr1, expr2, ..., exprN) to evaluate a group of expressions.
Definition at line 263 of file ElementIntegration.hpp.
|
static |
Get the nodal values of a variable as a flattened vector, i.e. for 2D velocity on a triangle: [u1,u2,u3,v1,v2,v3]
Definition at line 165 of file ElementTransforms.hpp.
|
static |
Use for_each_dimension(expression) to execute expression for each dimension separately.
Definition at line 77 of file ForEachDimension.hpp.
|
static |
Definition at line 83 of file GaussPoints.hpp.
|
static |
Definition at line 84 of file GaussPoints.hpp.
|
static |
Definition at line 92 of file GaussPoints.hpp.
|
static |
Definition at line 93 of file GaussPoints.hpp.
|
static |
Compute the gradient value of the given variable v: grad(v): evaluation inside integral at the current quadrature point grad(v, xi): evaluation at any mapped coordinate xi
Definition at line 87 of file ElementGradDiv.hpp.
|
static |
Use group(expr1, expr2, ..., exprN) to evaluate a group of expressions.
Definition at line 68 of file ExpressionGroup.hpp.
boost::proto::terminal< SFOp<JacobianOp> >::type const jacobian = {} |
Definition at line 810 of file ElementOperations.hpp.
boost::proto::terminal< SFOp<JacobianDeterminantOp> >::type const jacobian_determinant = {} |
Definition at line 811 of file ElementOperations.hpp.
|
static |
Definition at line 533 of file EigenTransforms.hpp.
boost::proto::terminal< SFOp<ShapeFunctionOp> >::type const N = {} |
Definition at line 815 of file ElementOperations.hpp.
Definition at line 813 of file ElementOperations.hpp.
|
static |
Definition at line 128 of file ElementTransforms.hpp.
boost::proto::terminal<NodeIdxOp>::type const node_index = {} |
Definition at line 72 of file NodeGrammar.hpp.
Definition at line 807 of file ElementOperations.hpp.
Definition at line 812 of file ElementOperations.hpp.
ComponentBuilder< ProtoAction, common::Action, LibSolver > ProtoAction_Builder |
Definition at line 34 of file ProtoAction.cpp.
boost::proto::terminal<TransposeFunction>::type const transpose = {{}} |
Definition at line 258 of file EigenTransforms.hpp.
Static terminals that can be used in proto expressions.
Definition at line 806 of file ElementOperations.hpp.
Send comments to: COOLFluiD Web Admin |