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 thets.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 settingIO=IOBuffer()
, or can be left default to output to the standard outputstdout
. During pre-compilation, the io is set toIOBuffer()
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