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 | |
class | MapperInterfaceInfoSerializer |
Helper class to serialize/deserialize a vector containing MapperInterfaceInfos. More... | |
Typedefs | |
typedef std::size_t | SizeType |
typedef std::size_t | IndexType |
typedef Node | NodeType |
typedef Kratos::unique_ptr< MapperInterfaceInfo > | MapperInterfaceInfoUniquePointerType |
typedef Kratos::shared_ptr< MapperInterfaceInfo > | MapperInterfaceInfoPointerType |
typedef std::vector< std::vector< MapperInterfaceInfoPointerType > > | MapperInterfaceInfoPointerVectorType |
typedef Kratos::unique_ptr< MapperLocalSystem > | MapperLocalSystemPointer |
typedef std::vector< MapperLocalSystemPointer > | MapperLocalSystemPointerVector |
typedef Kratos::shared_ptr< MapperLocalSystemPointerVector > | MapperLocalSystemPointerVectorPointer |
using | BoundingBoxType = std::array< double, 6 > |
Functions | |
void | AssignInterfaceEquationIds (Communicator &rModelPartCommunicator) |
Assigning INTERFACE_EQUATION_IDs to the nodes, with and without MPI This function assigns the INTERFACE_EQUATION_IDs to the nodes, which act as EquationIds for the MappingMatrix. This work with and without MPI, in MPI a ScanSum is performed with the local number of nodes. More... | |
template<typename TContainer > | |
double | ComputeMaxEdgeLengthLocal (const TContainer &rEntityContainer) |
double | ComputeSearchRadius (const ModelPart &rModelPart, const int EchoLevel) |
double | ComputeSearchRadius (const ModelPart &rModelPart1, const ModelPart &rModelPart2, const int EchoLevel) |
void | CheckInterfaceModelParts (const int CommRank) |
BoundingBoxType | ComputeLocalBoundingBox (const ModelPart &rModelPart) |
BoundingBoxType | ComputeGlobalBoundingBox (const ModelPart &rModelPart) |
std::string | BoundingBoxStringStream (const BoundingBoxType &rBoundingBox) |
void | CreateMapperLocalSystemsFromNodes (const MapperLocalSystem &rMapperLocalSystemPrototype, const Communicator &rModelPartCommunicator, std::vector< Kratos::unique_ptr< MapperLocalSystem >> &rLocalSystems) |
void | CreateMapperLocalSystemsFromGeometries (const MapperLocalSystem &rMapperLocalSystemPrototype, const Communicator &rModelPartCommunicator, std::vector< Kratos::unique_ptr< MapperLocalSystem >> &rLocalSystems) |
void | SaveCurrentConfiguration (ModelPart &rModelPart) |
void | RestoreCurrentConfiguration (ModelPart &rModelPart) |
void | FillBufferBeforeLocalSearch (const MapperLocalSystemPointerVector &rMapperLocalSystems, const std::vector< double > &rBoundingBoxes, const SizeType BufferSizeEstimate, std::vector< std::vector< double >> &rSendBuffer, std::vector< int > &rSendSizes) |
void | CreateMapperInterfaceInfosFromBuffer (const std::vector< std::vector< double >> &rRecvBuffer, const MapperInterfaceInfoUniquePointerType &rpRefInterfaceInfo, const int CommRank, MapperInterfaceInfoPointerVectorType &rMapperInterfaceInfosContainer) |
void | FillBufferAfterLocalSearch (MapperInterfaceInfoPointerVectorType &rMapperInterfaceInfosContainer, const MapperInterfaceInfoUniquePointerType &rpRefInterfaceInfo, const int CommRank, std::vector< std::vector< char >> &rSendBuffer, std::vector< int > &rSendSizes) |
void | DeserializeMapperInterfaceInfosFromBuffer (const std::vector< std::vector< char >> &rRecvBuffer, const MapperInterfaceInfoUniquePointerType &rpRefInterfaceInfo, const int CommRank, MapperInterfaceInfoPointerVectorType &rMapperInterfaceInfosContainer) |
static void | FillFunction (const NodeType &rNode, const Variable< double > &rVariable, double &rValue) |
static void | FillFunctionNonHist (const NodeType &rNode, const Variable< double > &rVariable, double &rValue) |
static std::function< void(const NodeType &, const Variable< double > &, double &)> | GetFillFunction (const Kratos::Flags &rMappingOptions) |
static void | UpdateFunction (NodeType &rNode, const Variable< double > &rVariable, const double Value, const double Factor) |
static void | UpdateFunctionWithAdd (NodeType &rNode, const Variable< double > &rVariable, const double Value, const double Factor) |
static void | UpdateFunctionNonHist (NodeType &rNode, const Variable< double > &rVariable, const double Value, const double Factor) |
static void | UpdateFunctionNonHistWithAdd (NodeType &rNode, const Variable< double > &rVariable, const double Value, const double Factor) |
static std::function< void(NodeType &, const Variable< double > &, const double, const double)> | GetUpdateFunction (const Kratos::Flags &rMappingOptions) |
template<class TVectorType , bool TParallel = true> | |
void | UpdateSystemVectorFromModelPart (TVectorType &rVector, const ModelPart &rModelPart, const Variable< double > &rVariable, const Kratos::Flags &rMappingOptions, const bool InParallel=true) |
template<class TVectorType > | |
void | UpdateModelPartFromSystemVector (const TVectorType &rVector, ModelPart &rModelPart, const Variable< double > &rVariable, const Kratos::Flags &rMappingOptions, const bool InParallel=true) |
template<class T1 , class T2 > | |
double | ComputeDistance (const T1 &rCoords1, const T2 &rCoords2) |
template<class T1 , class T2 , class T3 > | |
bool | PointsAreCollinear (const T1 &rP1, const T2 &rP2, const T3 &rP3) |
template<class TDataType > | |
void | EraseNodalVariable (ModelPart &rModelPart, const Variable< TDataType > &rVariable) |
void | AssignInterfaceInfosAfterRemoteSearch (const MapperInterfaceInfoPointerVectorType &rMapperInterfaceInfosContainer, MapperLocalSystemPointerVectorPointer &rpMapperLocalSystems) |
using Kratos::MapperUtilities::BoundingBoxType = typedef std::array<double, 6> |
typedef std::size_t Kratos::MapperUtilities::IndexType |
typedef Kratos::shared_ptr<MapperInterfaceInfo> Kratos::MapperUtilities::MapperInterfaceInfoPointerType |
typedef std::vector<std::vector<MapperInterfaceInfoPointerType> > Kratos::MapperUtilities::MapperInterfaceInfoPointerVectorType |
typedef Kratos::unique_ptr<MapperInterfaceInfo> Kratos::MapperUtilities::MapperInterfaceInfoUniquePointerType |
typedef std::vector<MapperLocalSystemPointer> Kratos::MapperUtilities::MapperLocalSystemPointerVector |
typedef Kratos::shared_ptr<MapperLocalSystemPointerVector> Kratos::MapperUtilities::MapperLocalSystemPointerVectorPointer |
typedef std::size_t Kratos::MapperUtilities::SizeType |
void Kratos::MapperUtilities::AssignInterfaceEquationIds | ( | Communicator & | rModelPartCommunicator | ) |
Assigning INTERFACE_EQUATION_IDs to the nodes, with and without MPI This function assigns the INTERFACE_EQUATION_IDs to the nodes, which act as EquationIds for the MappingMatrix. This work with and without MPI, in MPI a ScanSum is performed with the local number of nodes.
rModelPartCommunicator | The Modelpart-Communicator to be used |
void Kratos::MapperUtilities::AssignInterfaceInfosAfterRemoteSearch | ( | const MapperInterfaceInfoPointerVectorType & | rMapperInterfaceInfosContainer, |
MapperLocalSystemPointerVectorPointer & | rpMapperLocalSystems | ||
) |
std::string Kratos::MapperUtilities::BoundingBoxStringStream | ( | const BoundingBoxType & | rBoundingBox | ) |
void Kratos::MapperUtilities::CheckInterfaceModelParts | ( | const int | CommRank | ) |
|
inline |
BoundingBoxType Kratos::MapperUtilities::ComputeGlobalBoundingBox | ( | const ModelPart & | rModelPart | ) |
BoundingBoxType Kratos::MapperUtilities::ComputeLocalBoundingBox | ( | const ModelPart & | rModelPart | ) |
double Kratos::MapperUtilities::ComputeMaxEdgeLengthLocal | ( | const TContainer & | rEntityContainer | ) |
double Kratos::MapperUtilities::ComputeSearchRadius | ( | const ModelPart & | rModelPart, |
const int | EchoLevel | ||
) |
double Kratos::MapperUtilities::ComputeSearchRadius | ( | const ModelPart & | rModelPart1, |
const ModelPart & | rModelPart2, | ||
const int | EchoLevel | ||
) |
void Kratos::MapperUtilities::CreateMapperInterfaceInfosFromBuffer | ( | const std::vector< std::vector< double >> & | rRecvBuffer, |
const MapperInterfaceInfoUniquePointerType & | rpRefInterfaceInfo, | ||
const int | CommRank, | ||
MapperInterfaceInfoPointerVectorType & | rMapperInterfaceInfosContainer | ||
) |
void Kratos::MapperUtilities::CreateMapperLocalSystemsFromGeometries | ( | const MapperLocalSystem & | rMapperLocalSystemPrototype, |
const Communicator & | rModelPartCommunicator, | ||
std::vector< Kratos::unique_ptr< MapperLocalSystem >> & | rLocalSystems | ||
) |
void Kratos::MapperUtilities::CreateMapperLocalSystemsFromNodes | ( | const MapperLocalSystem & | rMapperLocalSystemPrototype, |
const Communicator & | rModelPartCommunicator, | ||
std::vector< Kratos::unique_ptr< MapperLocalSystem >> & | rLocalSystems | ||
) |
void Kratos::MapperUtilities::DeserializeMapperInterfaceInfosFromBuffer | ( | const std::vector< std::vector< char >> & | rRecvBuffer, |
const MapperInterfaceInfoUniquePointerType & | rpRefInterfaceInfo, | ||
const int | CommRank, | ||
MapperInterfaceInfoPointerVectorType & | rMapperInterfaceInfosContainer | ||
) |
void Kratos::MapperUtilities::EraseNodalVariable | ( | ModelPart & | rModelPart, |
const Variable< TDataType > & | rVariable | ||
) |
void Kratos::MapperUtilities::FillBufferAfterLocalSearch | ( | MapperInterfaceInfoPointerVectorType & | rMapperInterfaceInfosContainer, |
const MapperInterfaceInfoUniquePointerType & | rpRefInterfaceInfo, | ||
const int | CommRank, | ||
std::vector< std::vector< char >> & | rSendBuffer, | ||
std::vector< int > & | rSendSizes | ||
) |
void Kratos::MapperUtilities::FillBufferBeforeLocalSearch | ( | const MapperLocalSystemPointerVector & | rMapperLocalSystems, |
const std::vector< double > & | rBoundingBoxes, | ||
const SizeType | BufferSizeEstimate, | ||
std::vector< std::vector< double >> & | rSendBuffer, | ||
std::vector< int > & | rSendSizes | ||
) |
|
static |
|
static |
|
inlinestatic |
|
inlinestatic |
bool Kratos::MapperUtilities::PointsAreCollinear | ( | const T1 & | rP1, |
const T2 & | rP2, | ||
const T3 & | rP3 | ||
) |
void Kratos::MapperUtilities::RestoreCurrentConfiguration | ( | ModelPart & | rModelPart | ) |
void Kratos::MapperUtilities::SaveCurrentConfiguration | ( | ModelPart & | rModelPart | ) |
|
static |
|
static |
|
static |
|
static |
void Kratos::MapperUtilities::UpdateModelPartFromSystemVector | ( | const TVectorType & | rVector, |
ModelPart & | rModelPart, | ||
const Variable< double > & | rVariable, | ||
const Kratos::Flags & | rMappingOptions, | ||
const bool | InParallel = true |
||
) |
void Kratos::MapperUtilities::UpdateSystemVectorFromModelPart | ( | TVectorType & | rVector, |
const ModelPart & | rModelPart, | ||
const Variable< double > & | rVariable, | ||
const Kratos::Flags & | rMappingOptions, | ||
const bool | InParallel = true |
||
) |