EUTERPE: Difference between revisions

3,250 bytes added ,  28 June 2022
no edit summary
No edit summary
No edit summary
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The EUTERPE gyrokinetic code was created at the EPFL in Lausanne as a global linear particle in cell code for studying electrostatic plasma instabilities <ref>[G. Jost, T. M. Tran, K. Appert, et. al. in Theory of Fusion Plasmas, International Workshop, Varenna, September 1998. Editrice Compositori, Società Italiana di Fisica, Bologna, 1999, p.419]</ref>. It allows three-dimensional turbulence simulations using a plasma equilibrium calculated with the VMEC code as a starting point. EUTERPE was further developed at the Max Planck IPP and several linear calculations of ion temperature gradient (ITG) driven turbulence in [[Tokamak|tokamak]] and [[Stellarator|stellarator]] geometry have been carried out using it  
The EUTERPE gyrokinetic code was created at the CRPP in Lausanne as a global linear particle in cell code for studying electrostatic plasma instabilities <ref>G. Jost, T. M. Tran, K. Appert, W. A. Cooper, and L. Villard, [http://www.ispp.it/Courses_and_Workshops.html in Theory of Fusion Plasmas, International Workshop, Varenna, September 1998 (Editrice Compositori, Società Italiana di Fisica, Bologna, 1999), p. 419.]</ref>. It allows three-dimensional turbulence simulations using a plasma equilibrium calculated with the [[VMEC]] code as a starting point. EUTERPE was further developed at the Max Planck IPP and several linear calculations of ion temperature gradient (ITG) driven turbulence in [[Tokamak|tokamak]] and [[Stellarator|stellarator]] geometry have been carried out using it  
<ref>[G. Jost, T. M. Tran, W. Cooper, et al. Physics of Plasmas 8: 3321 (2001)]</ref>
<ref>G. Jost, T. M. Tran, W. Cooper, and K. Appert. [[doi:10.1063/1.1374585|Phys. Plasmas '''8''': 3321 (2001)]]</ref>
<ref>[V. Kornilov, R. Kleiber, R. Hatzky, et. al. Physics of Plasmas 11: 3196 (2004)]</ref>
<ref>V. Kornilov, R. Kleiber, R. Hatzky, L. Villard, and G. Jost. [[doi:10.1063/1.1737393|Phys. Plasmas '''11''': 3196 (2004)]]</ref>
<ref>[V. Kornilov, R. Kleiber & R. Hatzky. Nuclear Fusion 45: 238 (2005)]</ref>. The code has been afterwards heavily optimized and improved and non-linear dynamics have been included.  
<ref>V. Kornilov, R. Kleiber, and R. Hatzky, [[doi:10.1088/0029-5515/45/4/003|Nucl. Fusion '''45''': 238 (2005)]]</ref>
<ref>R. Kleiber, ''Global linear gyrokinetic simulations for stellarator and axisymmetric equilibria'', Joint Varenna-Lausanne International Workshop. [[doi:10.1063/1.2404546|AIP Conference Proceedings, 871, p. 136, 2006]]</ref>
<ref>Particle in cell simulations at the Laboratorio Nacional de Fusión[[http://fusionsites.ciemat.es/picgklnf/]]</ref>.
Afterwards, the code has been heavily optimized and improved. The perturbation to the magnetic field, a third species (in adition to electrons and ions) and the non-linear dynamics have been included.
 
The EUTERPE code solves the gyroaveraged Vlasov equation for the distribution function of ions
 
:<math>
\frac{\partial f}{\partial t} + \frac{\rm{d}v_{||}}{\rm{d}t} \frac{\partial f}{\partial v_{||}} + \frac{\rm{d}\vec{R}}{\rm{d}t} \frac{\partial f}{\partial \vec{R}} = 0
</math>
 
The code is based on the particle-in-cell (PIC) scheme, where the distribution function is discretized using markers. The δf approximation  is  used,  so  that  the  distribution  function  is decomposed in an equilibrium part (Maxwellian) and a time-dependent perturbation.
 
:<math>
f(\vec R, v_{||}, \mu, t) =  f_{0}(\vec R, v_{||}, v_{\perp})+  \delta f(\vec R, v_{||}, \mu, t)
</math>
 
Each marker along with its weight is evolved following the particle trayectories and contributes a part to the distribution function, so that
 
:<math>
\delta f = \sum_{p=1} ^{N} w_p \delta ^{3}(\vec R - \vec R_p)\delta(v_{||} - v_{||p})\delta(\mu - \mu_p) /(2 \pi B),
</math>
 
where the <math>w_p</math> are the weights (contribution to the distribution function) associated to each marker.
 
The electric potential is represented on a spatial grid, the electric charge being carried by the markers. Two coordinate systems are used in the code: a system of magnetic coordinates (PEST) <math>(s, \theta,\phi )</math> is used for the electrostatic potential and cylindrical coordinates <math>(r, z,\phi )</math> are used for pushing the particles, where <math>s=\Psi / \Psi_0</math> is the normalized toroidal flux. The change between coordinate systems, which is facilitated by the existence of the common coordinate <math>(\phi)</math>, is done in a continuous way. The equation for the field is discretized using finite elements (B-splines) and the PETSc library is used for solving it. The integration of the motion is done using a fourth order Runge-Kutta scheme. In linear simulations a phase factor transformation can be used and the equations can be integrated using a predictor-corrector scheme.
 
An equilibrium state calculated with the code VMEC is used as a starting point. The equilibrium quantities computed by VMEC are mapped onto the spatial grid using an intermediate program.
 
EUTERPE features several techniques for the noise control: the filtering of Fourier modes (square and diagonal filters can be used) and the optimized loading <ref>Hatzky, R Tran, TM Konies, A Kleiber, R Allfrey, SJ .Energy conservation in a nonlinear gyrokinetic particle-in-cell code for ion-temperature-gradient-driven modes in theta-pinch geometry. [[doi:10.1063/1.1449889|Phys. Plasmas, 9- 3, p. 898, 2002.]]</ref>.  


==References==
==References==
<references />
<references />
[[Category:Software]]
16

edits