tcv.equilibrium module

class tcv.equilibrium.Equilibrium[source]

Bases: object

Abstract class to define an uniform equilibrium interface.

get_psi_contours()[source]

Return r, z, psi triplet

get_volume(radius=None)[source]

Return the plasma volume on the grid radius. If radius is None the total volume is given, i. e. radius = minor_radius is used.

major_radius
plot(ax=None)[source]
z_position
class tcv.equilibrium.LiuqeEquilibrium(data)[source]

Bases: tcv.equilibrium.Equilibrium

>>> eq = LiuqeEquilibrium.fromshot(42661,1)
>>> eq.plot()
classmethod fromshot(shotnum, time)[source]
get_psi_contours()[source]
class tcv.equilibrium.MockUpEquilibrium(minor_radius=0.23, magnetic_axis=(0.88, 0.23), elongation=1.0, triangularity=0.0, grid_shape=(150, 150))[source]

Bases: tcv.equilibrium.Equilibrium

Simple analytical equilibrium, mainly for test and educational purposes.

Example

Circular plasma with TCV-like size:

>>> eq = MockUpEquilibrium(magnetic_axis=(0.88, 0.23))
>>> eq.plot()

The volume of a this can be easily calculated analytically as:

>>> from math import pi
>>> volume_an = 2 * pi**2 * 0.88 * 0.23**2

We compare the two values:

>>> volume_eq, = eq.get_volume()
>>> round(volume_an, 4) == round(volume_eq, 4)
True
get_psi_contours()[source]
get_volume(rho=None)[source]