VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
morton_tree.cpp File Reference
#include "morton_tree.h"
#include "../common/simple_math.h"
#include <numeric>
#include <algorithm>
#include <execution>
#include <cmath>
#include "omp.h"
#include <iostream>
#include <oneapi/tbb/parallel_sort.h>
#include <oneapi/tbb/parallel_for_each.h>
#include <oneapi/tbb/scalable_allocator.h>
#include <oneapi/tbb/concurrent_vector.h>
#include <oneapi/tbb/parallel_reduce.h>
#include <atomic>
#include <cassert>
#include <iterator>
#include <oneapi/tbb/enumerable_thread_specific.h>
#include "../common/mpi_utils.h"
Include dependency graph for morton_tree.cpp:

Go to the source code of this file.

Classes

struct  fmm::small_particle< dim, value >
 

Namespaces

namespace  fmm
 

Macros

#define exec_policy   std::execution::par
 

Functions

template<typename point , typename value >
std::pair< point, double > fmm::box_extent (const std::vector< particle< point, value > > &particles)
 
template<int dim>
size_t fmm::ExpandBits (double x, int tree_depth)
 
template<int dim, typename point >
size_t fmm::MortonCode (point val, int tree_depth, point shift, double scale)
 
template<typename point >
point fmm::PointFromMortonCode (size_t val, int depth, point shift, double scale)
 
template<>
size_t fmm::ExpandBits< 2 > (double x, int tree_depth)
 
template<>
size_t fmm::ExpandBits< 3 > (double x, int tree_depth)
 
template<>
size_t fmm::MortonCode< 2, point2d > (point2d val, int tree_depth, point2d shift, double scale)
 
template<>
size_t fmm::MortonCode< 3, point3d > (point3d val, int tree_depth, point3d shift, double scale)
 
template<>
point2d fmm::PointFromMortonCode (size_t val, int depth, point2d shift, double scale)
 
template<>
point3d fmm::PointFromMortonCode (size_t val, int depth, point3d shift, double scale)
 
template<typename value >
std::pair< point2d, double > fmm::box_extent (const std::vector< particle< point2d, value > > &particles)
 
template<typename value >
std::pair< point3d, double > fmm::box_extent (const std::vector< particle< point3d, value > > &particles)
 

Macro Definition Documentation

◆ exec_policy

#define exec_policy   std::execution::par

Definition at line 32 of file morton_tree.cpp.