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.
List of all members
Kratos::ExpressionIOUtils Class Reference

#include <expression_io_utils.h>

Collaboration diagram for Kratos::ExpressionIOUtils:

Static Public Member Functions

Public static operations
template<class TContainerType , class TContainerDataIO , class TVariableType >
static Expression::Pointer ReadToExpression (const TContainerType &rContainer, TVariableType pVariable, const DataCommunicator &rDataCommunicator)
 
template<class TContainerType , class TContainerDataIO , class TVariableType >
static void WriteFromExpression (TContainerType &rContainer, Communicator &rCommunicator, const Expression &rExpression, TVariableType pVariable)
 
static ModelPart::MeshTypeGetMesh (Communicator &rCommunicator, MeshType rMeshType)
 
static const ModelPart::MeshTypeGetMesh (const Communicator &rCommunicator, MeshType rMeshType)
 
template<class TApplyFunctor >
static void EvaluateExpressionOnGhostNodes (Communicator &rCommunicator, const Expression &rLocalNodesExpression, TApplyFunctor &&rApplyFunctor)
 Evaluates a local expression on ghost nodes. More...
 

Member Function Documentation

◆ EvaluateExpressionOnGhostNodes()

template<class TApplyFunctor >
static void Kratos::ExpressionIOUtils::EvaluateExpressionOnGhostNodes ( Communicator rCommunicator,
const Expression rLocalNodesExpression,
TApplyFunctor &&  rApplyFunctor 
)
inlinestatic

Evaluates a local expression on ghost nodes.

This method allows evaluating a local expression (rLocalNodesExpression) (by default, expressions act only on the local mesh) on the ghost nodes. The signature of the rApplyFunctor is void(Node& rGhostNode, const std::vector<double>& rGhostNodeValues).

Once the given expression is evaluated using MPI calls in the case of MPI, each vector of values for each ghost node is passed to the rApplyFunctor.

Template Parameters
TApplyFunctorFunctor with signature void(const/non-const Node& rGhostNode, const std::vector<double>& rValues).
Parameters
rCommunicator Communicator of the model part having the local nodes and ghost nodes.
rLocalNodesExpressionExpression.
rApplyFunctorApply funktor to do something with each expression values evaluated for ghost nodes.

◆ GetMesh() [1/2]

static ModelPart::MeshType& Kratos::ExpressionIOUtils::GetMesh ( Communicator rCommunicator,
MeshType  rMeshType 
)
inlinestatic

◆ GetMesh() [2/2]

static const ModelPart::MeshType& Kratos::ExpressionIOUtils::GetMesh ( const Communicator rCommunicator,
MeshType  rMeshType 
)
inlinestatic

◆ ReadToExpression()

template<class TContainerType , class TContainerDataIO , class TVariableType >
static Expression::Pointer Kratos::ExpressionIOUtils::ReadToExpression ( const TContainerType &  rContainer,
TVariableType  pVariable,
const DataCommunicator rDataCommunicator 
)
inlinestatic

◆ WriteFromExpression()

template<class TContainerType , class TContainerDataIO , class TVariableType >
static void Kratos::ExpressionIOUtils::WriteFromExpression ( TContainerType &  rContainer,
Communicator rCommunicator,
const Expression rExpression,
TVariableType  pVariable 
)
inlinestatic

The documentation for this class was generated from the following file: