Skip to content

Releases: itpplasma/SIMPLE

v1.5.1

23 Dec 07:53

Choose a tag to compare

Release v1.5.1 (branch release/1.5)

Fixes

  • Guard the confined-pass/trap counter increments with !$omp atomic update rather than wrapping the whole branch in a critical region so each counter is updated safely without extra contention.

Full Changelog

v1.5.0...v1.5.1

v1.4.2

23 Dec 07:53

Choose a tag to compare

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.4.1...v1.4.2

v1.5.0

19 Dec 14:01

Choose a tag to compare

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...v1.5.0

v1.4.1

07 Dec 12:22

Choose a tag to compare

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...v1.4.1

v1.4.0 - Meiss-Hazeltine Coordinates and Performance

14 Nov 11:14
493afe3

Choose a tag to compare

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)

14 Nov 09:10

Choose a tag to compare

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) to phi = -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)

14 Nov 09:10

Choose a tag to compare

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)

14 Nov 09:10

Choose a tag to compare

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)

17 Feb 20:55

Choose a tag to compare

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)

13 Feb 21:24

Choose a tag to compare

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.