SCELT (Symbolic Computation aided Eigenvalue and Linear code for Tokamaks): A full MHD eigenvalue code in toroidal geometry developed with the use of a symbolic computation technique
In this work, we report the construction of an eigenvalue computer code largely in C++ language, SCELT, by using the symbolic computation technique for the first time to solve the linearized single fluid magnetohydrodynamic (MHD) eigenvalue problem in toroidal geometry. A symbolic vector analysis module is developed to function the automatic derivation of the tedious linearized full MHD equations in the magnetic flux coordinate system. Furthermore, another module is developed to implement the automatic numerical discretization. These two modules dramatically reduce the human workload and obviate the possibility of a mistake during code development. The tools provide a means of constructing matrices from differential operations and can be used for (generalized) linear problems, such as source driven and eigenvalue problems. Demo uses of both the symbolic vector analysis module and automatic numerical discretization module, such as the Poisson equation and tokamak equilibrium equation, are presented to demonstrate their advantages and potential broad applications. The full MHD eigenvalue code developed with these two modules is verified by the internal kink mode and tearing mode tests.