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.
|
This class takes two modelparts and marks the intersected ones with SELECTED flag. More...
#include <find_intersected_geometrical_objects_process.h>
Public Member Functions | |
Life Cycle | |
FindIntersectedGeometricalObjectsProcess ()=delete | |
Default constructor. More... | |
FindIntersectedGeometricalObjectsProcess (ModelPart &rModelPartIntersected, ModelPart &rModelPartIntersecting, const Flags Options=INTERSECTING_CONDITIONS|INTERSECTING_ELEMENTS|INTERSECTED_CONDITIONS|INTERSECTED_ELEMENTS) | |
Constructor to be used. More... | |
FindIntersectedGeometricalObjectsProcess (Model &rModel, Parameters ThisParameters) | |
Constructor to be used. (with model and Parameters) More... | |
FindIntersectedGeometricalObjectsProcess (FindIntersectedGeometricalObjectsProcess const &rOther)=delete | |
Copy constructor. More... | |
~FindIntersectedGeometricalObjectsProcess () override=default | |
Destructor. More... | |
Operations | |
virtual void | Initialize () |
This function is designed for being called at the beginning of the computations right after reading the model and the groups. More... | |
virtual void | FindIntersectedSkinObjects (std::vector< PointerVector< GeometricalObject >> &rResults) |
This method finds the intersected objects with the skin. More... | |
virtual void | FindIntersections () |
This method finds different intersections. More... | |
virtual std::vector< PointerVector< GeometricalObject > > & | GetIntersections () |
This method returns the intersections. More... | |
virtual ModelPart & | GetModelPart1 () |
Returns the first model part. More... | |
virtual ModelPart & | GetModelPart2 () |
Returns the second model part. More... | |
virtual OctreePointerType & | GetOctreePointer () |
This method returns the Octree conatined in the class. More... | |
void | Clear () override |
This clears the database. More... | |
void | Execute () override |
Execute method is used to execute the Process algorithms. More... | |
void | ExecuteInitialize () override |
this function is designed for being called at the beginning of the computations right after reading the model and the groups More... | |
virtual void | IdentifyNearEntitiesAndCheckEntityForIntersection (GeometricalObject::Pointer pGeometricalObject, OtreeCellVectorType &rLeaves) |
This method indetifies near entities and marks if intersected. More... | |
const Parameters | GetDefaultParameters () const override |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::Process | |
KRATOS_CLASS_POINTER_DEFINITION (Process) | |
Pointer definition of Process. More... | |
Process () | |
Default constructor. More... | |
Process (const Flags options) | |
~Process () override | |
Destructor. More... | |
void | operator() () |
This operator is provided to call the process as a function and simply calls the Execute method. More... | |
virtual Process::Pointer | Create (Model &rModel, Parameters ThisParameters) |
This method creates an pointer of the process. More... | |
virtual void | ExecuteBeforeSolutionLoop () |
This function is designed for being execute once before the solution loop but after all of the solvers where built. More... | |
virtual void | ExecuteInitializeSolutionStep () |
This function will be executed at every time step BEFORE performing the solve phase. More... | |
virtual void | ExecuteFinalizeSolutionStep () |
This function will be executed at every time step AFTER performing the solve phase. More... | |
virtual void | ExecuteBeforeOutputStep () |
This function will be executed at every time step BEFORE writing the output. More... | |
virtual void | ExecuteAfterOutputStep () |
This function will be executed at every time step AFTER writing the output. More... | |
virtual void | ExecuteFinalize () |
This function is designed for being called at the end of the computations. More... | |
virtual int | Check () |
This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More... | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Public Attributes | |
Member Variables | |
std::vector< PointerVector< GeometricalObject > > | mIntersectedObjects |
Protected Member Functions | |
Protected Operations | |
virtual void | SetOctreeBoundingBox () |
This method sets the Octree bounding box. More... | |
virtual void | MarkIfIntersected (GeometricalObject &rIntersectedGeometricalObject, OtreeCellVectorType &rLeaves) |
This method marks if intersected. More... | |
virtual bool | HasIntersection (GeometryType &rFirstGeometry, GeometryType &rSecondGeometry) |
This method check if there is an intersection between two geometries. More... | |
Protected Attributes | |
Protected member Variables | |
ModelPart & | mrModelPartIntersected |
ModelPart & | mrModelPartIntersecting |
Model part intersected. More... | |
Flags | mOptions |
Model part intersecting. More... | |
OctreePointerType | mpOctree |
Local flags. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
This class takes two modelparts and marks the intersected ones with SELECTED flag.
It creates a spatial datastructure and search for interaction. It also provides some helper methods for derived classes to check individual element or condition interesections.
using Kratos::FindIntersectedGeometricalObjectsProcess::CellNodeDataType = typename ConfigurationType::cell_node_data_type |
using Kratos::FindIntersectedGeometricalObjectsProcess::CellType = OctreeBinaryCell<ConfigurationType> |
using Kratos::FindIntersectedGeometricalObjectsProcess::ConfigurationType = Internals::DistanceSpatialContainersConfigure |
Octree definitions.
Definition of the geometry type.
typedef std::size_t Kratos::FindIntersectedGeometricalObjectsProcess::IndexType |
Definition of the index type.
Definition of the node type.
typedef std::vector<typename OctreeType::cell_type*> Kratos::FindIntersectedGeometricalObjectsProcess::OtreeCellVectorType |
Definition of the point type.
typedef std::size_t Kratos::FindIntersectedGeometricalObjectsProcess::SizeType |
Definition of the size type.
|
delete |
Default constructor.
Removed
Kratos::FindIntersectedGeometricalObjectsProcess::FindIntersectedGeometricalObjectsProcess | ( | ModelPart & | rModelPartIntersected, |
ModelPart & | rModelPartIntersecting, | ||
const Flags | Options = INTERSECTING_CONDITIONS|INTERSECTING_ELEMENTS|INTERSECTED_CONDITIONS|INTERSECTED_ELEMENTS |
||
) |
Constructor to be used.
rModelPartIntersected | First model part (the one to compute the intersection) |
rModelPartIntersecting | Second model part (the "skin" model part) |
Kratos::FindIntersectedGeometricalObjectsProcess::FindIntersectedGeometricalObjectsProcess | ( | Model & | rModel, |
Parameters | ThisParameters | ||
) |
Constructor to be used. (with model and Parameters)
rModel | The model containing all model parts |
ThisParameters | The configuration parameters |
|
delete |
Copy constructor.
|
overridedefault |
Destructor.
|
overridevirtual |
This clears the database.
Reimplemented from Kratos::Process.
|
overridevirtual |
Execute method is used to execute the Process algorithms.
Reimplemented from Kratos::Process.
|
overridevirtual |
this function is designed for being called at the beginning of the computations right after reading the model and the groups
Reimplemented from Kratos::Process.
|
virtual |
This method finds the intersected objects with the skin.
rResults | The vector containing the intersected objects with the skin |
|
virtual |
This method finds different intersections.
|
overridevirtual |
This method provides the defaults parameters to avoid conflicts between the different constructors.
Reimplemented from Kratos::Process.
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess, and Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
|
virtual |
This method returns the intersections.
|
virtual |
Returns the first model part.
|
virtual |
Returns the second model part.
|
virtual |
This method returns the Octree conatined in the class.
|
protectedvirtual |
This method check if there is an intersection between two geometries.
rFirstGeometry | The first geometry |
rSecondGeometry | The second geometry |
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess.
|
virtual |
This method indetifies near entities and marks if intersected.
pGeometricalObject | The pointer to the entity of interest |
rLeaves | The Octree cells vectors |
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess, and Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
|
virtual |
Kratos::FindIntersectedGeometricalObjectsProcess::KRATOS_CLASS_POINTER_DEFINITION | ( | FindIntersectedGeometricalObjectsProcess | ) |
Pointer definition of FindIntersectedGeometricalObjectsProcess.
Kratos::FindIntersectedGeometricalObjectsProcess::KRATOS_DEFINE_LOCAL_FLAG | ( | INTERSECTED_CONDITIONS | ) |
Kratos::FindIntersectedGeometricalObjectsProcess::KRATOS_DEFINE_LOCAL_FLAG | ( | INTERSECTED_ELEMENTS | ) |
Kratos::FindIntersectedGeometricalObjectsProcess::KRATOS_DEFINE_LOCAL_FLAG | ( | INTERSECTING_CONDITIONS | ) |
Local Flags.
Kratos::FindIntersectedGeometricalObjectsProcess::KRATOS_DEFINE_LOCAL_FLAG | ( | INTERSECTING_ELEMENTS | ) |
|
protectedvirtual |
This method marks if intersected.
rIntersectedGeometricalObject | The element of interest |
rLeaves | The Octree cells vectors |
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess, and Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess, and Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
|
protectedvirtual |
This method sets the Octree bounding box.
Reimplemented in Kratos::FindIntersectedGeometricalObjectsWithOBBProcess, and Kratos::FindIntersectedGeometricalObjectsWithOBBContactSearchProcess.
std::vector<PointerVector<GeometricalObject> > Kratos::FindIntersectedGeometricalObjectsProcess::mIntersectedObjects |
|
protected |
Local flags.
|
protected |
|
protected |
Model part intersected.