Skip to content

Releases: boutproject/hypnotoad

0.5.2

13 Mar 16:06
b17d4f2
Compare
Choose a tag to compare
0.5.2 Pre-release
Pre-release

Bug fixes

  • Document that editable installs are recommended for developers in manual and
    exception message (#167)
    By John Omotani

New features

  • Save R,Z locations for all four corners of each cell (#168)
    By John Omotani
  • PsiContour.plot() and FineContour.plot() can be called with an ax
    argument, and passing psi is optional (#163)
    By Ben Dudson

0.5.1

18 Jan 17:39
0105601
Compare
Choose a tag to compare
0.5.1 Pre-release
Pre-release

New features

  • Command line utility to get flux surfaces from a geqdsk file and save them to
    NetCDF (#156)
    By John Omotani

0.5.0

12 Jan 03:11
493648c
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release

Breaking changes

  • Renamed command line programs to make the style consistent. All now use '-'
    as a separator, not '_' (#142)
    By John Omotani
  • Change how initial spacing of points on separatrix for nonorthogonal grids is
    calculated (this spacing is used to construct the underlying orthogonal
    grid). Now use weights that are just
    {cos(0.5*pi*i/index_length)**2,sin(0.5*pi*i/index_length)**2} rather than
    trying to construct a function that will give the same spacings when called
    with the 'orthogonal spacing' that came from the initial call passed in as
    sfunc_orthogonal. This means that the underlying orthogonal grid does not
    rely at all on nonorthogonal_* settings, so removes an issue where some
    grids could only be constructed by generating first with one set of
    nonorthogonal_* settings, then changing them and regridding. It also
    removes the possibility of a "Weight too small. Suggest increasing poloidal
    'range' settings" error, since the branch that produced that error no longer
    exists. Does change the nonorthogonal grids that will be produced by
    hypnotoad, although the integrated tests pass without updating the expected
    results, so the changes should be small (less than 1e-9 for the integrated
    test cases) (#138)
    By John Omotani

Bug fixes

  • Catch error when psi_sol_inner is set wrong. Add suggestions to 'gradient
    at end should be positive' error message (#130)
    By Ben Dudson
  • Fix psi_axis check when reverse_current=True (#131)
    By John Omotani
  • Errors when setting options could crash GUI. Can now change string options in
    GUI. Reset to old value if invalid value is passed for some option. Type name
    is actually shown in error message pop-up when incorrect type is passed
    (#134)
    By John Omotani
  • Fix potential error in check of X-point psi vs. psinorm_sol (#143)
    By John Omotani

New features

  • Create a manual for hypnotoad (#145)
    By John Omotani
  • Convenience script for making a plot of an equilibrium from a geqdsk file (#139)
    By John Omotani
  • If an int (or other Number) literal is passed to a float-type option, it
    is converted implicitly instead of causing an error. (#134)
    By John Omotani

0.4.4

26 Oct 17:07
68ff2c0
Compare
Choose a tag to compare
0.4.4 Pre-release
Pre-release

Bug fixes

New features

  • Command to recreate input file and gfile from a grid file (#119)
    By John Omotani
  • Save all variables at xlow positions (as *_xlow), as these can be used by BOUT++ to create CELL_XLOW Coordinates objects. Also save the positions of the cell corners (Rxy_corners and Zxy_corners) as these may be useful for plotting (#118)
    By John Omotani
  • Add executable hypnotoad_plot_grid_cells that takes a grid file as input and uses xbout to plot the grid cells from the newly added corner positions (#118)
    By John Omotani

0.4.3

25 Dec 14:27
a1adcf2
Compare
Choose a tag to compare
0.4.3 Pre-release
Pre-release

Bug fixes

  • Small fixes and minor optimizations for nonorthogonal gridding (#113)
    By John Omotani
  • Pass psi to keyword argument where this update had been missed previously
    (#113)
    By John Omotani
  • Fix plotting of poloidal lines in Mesh.plotPoints() (#113)
    By John Omotani
  • Minor fixes updating TORPEX case (#106)
    By John Omotani
  • Fix crash in hypnotoad-gui if input file did not contain an 'orthogonal'
    setting (#106)
    By John Omotani

New features

  • Save poloidal distances along psi contours to grid file (#116)
    By John Omotani
  • Option to reverse sign of toroidal magnetic field Bt for TokamakEquilibrium (#114)
    By John Omotani
  • Enable DCT interpolation scheme in TokamakEquilibrum, can be selected with new option
    psi_interpolation_method (#113)
    By John Omotani
  • Add xpoint_offset option for TORPEX case (#113)
    By John Omotani
  • Clean up of examples. Input files from examples/tokamak can now be used with
    hypnotoad-gui (#106)
    By John Omotani
  • psi_axis and psi_bdry are added to the grid file for post-processing.
    The calculated values should be consistent with the EFIT data (#112)
    By Qian Xia

0.4.2

27 May 00:37
c37affb
Compare
Choose a tag to compare
0.4.2 Pre-release
Pre-release

One-line update to fix packaging so hypnotoad installs correctly.

0.4.1

26 May 20:21
78f0349
Compare
Choose a tag to compare
0.4.1 Pre-release
Pre-release

0.4.1 (26th May 2021)

Bug fixes

  • Check if an equilibrium can be gridded as a connected double-null before gridding. Prevents creation of invalid grids where second X-point is outside the first flux-surface in the SOL (#104)
    By John Omotani

0.4.0

26 May 17:58
0a2f6d4
Compare
Choose a tag to compare
0.4.0 Pre-release
Pre-release

0.4.0 (26th May 2021)

Breaking changes

  • Method for calculating zShift made more accurate. This will change the calculated zShift for the same input file (#101)
  • Default value for 'curvature_type' changed from "curl(b/B) with x-y derivatives" to "curl(b/B)". New default should be more accurate and more consistent when changing grid sizes, but will produce slightly different output from the same input file. If the old behaviour is needed, set 'curvature_type = "curl(b/B) with x-y derivatives"' explicitly (#100)

New features

  • Accuracy of calculation of zShift improved by integrating on FineContours rather than PsiContours (#101)
    By John Omotani
  • Circular, concentric flux surfaces magnetic geometry (#100)
    By John Omotani
  • Non-grid based method for calculating curvature (#100)
    By John Omotani
  • Parallelise most expensive loops (#99)
    By John Omotani
  • Fix position of start and end points of contours when refining and add more tolerance settings, to enable more reproducible grid generation (#95)
    By John Omotani
  • Options are saved as a YAML string in "hypnotoad_inputs_yaml" to make them easier to read in code later. (#98)
    By John Omotani
  • When exceptions are caught by the GUI, print the traceback as well as the exception message (#95)
    By John Omotani

Testing

  • Integrated tests, based on an analytic, connected double-null equilibrium (#97, fixes #50)
    By John Omotani

Bug fixes

  • Save all options to grid files. Previously only Equilibrium options were saved. Now also Mesh and nonorthogonal options (#98)
    By John Omotani
  • Setting to adjust extension of FineContours past targets, may help to avoid crashes on problematic equilibria (#96)
    By John Omotani
  • Diagnostic plots produced when some errors occur had invalid linestyles - use markers instead (#95, fixes #94)
    By John Omotani

0.3.1

11 Feb 23:40
4d4f76a
Compare
Choose a tag to compare
0.3.1 Pre-release
Pre-release

New features

  • More robust calculation of distances in FineCountour.getDistance(), using
    closest approach to line segments. Can be important for grids with sharp angles (#87)
    By Ben Dudson

Bug fixes

  • Ensure FineContours always extend to the end of their parent PsiContour (#86, fixes
    #84)
    By Ben Dudson

0.3.0

25 Jan 16:18
f32826d
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

Breaking changes

  • Changed function used for determining radial positioning of grid points. Function now
    guaranteed to be monotonic, so is more robust. However this does change the output
    slightly compared to previous versions (#64)
    By John Omotani
  • Rename target_poloidal_spacing_length, nonorthogonal_target_poloidal_spacing_length,
    nonorthogonal_target_poloidal_spacing_range,
    nonorthogonal_target_poloidal_spacing_range_inner,
    nonorthogonal_target_poloidal_spacing_range_outer renamed to target_all, because
    extra settings were added to modify each of these parameters individually for each
    target (#75)
    By John Omotani

New features

  • Python script to compare two grid files. Script uses xBOUT. Added to utils/
    subdirectory of repo, and not installed with hypnotoad package (to avoid adding
    dependency on xBOUT) (#83)
    By John Omotani
  • Option to start grid at upper-outer divertor instead of lower-inner (#80)
    By John Omotani
  • Smoothing copied from IDL hypnotoad for components of curvature vector (#79)
    By John Omotani
  • Check for unrecognised options in input files and raise an error if any are found
    (#76)
    By John Omotani
  • Extra settings added so spacings can be controlled separately at each target (#74)
    By John Omotani
  • EquilibriumRegion.getSqrtPoloidalDistanceFunc() upgraded to ensure that when
    it extrapolates the distance function is always monotonic. This is used when
    y_boundary_guards is greater than 0 (#73)
    By John Omotani
  • Command line argument for hypnotoad_geqdsk to call pdb.set_trace() to make it
    easier to debug exceptions with pdb (#72)
    By John Omotani
  • When grid file is created from a geqdsk input, save the filename, and the
    contents of the geqdsk file to the grid file (#71, closes #70)
    By John Omotani
  • UUID unique identifier saved into each grid file (#67, closes #66)
    By John Omotani

Bug fixes

  • String outputs written as file attributes rather than variables (#69, fixes #68)
    By John Omotani
  • Failure when target_poloidal_spacing_length set to number (rather than the
    default None) when y_boundary_guards is non-zero (#64)
    By John Omotani
  • BoutMesh options now settable in GUI (#63)
    By John Omotani
  • Changing settings in File->Preferences caused GUI to crash (#62, fixes #61)
    By John Omotani