ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
quadtree.hpp File Reference

Adaptive phase-space quadtree for noise control. More...

#include "prec_const.hpp"
#include <Kokkos_Core.hpp>
#include <memory>
#include <vector>
+ Include dependency graph for quadtree.hpp:

Classes

class  orb5x::Quadtree
 Applies local velocity-space smoothing to marker weights. More...
 
struct  orb5x::QuadtreeBox
 Axis-aligned leaf or internal node in \((v_\parallel,v_\perp)\). More...
 

Namespaces

namespace  orb5x
 Public C++ interface of the ORB5X gyrokinetic application.
 
namespace  orb5x::QuadtreeConstants
 One-based row identifiers inherited from the Fortran particle buffer.
 

Variables

constexpr int orb5x::QuadtreeConstants::POS1 = 1
 Row containing normalized parallel velocity.
 
constexpr int orb5x::QuadtreeConstants::POS2 = 2
 Row containing normalized perpendicular velocity.
 
constexpr int orb5x::QuadtreeConstants::WEIGHT1 = 3
 Row containing the primary marker weight.
 
constexpr int orb5x::QuadtreeConstants::WEIGHT2 = 4
 Row containing the optional second weight.
 

Detailed Description

Adaptive phase-space quadtree for noise control.

Partitions marker samples, computes leaf statistics, and applies configured smoothing.