Skip to content

Releases: PrincetonUniversity/GPEC

GPEC v0.3.4

Choose a tag to compare

@logan-nc logan-nc released this 18 Jun 00:18

This release includes a number of critical bug fixes found and fixed in a general review of the ideal MHD package in preparation of the move to kinetic MHD version 0.4.0 under development. It also includes a few (re-)standardizations of features.

Bug Fixes

  • PENTRC +/- omega_b included for passing and not trapped particles, removing unphysical symmetry in ell of trapped particle torques
    • All previous 0.3 version torques should be considered incorrect
  • PENTRC fixed bug in inverse Fourier transformation of perturbed quantities and fixed (removed) JBB normalization of perturbed quantity splines for consistent treatment in GAR, LAR, and GCL methods (now benchmarked with PENT).
    • All previous 0.3 version LAR and CGL torques should be considered incorrect
  • PENTRC returned factor of 2 to all GAR methods (now benchmarked against PENT for MDC2 cases)
  • PENTRC fixed radial grid outputs from (over)writing sum and individual ell profiles to same file
  • PENTRC enforce psi limits on grid outputs
  • IPEC fixed bug in writing O_CX, b_nm, b_xnm, xi_nm, and xi_xnm to control netcdf file
    • All previous 0.3 version values should be considered incorrect
  • IPEC working jacobian power factors are explicitly enforced when jac_in or jac_out re not specified
  • IPEC fixed bug using wrong jacobian and angle in ipeq_fcoordsout conversions (not used in any previous version)
  • IPEC ipeq_fcoordsout and ipeq_bcoordsout always perform transformation on larger of the working/output m grids (not expected to be an issue for previous versions)

Features

  • IPEC output coordinate m range is now determined by a new IPEC_OUTPUT variable mlim_out
  • IPEC the control surface theta-space function values are now always calculated and output
  • IPEC bwp_pest_flag is now true by default and produces pest ouputs for both xbnormal and vbnormal
  • IPEC xclebsch outputs are now converted to output coordinates and theta-space outputs are available
  • PENTRC now accepts jsurf_in, tmag_in and all individual powers of the jac_in, allowing it to interface with IPEC's new xclebsch outputs that are transformed from the working to ipec output coordinates
  • Coordinate transformation back to the DCON working coordinates is done on the large of the working/input m grids
  • IPEC added helicity to control and profile netcdf outputs
  • PENTRC now has the option to override the perturbed quantities calculated using the xclebsch interface with a direct ipec_pmodb ascii interface (when the user specifies a pmodb_file)
  • PENTRC now enforces that a substring of the form 'n#' where # is the DCON toroidal mode number be in the peq_file file name

Speed and Stability

  • PENTRC only runs the psi_out surfaces if detailed outputs are actually requested
  • PENTRC exclude trapped/passing boundary from pitch-space splines using power-grids approaching from either side
  • INSTALL and all individual makefiles have updated from the develop branch, reorganizing the linking order and allowing diverse machine/compiler options.

Documentation

  • Updated input and example namelists and their annotation

GPEC v0.3.3

Choose a tag to compare

@logan-nc logan-nc released this 07 Apr 00:22

This release features a critical bug fix for control surface netcdf output and pmodb/xbnormal outputs

  • All area normalized or energy normalized quantities were incorrectly converted to the users specified jac_out coordinates. All quantities are now in the DCON jac_type coordinate system unless specifically noted otherwise.
  • The jacobian and surface area have been added to the control netcdf as global attributes
  • The filtering of singular coupling modes is now done entirely within the DCON coordinate system, for which a new singular coupling matrix is formed and SVD'd.
  • Bugs in the use of bcoordsout for pmodb and xbnormal profile quantities that wrote the first variable to multiple variables (i.e. eulb to lagb) were fixed.
  • A Bug in the weighting of the bwp profile was fixed

GPEC v0.3.2

Choose a tag to compare

@logan-nc logan-nc released this 24 Mar 21:51
  • This release features a critical bug fix for control surface ascii output Phi^x.
    • If the jac_out was not the working jac_type Phi^x outputs in the jac_out table were mistakenly in the jac_in coordinate system.
  • The external and total flux have been added to the control netcdf alongside their previously stored energy normalized values.

