-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Hi,
I’m working on a FreeGSNKE diverted equilibrium reconstruction for the MAST tokamak (using MAST-equivalent geometry). The solver and inverse optimizer are working correctly — I can build the machine and obtain a diverted solution with good convergence and stable separatrix topology.
However, when trying to evaluate synthetic magnetic diagnostics, I hit two errors:
'Probes' object has no attribute 'greens_psi_coils_floops'
'Probes' object has no attribute 'pickup_pos'
This happens because my current probe definition only contains the positions (R, Z) of the flux loops and pickup coils — essentially what we have from the MAST geometry files — but does not include the additional metadata FreeGSNKE needs (e.g., turns, orientation vectors, areas). As a result, flux loops do not get Green’s functions built (greens_psi_coils_floops is missing) and pickup coils have no orientation defined (pickup_pos missing), so synthetic ψ and pickup signals cannot be computed.
As far as I understand:
- Using the existing MAST geometry, we do know the R/Z positions of the magnetic probes.
- From experimental data, we do have measured values for the flux loops and pickup coils.
What I need help with is:
What is the minimal, correct format for defining flux-loop geometry in the magnetic_probes.pickle that FreeGSNKE expects?
For example, does each loop need:
- (R, Z)
- number of turns
- loop area or ψ coupling factor?
What is the correct way to define pickup coils so that pickup_pos and orientation vectors are available?
Should they include:
- (R, Z)
- axis orientation unit vector
- wire loop geometry?
Are there existing reference examples (for MAST or other machines) I could follow to build a complete flux-loop / pickup coil definition? Ideally in .pickle format that FreeGSNKE uses.
Right now I’m using an interim constraint strategy where I treat the measured flux loops as isoflux constraints rather than computing synthetic ψ values — but I want to move beyond that and compare against real diagnostic measurements.
Any pointers, data structure examples, or guidance on how to complete the diagnostic geometry definition would be appreciated.
Thanks