Releases: Xiangyu-Hu/SPHinXsys
SPHinXsys 1.0 release 2024.09.14
This the final release of SPHinXsys before the transition to new version 2.0 for heterogeneous computing.
New updates (mainly bug fix) of the SPHinXsys 1.0 will be within the branch name version/1.0.
We will limit the adding of new features to this version.
Most of new features will be added in master branch for future releases under the version 2.0.
New features and new implementation level set creation
- New feature on fluid-shell and shell-shell interaction with examples.
- New examples on complex thermal problems (see examples on window frames).
- New implementation on level set creation using the open source library: https://github.com/InteractiveComputerGraphics/TriangleMeshDistance.
- Data structure further revised for general usage.
- Weakly compressible finite volume method using 3D mesh.
Linear gradient kernel correction generally applicable
Other new features, revision and bug fixes:
- Now, due to our new hourglass control method, the total Lagrangian SPH for solid dynamics is very stable for arbitrary materials.
- Dual time-step criteria method improved to achieve angular momentum conservation for inviscid flows.
- General continuum SPH model is developed for soil applications.
- Gravity, viscous force and other force can be updated in arbitrary frequency.
- Now, SPHinXsys naturally generalized mesh-based FVM method as a special case of SPH algorithm.
- Thermal optimization is included to shown the embedded optimization function in SPHinXsys.
- Novel pressure boundary condition is added for general channel flows.
- Coupling between fluid and one-side shell interactions is presented.
- Violent two phase flows can be robustly simulated with high resolutions.
- Transport formulation correction is now limited for flow region only with considerable zero-order consistency error.
Preview release of the GPU version using SYCL
This is a preview release of SPHinXsys in GPU version.
Currently, only the dam-break cases are running on GPU.
Please feel free to fork, try and test the performance.
For installing this version, please follow the instruction from
https://www.sphinxsys.org/html/installation.html#installing-sycl-version-on-ubuntu
If you have any suggestion or comments, please use the issue and discussion page.
You can also contact me (xiangyu.hu@tum.de) for possible collaborations on the GPU version.
New features & bug fix
- Now, the shell model is matured, we have provided with several new challenging cases.
- We have provided kernel correction method to solved the long standing excessive dissipation problem for general free surface flows.
- Bug in wall treatment Riemann problem is fixed.
- Free surface density evaluation fixed so the that free surface level is must more accurate now.
- New complex boundary conditions for diffusion reaction dynamics introduced. Now, SPHinXsys can handle heat transfer with arbitrary types of boundary conditions together.
- Python interface is provided for running and control SPHinXsys simulation in python environment.
Installation notes: install pybind11 in vcpkg is required.
Bug fix on Riemann solver and thin shell dynamics for better numerical stability
In this release, two important bug fixes have been included.
- Riemann solver will still be used for fluid-wall interaction, since some cases occasionally lead to very small times steps,
especially when the resolution is high.
2, The bug on numerical dissipation for thin shell structure has been corrected.
Now the simulation of thin shell problems do not require smaller time steps any more.
Eigen library, new features and faster fluid dynamics
In this release, the new features are:
- The library uses Eigen 3 for vector and matrix operations.
- The fluid dynamics has been further accelerated more than 30%.
- Dynamics algorithms are explicitly defined in case file.
- Level-set topological correction introduced for to great robustness in particle generation.
- Particle split and merge algorithms are included with a new dam-break case.
- Adaptive particle sizes and variable smoothing lengths can be used for fluid dynamics simulation.
Please check the project website www.sphinxsys.org for the updated installation instructions for Linux and Windows systems.
You are welcomed to try and comment this new release.
New features on geometry, contact and particle generation
In this release, the new features are:
- New geometric shape which is much faster than triangular mesh is introduced.
- General coordinate transformation is introduced to all shapes.
- Contact between volumetric and surface structures is introduced.
- Particle generation is generalized for volumetric and surface particles.
- Construction of adaptation, particles and materials now are based on factory methods.
Installation note:
Eigen 3 library is required for this release. You can download it from https://eigen.tuxfamily.org/index.php?title=Main_Page.
The eigen library source should be put in the folder 3rd_party/eigen.
Validated shell models and Eulerian formulations
In this release,
besides the bug related free-stream boundary condition is fixed.
the shell models have been validated with classical tests from literature.
Another new feature is the Eulerian formulations.
Currently, weakly compressible and fully compressible formulation are implemented and validated with typical cases.
Using particle relaxation, SPHinXsys is able to simulate classical aerodynamic and gas-dynamics problems.
You are welcome to test and comment!
New features on memory safty and regression test
In this new release, we have first introduced a new feature of regression test,
so that the simulation results of test cases will be compared with previous computed results.
This will eliminate hidden bugs which do not blowup the simulations.
The second updates in the release is the enforcement of Resource acquisition is initialization (RAII),
so that memory leaking which often due to new raw pointers will be avoided.
For this, the ownership of objects are explicitly defined with the help of smart pointers.
Since these smart pointers are only involved in object constructors,
the usage and efficiency of raw pointers (as observers) for computation was not influenced.
You are welcomed to test and report issues.