GPEC v0.3.1

Choose a tag to compare

@logan-nc logan-nc released this 10 Mar 17:00

Bugfixes

  • IPEC fixed mistaken use of Hermitian lapack subroutines for permeability matrix
  • PYPEC synthetics properly closes synthetic surfaces that cover the full poloidal angle (vessel wall, etc.)
  • PYPEC coil plotting bug fixes for axes and color key words
  • PYPEC updated to reflect move from xray to xarray

Features

  • IPEC netcdf additions, including control surface matrices, profile quantities, shot/time/machine, and more
  • IPEC netcdf names conform to netcdf conventions
  • IPEC all netcdf outputs converted to jac_out
  • IPEC filter decomposition modes are now all in ascending order (SVD convention)
  • IPEC added amplification to filter modes
  • COIL added MAST coils
  • PENTRC added new grid options, which now include equil_grid or input_grid (i.e. the DCON grid)
  • PYPEC improved ascii/netcdf interface using data.open_dataset
  • PYPEC synthetics now includes magnetic sensors
  • PYPEC add_control_geometry function expands control surface geometry for 2D and 3D plots
  • PYPEC improved colormaps and automatic colormap choices
  • PYPEC now uses seaborn for context/palettes, has custom set_context function
  • PYPEC custom subplots automatically re-size figure to keep axes size
  • PYPEC now has png_to_gif function for making movies

Performance

  • Improved speed of ipeq_bcoordsout/ipeq_fcoordsout by checking for unnecessary calls to ipeq_fcoords/ipeq_bcoords

GPEC v0.3.0

Choose a tag to compare

@logan-nc logan-nc released this 24 Sep 20:31

Bugfixes

  • DCON qhigh is enforced independent of sas_flag
  • IPEC longstanding bug that caused crashes when brzphi was requested without eqbrzphi is fixed
  • IPEC mthsurf bug fixed
    • Benchmarks show perfect recovery of excessively high DCON mthsurf results using mthsurf=1

Features

  • COIL now includes 4x48 RFX-mod coils
  • IPEC netCDF output is now available for major output flags (more will be transitioned soon)
    • Currently netCDF files include: filter_flag, x/brzphi_flag, xbnormal_flag, pmodb_flag, and control surface fun_flag outputs
  • IPEC output subroutines can now be individually timed using the timeit flag
  • IPEC mode filtering has a new filter_type, filter_modes interface in IPEC_INPUT
  • IPEC reduced terminal printing - no longer is every eigenmode printed to the terminal

Performance

  • IPEC speed was increased by saving coordinate transformation information on a surface when performing multiple transformations on one surface
  • IPEC brzphi speed was increase by 1-2 orders of magnitude by calculating (r,z,phi) quantities on the requested grid points instead of across surfaces
  • IPEC speed can now be confidently increased by a large factor using the mthsurf flag (see bug fix)
  • IPEC compiler optimizability increased with the switch from pointers to allocatable arrays

GPEC v0.2.0

Choose a tag to compare

@logan-nc logan-nc released this 11 Aug 00:13

Bugfixes

  • PYPEC data interpolation changed to use LinearNDinterpolator, handling irregular multidimensional grids.
  • Consistent versioning across all programs.

Features

  • IPEC reluctance eigenvectors calculated in energy normalized sudo-flux space.
  • IPEC mode filters available for energy, reluctance and permeability eigenmodes as well as singular coupling SVD modes.
  • PENTRC now explicitly outputs the nonambipolar particle flux and diffusivity.
  • PENTRC now capable of calculating neoclassical heat flux and diffusivity.

Initial release of GPEC

Choose a tag to compare

@logan-nc logan-nc released this 17 Jun 20:38

Bugfixes

  • None.

Features

  • Set the maximum line number of IPEC ascii outputs.
  • Set the theta grid for IPEC calculations.
  • Multiple options for mode isolation in IPEC such as smode, pmode, and rmode.

Modules

  • PENTRC replaces the deprecated PENT program and all associated modules.

Documentation

  • New documentation on github pages
    • Includes new developers corner for git version control instructions.
    • Includes new tutorial examples.
  • Improved documentation of IPEC includes commented input file.
  • Updated some of the old "getting started" documentation.