ExBVelocity Struct ReferenceΒΆ

adc_cpp: pops::ExBVelocity Struct Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends

Scalar advection by the E x B drift: v = (-d_y phi, d_x phi)/B0 (divergence-free). More...

#include <hyperbolic.hpp>

+ Collaboration diagram for pops::ExBVelocity:

Public Types

using State = StateVec< 1 >
 
using Prim = StateVec< 1 >
 

Public Member Functions

POPS_HD Real velocity (const Aux &a, int dir) const
 
POPS_HD StateVec< 1 > flux (const StateVec< 1 > &u, const Aux &a, int dir) const
 
POPS_HD Real max_wave_speed (const StateVec< 1 > &, const Aux &a, int dir) const
 
POPS_HD StateVec< 1 > eigenvalues (const StateVec< 1 > &, const Aux &a, int dir) const
 Spectrum: one wave, the drift speed in direction dir.
 
POPS_HD Prim to_primitive (const StateVec< 1 > &u) const
 
POPS_HD StateVec< 1 > to_conservative (const Prim &p) const
 

Static Public Member Functions

static VariableSet conservative_vars ()
 
static VariableSet primitive_vars ()
 

Public Attributes

Real B0 = 1
 

Static Public Attributes

static constexpr int n_vars = 1
 

Detailed Description

Scalar advection by the E x B drift: v = (-d_y phi, d_x phi)/B0 (divergence-free).

1-variable HYPERBOLIC brick (scalar density n). Satisfies HyperbolicPhysicalModel. CONTRACT: purely pointwise functions, device-callable (POPS_HD). No MultiFab, no allocation, no global access. The divergence-free E x B drift ensures exact conservation (no compression term in this flux). Variables cons = prim = {n} (scalar: no nontrivial conversion).

Member Typedef Documentation

◆ Prim

◆ State

Member Function Documentation

◆ conservative_vars()

static VariableSet pops::ExBVelocity::conservative_vars ( )
inlinestatic

◆ eigenvalues()

POPS_HD StateVec< 1 > pops::ExBVelocity::eigenvalues ( const StateVec< 1 > &  ,
const Aux a,
int  dir 
) const
inline

Spectrum: one wave, the drift speed in direction dir.

+ Here is the call graph for this function:

◆ flux()

POPS_HD StateVec< 1 > pops::ExBVelocity::flux ( const StateVec< 1 > &  u,
const Aux a,
int  dir 
) const
inline
+ Here is the call graph for this function:

◆ max_wave_speed()

POPS_HD Real pops::ExBVelocity::max_wave_speed ( const StateVec< 1 > &  ,
const Aux a,
int  dir 
) const
inline
+ Here is the call graph for this function:

◆ primitive_vars()

static VariableSet pops::ExBVelocity::primitive_vars ( )
inlinestatic

◆ to_conservative()

POPS_HD StateVec< 1 > pops::ExBVelocity::to_conservative ( const Prim p) const
inline

◆ to_primitive()

POPS_HD Prim pops::ExBVelocity::to_primitive ( const StateVec< 1 > &  u) const
inline

◆ velocity()

POPS_HD Real pops::ExBVelocity::velocity ( const Aux a,
int  dir 
) const
inline
+ Here is the caller graph for this function:

Member Data Documentation

◆ B0

Real pops::ExBVelocity::B0 = 1

◆ n_vars

constexpr int pops::ExBVelocity::n_vars = 1
staticconstexpr

The documentation for this struct was generated from the following file: