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.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Suneth Warnakulasuriya
11 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 
18 // Project includes
19 #include "expression/expression.h"
20 
21 namespace Kratos {
22 
25 
32 class KRATOS_API(KRATOS_CORE) UnarySliceExpression : public Expression {
33 public:
36 
37  using IndexType = std::size_t;
38 
42 
44  Expression::ConstPointer pExpression,
45  const IndexType Offset,
46  const IndexType Stride);
47 
51 
53  Expression::ConstPointer pExpression,
54  const IndexType Offset,
55  const IndexType Stride);
56 
57  double Evaluate(
58  const IndexType EntityIndex,
59  const IndexType EntityDataBeginIndex,
60  const IndexType ComponentIndex) const override;
61 
62  const std::vector<IndexType> GetItemShape() const override;
63 
64  IndexType GetMaxDepth() const override;
65 
66  std::string Info() const override;
67 
69 protected:
72 
74 
76 
78 
80 
82 };
83 
84 } // namespace Kratos
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Base class or all the expression types.
Definition: expression.h:38
Kratos::intrusive_ptr< Expression > Pointer
Definition: expression.h:44
std::size_t IndexType
Definition: expression.h:48
Kratos::intrusive_ptr< const Expression > ConstPointer
Definition: expression.h:46
Unary slice expression used to represent a slicing lazy expression of a given input expression.
Definition: unary_slice_expression.h:32
const Expression::ConstPointer mpSourceExpression
Definition: unary_slice_expression.h:73
const IndexType mSourceStride
Definition: unary_slice_expression.h:79
const IndexType mOffset
Definition: unary_slice_expression.h:75
const IndexType mStride
Definition: unary_slice_expression.h:77
std::string GetItemShape(const std::vector< IndexType > &rShape)
Definition: binary_expression.cpp:27
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
double Evaluate(const PolynomialType &rPolynomial, double x)
Definition: polynomial_utilities.cpp:77
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21