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.
Namespaces | Macros
arithmetic_operators.cpp File Reference
#include "expression/arithmetic_operators.h"
#include "expression/literal_expression.h"
#include "expression/binary_expression.h"
Include dependency graph for arithmetic_operators.cpp:

Namespaces

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

Macros

#define KRATOS_DEFINE_BINARY_EXPRESSION_OPERATOR(OPERATOR_NAME, OPERATOR_CLASS)
 

Macro Definition Documentation

◆ KRATOS_DEFINE_BINARY_EXPRESSION_OPERATOR

#define KRATOS_DEFINE_BINARY_EXPRESSION_OPERATOR (   OPERATOR_NAME,
  OPERATOR_CLASS 
)
Value:
Expression::Pointer OPERATOR_NAME(const Expression::ConstPointer& rpLeft, const double Right) \
{ \
rpLeft, LiteralExpression<double>::Create(Right, rpLeft->NumberOfEntities())); \
} \
\
Expression::Pointer OPERATOR_NAME(const double Left, const Expression::ConstPointer& rpRight) \
{ \
LiteralExpression<double>::Create(Left, rpRight->NumberOfEntities()), rpRight); \
} \
\
Expression::Pointer OPERATOR_NAME(const Expression::ConstPointer& rpLeft, \
const Expression::ConstPointer& rpRight) \
{ \
KRATOS_ERROR_IF_NOT( \
rpLeft->NumberOfEntities() * rpLeft->GetItemComponentCount() == \
rpRight->NumberOfEntities() * rpRight->GetItemComponentCount()) \
<< "Operand size mismatch in binary operator: " << #OPERATOR_NAME << "!\n" \
<< "Left operand: " << *rpLeft << '\n' \
<< "Right operand: " << *rpRight; \
return BinaryExpression<OPERATOR_CLASS>::Create(rpLeft, rpRight); \
}
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30