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.
Classes | Namespaces
container_expression_utils.h File Reference
#include "includes/define.h"
#include "spaces/ublas_space.h"
#include "spatial_containers/spatial_containers.h"
#include "expression/container_expression.h"
#include "expression/expression_utils.h"
#include "collective_expression.h"
Include dependency graph for container_expression_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Kratos::ContainerExpressionUtils
 

Namespaces

 Kratos
 REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
 

Macros

Static operations derrived from Kratos::ExpressionUtils
#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_1(METHOD_NAME)
 
#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_2(METHOD_NAME)
 
#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_3(METHOD_NAME)
 

Macro Definition Documentation

◆ KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_1

#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_1 (   METHOD_NAME)
Value:
static CollectiveExpression METHOD_NAME(const CollectiveExpression& rCollectiveExpression) \
{ \
KRATOS_TRY \
auto result = rCollectiveExpression; \
auto r_list_of_container_expressions = result.GetContainerExpressions(); \
for (IndexType i = 0; i < r_list_of_container_expressions.size(); ++i) { \
std::visit( \
[](auto& pResult) { \
*pResult = ExpressionUtils::METHOD_NAME(*pResult); \
}, \
r_list_of_container_expressions[i]); \
} \
return result; \
KRATOS_CATCH(""); \
}
std::size_t IndexType
Definition: binary_expression.cpp:25
integer i
Definition: TensorModule.f:17

◆ KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_2

#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_2 (   METHOD_NAME)
Value:
static double METHOD_NAME(const CollectiveExpression& rCollectiveExpression) \
{ \
KRATOS_TRY \
double value = 0.0; \
auto r_list_of_container_expressions = \
rCollectiveExpression.GetContainerExpressions(); \
for (IndexType i = 0; i < r_list_of_container_expressions.size(); ++i) { \
value += std::visit( \
[](const auto& pResult) { \
return ExpressionUtils::METHOD_NAME(*pResult); \
}, \
r_list_of_container_expressions[i]); \
} \
return value; \
KRATOS_CATCH(""); \
}

◆ KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_3

#define KRATOS_OPTAPP_EXPRESSION_UTILS_CEXP_METHOD_3 (   METHOD_NAME)