File braginskii_thermal_force.hxx#

Defines

BRAGINSKII_THERMAL_FORCE_H#
struct BraginskiiThermalForce : public Component#
#include <braginskii_thermal_force.hxx>

Simple calculation of the thermal force for the Braginskii closure

Important: This implements a quite crude approximation, which is intended for initial development and testing. The expressions used are only valid for trace heavy ions and light main ion species, and would not be valid for Helium impurities in a D-T plasma, for example. For this reason only collisions where one ion has an atomic mass < 4, and the other an atomic mass > 10 are considered. Warning messages will be logged for species combinations which are not calculated. The restrictions can be overridden by setting the override_ion_mass_restrictions=true.

Options used:

  • <name>

    • electron_ion : bool Include electron-ion collisions?

    • ion_ion : bool Include ion-ion elastic collisions?

Public Functions

inline BraginskiiThermalForce(const std::string &name, Options &alloptions, Solver*)#

Private Functions

virtual void transform_impl(GuardedOptions &state) override#

Inputs

  • species

    • e [ if electron_ion true ]

      • charge

      • density

      • temperature

    • <species>

      • charge [ Checks, skips species if not set ]

      • AA

      • density

      • temperature [ If AA < 4 i.e. “light” species ]

Outputs

  • species

    • e

      • momentum_source [ if electron_ion true ]

    • <species> [ if AA < 4 (“light”) or AA > 10 (“heavy”) ]

      • momentum_source

Private Members

bool electron_ion#

Include electron-ion collisions?

bool ion_ion#

Include ion-ion elastic collisions?

bool override_ion_mass_restrictions#

Ignore default mass restrictions when calculating thermal force between ions?

bool first_time = {true}#

True the first time transform() is called.