freegsnke.normal_modes module

Calculates matrix data needed for normal mode decomposition of the vessel.

Copyright 2025 UKAEA, UKRI-STFC, and The Authors, as per the COPYRIGHT and README files.

This file is part of FreeGSNKE.

FreeGSNKE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

FreeGSNKE is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

You should have received a copy of the GNU Lesser General Public License along with FreeGSNKE. If not, see <http://www.gnu.org/licenses/>.

class freegsnke.normal_modes.mode_decomposition(coil_resist, coil_self_ind, n_coils, n_active_coils)[source]

Bases: object

Sets up the vessel mode decomposition to be used by the dynamic solver(s)

__init__(coil_resist, coil_self_ind, n_coils, n_active_coils)[source]

Instantiates the class. Matrix data calculated here is used to reformulate the system of circuit eqs, primarily in circuit_eq_metal.py

Parameters:
  • coil_resist (np.array) – 1d array of resistance values for all machine conducting elements, including both active coils and passive structures.

  • coil_self_ind (np.array) – 2d matrix of mutual inductances between all pairs of machine conducting elements, including both active coils and passive structures

normal_modes_greens(eq_vgreen)[source]

Calculates the green functions of the vessel normal modes, i.e. the psi flux per unit current for each mode.

Parameters:

eq_vgreen (np.array) – the vectorised green functions of each coil. Can be found at eq._vgreen. np.shape(eq_vgreen)=(n_coils, nx, ny)