File neutral_parallel_diffusion.hxx

Defines

NEUTRAL_PARALLEL_DIFFUSION_H
struct NeutralParallelDiffusion : public Component
#include <neutral_parallel_diffusion.hxx>

Add effective diffusion of neutrals in a 1D system, by projecting cross-field diffusion onto parallel distance.

Note: This needs to be calculated after the collision frequency, so is a collective component. This therefore applies diffusion to all neutral species i.e. those with no (or zero) charge

If diagnose = true then the following outputs are saved for each neutral species

  • D<name>_Dpar Parallel diffusion coefficient e.g. Dhe_Dpar

  • S<name>_Dpar Density source due to diffusion

  • E<name>_Dpar Energy source due to diffusion

  • F<name>_Dpar Momentum source due to diffusion

Public Functions

inline NeutralParallelDiffusion(std::string name, Options &alloptions, Solver*)
virtual void transform(Options &state) override

Inputs

  • species

    • <all neutrals> # Applies to all neutral species

      • AA

      • collision_frequency

      • density

      • temperature

      • pressure [optional, or density * temperature]

      • velocity [optional]

      • momentum [if velocity set]

Sets

  • species

    • <name>

      • density_source

      • energy_source

      • momentum_source [if velocity set]

virtual void outputVars(Options &state) override

Save variables to the output.

Private Members

BoutReal dneut

cross-field diffusion projection (B / Bpol)^2

bool diagnose

Output diagnostics?

bool equation_fix

Fix incorrect 3/2 factor in pressure advection?

bool thermal_conduction

Enable conduction?

bool viscosity

Enable viscosity?

std::map<std::string, Diagnostics> diagnostics

Store diagnostics for each species.

struct Diagnostics

Per-species diagnostics.

Public Members

Field3D Dn

Diffusion coefficient.

Field3D S

Particle source.

Field3D E

Energy source.

Field3D F

Momentum source.