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 | Typedefs | Functions
model_part_utils.cpp File Reference
#include <limits>
#include <map>
#include <set>
#include <sstream>
#include <string>
#include "includes/define.h"
#include "includes/model_part.h"
#include "utilities/parallel_utilities.h"
#include "utilities/reduction_utilities.h"
#include "optimization_application_variables.h"
#include "model_part_utils.h"
Include dependency graph for model_part_utils.cpp:

Classes

class  Kratos::ModelPartHelperUtils::SetReduction< TDataType >
 
class  Kratos::ModelPartHelperUtils::ContainerEntityMapReduction< TEntityType, TMapValueType >
 

Namespaces

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

Typedefs

using Kratos::ModelPartHelperUtils::NodeIdsType = std::vector< IndexType >
 
template<class TEntityType >
using Kratos::ModelPartHelperUtils::EntityPointerType = typename TEntityType::Pointer
 
template<class TContainerType >
using Kratos::ModelPartHelperUtils::ContainerEntityValueType = typename TContainerType::value_type
 
template<class TContainerType >
using Kratos::ModelPartHelperUtils::ContainerEntityPointerType = typename ContainerEntityValueType< TContainerType >::Pointer
 

Functions

void Kratos::ModelPartHelperUtils::AppendModelPartNames (std::stringstream &rOutputStream, const std::vector< ModelPart * > &rModelParts)
 
template<class TContainerType >
void Kratos::ModelPartHelperUtils::UpdateEntityIdsSetFromContainer (std::set< IndexType > &rOutput, const TContainerType &rContainer)
 
template<class TContainerType >
void Kratos::ModelPartHelperUtils::UpdateEntityGeometryNodeIdsSetFromContainer (std::set< NodeIdsType > &rOutput, const TContainerType &rContainer)
 
template<class TContainerType >
void Kratos::ModelPartHelperUtils::UpdateEntityIdEntityPtrMapWithCommonEntitiesFromContainerAndEntityIdsSet (std::map< IndexType, ContainerEntityPointerType< TContainerType >> &rOutput, const std::set< IndexType > &rEntityIdsSet, TContainerType &rContainer)
 
template<class TContainerType >
void Kratos::ModelPartHelperUtils::UpdateEntityIdEntityPtrMapWithCommonEntitiesFromContainerAndEntityGeometryNodeIdsSet (std::map< IndexType, ContainerEntityPointerType< TContainerType >> &rOutput, const std::set< NodeIdsType > &rEntityGeometryNodeIdsSet, TContainerType &rContainer)
 
template<class TContainerType >
void Kratos::ModelPartHelperUtils::UpdateNeighbourMaps (std::map< IndexType, std::vector< ContainerEntityPointerType< TContainerType >>> &rOutput, const std::set< IndexType > &rNodeIdsSet, TContainerType &rContainer)
 
template<class TEntityPointerType >
void Kratos::ModelPartHelperUtils::UpdateEntityIdEntityPtrMapFromNeighbourMap (std::map< IndexType, TEntityPointerType > &rOutput, const std::map< IndexType, std::vector< TEntityPointerType >> &rNodeIdNeighbourEntityPtrsMap)
 
template<class TEntityPointerType >
void Kratos::ModelPartHelperUtils::UpdateNodeIdNodePtrMapFromEntityIdEntityPtrMap (std::map< IndexType, ModelPart::NodeType::Pointer > &rOutput, const std::map< IndexType, TEntityPointerType > &rInput)
 
std::string Kratos::ModelPartHelperUtils::GetExaminedModelPartsInfo (const std::vector< ModelPart * > &rExaminedModelPartsList, const bool AreNodesConsidered, const bool AreConditionsConsidered, const bool AreElementsConsidered, const bool AreNeighboursConsidered)
 
void Kratos::ModelPartHelperUtils::GetModelParts (std::set< ModelPart * > &rOutput, ModelPart &rInput)
 
void Kratos::ModelPartHelperUtils::ExamineModelParts (std::set< IndexType > &rExaminedNodeIds, std::set< NodeIdsType > &rExaminedConditionGeometryNodeIdsSet, std::set< NodeIdsType > &rExaminedElementGeometryNodeIdsSet, const std::vector< ModelPart * > rExaminedModelPartsList, const bool AreNodesConsidered, const bool AreConditionsConsidered, const bool AreElementsConsidered, const bool AreNeighboursConsidered)
 
void Kratos::ModelPartHelperUtils::PopulateModelPart (ModelPart &rOutputModelPart, ModelPart &rReferenceModelPart, const bool AreNodesConsidered, const bool AreConditionsConsidered, const bool AreElementsConsidered, const bool AreNeighboursConsidered, const std::set< IndexType > &rExaminedNodeIds, const std::set< NodeIdsType > &rExaminedConditionGeometryNodeIdsSet, const std::set< NodeIdsType > &rExaminedElementGeometryNodeIdsSet)