Skip to content

Non-urgent, lowest priority: Using only the SOLPS geometry, extrapolate flux surface boundaries into the core #1

@eldond

Description

@eldond

This development is only useful for the case where we do not have a valid equilibrium file that covers the flux map into the core. Since we now have that for the primary sample we're working with, this became a lot less important. But it still might be nice someday and we talked about how to do it, so I'm writing down the design ideas so they don't get lost.

  1. Start with all the core cells. Completing Populate grid subsets for core, sol, and divertor cells SOLPS2imas.jl#5 first will be very helpful.
  2. Use convex hull to identify the cells that are on the outer border of the group of core cells.
    • In IMAS, it's not clear that there's a hard rule for how to enter cells in ggd. In the native SOLPS files like b2fgmtry, it's possible to take a subset of the arrays using information about the cuts. So, there's not an obvious way to select one layer of the mesh at a time and guarantee that it will always work the same way for everything that gets represented in ggd.
  3. Record this outer layer of cells and use them to identify the boundary of the outer flux surface. Then remove them from the set being considered, then use convex hull to identify the next layer. Repeat until all the flux surfaces are known.
  4. For each flux surface, calculate geometric quantities:
    • Rmax, Rmin, Zmax, Zmin: the extrema of the boundary path
    • Rupper is the R coordinate associated with Zmax, and Rlower is the coordinate of Zmin
    • a = (Rmax - Rmin) / 2: minor radius
    • Rgeo = (Rmax + Rmin) / 2: geometric center
    • elongation is (Zmax - Zmin)/2a
    • Upper and lower triangularity are (Rgeo - Rupper)/a and (Rgeo - Rlower)/a
    • Shafranov shift is Rgeo - Rgeo[LCFS]
  5. Look at a real equilibrium file and plot all of these quantities from the magnetic axis to the LCFS. Use the trends to make up reasonable extrapolation rules.
  6. Take the geometric quantities from the SOLPS mesh and extrapolate them inwards to get profiles of elongation, kappa, Rshift, aminor, etc. vs. Psin.
  7. Calculate the boundary of each of the extrapolated surfaces, such as with the Miller equilibrium definition (which isn't great at the edge but is fine in the core, where we care).
    • Might have to do something fancy about upper/lower triangularity if they're really dissimilar. If they're close, call them the same to make it easier.
  8. Think about how to handle the diamagnetic effect of the plasma on the toroidal field.

This should give the flux surfaces needed in order to integrate B to get rho. Then profiles of pressure or whatever vs. rho can be turned into quantities vs R,Z and then input to synthetic diagnostic instrument functions.

Here are trends in some key quantities in a sample equilibrium:
equilibrium_trends

  • In the top left, I plotted the toroidal field to compare deviation from the vacuum field.
  • Left center worries more about vacuum field vs total field; I'm looking for the diamagnetic effect from the plasma pressure.
  • Bottom left has normalized psi vs R for a slice through the midplane, and also shows psi of each flux surface plotted at that surface's geometric center
  • Top right is Rgeo vs psi; basically the green line from bottom left but with axes swapped. Easier to read this way.
  • Middle right is the Shafranov shift and the minor radius of each surface.
  • Bottom right is elongation (kappa) and triangularity (delta).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions