7 #if !defined(KRATOS_GEOMETRICAL_OBJECT_CONFIGURE_INCLUDED)
8 #define KRATOS_GEOMETRICAL_OBJECT_CONFIGURE_INCLUDED
41 template <std::
size_t TDimension>
117 noalias(rHighPoint) = rObject->GetGeometry()[0];
118 noalias(rLowPoint) = rObject->GetGeometry()[0];
122 for(std::size_t
i = 0;
i < 3;
i++)
131 noalias(rHighPoint) = rObject->GetGeometry()[0];
132 noalias(rLowPoint) = rObject->GetGeometry()[0];
134 for(std::size_t
i = 0;
i < 3;
i++)
136 rLowPoint[
i] += -Radius;
137 rHighPoint[
i] += Radius;
143 rCenter = rObject->GetGeometry()[0];
151 noalias(rObj_2_to_rObj_1) = rObj_1->GetGeometry()[0] - rObj_2->GetGeometry()[0];
157 bool intersect = floatle((
distance_2 - radius_sum * radius_sum),0);
164 noalias(rObj_2_to_rObj_1) = rObj_1->GetGeometry()[0] - rObj_2->GetGeometry()[0];
170 bool intersect = floatle((
distance_2 - radius_sum * radius_sum),0);
185 floatle(rLowPoint[0] -
radius,center_of_particle[0]) &&
186 floatle(rLowPoint[1] -
radius,center_of_particle[1]) &&
187 floatle(rLowPoint[2] -
radius,center_of_particle[2]) &&
188 floatge(rHighPoint[0] +
radius,center_of_particle[0]) &&
189 floatge(rHighPoint[1] +
radius,center_of_particle[1]) &&
190 floatge(rHighPoint[2] +
radius,center_of_particle[2]));
201 floatle(rLowPoint[0] -
radius,center_of_particle[0]) &&
202 floatle(rLowPoint[1] -
radius,center_of_particle[1]) &&
203 floatle(rLowPoint[2] -
radius,center_of_particle[2]) &&
204 floatge(rHighPoint[0] +
radius,center_of_particle[0]) &&
205 floatge(rHighPoint[1] +
radius,center_of_particle[1]) &&
206 floatge(rHighPoint[2] +
radius,center_of_particle[2]));
215 distance = std::sqrt((center_of_particle1[0] - center_of_particle2[0]) * (center_of_particle1[0] - center_of_particle2[0]) +
216 (center_of_particle1[1] - center_of_particle2[1]) * (center_of_particle1[1] - center_of_particle2[1]) +
217 (center_of_particle1[2] - center_of_particle2[2]) * (center_of_particle1[2] - center_of_particle2[2]) );
237 virtual std::string
Info()
const {
return " Spatial Containers Configure for Particles"; }
298 static inline bool floateq(
double a,
double b) {
299 return std::fabs(
a -
b) < std::numeric_limits<double>::epsilon();
302 static inline bool floatle(
double a,
double b) {
303 return std::fabs(
a -
b) < std::numeric_limits<double>::epsilon() ||
a <
b;
306 static inline bool floatge(
double a,
double b) {
307 return std::fabs(
a -
b) < std::numeric_limits<double>::epsilon() ||
a >
b;
342 template <std::
size_t TDimension>
348 template <std::
size_t TDimension>
351 rOStream << std::endl;
Point class.
Definition: point.h:59
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
TContainerType ContainerType
Definition: pointer_vector_set.h:90
This class is used to search for elements, conditions and nodes in a given model part.
Definition: spatial_search.h:50
Definition: spheric_particle.h:31
virtual double GetSearchRadius()
Definition: spheric_particle.cpp:2201
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
TExpression1Type::data_type inner_prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:592
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
a
Definition: generate_stokes_twofluid_element.py:77
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31
float radius
Definition: mesh_to_mdpa_converter.py:18
distance_2
Definition: sp_statistics.py:71
integer i
Definition: TensorModule.f:17