![]() |
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 only calculates the distance. Calculating the inside outside should be done by a derived class of this. More...
#include <calculate_discontinuous_distance_to_skin_process.h>
Public Member Functions | |
Type Definitions | |
| KRATOS_CLASS_POINTER_DEFINITION (CalculateDiscontinuousDistanceToSkinProcess) | |
| Pointer definition of CalculateDiscontinuousDistanceToSkinProcess. More... | |
Life Cycle | |
| CalculateDiscontinuousDistanceToSkinProcess (ModelPart &rVolumePart, ModelPart &rSkinPart) | |
| Constructor to be used. More... | |
| CalculateDiscontinuousDistanceToSkinProcess (ModelPart &rVolumePart, ModelPart &rSkinPart, const Flags rOptions) | |
| Constructor with option. More... | |
| CalculateDiscontinuousDistanceToSkinProcess (ModelPart &rVolumePart, ModelPart &rSkinPart, Parameters rParameters) | |
| Constructor with parameters. More... | |
| ~CalculateDiscontinuousDistanceToSkinProcess () override | |
| Destructor. More... | |
Operations | |
| virtual void | Initialize () |
| Initializes discontinuous distance computation process This method initializes the TO_SPLIT flag, the DISTANCE and ELEMENTAL_DISTANCES variables as well as the EMBEDDED_VELOCITY. More... | |
| virtual void | FindIntersections () |
| Calls the FindIntersectedObjectsProcess to find the intersections This method calls the FindIntersectedObjectsProcess FindIntersections method. More... | |
| virtual std::vector< PointerVector< GeometricalObject > > & | GetIntersections () |
| Get the array containing the intersecting objects This method returns an array containing pointers to the intersecting geometries. More... | |
| virtual void | CalculateDistances (std::vector< PointerVector< GeometricalObject >> &rIntersectedObjects) |
| Computes the elemental distance values Given an intersecting objects vector, this method computes the elemental distance field. More... | |
| void | Clear () override |
| Calls the FindIntersectedObjects Clear() method This method calls the FindIntersectedObjects Clear() to empty the intersecting objects geometries array. More... | |
| void | Execute () override |
| Executes the CalculateDiscontinuousDistanceToSkinProcess This method automatically does all the calls required to compute the discontinuous distance function. More... | |
| void | CalculateEmbeddedVariableFromSkin (const Variable< double > &rVariable, const Variable< double > &rEmbeddedVariable) |
| Calculate embedded variable from skin double specialization This method calls the specialization method for two double variables. More... | |
| void | CalculateEmbeddedVariableFromSkin (const Variable< array_1d< double, 3 >> &rVariable, const Variable< array_1d< double, 3 >> &rEmbeddedVariable) |
| Calculate embedded variable from skin array specialization This method calls the specialization method for two double variables. More... | |
| const Parameters | GetDefaultParameters () const override |
| Obtain the default parameters to construct the class. 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 | ExecuteInitialize () |
| This function is designed for being called at the beginning of the computations right after reading the model and the groups. 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... | |
Protected Member Functions | |
| Plane3D | SetIntersectionPlane (const std::vector< array_1d< double, 3 >> &rIntPtsVector) |
| Plane3D | SetIntersectionPlane (const std::vector< array_1d< double, 3 >> &rIntPtsVector) |
Protected Operations | |
| Plane3D | SetIntersectionPlane (const std::vector< array_1d< double, 3 >> &rIntPtsVector) |
| Set the Intersection Plane object This method returns the plane that defines the element intersection. The 2D case is considered to be a simplification of the 3D one, so a "fake" extra point is created by extruding the first point in the z-direction. More... | |
| double | CalculateCharacteristicLength () |
| Calculates the domain characteristic length This method computes the domain characteristic length as the norm of the diagonal vector that joins the maximum and minimum coordinates. More... | |
Protected Attributes | |
| const Variable< Vector > * | mpElementalDistancesVariable = &ELEMENTAL_DISTANCES |
Deleted | |
| FindIntersectedGeometricalObjectsProcess | mFindIntersectedObjectsProcess |
| CalculateDiscontinuousDistanceToSkinProcess ()=delete | |
| Default constructor. More... | |
| CalculateDiscontinuousDistanceToSkinProcess (CalculateDiscontinuousDistanceToSkinProcess const &rOther)=delete | |
| Copy constructor. More... | |
| CalculateDiscontinuousDistanceToSkinProcess & | operator= (CalculateDiscontinuousDistanceToSkinProcess const &rOther)=delete |
| Assignment operator. 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 only calculates the distance. Calculating the inside outside should be done by a derived class of this.
This process takes a volume model part (with tetrahedra mesh) and a skin model part (with triangle mesh) and and calcualtes the distance to the skin for all the elements and nodes of the volume model part.
| Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::CalculateDiscontinuousDistanceToSkinProcess | ( | ModelPart & | rVolumePart, |
| ModelPart & | rSkinPart | ||
| ) |
Constructor to be used.
| Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::CalculateDiscontinuousDistanceToSkinProcess | ( | ModelPart & | rVolumePart, |
| ModelPart & | rSkinPart, | ||
| const Flags | rOptions | ||
| ) |
Constructor with option.
| Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::CalculateDiscontinuousDistanceToSkinProcess | ( | ModelPart & | rVolumePart, |
| ModelPart & | rSkinPart, | ||
| Parameters | rParameters | ||
| ) |
Constructor with parameters.
|
override |
Destructor.
|
delete |
Default constructor.
|
delete |
Copy constructor.
|
protected |
Calculates the domain characteristic length This method computes the domain characteristic length as the norm of the diagonal vector that joins the maximum and minimum coordinates.
|
virtual |
Computes the elemental distance values Given an intersecting objects vector, this method computes the elemental distance field.
| rIntersectedObjects | array containing pointers to the intersecting geometries |
Reimplemented in Kratos::CalculateDistanceToSkinProcess< TDim >.
| void Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::CalculateEmbeddedVariableFromSkin | ( | const Variable< array_1d< double, 3 >> & | rVariable, |
| const Variable< array_1d< double, 3 >> & | rEmbeddedVariable | ||
| ) |
Calculate embedded variable from skin array specialization This method calls the specialization method for two double variables.
| rVariable | origin array variable in the skin mesh |
| rEmbeddedVariable | elemental array variable in the volume mesh to be computed |
| void Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::CalculateEmbeddedVariableFromSkin | ( | const Variable< double > & | rVariable, |
| const Variable< double > & | rEmbeddedVariable | ||
| ) |
Calculate embedded variable from skin double specialization This method calls the specialization method for two double variables.
| rVariable | origin double variable in the skin mesh |
| rEmbeddedVariable | elemental double variable in the volume mesh to be computed |
|
overridevirtual |
Calls the FindIntersectedObjects Clear() method This method calls the FindIntersectedObjects Clear() to empty the intersecting objects geometries array.
Reimplemented from Kratos::Process.
|
overridevirtual |
Executes the CalculateDiscontinuousDistanceToSkinProcess This method automatically does all the calls required to compute the discontinuous distance function.
Reimplemented from Kratos::Process.
|
virtual |
Calls the FindIntersectedObjectsProcess to find the intersections This method calls the FindIntersectedObjectsProcess FindIntersections method.
|
overridevirtual |
Obtain the default parameters to construct the class.
Reimplemented from Kratos::Process.
|
virtual |
Get the array containing the intersecting objects This method returns an array containing pointers to the intersecting geometries.
|
overridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Flags.
|
virtual |
Initializes discontinuous distance computation process This method initializes the TO_SPLIT flag, the DISTANCE and ELEMENTAL_DISTANCES variables as well as the EMBEDDED_VELOCITY.
Reimplemented in Kratos::CalculateDistanceToSkinProcess< TDim >.
| Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | CalculateDiscontinuousDistanceToSkinProcess< TDim > | ) |
Pointer definition of CalculateDiscontinuousDistanceToSkinProcess.
|
delete |
Assignment operator.
|
overridevirtual |
Print object's data.
Reimplemented from Kratos::Flags.
|
overridevirtual |
Print information about this object.
Reimplemented from Kratos::Flags.
|
protected |
|
protected |
|
protected |
Set the Intersection Plane object This method returns the plane that defines the element intersection. The 2D case is considered to be a simplification of the 3D one, so a "fake" extra point is created by extruding the first point in the z-direction.
| rIntPtsVector | array containing the intersecting points coordinates |
| FindIntersectedGeometricalObjectsProcess Kratos::CalculateDiscontinuousDistanceToSkinProcess< TDim >::mFindIntersectedObjectsProcess |
|
protected |