Skip to content

KineticForces - Read the kinetic file's zeff dataset #526

Open

Description

@d-burg

The kinetic profile file can carry an optional zeff dataset, which the SLAYER layer and the resistive-layer overlap scan prefer to their own closure (PR #298). The NTV path does not read it: resolve_ntv_species always derives Zeff from quasi-neutrality with one impurity ([KineticForces] zimp, mimp). One run can therefore use two Zeff profiles: the file's in the tearing analysis and the closure's in the NTV torque.

Why this is more than a one-line change:

  • In the NTV path Zeff comes with the pitch-angle factor zpitch and the impurity density from multi_ion_composition, and the collision frequencies use all three. Overriding Zeff alone would leave them inconsistent.
  • zpitch has a pole at Zeff = zimp, so a supplied Zeff above zimp needs a defined behaviour.
  • The impurity charge is set twice, as [KineticForces] zimp (integer) and [SLAYER] zimp (float). They should become one setting, or be documented as deliberately separate.

Done when:

  • A rule is recorded for what a supplied Zeff means for zpitch, the impurity density and the collision frequencies.
  • The NTV path uses the file's zeff under that rule and logs which source it used.
  • A test covers a file with and without the dataset.
  • docs/src/kinetic_forces.md states the precedence for both paths.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions