3 #if !defined(KRATOS_SEARCH_STRUCTURE_PERIODIC_H_INCLUDED )
4 #define KRATOS_SEARCH_STRUCTURE_PERIODIC_H_INCLUDED
38 template<
class IndexType,
class SizeType>
51 Set(Min_,Max_,MaxSize_,Block_);
58 Set(iCell,iCell,MaxSize_,Block_);
114 class CoordinateType,
116 class IteratorIteratorType,
117 std::size_t Dimension >
152 IteratorIteratorType
const& IteratorBegin)
154 Set(Min_,Max_,MaxSize_,IteratorBegin);
159 IteratorIteratorType
const& IteratorBegin)
161 Set(IndexCell,IndexCell,MaxSize_,IteratorBegin);
166 Set(Min_,Max_,MaxSize_);
171 Set(IndexCell,IndexCell,MaxSize_);
178 Set(IndexCell, IndexCell, _MaxSize, IteratorBegin );
184 IteratorIteratorType
const& IteratorBegin )
187 Axis[0].Set(Min_[0], Max_[0], MaxSize_[0], Block);
190 Block *= MaxSize_[
i-1];
191 Axis[
i].Set(Min_[
i],Max_[
i],MaxSize_[
i],Block);
202 Set(IndexCell,IndexCell,MaxSize_);
208 Axis[0].Set(Min_[0], Max_[0], MaxSize_[0], Block);
211 Block *= MaxSize_[
i-1];
212 Axis[
i].Set(Min_[
i],Max_[
i],MaxSize_[
i],Block);
218 return Idx +
Axis[0].Min;
223 return Idx +
Axis[0].Max+1;
Definition: search_structure_periodic.h:119
void Set(IndexVector const &IndexCell, SizeVector const &_MaxSize, IteratorIteratorType const &IteratorBegin)
Definition: search_structure_periodic.h:176
Tvector< IndexType, Dimension > IndexVector
Definition: search_structure_periodic.h:127
SearchStructurePeriodic(IndexVector const &IndexCell, SizeVector const &MaxSize_, IteratorIteratorType const &IteratorBegin)
Definition: search_structure_periodic.h:157
SearchStructurePeriodic()
Definition: search_structure_periodic.h:147
SearchStructurePeriodic< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, Dimension > ThisType
Definition: search_structure_periodic.h:130
IteratorIteratorType RowEnd
Definition: search_structure_periodic.h:137
SearchStructurePeriodic(IndexVector const &Min_, IndexVector const &Max_, SizeVector const &MaxSize_)
Definition: search_structure_periodic.h:164
SearchStructurePeriodic(IndexVector const &Min_, IndexVector const &Max_, SizeVector const &MaxSize_, IteratorIteratorType const &IteratorBegin)
Definition: search_structure_periodic.h:149
void Set(IndexVector const &IndexCell, SizeVector const &MaxSize_)
Definition: search_structure_periodic.h:200
KRATOS_CLASS_POINTER_DEFINITION(SearchStructurePeriodic)
Pointer definition of SearchStructurePeriodic.
SizeType BucketCounter
Definition: search_structure_periodic.h:143
SearchStructurePeriodic const & operator++()
Definition: search_structure_periodic.h:226
SubBinAxisPeriodic< IndexType, SizeType > Axis[3]
Definition: search_structure_periodic.h:135
SearchStructurePeriodic(IndexVector const &IndexCell, SizeVector const &MaxSize_)
Definition: search_structure_periodic.h:169
void Set(IndexVector const &Min_, IndexVector const &Max_, SizeVector const &MaxSize_)
Definition: search_structure_periodic.h:205
Tvector< SizeType, Dimension > SizeVector
Definition: search_structure_periodic.h:128
CoordinateType residual_distance[Dimension]
Definition: search_structure_periodic.h:142
IndexType EndRow(IndexType const &Idx)
Definition: search_structure_periodic.h:221
IndexType BeginRow(IndexType const &Idx)
Definition: search_structure_periodic.h:216
CoordinateType distance_to_partition2
Definition: search_structure_periodic.h:141
IteratorIteratorType DataBegin
Definition: search_structure_periodic.h:138
~SearchStructurePeriodic()
Definition: search_structure_periodic.h:174
IteratorIteratorType RowBegin
Definition: search_structure_periodic.h:136
void Set(IndexVector const &Min_, IndexVector const &Max_, SizeVector const &MaxSize_, IteratorIteratorType const &IteratorBegin)
Definition: search_structure_periodic.h:181
CoordinateType distance_to_partition
Definition: search_structure_periodic.h:140
SearchStructurePeriodic const & operator--()
Definition: search_structure_periodic.h:238
TOOLS UTILS ///.
Definition: search_structure_periodic.h:40
IndexType EndIndex()
Definition: search_structure_periodic.h:83
SubBinAxisPeriodic(IndexType const &Min_, IndexType const &Max_, IndexType const &MaxSize_, IndexType const &Block_)
Definition: search_structure_periodic.h:49
SubBinAxisPeriodic const & operator++()
Definition: search_structure_periodic.h:96
IndexType MaxSize
Definition: search_structure_periodic.h:44
IndexType Max
Definition: search_structure_periodic.h:43
IndexType Min
Definition: search_structure_periodic.h:42
void Set(IndexType const &Min_, IndexType const &Max_, IndexType const &MaxSize_, IndexType const &Block_)
Definition: search_structure_periodic.h:60
void Set(IndexType const &iCell, IndexType const &MaxSize_, IndexType const &Block_)
Definition: search_structure_periodic.h:56
IndexType Block
Definition: search_structure_periodic.h:45
IndexType Begin()
Definition: search_structure_periodic.h:71
~SubBinAxisPeriodic()
Definition: search_structure_periodic.h:54
IndexType End()
Definition: search_structure_periodic.h:75
SubBinAxisPeriodic()
Definition: search_structure_periodic.h:47
SubBinAxisPeriodic const & operator--()
Definition: search_structure_periodic.h:102
SizeType Size()
Definition: search_structure_periodic.h:87
IndexType BeginIndex()
Definition: search_structure_periodic.h:79
Short class definition.
Definition: search_structure.h:53
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
integer i
Definition: TensorModule.f:17
Configure::IteratorType IteratorType
Definition: transfer_utility.h:249