Releases: itpplasma/SIMPLE
v1.5.1
Release v1.5.1 (branch release/1.5)
Fixes
- Guard the confined-pass/trap counter increments with
!$omp atomic updaterather than wrapping the whole branch in a critical region so each counter is updated safely without extra contention.
Full Changelog
v1.4.2
Release v1.4.2 (branch release/1.4)
Fixes
- Backport the confined-pass/trap atomic updates so release/1.4 benefits from the same thread-safe counter increments.
Full Changelog
v1.5.0
Release v1.5.0 with chartmap reference coordinates, refcoords magfie integration, and deeper verification
Tagged commit date: 2025-12-19
Branch: release/1.5
Major Features
Reference Coordinate System Expansion
- Chartmap reference coordinate support with file detection and validation
- Unified VMEC field coordinate conventions with refcoords
- New coordinate scaling abstraction used by Meiss/Albert modes
Field & Orbit Integration
- magfie_refcoords implementation enabling RK45 integration on any field
- splined_field_t analytic spline derivatives (evaluate_with_der)
- TEST field can run standalone without VMEC files
Verification & Test Coverage
- New unit and integration tests for chartmap pipeline, refcoords, Jacobian conventions,
hcurl/hctrvr derivations, and NCSX map2disc equivalence - Added deterministic floating-point mode for reproducible tests
Documentation
- Field/coordinate module docstrings and API cleanup notes
- CHANGELOG updates for recent physics/behavioral changes
Full Changelog
v1.4.1
Bug Fixes
- fix: startmode=5 axis singularity - Added s_min=0.01 to prevent numerical issues when sampling particles near the magnetic axis (#204)
- fix: can_to_vmec coordinate conversion in classifier - Enabled coordinate conversion that was previously disabled, fixing classification output
Full Changelog
v1.4.0 - Meiss-Hazeltine Coordinates and Performance
Release v1.4.0 with Meiss-Hazeltine canonical coordinates and batch spline optimization
Tagged commit date: 2024-09-05
Branch: release/1.4
Major Features
Canonical Coordinates
- Meiss-Hazeltine coordinates for tokamak perturbations
- Albert canonical coordinates for alternative formulation
- Complete field evaluation system for new coordinate types
Performance Optimization
- Batch spline optimization system
- 2.86x performance improvement in field evaluations
- Efficient batch processing across all field types
Code Quality
- Comprehensive unit test coverage
- Timing diagnostics for execution profiling
- GVEC field integration for advanced applications
- Extensive refactoring and modernization
Configuration Compatibility
Fully backward compatible with v1.3 - existing simple.in files work without modification.
Documentation
- Coordinate systems overview in DOC/coordinates-and-fields.md
- Batch spline implementation details in BATCH_SPLINES_IMPLEMENTATION.md
- Design documentation in DESIGN.md
v1.3.1 - Critical Physics Fix (Recommended)
Release v1.3.1 with critical VMEC flux sign fix
Tagged commit date: 2024-09-04 (cherry-picked)
Branch: release/1.3
Critical Fix
VMEC toroidal flux sign correction (cherry-pick of 5de27cd from main)
- Changes
phi = phi/(2*pi)tophi = -phi/(2*pi)in SRC/vmecinm_m.f90 - Ensures correct physics results for VMEC equilibria
- All users on v1.2 or v1.3.0 MUST upgrade to this release
v1.3.0 - Release Branch (March 2025)
Release v1.3.0 from March 31, 2025
Tagged commit date: 2025-03-31
Branch: release/1.3
Changes since v1.2 (7 commits)
New Features
- Deterministic flag for reproducible simulations (controlled random seed)
- Config filename can now be specified via command line argument
- Makefile added for simplified building
- Single fieldline test case added
Bug Fixes
- Initialize end position arrays to zeros
- Removed bmod_ref rescaling (breaking physics change marked as Y in CHANGELOG)
Code Cleanup
- Removed 1349 lines of obsolete draft canonical coordinate code
Important - Missing Critical Fix
This release is missing the VMEC toroidal flux sign fix from Sept 2024.
Users should upgrade to v1.3.1 immediately for correct physics results.
v1.2 - Stable Release (June 2022)
Release v1.2 from June 29, 2022
Tagged commit date: 2022-06-29
Major Changes (127 commits from v1.1.1)
New Features
- Boozer coordinate system support
- Collisions implementation (alpha particles with D-T plasma)
- MPI parallelization support
- Python interface via f90wrap (pysimple)
- ANTS file format support for particle initialization
- Namelist format for configuration files (simple.in)
- VMEC axis healing improvements
- OpenMP for orbit classification
- Record particle end positions
Build System
- CMake improvements for BLAS/LAPACK detection
- Support for older NumPy versions
- Docker container support
- GitHub Actions CI/CD
Documentation
- Added examples for Python interface
- Test scripts for validation
Note: This release is missing the critical VMEC toroidal flux sign fix from Sept 2024. Users should upgrade to v1.3.1 or later.
See CHANGELOG.md for full history.
v1.1.1 - Minpack Integration (Feb 2020)
Release v1.1.1 from February 17, 2020
Tagged commit date: 2020-02-17
Changes (3 commits from v1.1)
New Feature
- Minpack library added with LGPL license
Improvements
- Machine-readable LICENSE file
- Code cleanup
v1.1 - Lambda Evaluation Fix (Feb 2020)
Release v1.1 from February 13, 2020
Tagged commit date: 2020-02-13
Changes (9 commits from v1.0)
Critical Fix
- Lambda now evaluated on half mesh, improves B-field interpolation (marked as Y in CHANGELOG)
Improvements
- Thread safety fixes for OpenMP
- Allocations moved to OpenMP critical sections
- Increased Newton iterations to 32
- Classification in xy removed
This is a breaking change for physics output compared to v1.0.