Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
e7a9daf
Add PlasmaDensityLimit class and integrate into physics and stellarat…
chris-ashe Feb 12, 2026
0c5a267
Add method to calculate Greenwald density limit in PlasmaDensityLimit…
chris-ashe Feb 12, 2026
d426753
Add ASDEX new density limit calculation method to PlasmaDensityLimit …
chris-ashe Feb 12, 2026
0cfbfe5
Add Hugill-Murakami density limit calculation method to PlasmaDensity…
chris-ashe Feb 12, 2026
92cde1e
Add JET simple density limit calculation method to PlasmaDensityLimit…
chris-ashe Feb 12, 2026
d0ae5f6
Add JET edge radiation density limit calculation method to PlasmaDens…
chris-ashe Feb 12, 2026
5cf25a5
Add Borrass ITER II density limit calculation method to PlasmaDensity…
chris-ashe Feb 12, 2026
a4a0f59
Add Borrass ITER I density limit calculation method to PlasmaDensityL…
chris-ashe Feb 12, 2026
b45829b
Add ASDEX density limit calculation method to PlasmaDensityLimit class
chris-ashe Feb 12, 2026
6a0a831
Add DensityLimitModel class for electron density model types
chris-ashe Feb 12, 2026
ac04273
Implement multiple density limit models in PlasmaDensityLimit class
chris-ashe Feb 12, 2026
f9d01b2
Refactor density limit output handling in Physics class
chris-ashe Feb 12, 2026
a4f2d2d
Post merge conflict rebase commit
chris-ashe Feb 21, 2026
177a8c0
Requested changes, create new density limit file in physics models
chris-ashe Feb 26, 2026
e25f4d9
Fix documentation: update routine name for density limit calculation
chris-ashe Feb 26, 2026
c8dcd34
Change to numpy docstring style
chris-ashe Feb 26, 2026
72594f2
Refactor density limit test to use Physics class method
chris-ashe Feb 26, 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 @@ -90,6 +90,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