.. index:: pair: namespace; seams::domain .. _doxid-namespaceseams_1_1domain: namespace seams::domain ======================= .. toctree:: :hidden: struct_seams_domain_RingSummary.rst struct_seams_domain_Share.rst Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block namespace domain { // typedefs typedef :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double> :target:`Cloud`; // structs struct :ref:`RingSummary`; struct :ref:`Share`; // global functions :ref:`RingSummary` :ref:`summarize`(const std::vector>& ringList, int nAtoms, int maxDepth); std::uint64_t :ref:`hilbertKey`(std::uint32_t x, std::uint32_t y, std::uint32_t z, int bits); :ref:`Share` :ref:`decompose`(const :ref:`Cloud`& cloud, int rank, int nRanks, double halo); :ref:`Cloud` :ref:`subCloud`(const :ref:`Cloud`& cloud, const std::vector& atoms); std::vector> :ref:`rings`(const :ref:`Cloud`& cloud, double cutoff, int maxDepth, int rank, int nRanks); } // namespace domain .. _details-namespaceseams_1_1domain: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Global Functions ---------------- .. index:: pair: function; summarize .. _doxid-namespaceseams_1_1domain_1a08b7a66725169b459556ffeb9a2791de: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`RingSummary` summarize(const std::vector>& ringList, int nAtoms, int maxDepth) The summary of *ringList* over a frame of *nAtoms* atoms. .. index:: pair: function; hilbertKey .. _doxid-namespaceseams_1_1domain_1ad678cb494640b797ce08a5c07565785c: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::uint64_t hilbertKey(std::uint32_t x, std::uint32_t y, std::uint32_t z, int bits) Position of cell (x, y, z) along the Hilbert curve over a 2^bits grid. .. index:: pair: function; decompose .. _doxid-namespaceseams_1_1domain_1a98d70d81f9a7b925ff2ddefedb2be450: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Share` decompose(const :ref:`Cloud`& cloud, int rank, int nRanks, double halo) The atoms rank *rank* of *nRanks* owns, and every atom within *halo* of one of them. Without a periodic box rank 0 owns every atom. .. index:: pair: function; subCloud .. _doxid-namespaceseams_1_1domain_1a117adcb3bb1eb7b853386cdb464eded8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Cloud` subCloud(const :ref:`Cloud`& cloud, const std::vector& atoms) The listed atoms of *cloud*, in that order, in the same box. .. index:: pair: function; rings .. _doxid-namespaceseams_1_1domain_1ab982f532567f97c32b948bf06caa992b: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::vector> rings(const :ref:`Cloud`& cloud, double cutoff, int maxDepth, int rank, int nRanks) Primitive rings of the cutoff graph up to *maxDepth* members whose lowest-indexed member rank *rank* owns, by frame index, as :ref:`primitive::ringNetwork ` lists them for the graph with ascending rows. Each rank needs only its share, and the ranks' rings partition the frame's.