Skip to content

hstar not properly calculated for every confinement scaling #3534

@chris-ashe

Description

@chris-ashe

This is a follow on from #3493.

The variable hstar which is meant to represent the $H$-factor value if the loss power has no radiation correction (i_rad_loss = 3) is only true if the IPB98(y,2) scaling is used.

The current implementation is:

if physics_variables.i_rad_loss == 1:
            po.ovarrf(
                self.outfile,
                "H* non-radiation corrected",
                "(hstar)",
                physics_variables.hfact
                * (
                    physics_variables.p_plasma_loss_mw
                    / (
                        physics_variables.p_plasma_loss_mw
                        + physics_variables.pden_plasma_sync_mw
                        + physics_variables.p_plasma_inner_rad_mw
                    )
                )
                ** 0.31,
                "OP",
            )
        elif physics_variables.i_rad_loss == 0:
            po.ovarrf(
                self.outfile,
                "H* non-radiation corrected",
                "(hstar)",
                physics_variables.hfact
                * (
                    physics_variables.p_plasma_loss_mw
                    / (
                        physics_variables.p_plasma_loss_mw
                        + physics_variables.pden_plasma_rad_mw
                        * physics_variables.vol_plasma
                    )
                )
                ** 0.31,
                "OP",
            )
        elif physics_variables.i_rad_loss == 2:
            po.ovarrf(
                self.outfile,
                "H* non-radiation corrected",
                "(hstar)",
                physics_variables.hfact,
                "OP",
            )
  • The calculation is also done in outplas() which is not recommended as outplas() should only be for output and not a place for doing calculations.
  • This also means that hstar is not a globally tracked physics variable which can be used in other parts of the code.

Metadata

Metadata

Assignees

Labels

Confinement timePlasma energy or particle confinement times

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions