Skip to content

Major re-write of backend API using abstract kernels

Latest
Compare
Choose a tag to compare
@pstasiak2000 pstasiak2000 released this 06 Feb 15:02
· 8 commits to main since this release

Major update in the backend API of the package. All backend operations that previously used CUDA broadcasted functions are now re-rewritten using the @kernel macro supplied by KernelAbstractions.jl. Functions in this way can now smoothly be ran on both CPUs and GPUs.

Currently, only CUDA has been tested in the package.

Other implementations

  • Included outputs of vortex information to file. The code will now output important data about the vortices every shots timesteps, and will add statistical data into the ts.log file. The simulation precision is additionally outputted to file, as well as the parameters used in the simulation.
  • Added precompilation of some common simulation setups on a CPU backend to improve speed and performance of the package during compilation.

Minor additions

  • Interpolations of experimental data allow for density and kinematic viscosity to be obtain for any temperature in the specified limits.
  • Added IO parameter in simulation parameter, to directly specify the printing of outputs. This parameter can be set to write to a specific file, can write to an buffer by setting IO=IOBuffer(), or can be left default to output to the standard output stdout. During pre-compilation, the io is set to IOBuffer() to eliminate unncessary printing during precompilation.
  • Added a simple trefoil initial condition, which can be scaled by a single scaling parameter.
  • Other minor bug fixes and changes to documentation.

Full Changelog: v1.0.3...v2.0.0