Local octree portion for each process. More...
#include <LocalTree.hpp>
Public Types | |
typedef std::vector< bool > | bvector |
typedef std::vector< Intersection > | intervector |
typedef std::vector< Octant > | octvector |
typedef std::vector< u32array3 > | u32arr3vector |
typedef std::vector< uint32_t > | u32vector |
typedef std::vector< uint64_t > | u64vector |
typedef std::vector< uint8_t > | u8vector |
Protected Member Functions | |
std::array< int64_t, 3 > | computeFirstVirtualEdgeNeighOffset (uint8_t level, uint8_t iedge, uint8_t neighLevel) const |
std::array< int64_t, 3 > | computeFirstVirtualNeighOffset (uint8_t level, uint8_t iface, uint8_t neighLevel) const |
std::array< int64_t, 3 > | computeFirstVirtualNodeNeighOffset (uint8_t level, uint8_t inode, uint8_t neighLevel) const |
std::array< int64_t, 3 > | computeLastVirtualEdgeNeighOffset (uint8_t level, uint8_t iedge, uint8_t neighLevel) const |
std::array< int64_t, 3 > | computeLastVirtualNeighOffset (uint8_t level, uint8_t iface, uint8_t neighLevel) const |
std::array< int64_t, 3 > | computeLastVirtualNodeNeighOffset (uint8_t level, uint8_t inode, uint8_t neighLevel) const |
void | computeVirtualEdgeNeighOffsets (uint8_t level, uint8_t iedge, uint8_t neighLevel, std::vector< std::array< int64_t, 3 > > *neighOffsets) const |
void | computeVirtualNeighOffsets (uint8_t level, uint8_t iface, uint8_t neighLevel, std::vector< std::array< int64_t, 3 > > *neighOffsets) const |
void | computeVirtualNodeNeighOffsets (uint8_t level, uint8_t inode, uint8_t neighLevel, std::vector< std::array< int64_t, 3 > > *neighOffsets) const |
std::array< int64_t, 3 > | getEdgePeriodicOffset (const Octant &octant, uint8_t iedge) const |
uint8_t | getMaxEdgeNeighLevel (const Octant &octant) const |
uint8_t | getMaxNeighLevel (const Octant &octant) const |
uint8_t | getMaxNodeNeighLevel (const Octant &octant) const |
std::array< int64_t, 3 > | getNodePeriodicOffset (const Octant &octant, uint8_t inode) const |
std::array< int64_t, 3 > | getPeriodicOffset (const Octant &octant, uint8_t iface) const |
Friends | |
class | ParaTree |
Detailed Description
Local octree portion for each process.
- Date
- 15/dec/2015
- Copyright
- Copyright (C) 2015-2021 OPTIMAD engineering srl. All rights reserved.
Local tree consists mainly of two vectors with:
- actual octants stored on current process;
- ghost octants neighbours of the first ones.
The octants (and ghosts) are ordered following the Z-curve defined by the Morton index.
Optionally in local tree three vectors of intersections are stored:
- intersections located on the physical domain of the octree;
- intersections of process bord (i.e. between octants and ghosts);
- intersections completely located in the domain of the process (i.e. between actual octants).
Class LocalTree is built with a dimensional parameter int dim and it accepts only two values: dim=2 and dim=3, for 2D and 3D respectively.
Definition at line 71 of file LocalTree.hpp.
Member Typedef Documentation
◆ bvector
typedef std::vector<bool> bitpit::LocalTree::bvector |
Vector of boolean values.
Definition at line 94 of file LocalTree.hpp.
◆ intervector
typedef std::vector<Intersection> bitpit::LocalTree::intervector |
Vector of Intersections.
Definition at line 90 of file LocalTree.hpp.
◆ octvector
typedef std::vector<Octant> bitpit::LocalTree::octvector |
Vector of Octants.
Definition at line 86 of file LocalTree.hpp.
◆ u32arr3vector
typedef std::vector<u32array3> bitpit::LocalTree::u32arr3vector |
Vector of three-dimensional arrays of unsigned int (32-bit).
Definition at line 110 of file LocalTree.hpp.
◆ u32vector
typedef std::vector<uint32_t> bitpit::LocalTree::u32vector |
Vector of usigned int (32-bit).
Definition at line 102 of file LocalTree.hpp.
◆ u64vector
typedef std::vector<uint64_t> bitpit::LocalTree::u64vector |
Vector of unsigned int (64-bit).
Definition at line 106 of file LocalTree.hpp.
◆ u8vector
typedef std::vector<uint8_t> bitpit::LocalTree::u8vector |
Vector of unsigned int (8-bit).
Definition at line 98 of file LocalTree.hpp.
Member Function Documentation
◆ computeFirstVirtualEdgeNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its first virtual edge neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] iedge Local index of the edge. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2254 of file LocalTree.cpp.
◆ computeFirstVirtualNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its first virtual face neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] iface Local index of the face. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2073 of file LocalTree.cpp.
◆ computeFirstVirtualNodeNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its first virtual node neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] inode Local index of the node. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2197 of file LocalTree.cpp.
◆ computeLastVirtualEdgeNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its last virtual edge neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] iedge Local index of the edge. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2285 of file LocalTree.cpp.
◆ computeLastVirtualNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its last virtual face neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] iface Local index of the face. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2104 of file LocalTree.cpp.
◆ computeLastVirtualNodeNeighOffset()
|
protected |
Compute the offset from the origin of an octant to its last virtual node neighobur. The term "virtual" means that the tree may not contain any octant at the position defined by the computed offset.
- Parameters
-
[in] level The level of the octant. [in] inode Local index of the node. [in] neighLevel The level of the virtual neighbours.
- Returns
- The computed offset.
Definition at line 2228 of file LocalTree.cpp.
◆ computeVirtualEdgeNeighOffsets()
|
protected |
Compute the offsets from the origin of an octant to its virtual edge neighoburs. The term "virtual" means that the tree may not contain any octant at the positions defined by the computed offsets.
- Parameters
-
[in] level The level of the octant. [in] iedge Local index of the edge. [in] neighLevel The level of the virtual neighbours. [out] neighOffsets On output will contain the offsets.
Definition at line 2329 of file LocalTree.cpp.
◆ computeVirtualNeighOffsets()
|
protected |
Compute the offsets from the origin of an octant to its virtual node neighoburs. The term "virtual" means that the tree may not contain any octant at the positions defined by the computed offsets.
- Parameters
-
[in] level The level of the octant. [in] iface Local index of the node. [in] neighLevel The level of the virtual neighbours. [out] neighOffsets On output will contain the offsets.
Definition at line 2145 of file LocalTree.cpp.
◆ computeVirtualNodeNeighOffsets()
|
protected |
Compute the offsets from the origin of an octant to its virtual node neighoburs. The term "virtual" means that the tree may not contain any octant at the positions defined by the computed offsets.
- Parameters
-
[in] level The level of the octant. [in] inode Local index of the node. [in] neighLevel The level of the virtual neighbours. [out] neighOffsets On output will contain the offsets.
Definition at line 2241 of file LocalTree.cpp.
◆ getEdgePeriodicOffset()
|
protected |
Get the periodic offset for the specified edge of the given octant. The offset is the displacement that should be applied to a point on the specified edge to move that point to the corresponding periodic edge.
- Parameters
-
[in] octant Octant for which the offset should be evaluated [in] iedge Index of edge
- Returns
- The periodic offset for the specified edge of the given octant.
Definition at line 2422 of file LocalTree.cpp.
◆ getMaxEdgeNeighLevel()
|
protected |
Get the maximum level an edge neighbour of the specified octant can have. If 2:1 edge balance is active, a neighbour can only have one more refinement level than the specified octant.
- Parameters
-
[in] octant Octant for which the check has to be performed.
- Returns
- The maximum level an edge neighbour of the specified octant can have.
Definition at line 2477 of file LocalTree.cpp.
◆ getMaxNeighLevel()
|
protected |
Get the maximum level a face neighbour of the specified octant can have. If 2:1 face balance is active, a neighbour can only have one more refinement level than the specified octant.
- Parameters
-
[in] octant Octant for which the check has to be performed.
- Returns
- The maximum level a face neighbour of the specified octant can have.
Definition at line 2447 of file LocalTree.cpp.
◆ getMaxNodeNeighLevel()
|
protected |
Get the maximum level a node neighbour of the specified octant can have. If 2:1 node balance is active, a neighbour can only have one more refinement level than the specified octant.
- Parameters
-
[in] octant Octant for which the check has to be performed.
- Returns
- The maximum level a node neighbour of the specified octant can have.
Definition at line 2462 of file LocalTree.cpp.
◆ getNodePeriodicOffset()
|
protected |
Get the periodic offset for the specified node of the given octant. The offset is the displacement that should be applied to a point on the specified node to move that point to the corresponding periodic node.
- Parameters
-
[in] octant Octant for which the offset should be evaluated [in] inode Index of node
- Returns
- The periodic offset for the specified node of the given octant.
Definition at line 2397 of file LocalTree.cpp.
◆ getPeriodicOffset()
|
protected |
Get the periodic offset for the specified face of the given octant. The offset is the displacement that should be applied to a point on the specified face to move that point to the corresponding periodic face.
- Parameters
-
[in] octant Octant for which the offset should be evaluated [in] iface Index of face
- Returns
- The periodic offset for the specified face of the given octant.
Definition at line 2373 of file LocalTree.cpp.
Friends And Related Symbol Documentation
◆ ParaTree
|
friend |
Definition at line 77 of file LocalTree.hpp.
The documentation for this class was generated from the following files:
- src/PABLO/LocalTree.hpp
- src/PABLO/LocalTree.cpp
