Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
a966085
Add PlasmaDensityLimit class and integrate into physics and stellarat…
chris-ashe Feb 12, 2026
018d407
Add method to calculate Greenwald density limit in PlasmaDensityLimit…
chris-ashe Feb 12, 2026
a3a80b1
Add ASDEX new density limit calculation method to PlasmaDensityLimit …
chris-ashe Feb 12, 2026
5ebe788
Add Hugill-Murakami density limit calculation method to PlasmaDensity…
chris-ashe Feb 12, 2026
2ceef94
Add JET simple density limit calculation method to PlasmaDensityLimit…
chris-ashe Feb 12, 2026
eded56c
Add JET edge radiation density limit calculation method to PlasmaDens…
chris-ashe Feb 12, 2026
97f925a
Add Borrass ITER II density limit calculation method to PlasmaDensity…
chris-ashe Feb 12, 2026
05dc3e9
Add Borrass ITER I density limit calculation method to PlasmaDensityL…
chris-ashe Feb 12, 2026
d78da35
Add ASDEX density limit calculation method to PlasmaDensityLimit class
chris-ashe Feb 12, 2026
3d66f17
Add DensityLimitModel class for electron density model types
chris-ashe Feb 12, 2026
60a1cbc
Implement multiple density limit models in PlasmaDensityLimit class
chris-ashe Feb 12, 2026
819b7a9
Refactor density limit output handling in Physics class
chris-ashe Feb 12, 2026
fffa17a
Post merge conflict rebase commit
chris-ashe Feb 21, 2026
94465bf
Requested changes, create new density limit file in physics models
chris-ashe Feb 26, 2026
cc5a99c
Fix documentation: update routine name for density limit calculation
chris-ashe Feb 26, 2026
a53c29d
Change to numpy docstring style
chris-ashe Feb 26, 2026
e8f0ea9
Refactor density limit test to use Physics class method
chris-ashe Feb 26, 2026
5dfe58a
Refactor density limit calculation in PlasmaDensityLimit class to use…
chris-ashe Mar 2, 2026
27dd24d
Refactor import statements in density_limit.py for consistency
chris-ashe Mar 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions documentation/source/physics-models/plasma_density.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Density Limit
# Density Limit | `PlasmaDensityLimit`

Several density limit models are available in PROCESS. These are
calculated in routine `calculate_density_limit()`, which is called by `physics`.
calculated in the run routine `density_limit.run()`, which is called by `physics()`.

This constraint can be activated by stating `icc = 5` in the input file.

Expand All @@ -13,7 +13,7 @@ For the models below $P_{\perp}$ is the mean heat flux density across the separa

-----------------

## ASDEX model
## ASDEX model | `calculate_asdex_density_limit()`

Switch value: `i_density_limit = 1`[^1][^2]

Expand All @@ -23,7 +23,7 @@ $$

-----------------

## Borrass model for ITER, I
## Borrass model for ITER, I | `calculate_borrass_iter_i_density_limit()`

Switch value: `i_density_limit = 2` [^1]

Expand All @@ -35,7 +35,7 @@ $C \approx$ 1.8 for ITER-like conditions.

-----------------

## Borrass model for ITER, II
## Borrass model for ITER, II | `calculate_borrass_iter_ii_density_limit()`

Switch value: `i_density_limit = 3` [^1]

Expand All @@ -45,7 +45,7 @@ $$

-----------------

## JET edge radiation model
## JET edge radiation model | `calculate_jet_edge_radiation_density_limit()`

Switch value: `i_density_limit = 4` [^1]

Expand All @@ -55,7 +55,7 @@ $$

-----------------

## JET simplified model
## JET simplified model | `calculate_jet_simple_density_limit()`

Switch value: `i_density_limit = 5` [^1]

Expand All @@ -73,7 +73,7 @@ where $\kappa \approx 1.5, \Delta \approx 0.1a$ has been taken from JET.

-----------------

## Hugill-Murakami model
## Hugill-Murakami model | `calculate_hugill_murakami_density_limit()`

Switch value: `i_density_limit = 6` [^2]

Expand All @@ -84,7 +84,7 @@ $$

-----------------

## Greenwald model
## Greenwald model | `calculate_greenwald_density_limit()`

Switch value: `i_density_limit = 7` [^3][^4]

Expand All @@ -96,7 +96,7 @@ For the Greenwald model the limit applies to the line-averaged electron density,

---------------------

## ASDEX New model
## ASDEX New model | `calculate_asdex_new_density_limit()`

Switch value: `i_density_limit = 8` [^5][^6]

Expand Down
3 changes: 3 additions & 0 deletions process/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
LowerHybrid,
NeutralBeam,
)
from process.models.physics.density_limit import PlasmaDensityLimit
from process.models.physics.impurity_radiation import initialise_imprad
from process.models.physics.physics import (
DetailedPhysics,
Expand Down Expand Up @@ -698,11 +699,13 @@ def __init__(self):
)
self.plasma_beta = PlasmaBeta()
self.plasma_inductance = PlasmaInductance()
self.plasma_density_limit = PlasmaDensityLimit()
self.physics = Physics(
plasma_profile=self.plasma_profile,
current_drive=self.current_drive,
plasma_beta=self.plasma_beta,
plasma_inductance=self.plasma_inductance,
plasma_density_limit=self.plasma_density_limit,
)
self.physics_detailed = DetailedPhysics(
plasma_profile=self.plasma_profile,
Expand Down
Loading