Skip to content

Releases: CaNS-World/CaNS

v3.1.0

22 Aug 12:58
1c57eb8

Choose a tag to compare

Summary

This release features two significant changes:

  • A refactored CI infrastructure, designed by Louis Henry (@lohenry-escience). See #170.
  • A port using hipfort and the diezDecomp library that enables runs on Cray-AMD supercomputers such as LUMI. The diezDecomp library and the remainder "LUMI porting" using HIP were a great effort undertaken in full by Rafael Diez (@Rafael10Diez). See #175.

Thank you for these contributions! Additionally, several minor changes related to performance, consistency, and style have been implemented.

What's Changed

  • Fixed bug for z-pencils with z-implicit diffusion on CPUs. by @p-costa in #150
  • Issue:147 Replace non-standard sentinel with CPP Macro by @lekzzA in #149
  • Fixed syntax errors in namelist. by @p-costa in #154
  • Revert "Fixed syntax errors in namelist." by @p-costa in #155
  • Enable error reporting for errors in namelists. by @p-costa in #153
  • *clean targets do not need dependencies file. by @p-costa in #152
  • Implemented simulation an arbritrary number of scalars. by @p-costa in #144
  • Parallel Cyclic Reduction - TDMA mode in the Poisson solver. by @p-costa in #160
  • Remove most CPP macros in favour of command-line arguments. by @p-costa in #161
  • Convert Fortran vector operations to loops. by @p-costa in #163
  • Write one checkpoint file per scalar field. by @p-costa in #162
  • Temporal boundary layer examples with implicit Z diffusion and Z aligned pencils. by @p-costa in #178
  • Correct boundary conditions for turbulent half channel example input file. by @p-costa in #180
  • Skip minor tests in the remote CI. by @p-costa in #181
  • Use dependabot for updating cuDecomp submodule. by @p-costa in #182
  • Typo fix in subroutine name. by @p-costa in #183
  • Include diezDecomp source as a GitHub submodule. by @p-costa in #184
  • Fix bug in wall-normal momentum flux term with implicit diffusion. by @p-costa in #185

Full Changelog: v2.4.0...v3.1.0

v3.0.0

11 Apr 21:49
57ff3f8

Choose a tag to compare

CaNS 3.0 is out! 🚀

