openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
|
kdtree based partitioning classes. More...
#include <algorithm>
#include <iostream>
#include <math.h>
#include <numeric>
#include <vector>
#include <mpi.h>
Go to the source code of this file.
Classes | |
struct | kdpart::vec3< S > |
minimalistic internal point struct More... | |
struct | kdpart::bbox< S > |
Bounding box struct. More... | |
struct | kdpart::elem< T, S > |
element definition More... | |
struct | kdpart::partition< T, S > |
the struct holding all partition data More... | |
struct | kdpart::mixed_pair< T, S > |
Combined floating point and integer pair. More... | |
class | kdpart::parallel_partitioner< T, S > |
class | kdpart::sequential_partitioner< T, S > |
Namespaces | |
kdpart | |
Macros | |
#define | KD_ORDER_INC 5.0 |
The value we add to the power of two if we need higher partitioning resolution. More... | |
#define | KD_MIN_SIZE 64 |
Enumerations | |
enum | kdpart::axis { kdpart::X = 0, kdpart::Y, kdpart::Z, kdpart::UNSET } |
split axis More... | |
Functions | |
bool | kdpart::is_power_of_two (double val) |
Check if a given value is an integer power of two. More... | |
template<class T , class S > | |
bool | kdpart::operator< (const mixed_pair< T, S > &lhs, const mixed_pair< T, S > &rhs) |
sorting operator More... | |
template<typename V , typename W > | |
V | kdpart::clamp (const V val, const W start, const W end) |
Clamp a value into an interval [start, end]. More... | |
template<class T > | |
void | kdpart::dsp_from_cnt (const std::vector< T > &cnt, std::vector< T > &dsp) |
Compute displacements from counts. More... | |
template<class T > | |
void | kdpart::cnt_from_dsp (const std::vector< T > &dsp, std::vector< T > &cnt) |
Compute counts from displacements. More... | |
template<class V , class W > | |
void | kdpart::sort_copy (std::vector< V > &v1, std::vector< W > &v2) |
#define KD_MIN_SIZE 64 |
Definition at line 187 of file kdpart.hpp.
#define KD_ORDER_INC 5.0 |
The value we add to the power of two if we need higher partitioning resolution.
In the case that the number of processes (thus the number of requested partitions) is not a power of two, we partition with a higher partition number and then evenly distribute the partitions onto the processes. This reduces the difference between partition sizes.
Definition at line 185 of file kdpart.hpp.