Skip to content

Commit 4b7008c

Browse files
committed
Prepare release
1 parent 8b3e6e2 commit 4b7008c

File tree

5 files changed

+16
-12
lines changed

5 files changed

+16
-12
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
The following changes are present in the `main` branch of the repository and are not yet part of a release:
44

5+
- No major changes since last release
6+
7+
## Version 0.9.2
8+
59
- Lib: In the `UniformCartesianCubeGrid3d::from_aabb` constructor, re-align the min-coordinate of the AABB to multiples of the cube size by default. This way multiple frames of an animation will be automatically consistent in terms of marching cubes grid alignment without having to manually specify an AABB for the entire simulation.
610

711
## Version 0.9.1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ The file format is inferred from the extension of output filename.
231231

232232
### The `reconstruct` command
233233
```
234-
splashsurf-reconstruct (v0.9.0) - Reconstruct a surface from particle data
234+
splashsurf-reconstruct (v0.9.2) - Reconstruct a surface from particle data
235235
236236
Usage: splashsurf.exe reconstruct [OPTIONS] --particle-radius <PARTICLE_RADIUS> --smoothing-length <SMOOTHING_LENGTH> --cube-size <CUBE_SIZE> <--input-file <INPUT_FILE>|--input-sequence <INPUT_SEQUENCE>>
237237

splashsurf/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "splashsurf"
3-
version = "0.9.1"
3+
version = "0.9.2"
44
authors = ["Fabian Löschner <[email protected]>"]
55
license = "MIT"
66
description = "Command-line tool for surface reconstruction of SPH particle data"
@@ -13,7 +13,7 @@ homepage = "https://github.com/w1th0utnam3/splashsurf"
1313
repository = "https://github.com/w1th0utnam3/splashsurf"
1414

1515
[dependencies]
16-
splashsurf_lib = { path = "../splashsurf_lib", version = "0.9", features = ["vtk_extras", "profiling", "io"] }
16+
splashsurf_lib = { path = "../splashsurf_lib", version = "0.9.2", features = ["vtk_extras", "profiling", "io"] }
1717
clap = { version = "4.3", features = ["derive"] }
1818
log = "0.4"
1919
fern = "0.6"

splashsurf/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ By default, a domain decomposition of the particle set is performed using octree
6464
The implementation first computes the density of each particle using the typical SPH approach with a cubic kernel.
6565
This density is then evaluated or mapped onto a sparse grid using spatial hashing in the support radius of each particle.
6666
This implies that memory is only allocated in areas where the fluid density is non-zero. This is in contrast to a naive approach where the marching cubes background grid is allocated for the whole domain.
67-
The marching cubes reconstruction is performed only in the narrow band of grid cells where the density values cross the surface threshold. Cells completely in the interior of the fluid are skipped. For more details, please refer to the [readme of the library]((https://github.com/w1th0utnam3/splashsurf/blob/main/splashsurf_lib/README.md)).
67+
The marching cubes reconstruction is performed only in the narrowband of grid cells where the density values cross the surface threshold. Cells completely in the interior of the fluid are skipped. For more details, please refer to the [readme of the library]((https://github.com/w1th0utnam3/splashsurf/blob/main/splashsurf_lib/README.md)).
6868
Finally, all surface patches are stitched together by walking the octree back up, resulting in a closed surface.
6969

7070
## Notes
7171

72-
Due the use of hash maps and multi-threading (if enabled), the output of this implementation is not deterministic.
73-
In the future, flags may be added to switch the internal data structures to use binary trees for debugging purposes.
74-
75-
Note that for small numbers of fluid particles (i.e. in the low thousands or less) the multi-threaded implementation may have worse performance due to the task based parallelism and the additional overhead of domain decomposition and stitching.
72+
For small numbers of fluid particles (i.e. in the low thousands or less) the multithreaded implementation may have worse performance due to the task based parallelism and the additional overhead of domain decomposition and stitching.
7673
In this case, you can try to disable the domain decomposition. The reconstruction will then use a global approach that is parallelized using thread-local hashmaps.
77-
For larger quantities of particles the decomposition approach will be faster, however.
74+
For larger quantities of particles the decomposition approach is expected to be always faster.
75+
76+
Due to the use of hash maps and multi-threading (if enabled), the output of this implementation is not deterministic.
77+
In the future, flags may be added to switch the internal data structures to use binary trees for debugging purposes.
7878

7979
As shown below, the tool can handle the output of large simulations.
8080
However, it was not tested with a wide range of parameters and may not be totally robust against corner-cases or extreme parameters.
@@ -95,7 +95,7 @@ Good settings for the surface reconstruction depend on the original simulation a
9595
- `particle-radius`: should be a bit larger than the particle radius used for the actual simulation. A radius around 1.4 to 1.6 times larger than the original SPH particle radius seems to be appropriate.
9696
- `smoothing-length`: should be set around `1.2`. Larger values smooth out the iso-surface more but also artificially increase the fluid volume.
9797
- `surface-threshold`: a good value depends on the selected `particle-radius` and `smoothing-length` and can be used to counteract a fluid volume increase e.g. due to a larger particle radius. In combination with the other recommended values a threshold of `0.6` seemed to work well.
98-
- `cube-size` i.e. marching cubes resolution of less than `1.0`, e.g. start with `0.5` and increase/decrease it if the result is not smooth enough or the reconstruction takes too long.
98+
- `cube-size` usually should not be chosen larger than `1.0` to avoid artifacts (e.g. single particles decaying into rhomboids), start with a value in the range of `0.75` to `0.5` and decrease/increase it if the result is too coarse or the reconstruction takes too long.
9999

100100
### Benchmark example
101101
For example:
@@ -225,7 +225,7 @@ The file format is inferred from the extension of output filename.
225225

226226
### The `reconstruct` command
227227
```
228-
splashsurf-reconstruct (v0.9.0) - Reconstruct a surface from particle data
228+
splashsurf-reconstruct (v0.9.2) - Reconstruct a surface from particle data
229229
230230
Usage: splashsurf.exe reconstruct [OPTIONS] --particle-radius <PARTICLE_RADIUS> --smoothing-length <SMOOTHING_LENGTH> --cube-size <CUBE_SIZE> <--input-file <INPUT_FILE>|--input-sequence <INPUT_SEQUENCE>>
231231

splashsurf_lib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "splashsurf_lib"
3-
version = "0.9.0"
3+
version = "0.9.2"
44
authors = ["Fabian Löschner <[email protected]>"]
55
license = "MIT"
66
description = "Library for surface reconstruction of SPH particle data"

0 commit comments

Comments
 (0)