This major release features significant new features and improvements. Most notably:

  • CaNS can now solve the transport equation for an arbitrary number of scalars with versatile description of diffusion terms, thanks to Baptiste Hardy @bahardy (#144). This implementation also simplified the boilerplate code to set up the Poisson/Helmholtz equations in CaNS.
  • A Parallel Cyclic Reduction -- TDMA (PCR-TDMA) mode for the Poisson/Helmholtz solver has been implemented, along with other Poisson solver improvements, thanks to Rafael Diez @Rafael10Diez. This resulted in significant speed-ups in many-GPU simulations at scale (#160).
  • Most CPP macros have been removed in favor of command line arguments (#161). This makes it very easy to change domain decomposition and discretization modes without re-compiling the source.
  • Many general improvements and extensions, including simplifications to the build workflow, usage of new features of the cuDecomp library, and writing a single file per scalar field for checkpointing.

What's Changed

  • Fixed bug for z-pencils with z-implicit diffusion on CPUs. by @p-costa in #150
  • Issue:147 Replace non-standard sentinel with CPP Macro by @lekzzA in #149
  • Fixed syntax errors in namelist. by @p-costa in #154
  • *clean targets do not need dependencies file. by @p-costa in #152
  • Implemented simulation an arbritrary number of scalars. by @p-costa in #144
  • Parallel Cyclic Reduction - TDMA mode in the Poisson solver. by @p-costa in #160
  • Remove most CPP macros in favour of command-line arguments. by @p-costa in #161
  • Convert Fortran vector operations to loops. by @p-costa in #163
  • Write one checkpoint file per scalar field. by @p-costa in #162
  • Tidying up for CaNS 3.0. by @p-costa in #165

New Contributors

Full Changelog: v2.4.0...v3.0.0

v2.4.0

30 Jan 16:16
1327244

Choose a tag to compare

Summary

Among some improvements and bugfixes, these release features some significant changes:

  • Implicit Z diffusion runs will perform very efficiently for XZ or YZ slab decompositions (#136, #148)
  • Possibility to prescribe a fixed time step in the input file (#139)
  • Build approach changed slightly to avoid tracking files with git that are supposed to be edited (#138)
  • One can set iout?d to 0 in the input file for no output (#128)
  • Default Intel compiler changed from ifort to ifx (#146)

What's Changed

  • Updated cuDecomp submodule. by @p-costa in #118
  • Updated GH actions CI version. by @p-costa in #119
  • 3D Antuono vortex initial field. by @gianlupo in #123
  • Fixes possible race condition. by @p-costa in #124
  • Allow setting iout?d to 0 for no output. by @soaringxmc in #128
  • Remove masking of output of coarsened field. by @p-costa in #130
  • Fixed issue in .xmf file geneartor. by @p-costa in #131
  • Reorder initial conditions for consistency. by @p-costa in #134
  • Updated cuDecomp submodule. by @p-costa in #143
  • Use ifx with FCOMP=INTEL. by @p-costa in #146
  • Discern top and bottom boundaries in wall shear stress calculation. by @p-costa in #142
  • Added option to prescribe constant time step size. by @p-costa in #139
  • Account for special case of non-decompozed z directions. by @p-costa in #136
  • Compile to build/ directory and do not track config files. by @p-costa in #138
  • Fixed bug for z-pencils with z-implicit diffusion on CPUs. by @p-costa in #148

Full Changelog: v2.3.4...v2.4.0

v2.3.4

12 Apr 11:17
373e1cd

Choose a tag to compare

What's Changed

Full Changelog: v2.3.2...v2.3.4

v2.3.2

04 Jan 18:17
15ec3ae

Choose a tag to compare

What's Changed

Full Changelog: v2.3.1...v2.3.2

v2.3.1

31 Oct 22:04
c1419fa

Choose a tag to compare

What's Changed

Full Changelog: v2.3.0...v2.3.1

v2.3.0

01 Sep 11:57
a54dd3d

Choose a tag to compare

Summary

This release features a few changes, some that break backward compatibility, more specifically:

  • We have changed the input file format, which is now based on Fortran namelists, see docs/INFO_INPUT.md for more details.

  • We also introduced a gtype input parameter that sets the choice of grid mapping function (rather than being tied to the choice of the initial condition).

  • Added more I/O flexibility (including an HDF5 backend).

What's Changed

  • added more initial conditions to initgrid. by @p-costa in #76
  • bump cudecomp submodule by @p-costa in #78
  • fixed initialization of matlab field array by @p-costa in #79
  • simplified OMP directives by @p-costa in #81
  • fixed normalization of iop initial condition by @p-costa in #82
  • minor change for consistency by @p-costa in #84
  • Allow for a non-default grid binary file. by @p-costa in #88
  • implemented and validated prescription of zero net acceleration by @p-costa in #67
  • hdf5 I/O backend by @p-costa in #87
  • Bump cudecomp submodule. by @p-costa in #89
  • Fixed OOB issue in out1d when averaging along x or y. by @p-costa in #90
  • More logical setup of the grid clustering by @p-costa in #85
  • Namelist for input files by @p-costa in #86

Full Changelog: v2.2.2...v2.3.0

v2.2.2

10 Mar 14:51
571e5df

Choose a tag to compare

Summary

This release features minor extensions that are not exercised at this moment, and a few minor bug fixes.

What's Changed

  • added option for computing mean scalar fluxes by @p-costa in #62
  • fix computation of retau for pdc case by @p-costa in #64
  • Properly rescale initial velocity for iop case. by @p-costa in #65
  • Extend integration of wall shear stresses to the different options. by @p-costa in #66
  • temporary fix for field data I/O (for visualization, not checkpointing) on GPUs. by @p-costa in #68

Full Changelog: v2.2.1...v2.2.2

v2.2.1

18 Feb 11:35
0ed6181

Choose a tag to compare

Summary

This release fixes some two minor bugs, notably that the default dns.in file under src/ was not updated following the change in the input file format introduced in #54, which has now been fixed in #60.

What's Changed

  • update description of dims by @p-costa in #58
  • fixes potential OOB error when only one field is written by @p-costa in #59
  • missed updating src/dns.in after changing input file by @p-costa in #60

Full Changelog: v2.2.0...v2.2.1

v2.2.0

03 Feb 16:03

Choose a tag to compare

Summary

This release features a change in the input file dns.in, which was simplified to avoid a common source of confusion. Instead of prescribing uref, lref, and rey (reference velocity and length scales, and Reynolds number) to calculate the fluid viscosity as visc = uref*lref/rey, we directly prescribe the inverse of the viscosity, visci (visc = visci**(-1)), so all inputs are dimensional (see the updated docs/INFO_INPUT.md file). Note that visci has the same value as the flow Reynolds number for all files under examples, as uref and lref were always equal to 1. This change is backwards-incompatible - former input files should be updated from v2.2.0 onward!

In addition, this release features a minor bugfix, extensions and polishing as detailed below.

What's Changed

  • updated GPU implementation of a single scalar by @p-costa in #48
  • Add symlink by @p-costa in #49
  • polishing python readers by @p-costa in #50
  • explicitly import functions from the cudafor module, not implicitly… by @p-costa in #51
  • added support for Intel ifx by @p-costa in #53
  • fixes bug in the GPU signal processing routines by @p-costa in #56
  • changed input files to take visci, the inverse viscosity by @p-costa in #54
  • explicitly add optional switch for asynchronous halo exchange on CPUs by @p-costa in #57

Full Changelog: v2.1.1...v2.2.0