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.
|
Unary slice expression used to represent a slicing lazy expression of a given input expression. More...
#include <unary_slice_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 | |
UnarySliceExpression (Expression::ConstPointer pExpression, const IndexType Offset, const IndexType Stride) | |
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 Expression::ConstPointer | mpSourceExpression |
const IndexType | mOffset |
const IndexType | mStride |
const IndexType | mSourceStride |
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 |
static Expression::Pointer | Create (Expression::ConstPointer pExpression, const IndexType Offset, const IndexType Stride) |
Unary slice expression used to represent a slicing lazy expression of a given input expression.
This expression slices the input expression's entity values with an offset and stride (length of components).
using Kratos::UnarySliceExpression::IndexType = std::size_t |
Kratos::UnarySliceExpression::UnarySliceExpression | ( | Expression::ConstPointer | pExpression, |
const IndexType | Offset, | ||
const IndexType | Stride | ||
) |
|
static |
|
overridevirtual |
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.
|
overridevirtual |
Get the Shape of the expression.
Implements Kratos::Expression.
|
overridevirtual |
Get the Max Depth of the lazy expression tree.
Returns the maximum depth of the lazy expression tree.
Implements Kratos::Expression.
|
overridevirtual |
Implements Kratos::Expression.
|
protected |
|
protected |
|
protected |
|
protected |