EUTERPE: Difference between revisions

From FusionWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:


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.
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>
<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),
\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>
</math>
 
where the $w_p$ 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) $(s, \theta,\phi )$ is used for the electrostatic potential and cylindrical coordinates $(r, z,\phi )$ are used for pushing the particles, where $s=\Psi / \Psi_0$ is the normalized toroidal flux. The change between coordinate systems, which is facilitated by the existence of the common coordinate ($\phi$), 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. These options have not been used in this work.
 
 
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>[http://pop.aip.org/phpaen/v9/i3/p898_s1 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. PHYSICS OF PLASMAS, 9- 3,p. 912,2002.]</ref>. More details about the code can be found in the Refs~\cite{EUTERPE:Jost,EUTERPE:Jost2,EUTERPE:Kornilov04,EUTERPE:Kornilov05,EUTERPE:Kleiber06}
 
==References==
==References==
<references />
<references />

Revision as of 12:08, 30 April 2010

The EUTERPE gyrokinetic code was created at the EPFL in Lausanne as a global linear particle in cell code for studying electrostatic plasma instabilities [1]. 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 and stellarator geometry have been carried out using it [2] [3] [4]. Afterwards, the code has been heavily optimized and improved and non-linear dynamics have been included.

The EUTERPE code solves the gyroaveraged Vlasov equation for the distribution function of ions

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.

Each marker along with its weight is evolved following the particle trayectories and contributes a part to the distribution function, so that

where the $w_p$ 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) $(s, \theta,\phi )$ is used for the electrostatic potential and cylindrical coordinates $(r, z,\phi )$ are used for pushing the particles, where $s=\Psi / \Psi_0$ is the normalized toroidal flux. The change between coordinate systems, which is facilitated by the existence of the common coordinate ($\phi$), 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. These options have not been used in this work.


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 [5]. More details about the code can be found in the Refs~\cite{EUTERPE:Jost,EUTERPE:Jost2,EUTERPE:Kornilov04,EUTERPE:Kornilov05,EUTERPE:Kleiber06}

References