KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Use to create an expression which combines given input expressions list in the order given. More...
#include <unary_combine_expression.h>
Public Types | |
Type definitions | |
using | IndexType = std::size_t |
Public Types inherited from Kratos::Expression | |
using | Pointer = Kratos::intrusive_ptr< Expression > |
using | ConstPointer = Kratos::intrusive_ptr< const Expression > |
using | IndexType = std::size_t |
using | value_type = double |
using | size_type = IndexType |
using | const_iterator = ExpressionIterator |
Public Member Functions | |
Life cycle | |
template<class TIteratorType > | |
UnaryCombineExpression (TIteratorType Begin, TIteratorType End) | |
Public Member Functions inherited from Kratos::Expression | |
Expression (const IndexType NumberOfEntities) | |
virtual | ~Expression ()=default |
IndexType | NumberOfEntities () const |
Get the maximum number of entities allowed for this expression. More... | |
IndexType | GetItemComponentCount () const |
Get the Local Size of the expression. More... | |
IndexType | size () const |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
Protected Attributes | |
Private member variables | |
const std::vector< Expression::ConstPointer > | mSourceExpressions |
std::vector< IndexType > | mStrides |
Public operations | |
double | Evaluate (const IndexType EntityIndex, const IndexType EntityDataBeginIndex, const IndexType ComponentIndex) const override |
Evalute the expression for the given entity data start index and component index and returns the value. More... | |
const std::vector< IndexType > | GetItemShape () const override |
Get the Shape of the expression. More... | |
IndexType | GetMaxDepth () const override |
Get the Max Depth of the lazy expression tree. More... | |
std::string | Info () const override |
template<class TIteratorType > | |
static Expression::Pointer | Create (TIteratorType Begin, TIteratorType End) |
Use to create an expression which combines given input expressions list in the order given.
Instances of this expression combines given list of expression in the given order. This combines the entity values wise, and not append one expressions all the values after another.
using Kratos::UnaryCombineExpression::IndexType = std::size_t |
|
inline |
|
inlinestatic |
|
inlineoverridevirtual |
Evalute the expression for the given entity data start index and component index and returns the value.
EntityIndex | Index of the entity. |
EntityDataBeginIndex | Index at which entity data starts. |
ComponentIndex | Component index. |
Implements Kratos::Expression.
|
inlineoverridevirtual |
Get the Shape of the expression.
Implements Kratos::Expression.
|
inlineoverridevirtual |
Get the Max Depth of the lazy expression tree.
Returns the maximum depth of the lazy expression tree.
Implements Kratos::Expression.
|
inlineoverridevirtual |
Implements Kratos::Expression.
|
protected |
|
protected |