|
template<typename idx > |
std::set< Block< 3, idx > > | createInteriorSides (const std::vector< Block< 3, idx > > &decomposition) |
| Creates all unique sides of blocks in a 3D decomposition.
|
|
template<typename idx , typename OutputIterator > |
void | createSides (const Block< 3, idx > &block, OutputIterator output) |
| Creates the sides of a 3D block and adds them to the output vector.
|
|
template<typename idx > |
std::set< Block< 3, idx > > | createSides (const std::vector< Block< 3, idx > > &decomposition) |
| Creates all unique sides of blocks in a 3D decomposition.
|
|
template<typename Index > |
std::vector< Block< 3, Index > > | decomposeBlock (const Block< 3, Index > &global, Index num_x, Index num_y=1, Index num_z=1) |
| Decompose a "global" block into several (sub-)blocks in a 3D manner with given block counts along each axis.
|
|
template<typename Index > |
std::vector< Block< 3, Index > > | decomposeBlockOptimal (const Block< 3, Index > &global, Index num_blocks, const std::function< Index(const std::vector< Block< 3, Index > > &) > &f=[](const std::vector< Block< 3, Index > > &decomposition) -> Index { return getInterfaceArea(decomposition);}) |
| Decompose a "global" block into several (sub-)blocks in an optimal 3D manner.
|
|
template<std::size_t I, int N, class T > |
constexpr const T && | get (const StaticArray< N, T > &&a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr const T & | get (const StaticArray< N, T > &a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr const T && | get (const StaticVector< N, T > &&a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr const T & | get (const StaticVector< N, T > &a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr T && | get (StaticArray< N, T > &&a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr T & | get (StaticArray< N, T > &a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr T && | get (StaticVector< N, T > &&a) noexcept |
|
template<std::size_t I, int N, class T > |
constexpr T & | get (StaticVector< N, T > &a) noexcept |
|
template<typename idx > |
idx | getArea (const Block< 3, idx > &block, const StaticVector< 3, idx > &axes_weights={ 1, 1, 1 }) |
| Calculates the area of a 2D block in 3D space.
|
|
template<int D, typename Index > |
Block< D, Index >::CoordinatesType | getBlockVertex (const Block< D, Index > &block, SyncDirection direction) |
| Selects a vertex of a block based on a direction from its center.
|
|
template<typename idx > |
idx | getInterfaceArea (const std::vector< Block< 3, idx > > &decomposition, const StaticVector< 3, idx > &axes_weights={ 1, 1, 1 }) |
| Calculates the total area of interior sides in a 3D decomposition.
|
|
template<typename idx > |
double | getMaximumImbalance (const std::vector< Block< 3, idx > > &decomposition, idx global_volume=0) |
| Calculates the maximum imbalance of blocks in a decomposition.
|
|
template<int D, typename idx > |
idx | getVolume (const Block< D, idx > &block) |
| Calculates the volume of a D-dimensional block.
|
|
template<int D, typename idx > |
idx | getVolume (const std::vector< Block< D, idx > > &decomposition) |
| Calculates the volume occupied by blocks in a decomposition.
|
|
template<class Coefficients , typename Vector > |
constexpr auto | linearCombination (const std::array< Vector, Coefficients::getSize() > &vectors) -> typename detail::LinearCombinationReturnType< Coefficients, detail::ConstantVectorTypesWrapper< Vector >, std::integral_constant< std::size_t, 0 > >::type |
| Generates an expression for a linear combination of vectors.
|
|
template<class Coefficients , typename... Vectors, std::enable_if_t< IsArrayType< decltype(Containers::detail::get_from_pack< 0 >(std::declval< Vectors >()...)) >::value , bool > |
constexpr auto | linearCombination (const Vectors &... vectors) -> typename detail::LinearCombinationReturnType< Coefficients, detail::VectorTypesWrapper< Vectors... >, std::integral_constant< std::size_t, 0 > >::type |
| Generates an expression for a linear combination of vectors.
|
|
template<typename Output , typename Input > |
void | nd_absolute (Output &output, const Input &input) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_add (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Input > |
void | nd_assign (Output &output, const Input &input) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_divide (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Func , typename... Input> |
void | nd_map (Output &output, Func f, const Input &... input) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_maximum (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_minimum (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_multiply (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_pow (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<typename Output , typename Input > |
void | nd_sign (Output &output, const Input &input) |
|
template<typename Output , typename Input > |
void | nd_sqrt (Output &output, const Input &input) |
|
template<typename Output , typename Input > |
void | nd_square (Output &output, const Input &input) |
|
template<typename Output , typename Input1 , typename Input2 > |
void | nd_subtract (Output &output, const Input1 &input1, const Input2 &input2) |
|
template<int D, typename idx > |
bool | operator!= (const Block< D, idx > &left, const Block< D, idx > &right) |
| Compares two blocks point-wise.
|
|
SyncDirection | operator& (SyncDirection a, SyncDirection b) |
| Bitwise AND operator for SyncDirection.
|
|
template<typename SizesHolder , std::size_t ConstValue, typename OtherHolder > |
LocalBeginsHolder< SizesHolder, ConstValue > | operator+ (const LocalBeginsHolder< SizesHolder, ConstValue > &lhs, const OtherHolder &rhs) |
|
template<typename Index , std::size_t... sizes, typename OtherHolder > |
SizesHolder< Index, sizes... > | operator+ (const SizesHolder< Index, sizes... > &lhs, const OtherHolder &rhs) |
| Combines the sizes of two instance of SizesHolder with the operator + .
|
|
template<typename SizesHolder , std::size_t ConstValue, typename OtherHolder > |
LocalBeginsHolder< SizesHolder, ConstValue > | operator- (const LocalBeginsHolder< SizesHolder, ConstValue > &lhs, const OtherHolder &rhs) |
|
template<typename Index , std::size_t... sizes, typename OtherHolder > |
SizesHolder< Index, sizes... > | operator- (const SizesHolder< Index, sizes... > &lhs, const OtherHolder &rhs) |
| Combines the sizes of two instance of SizesHolder with the operator - .
|
|
SyncDirection & | operator-= (SyncDirection &a, SyncDirection b) |
| Bitwise operator which clears all bits from b in a .
|
|
template<int D, typename idx > |
bool | operator< (const Block< D, idx > &left, const Block< D, idx > &right) |
| Lexicographically compares two blocks by joining their begin and end points.
|
|
template<typename Value , typename Device , typename Index > |
File & | operator<< (File &&file, ArrayView< Value, Device, Index > view) |
|
template<typename Value , typename Device , typename Index , typename Allocator > |
File & | operator<< (File &&file, const Array< Value, Device, Index, Allocator > &array) |
|
template<int Size, typename Value > |
File & | operator<< (File &&file, const StaticArray< Size, Value > &array) |
| Serialization of static arrays into binary files.
|
|
template<typename Value , typename Device , typename Index > |
File & | operator<< (File &file, ArrayView< Value, Device, Index > view) |
| Serialization of array views into binary files.
|
|
template<typename Value , typename Device , typename Index , typename Allocator > |
File & | operator<< (File &file, const Array< Value, Device, Index, Allocator > &array) |
| Serialization of arrays into binary files.
|
|
template<int Size, typename Value > |
File & | operator<< (File &file, const StaticArray< Size, Value > &array) |
| Serialization of static arrays into binary files.
|
|
template<typename Value , typename Device , typename Index , typename Allocator > |
std::ostream & | operator<< (std::ostream &str, const Array< Value, Device, Index, Allocator > &array) |
| Overloaded insertion operator for printing an array to output stream.
|
|
template<typename Value , typename Device , typename Index > |
std::ostream & | operator<< (std::ostream &str, const ArrayView< Value, Device, Index > &view) |
| Overloaded insertion operator for printing an array view to output stream.
|
|
template<int D, typename idx > |
std::ostream & | operator<< (std::ostream &str, const Block< D, idx > &block) |
| Writes a textual representation of the given multiindex into the given stream.
|
|
template<typename SizesHolder , std::size_t ConstValue> |
std::ostream & | operator<< (std::ostream &str, const LocalBeginsHolder< SizesHolder, ConstValue > &holder) |
|
template<typename Index , std::size_t... sizes> |
std::ostream & | operator<< (std::ostream &str, const SizesHolder< Index, sizes... > &holder) |
| Prints the sizes contained in an instance of SizesHolder to the given output stream.
|
|
template<int Size, typename Value > |
std::ostream & | operator<< (std::ostream &str, const StaticArray< Size, Value > &a) |
|
template<typename Index > |
std::ostream & | operator<< (std::ostream &str, const Subrange< Index > &range) |
|
template<typename Value , typename Index , typename Key > |
std::ostream & | operator<< (std::ostream &str, IndexedMap< Value, Index, Key > &set) |
|
template<typename Element , typename Index > |
std::ostream & | operator<< (std::ostream &str, IndexedSet< Element, Index > &set) |
|
template<class Key , class Index , class Compare , class Allocator > |
std::ostream & | operator<< (std::ostream &str, IndexedSet< Key, Index, Compare, Allocator > &set) |
|
template<typename Element , typename Index > |
std::ostream & | operator<< (std::ostream &str, UnorderedIndexedSet< Element, Index > &set) |
|
template<class Key , class Index , class Hash , class KeyEqual , class Allocator > |
std::ostream & | operator<< (std::ostream &str, UnorderedIndexedSet< Key, Index, Hash, KeyEqual, Allocator > &set) |
|
template<int D, typename idx > |
bool | operator== (const Block< D, idx > &left, const Block< D, idx > &right) |
| Compares two blocks point-wise.
|
|
template<typename Value , typename Device , typename Index , typename Allocator > |
File & | operator>> (File &&file, Array< Value, Device, Index, Allocator > &array) |
|
template<typename Value , typename Device , typename Index > |
File & | operator>> (File &&file, ArrayView< Value, Device, Index > view) |
|
template<int Size, typename Value > |
File & | operator>> (File &&file, StaticArray< Size, Value > &array) |
| Deserialization of static arrays from binary files.
|
|
template<typename Value , typename Device , typename Index , typename Allocator > |
File & | operator>> (File &file, Array< Value, Device, Index, Allocator > &array) |
| Deserialization of arrays from binary files.
|
|
template<typename Value , typename Device , typename Index > |
File & | operator>> (File &file, ArrayView< Value, Device, Index > view) |
| Deserialization of array views from binary files.
|
|
template<int Size, typename Value > |
File & | operator>> (File &file, StaticArray< Size, Value > &array) |
| Deserialization of static arrays from binary files.
|
|
SyncDirection | operator| (SyncDirection a, SyncDirection b) |
| Bitwise OR operator for SyncDirection.
|
|
SyncDirection | opposite (SyncDirection direction) |
| Returns an opposite direction for given direction.
|
|
template<typename DistributedNDArray , std::size_t Q, typename BlockType > |
void | setNeighbors (DistributedNDArraySynchronizer< DistributedNDArray > &synchronizer, const std::array< SyncDirection, Q > &pattern, int rank, const std::vector< BlockType > &decomposition, const BlockType &global) |
| Set neighbors for a synchronizer according to given synchronization pattern and decomposition of a global block.
|
|
template<typename Index > |
Subrange< Index > | splitRange (Index globalSize, const MPI::Comm &communicator) |
| A helper function which splits a one-dimensional range.
|
|
template<typename Index > |
Subrange< Index > | splitRange (Index rangeBegin, Index rangeEnd, int rank, int num_subintervals) |
| A helper function which splits a one-dimensional range.
|
|
template<typename Real > |
__cuda_callable__ Real | TriangleArea (const StaticVector< 2, Real > &a, const StaticVector< 2, Real > &b, const StaticVector< 2, Real > &c) |
|
template<typename Real > |
__cuda_callable__ Real | TriangleArea (const StaticVector< 3, Real > &a, const StaticVector< 3, Real > &b, const StaticVector< 3, Real > &c) |
|
template<typename Real > |
__cuda_callable__ StaticVector< 3, Real > | VectorProduct (const StaticVector< 3, Real > &u, const StaticVector< 3, Real > &v) |
|