File fieldline_geometry.hxx#

Defines

fieldline_geometry_H#
struct FieldlineGeometry : public NamedComponent<FieldlineGeometry>#
#include <fieldline_geometry.hxx>

The fieldline_geometry component in Hermes-3 helps to set up 1D simulations and to compute cell geometry for other modules.

Public Functions

FieldlineGeometry(std::string, Options &options, Solver*)#

Constructor for the FieldlineGeometry component.

This constructor initializes the FieldlineGeometry component. It calculates and stores various geometric quantities such as the parallel length, magnetic field components, flux expansion, and cell dimensions.

Parameters:
  • name – The name of the component.

  • options – Options for the component.

  • solver – Pointer to the solver.

  • name – The name of the component.

  • options – Options for the component.

  • solver – Pointer to the solver.

virtual void outputVars(Options &state) override#

Output variables to the state.

This method adds the calculated geometric variables to the output state, so that they can be used by other components or output to files.

Parameters:
  • state – Options containing the state.

  • state – Options containing the state.

Public Static Attributes

static constexpr auto type = "fieldline_geometry"#

Private Functions

virtual void transform_impl(GuardedOptions &state) override#

Transform function (not implemented).

Parameters:

state – Options containing the state.

Private Members

bool diagnose#

Flag to output additional diagnostics.

Field3D lpar = {0.0}#

Parallel distance from upstream.

Field3D lambda_int{0.0}#

Radial width of the flux tube mapped upstream (lambda_q + 1.64S).

Field3D fieldline_radius = {0.0}#

Major radius of the magnetic fieldline.

Field3D poloidal_magnetic_field = {0.0}#

Poloidal magnetic field strength.

Field3D toroidal_magnetic_field{0.0}#

Toroidal magnetic field strength along the fieldline.

Field3D total_magnetic_field = {0.0}#

Total magnetic field strength.

Field3D pitch_angle = {0.0}#

Pitch angle of the magnetic field (Bpol/B).

Field3D transport_broadening{0.0}#

Flux tube broadening due to cross-field transport.

Field3D flux_expansion = {0.0}#

Flux expansion.

Field3D flux_tube_width = {0.0}#

Flux tube radial width.

Field3D cell_poloidal_length = {0.0}#

Poloidal length of the flux tube.

Field3D cell_side_area{0.0}#

Poloidal length of the flux tube times its circumference.

Field3D cell_volume{0.0}#

Poloidal length of the flux tube times its circumference and radial width.