Skip to content

Releases: SciCompMod/GMGPolar

GMGPolar v2.1.0

23 Sep 16:15
f05231a

Choose a tag to compare

This release delivers performance optimizations, structural improvements, and extended functionality.

Solver & Performance

  • Replaced the custom LU decomposition solver with a faster implementation.
  • Fixed an error in the FMG method, reducing iterations when using a small number of multigrid levels.

New Functionality

  • Added angular dependence in profile coefficients.
  • Enabled multiple solves with the same GMGPolar instance for varying source terms and boundary conditions.

Restructuring & Code Quality

  • Refactored GMGPolar by moving command-line parsing into a dedicated ConfigParser.
  • Redesigned the solve and setup functions, and reorganized the header file with a clearer structure and enhanced documentation.

Testing & Usability

  • Added tests for LU solver, convergence order, and solver validation across multiple settings.
  • Improved verbose output formatting for clearer settings and runtime information.

Full Changelog: v2.0.1...v2.1.0

GMGPolar v2.0.1

24 Jun 17:47
e4cde74

Choose a tag to compare

GMGPolar v2.0.1 addresses some minor items:

  • Correction of broken code coverage
  • Improved output
  • Changed position for anisotropic refinement with ZoniShifted

Full Changelog: v2.0.0...v2.0.1

GMGPolar v2.0.0

24 Apr 18:28
91e3a9b

Choose a tag to compare

  1. Enhancements and New Class Layout:
  • Linear Algebra:
    • Introduced custom Vector and SparseMatrix classes.
    • Added a (cyclic) Tridiagonal Solver for improved performance and usability.
  • Input Functions:
    • Separated into distinct components: DomainGeometry, BoundaryConditions, SourceTerm, etc.
  • Polar Grid:
    • Indexing is now based on circle/radial smoother.
  • Residual:
    • Improved the residual calculation by addressing the unintuitive behavior that previously applied only to the interior part of the matrix.
  • Direct Solver:
    • Fixed a bug where boundary values were not treated correctly.
    • Built matrices to be symmetric, reducing factorization time.
  • Smoother:
    • Separated into extrapolated and standard smoothers.
    • Replaced the LU-Decomposition algorithm with the Thomas algorithm for improved efficiency.
  1. New Features
  • Introduced W- and F cycles for enhanced solving capabilities.
  • Added FMG (Full Multigrid) to obtain improved starting solutions.
  • Implemented advanced caching behavior options for the "Give" implementation strategy.
  • Added a faster strategy named 'Take,' which is appropriate for cases where memory is less of a constraint, resulting in an 80% increase in memory usage.
  • Comprehensive Unit Tests: Integrated Google Unit Tests for all classes, ensuring robust and reliable functionality across the codebase.
  1. Performance Improvements
  • Removed the task-based approach, which did not scale well with increasing parallelization.
  • Reduced maximum usage by 61.5% by constructing symmetric matrices and utilizing the tridiagonal structure of smoother matrices.
  1. Updated Features
  • Added a new LU decomposition solver, allowing users to choose between MUMPS and the in-house solver for greater flexibility and performance.

GMGPolar v1.0.3

05 Dec 15:10
bba9d5b

Choose a tag to compare

Corrected two bugs and added tests for prolongation and restriction operators.

What's Changed

Full Changelog: v1.0.2...v1.0.3

GMGPolar v1.0.2

20 Dec 09:29
baeac11

Choose a tag to compare

Corrected two bug without effect on the result:

  • Do not build matrix Asc_orth in matrix-free approach
  • Correct list of coarser nodes for output

GMGPolar v1.0.1

12 Dec 10:20
326dcfa

Choose a tag to compare

  • Improve output schemes
  • Added code coverage
  • Added some initial software tests
  • Correct setup process with MUMPS coarse solver

GMGPolar v1.0

14 Apr 08:27
4b33052

Choose a tag to compare

GMGPolar v1.0

GMGPolar offers a taylored Geometric Multigrid solver for geometries described by curvilinear coordinates (in its simplest case, by polar coordinates). GMGPolar uses an implicit extrapolation scheme to raise the convergence order. For nonstandard finite elements, this result has been shown theoretically and for nine-point finite difference stars, we observed up to convergence order four in all numerical simulations. This extrapolation scheme can be used likewise for other domains described by tensor- or product-format meshes in 2D. For curvilinear domains, suited smoothing schemes have been developed and implemented. GMGPolar offers a matrix and matrix-free version for most of its operators. Its original application is on cross-sectional views of realistic Tokamak geometries for fusion plasma simulations.

Contributors

@Philou31 @chrissy-s96 @mknaranja @carolakruse @CodingAllan