Skip to content

Modify ion balance calculation to include level-resolved rates and charge transfer #387

@wtbarnes

Description

@wtbarnes

In v11, the ionization and recombination rate calculations have been modified to incorporate level-resolved rates and charge transfer. Both incorporate a density dependency. This has the result that the ionization balance (even in equilibrium) is now density-dependent. The equilibrium_ionization method of Element should be modified such that these updated rate calculations can be used. This will allow for the calculation of updated ion balances which can then be fed back to an Ion object (through the ionization fraction setter) such that these updated ion balance calculations can be used in other calculations like the contribution function calculation.

In CHIANTI IDL, the way this is done is by producing an additional .ioneq file such that this is then automatically picked up by all calculations that depend on the ion fraction. In fiasco, I would rather not do any serialization (to avoid calculations accidentally becoming stale) and leaving that up to the user. If needed, an example could be provided of how to do this. By allowing for the ionization fractions to be easily set on each ion, all calculations will then automatically use a user-provided ion balance.

The only downside of this setter approach is that there may be an inconsistency between the densities used to calculate the ion balance and those used to compute level populations in other parts of the calculation.

Before this can be completed, #384, #385, and #386 need to be completed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    APIAPI design, naming conventions, etc.Atomic Physics KnowledgeRequires some knowledge of atomic physicsElementAnything related to the Element objecteffort-high

    Projects

    Status

    Todo: Processes

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions