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.
Typedefs | Functions
Kratos::MPMSearchElementUtility Namespace Reference

Typedefs

typedef std::size_t IndexType
 
typedef std::size_t SizeType
 
typedef Node NodeType
 
typedef ModelPart::GeometryType GeometryType
 

Functions

double CrossProductDet2D (array_1d< double, 3 > VectorA, array_1d< double, 3 > VectorB)
 
bool CheckIsInside (const GeometryType &rGeom, array_1d< double, 3 > &LocalCoords, const array_1d< double, 3 > &Coords, const double Tolerance)
 
void ConstructNeighbourRelations (GeometryType &rGeom, const ModelPart &rBackgroundGridModelPart)
 
bool IsExplicitAndNeedsCorrection (GeometryType::Pointer pQuadraturePoint, const ProcessInfo &rProcessInfo)
 
GeometryTypeFindGridGeom (GeometryType &rParentGeom, const ModelPart &rBackgroundGridModelPart, const double Tolerance, const array_1d< double, 3 > &xg, array_1d< double, 3 > &rLocalCoords, const ProcessInfo &rProcessInfo, bool &IsFound)
 
void UpdatePartitionedQuadraturePoint (const ModelPart &rBackgroundGridModelPart, const array_1d< double, 3 > &rCoordinates, Element &rMasterMaterialPoint, typename GeometryType::Pointer pQuadraturePointGeometry, const double Tolerance)
 
void NeighbourSearchElements (const ModelPart &rMPMModelPart, const ModelPart &rBackgroundGridModelPart, std::vector< typename Element::Pointer > &rMissingElements, const double Tolerance)
 
void NeighbourSearchConditions (const ModelPart &rMPMModelPart, const ModelPart &rBackgroundGridModelPart, std::vector< typename Condition::Pointer > &rMissingConditions, const double Tolerance)
 
bool IsFixExplicitAndOnElementEdge (const Vector &N, const ProcessInfo &rProcessInfo)
 
template<std::size_t TDimension>
void BinBasedSearchElementsAndConditions (ModelPart &rMPMModelPart, ModelPart &rBackgroundGridModelPart, std::vector< typename Element::Pointer > &rMissingElements, std::vector< typename Condition::Pointer > &rMissingConditions, const std::size_t MaxNumberOfResults, const double Tolerance)
 
void ResetElementsAndNodes (ModelPart &rBackgroundGridModelPart)
 
template<std::size_t TDimension>
void SearchElement (ModelPart &rBackgroundGridModelPart, ModelPart &rMPMModelPart, const std::size_t MaxNumberOfResults, const double Tolerance)
 Search element connectivity for each particle. More...
 

Typedef Documentation

◆ GeometryType

◆ IndexType

◆ NodeType

◆ SizeType

Function Documentation

◆ BinBasedSearchElementsAndConditions()

template<std::size_t TDimension>
void Kratos::MPMSearchElementUtility::BinBasedSearchElementsAndConditions ( ModelPart rMPMModelPart,
ModelPart rBackgroundGridModelPart,
std::vector< typename Element::Pointer > &  rMissingElements,
std::vector< typename Condition::Pointer > &  rMissingConditions,
const std::size_t  MaxNumberOfResults,
const double  Tolerance 
)

◆ CheckIsInside()

bool Kratos::MPMSearchElementUtility::CheckIsInside ( const GeometryType rGeom,
array_1d< double, 3 > &  LocalCoords,
const array_1d< double, 3 > &  Coords,
const double  Tolerance 
)
inline

◆ ConstructNeighbourRelations()

void Kratos::MPMSearchElementUtility::ConstructNeighbourRelations ( GeometryType rGeom,
const ModelPart rBackgroundGridModelPart 
)
inline

◆ CrossProductDet2D()

double Kratos::MPMSearchElementUtility::CrossProductDet2D ( array_1d< double, 3 >  VectorA,
array_1d< double, 3 >  VectorB 
)
inline

◆ FindGridGeom()

GeometryType& Kratos::MPMSearchElementUtility::FindGridGeom ( GeometryType rParentGeom,
const ModelPart rBackgroundGridModelPart,
const double  Tolerance,
const array_1d< double, 3 > &  xg,
array_1d< double, 3 > &  rLocalCoords,
const ProcessInfo rProcessInfo,
bool IsFound 
)
inline

◆ IsExplicitAndNeedsCorrection()

bool Kratos::MPMSearchElementUtility::IsExplicitAndNeedsCorrection ( GeometryType::Pointer  pQuadraturePoint,
const ProcessInfo rProcessInfo 
)
inline

◆ IsFixExplicitAndOnElementEdge()

bool Kratos::MPMSearchElementUtility::IsFixExplicitAndOnElementEdge ( const Vector N,
const ProcessInfo rProcessInfo 
)
inline

◆ NeighbourSearchConditions()

void Kratos::MPMSearchElementUtility::NeighbourSearchConditions ( const ModelPart rMPMModelPart,
const ModelPart rBackgroundGridModelPart,
std::vector< typename Condition::Pointer > &  rMissingConditions,
const double  Tolerance 
)
inline

◆ NeighbourSearchElements()

void Kratos::MPMSearchElementUtility::NeighbourSearchElements ( const ModelPart rMPMModelPart,
const ModelPart rBackgroundGridModelPart,
std::vector< typename Element::Pointer > &  rMissingElements,
const double  Tolerance 
)
inline

◆ ResetElementsAndNodes()

void Kratos::MPMSearchElementUtility::ResetElementsAndNodes ( ModelPart rBackgroundGridModelPart)
inline

◆ SearchElement()

template<std::size_t TDimension>
void Kratos::MPMSearchElementUtility::SearchElement ( ModelPart rBackgroundGridModelPart,
ModelPart rMPMModelPart,
const std::size_t  MaxNumberOfResults,
const double  Tolerance 
)

Search element connectivity for each particle.

A search is performed to know in which grid element the material point falls. If one or more material points fall in the grid element, the grid element is set to be active and its connectivity is associated to the material point element. STEPS: 1) All the elements are set to be INACTIVE 2) A searching is performed and the grid elements which contain at least a MP are set to be ACTIVE

◆ UpdatePartitionedQuadraturePoint()

void Kratos::MPMSearchElementUtility::UpdatePartitionedQuadraturePoint ( const ModelPart rBackgroundGridModelPart,
const array_1d< double, 3 > &  rCoordinates,
Element rMasterMaterialPoint,
typename GeometryType::Pointer  pQuadraturePointGeometry,
const double  Tolerance 
)
inline