|
chombo-discharge
|
Abstract interface for specifying plasma kinetics in the CdrPlasma physics module. More...
#include <CD_CdrPlasmaPhysics.H>

Protected Attributes | |
| Vector< RefCountedPtr< CdrSpecies > > | m_cdrSpecies |
| CDR species definitions. Subclasses populate this in their constructor. | |
| Vector< RefCountedPtr< RtSpecies > > | m_rtSpecies |
| RTE species definitions. Subclasses populate this in their constructor. | |
| int | m_numCdrSpecies |
| Number of CDR species. | |
| int | m_numRtSpecies |
| Number of RTE species. | |
Abstract interface for specifying plasma kinetics in the CdrPlasma physics module.
This class defines the coupling functions required by CdrPlasmaStepper to advance a system of convection-diffusion-reaction (CDR) equations for charged and neutral species together with radiative transfer equations (RTE) for photon densities, all in a self-consistent electric field obtained from Poisson's equation.
Concrete subclasses must implement:
Species are registered by filling m_cdrSpecies and m_rtSpecies in the subclass constructor. The ordering of species in all input/output vectors throughout this interface matches the ordering in those two containers.
|
pure virtual |
Advance the reaction network over a time interval and return source terms.
The advance is assumed to take the form phi^{k+1} = phi^k + S * dt. Implementations may either fill a_cdrSources and a_rteSources directly (explicit rule), or perform a fully implicit sub-step and back out the equivalent source S from the result.
| [out] | a_cdrSources | CDR source terms (same ordering as m_cdrSpecies). |
| [out] | a_rteSources | RTE source terms (same ordering as m_rtSpecies). |
| [in] | a_cdrDensities | CDR species densities at this point. |
| [in] | a_cdrGradients | CDR species density gradients at this point. |
| [in] | a_rteDensities | RTE photon densities at this point. |
| [in] | a_E | Electric field vector at this point. |
| [in] | a_pos | Physical position. |
| [in] | a_dx | Grid cell spacing. |
| [in] | a_dt | Time step size. |
| [in] | a_time | Current simulation time. |
| [in] | a_kappa | Volume fraction of the grid cell. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute the Townsend ionization coefficient alpha.
Used primarily by cell tagging classes to identify high-ionization regions.
| [in] | a_E | Electric field magnitude (V/m). |
| [in] | a_position | Physical position. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute CDR species fluxes on dielectric-gas EB interfaces.
Used as a boundary condition on dielectric EB cells. A positive flux is directed into the gas phase (outward from the dielectric).
| [in] | a_time | Current simulation time. |
| [in] | a_pos | EB centroid position. |
| [in] | a_normal | Outward unit normal pointing into the gas phase. |
| [in] | a_E | Electric field at the EB centroid. |
| [in] | a_cdrDensities | CDR densities at the EB centroid. |
| [in] | a_cdrVelocities | Normal component of CDR drift velocities at the EB. |
| [in] | a_cdrGradients | Normal gradient of CDR densities at the EB. |
| [in] | a_rteFluxes | Normal component of RTE fluxes at the EB. |
| [in] | a_extrapCdrFluxes | CDR fluxes extrapolated from the gas-phase interior. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute diffusion coefficients for all CDR species.
| [in] | a_time | Current simulation time. |
| [in] | a_pos | Physical position. |
| [in] | a_E | Electric field vector. |
| [in] | a_cdrDensities | CDR species densities. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute CDR species fluxes through computational domain boundaries.
A positive flux is directed into the domain.
| [in] | a_time | Current simulation time. |
| [in] | a_pos | Position on the domain face. |
| [in] | a_dir | Coordinate direction (0=x, 1=y, 2=z). |
| [in] | a_side | Low or high side of the domain. |
| [in] | a_E | Electric field at the domain face. |
| [in] | a_cdrDensities | CDR densities at the domain face. |
| [in] | a_cdrVelocities | Normal component of CDR drift velocities at the domain face. |
| [in] | a_cdrGradients | Normal component of CDR density gradients at the domain face. |
| [in] | a_rteFluxes | Normal component of RTE fluxes at the domain face. |
| [in] | a_extrapCdrFluxes | CDR fluxes extrapolated from the interior. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute drift velocities for all CDR species.
| [in] | a_time | Current simulation time. |
| [in] | a_pos | Physical position. |
| [in] | a_E | Electric field vector. |
| [in] | a_cdrDensities | CDR species densities. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute CDR species fluxes on electrode-gas EB interfaces.
Used as a boundary condition on electrode EB cells. A positive flux is directed into the gas phase (outward from the electrode).
| [in] | a_time | Current simulation time. |
| [in] | a_pos | EB centroid position. |
| [in] | a_normal | Outward unit normal pointing into the gas phase. |
| [in] | a_E | Electric field at the EB centroid. |
| [in] | a_cdrDensities | CDR densities at the EB centroid. |
| [in] | a_cdrVelocities | Normal component of CDR drift velocities at the EB. |
| [in] | a_cdrGradients | Normal gradient of CDR densities at the EB. |
| [in] | a_rteFluxes | Normal component of RTE fluxes at the EB. |
| [in] | a_extrapCdrFluxes | CDR fluxes extrapolated from the gas-phase interior. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
pure virtual |
Compute the Townsend attachment coefficient eta.
Used primarily by cell tagging classes to identify attachment-dominated regions.
| [in] | a_E | Electric field magnitude (V/m). |
| [in] | a_position | Physical position. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
inline |
Return the list of CDR species.
Return the number of plot variables provided by this physics class.
CdrPlasmaStepper calls this to pre-allocate output storage. The returned value must match the length of the vectors returned by getPlotVariableNames() and getPlotVariables().
Reimplemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
inline |
Return the number of CDR species.
|
inline |
Return the number of RTE equations.
|
inlinevirtual |
Return the names of the extra plot variables.
The length of the returned vector must match getNumberOfPlotVariables(). The ordering must be consistent with getPlotVariables().
Reimplemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
inlinevirtual |
Evaluate the extra plot variables at a single grid point.
Called by CdrPlasmaStepper when writing plot files. The length of the returned vector must match getNumberOfPlotVariables().
| [in] | a_cdrDensities | CDR species densities at this point. |
| [in] | a_cdrGradients | CDR species density gradients at this point. |
| [in] | a_rteDensities | RTE photon densities at this point. |
| [in] | a_E | Electric field vector at this point. |
| [in] | a_position | Physical position. |
| [in] | a_dx | Grid cell spacing. |
| [in] | a_dt | Time step used in the last advance. |
| [in] | a_time | Current simulation time. |
| [in] | a_kappa | Volume fraction of the grid cell. |
Reimplemented in Physics::CdrPlasma::CdrPlasmaJSON.
|
inline |
Return the list of RTE species.
|
pure virtual |
Return the initial surface charge density on dielectric surfaces.
| [in] | a_time | Current simulation time (typically 0). |
| [in] | a_pos | Physical position on the dielectric surface. |
Implemented in Physics::CdrPlasma::CdrPlasmaJSON.
Parse runtime options. Default implementation does nothing.
Reimplemented in Physics::CdrPlasma::CdrPlasmaJSON.