Releases: PrincetonUniversity/GPEC
GPEC v1.0.5
Bug Fix
- Fixed normalization of filter_flag energy normalized field decomposition.
This bug was introduced with the new normalized field (T) convention in 1.0.2. To correct the decomposed energy normalized flux O_*Phi_xe in versions 1.0.2-1.0.4, multiply by 1/sqrt(A).
GPEC v1.0.4
Bug Fix
- Avoid repetition of dimensions in control netcdf J_surf_2.
Note this is not critical for the netcdf, but necessary for the way pypec and xarray treat dimensions.
GPEC v1.0.3
Bug Fix
- This patch fixes a mis-labeling of the control netcdf Phi_fun and Phi_x_fun units. The units are Wb.
GPEC v1.0.2
This patch features one bug fix and one addition to the netcdf output.
Features
- A transform matrix J_surf_2 has been added to the control netcdf. This matrix applies a dimensionless half-area weighting.
Bug Fixes
- The netcdf output Phi_xe has been changed from "energy-normalized flux" with units Wb/m to "energy-normalized field" with units of Tesla. The related *_xe matrices have been similarly normalized. No physics is changed, only the scalar area normalization.
GPEC v1.0.1
This patch cleans up the input directory, removing deprecated files.
GPEC v1.0.0
This major release marks the true transition from individual ideal perturbed equilibrium calculations to a fully generalized perturbed equilibrium package.
The Perturbed Equilibrium Nonambipolar TRansport Code (PENTRC) is used to calculate the neoclassical drift kinetic pressure matrixes required to minimize the hybrid kinetic-MHD perturbed energy and find a set of force balance states. The computational structure of the ideal DCON code is largely maintained in finding these states, although generalizations and modifications have been made to account for new mathematical properties. Foremost among these are 1) the absence of hermitian properties and 2) the integrable nature of singularities near the rational surfaces. Generalization of the linear algebra and new decomposition / recomposition of the matrices required by these changes are now used for both the ideal and kinetic calculations.
The Ideal Perturbed Equilibrium Code (IPEC) has officially been deprecated and is now the package namesake: the Generalized Perturbed Equilibrium Code (GPEC). The foundational computational changes are much less than in the above case however, with only a few minor generalizations of hermitian linear algebra assumptions.
Features
- DCON inclusion of kinetic terms is now determined by the kin_flag input.
- Additional dcon_control namelist inputs can be used to control the kinetic calculations
- IPEC now calculates generalized perturbed equilibrium (no assumption that the force balance states form a hermitian matrix)
- IPEC netcdf output is nearly complete and naming conventions are official
- PENTRC now has fully netcdf output unless ascii is specifically requested by the user
- Output is now separated from calculations, setting the stage for parallelization
Documentation
- Example runs have been split into ideal and kinetic examples to show the kinetic effects
- An "a10" example has been added for simple circular-large-aspect-ratio intuition
GPEC v0.4.1
This release includes non-critical bug fixes for the IPEC netcdf output.
Bug Fixes
- IPEC netcdf control output reluctance and permeability overlap is calculated with the correct shape
GPEC v0.4.0
This release includes a number of minor I/O changes and convenient default input features as well as a few minor bug fixes.
Bug Fixes
- MATCH updated interface for changes DCON file formats
- IPEC fixed alignment of columns in xclebsch_fun output
Features
- DCON, IPEC, PENTRC all accept the additional Jacobian type 'park'
- Sets the power of (b,bp,r) to (1,0,0)
- IPEC includes (r,z) in xclebsch_fun output
- COIL, PENTRC the data_dir used to look up hardcoded data now accepts defaults to $GPECHOME/pentrc
- This option is used when set to 'default' or ''
- PENTRC now includes a valid circular large-aspect-ratio calculation
- Calculates Eq. (19) from [Logan, Phys. Plasmas, 2013] using Eqs. (10-12) from [Park, Phys. Rev. Lett. 2009] with the kappa dependence
- Previous versions included this flag as a placeholder only and should not be used
Documentation
- Example namelists updated to use native coordinates throughout for increased speed and clarity
GPEC v0.3.5
This release includes critical bug fixes for the nonambipolar transport calculations in PENTRC.
Bug Fixes
- PENTRC a correction factor of 1/2 has been applied to the fcgl, *gar, and *mm methods to correctly represent quadratic terms using complex analysis
- PENTRC xclebsch is now correctly transformed back to DCON working coordinates when output on more m than the DCON mpert.
GPEC v0.3.4
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