ChargeDensityRhs Struct ReferenceΒΆ

adc_cpp: pops::ChargeDensityRhs 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
pops::ChargeDensityRhs Struct Reference

N-species Poisson RHS: f = Sum_s q_s n_s over ALL blocks of the system. More...

#include <elliptic_rhs.hpp>

+ Collaboration diagram for pops::ChargeDensityRhs:

Public Member Functions

template<CoupledSystemLike System>
void operator() (const System &system, MultiFab &rhs) const
 rhs <- 0 then += q_s n_s for each block. Throws if species.size() != n_blocks.
 

Public Attributes

std::vector< SpeciesChargespecies
 

Detailed Description

N-species Poisson RHS: f = Sum_s q_s n_s over ALL blocks of the system.

species[k] describes block k in the CoupledSystem order; REQUIRES species.size() == n_blocks (otherwise an exception).

Two-fluid example "rhs = n_i - n_e": ChargeDensityRhs{{ {.charge=-1, .comp=0}, // block 0: electrons {.charge=+1, .comp=0} }} // block 1: ions

Member Function Documentation

◆ operator()()

template<CoupledSystemLike System>
void pops::ChargeDensityRhs::operator() ( const System system,
MultiFab rhs 
) const
inline

rhs <- 0 then += q_s n_s for each block. Throws if species.size() != n_blocks.

+ Here is the call graph for this function:

Member Data Documentation

◆ species

std::vector<SpeciesCharge> pops::ChargeDensityRhs::species

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