13 #if !defined(KRATOS_CALCULATE_DISTANCE_TO_SKIN_PROCESS_H_INCLUDED )
14 #define KRATOS_CALCULATE_DISTANCE_TO_SKIN_PROCESS_H_INCLUDED
38 template<std::
size_t TDim = 3>
92 const double RayCastingRelativeTolerance);
133 void Initialize()
override;
165 double CalculateDistanceToNode(
168 const double Epsilon);
174 virtual void InitializeNodalDistances();
190 virtual void CalculateRayDistances();
195 const Parameters GetDefaultParameters()
const override;
202 std::string
Info()
const override;
205 void PrintInfo(std::ostream& rOStream)
const override;
208 void PrintData(std::ostream& rOStream)
const override;
222 double mRayCastingRelativeTolerance = 1.0e-8;
242 double inline CalculatePointDistance(
244 const Point &rDistancePoint);
275 std::istream& rIStream,
280 std::ostream& rOStream,
284 rOStream << std::endl;
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Applies ray casting to distinguish the color (like in/out) of each node in modelpart.
Definition: apply_ray_casting_process.h:38
This only calculates the distance. Calculating the inside outside should be done by a derived class o...
Definition: calculate_discontinuous_distance_to_skin_process.h:55
Calculates the nodal distances using elemental discontinuous distances.
Definition: calculate_distance_to_skin_process.h:40
CalculateDistanceToSkinProcess & operator=(CalculateDistanceToSkinProcess const &rOther)=delete
Assignment operator.
CalculateDistanceToSkinProcess(CalculateDistanceToSkinProcess const &rOther)=delete
Copy constructor.
typename ApplyRayCastingProcess< TDim >::IntersectionGeometryType IntersectionGeometryType
Types from the ApplyRayCastingProcess.
Definition: calculate_distance_to_skin_process.h:58
CalculateDistanceToSkinProcess()=delete
Default constructor.
typename ApplyRayCastingProcess< TDim >::NodeScalarGetFunctionType NodeScalarGetFunctionType
Definition: calculate_distance_to_skin_process.h:60
typename ApplyRayCastingProcess< TDim >::IntersectionsContainerType IntersectionsContainerType
Definition: calculate_distance_to_skin_process.h:59
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: calculate_distance_to_skin_process.cpp:294
KRATOS_CLASS_POINTER_DEFINITION(CalculateDistanceToSkinProcess)
Pointer definition of CalculateDistanceToSkinProcess.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: calculate_distance_to_skin_process.cpp:301
Geometry base class.
Definition: geometry.h:71
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
Node NodeType
Definition: model_part.h:117
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
Point class.
Definition: point.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432