Skip to content

Releases: pstasiak2000/SuperVFM

Major re-write of backend API using abstract kernels

06 Feb 15:02
Compare
Choose a tag to compare

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

Implementation of dimenional variables

25 Jan 03:37
Compare
Choose a tag to compare

Added structures and packages capable of handling dimensional variables.

  • A new structure DimensionalParams is introduced, containing the dimensional variables which are used to calculate other various parameters in the simulation.
  • No longer need to pass the dimensionless core size and $\Gamma$, they are re-computed using the static physical constants which are now defined within the package.
  • Simulation parameters that were previously had a dependency on physical parameters (such as the parameters listed above) no longer have to be passed as parameter, only the temperature and box sizes have to be set, as well as the numerical viscosity as before.
  • Properties of helium-4 that are necessary in the simulation (such as density, kinematic viscosity) are now directly accessible through the package. Values of the density and kinematic viscosity are stored in the package itself and can be retrieved by method calls using simply the temperature. The reference data can be found here.

The implementation of these method calls is currently limited: picking temperatures that do not coincide with the experimental data will result in an error call. Future releases will implement an interpolation of the data to allow for greater freedom in spanning the temperature.

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

v1.0.2

10 Jan 00:11
0bc164b
Compare
Choose a tag to compare

Implemented periodic boundary enforcing

Full Changelog: v1.0.0...v1.0.2

Vortex Filament Method with LIA and static mesh size

09 Jan 01:24
Compare
Choose a tag to compare

First working implementation of the Vortex Filament Method algorithm, with three initial conditions.

Still unsupported:

  • Biot-Savart calculation of superfluid velocity
  • Tree method calculation of superfluid velocity
  • Enforcing of periodic boundary conditions
  • Adaptive mesh based on filament insertion and remova
  • Superfluid forcing mechanisms
  • Reconnection algorithm for vortices

The current version only supports the velocity calculation using LIA, and three initial conditions: straight line, vortex rings and helix. The zero temperature model and the Schwarz model are both supported in the calculation.

Full Changelog: https://github.com/pstasiak2000/SuperVFM/commits/v1.0.1+doc1

Initial documentation release

27 Dec 15:38
Compare
Choose a tag to compare