|
peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
|
#include <array>#include <cmath>#include <cstdint>#include <cstdio>#include <Kokkos_Core.hpp>#include <string>#include <type_traits>#include <vector>#include "morton/morton.hpp"#include "peclet/core/common/view.hpp"#include "peclet/voro/convex_cell.hpp"#include "peclet/voro/sdf.hpp"#include "peclet/voro/tess_grid.hpp"#include "peclet/voro/tessellation_view.hpp"

Go to the source code of this file.
Classes | |
| struct | peclet::voro::TessellatorResult< Real > |
| struct | peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj, MAXP, MAXT > |
Namespaces | |
| namespace | peclet |
| namespace | peclet::voro |
| Device-native Voronoi tessellation, geometry and finite-volume physics. | |
Enumerations | |
| enum | peclet::voro::StatusBit { peclet::voro::kOk = 0 , peclet::voro::kOverflow = 1 , peclet::voro::kEmpty = 2 , peclet::voro::kIncomplete = 4 , peclet::voro::kNegOffset = 8 , peclet::voro::kBuried = 16 , peclet::voro::kReachExceeded = 32 } |
| Per-cell status bits written by the build pass. More... | |
Functions | |
| template<class Cell , int MAXF> | |
| KOKKOS_INLINE_FUNCTION int | peclet::voro::areaGradEnumerate (const Cell &c, const int *faces, int nf, unsigned char *part, unsigned char *pcnt, bool &full) |
| template<class Cell , int MAXF, class IView , class RView > | |
| KOKKOS_INLINE_FUNCTION void | peclet::voro::areaGradFill (const Cell &c, const int *faces, int nf, const unsigned char *part, const unsigned char *pcnt, int base, int ebase, const IView &oEdgeOff, const IView &oEdgeCnt, const IView &oEdgeFacet, const RView &oEdgeGrad, const RView &oEdgeLen) |
| template<class Real , bool Weighted, class Sdf = NoSdf, int MAXP = kMaxPlanes, int MAXT = kMaxTriangles> | |
| TessellatorResult< Real > | peclet::voro::buildTessellation (const Kokkos::View< Real *, peclet::core::MemSpace > &posFlat, const Kokkos::View< Real *, peclet::core::MemSpace > &weight, int N, const Real L[3], int sw=kSearchWindow, int densityCount=-1, Kokkos::View< long *, peclet::core::MemSpace > gid={}, Sdf sdf={}, bool withForceGeom=true, int nBuild=-1, Kokkos::View< int *, peclet::core::MemSpace > outNp={}, Kokkos::View< int *, peclet::core::MemSpace > outNt={}, Kokkos::View< int *, peclet::core::MemSpace > outPnbr={}, Kokkos::View< unsigned *, peclet::core::MemSpace > outTri={}, Kokkos::View< int *, peclet::core::MemSpace > outCand={}, Kokkos::View< int *, peclet::core::MemSpace > outCandCnt={}, int candCap=0, WorklistCache< Real > *wlc=nullptr, WallStore< Real > outWall={}, bool withAreaGrad=false, Kokkos::View< int *, peclet::core::MemSpace > outNear={}, Kokkos::View< int *, peclet::core::MemSpace > outNearCnt={}, int nearCap=0, Real nearMargin=Real(0), bool withWallFD=false, bool withMoments=false, bool profile=false) |