Skip to content

Commit 1d57f11

Browse files
author
LasNikas
committed
Merge branch 'dev' into drop-n_clamped_particles
2 parents 3434c40 + d628a6d commit 1d57f11

File tree

178 files changed

+21303
-3161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+21303
-3161
lines changed

.buildkite/pipeline.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ steps:
22
- label: "CUDA"
33
plugins:
44
- JuliaCI/julia#v1:
5-
version: "1.11"
5+
version: "1.12"
66
agents:
77
queue: "juliagpu"
88
cuda: "*"
@@ -16,7 +16,7 @@ steps:
1616
- label: "AMDGPU"
1717
plugins:
1818
- JuliaCI/julia#v1:
19-
version: "1.11"
19+
version: "1.12"
2020
agents:
2121
queue: "juliagpu"
2222
rocm: "*"
@@ -30,7 +30,7 @@ steps:
3030
- label: "Metal"
3131
plugins:
3232
- JuliaCI/julia#v1:
33-
version: "1.11"
33+
version: "1.12"
3434
agents:
3535
queue: "juliaecosystem"
3636
os: "macos"

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,11 @@ updates:
55
directory: "/" # Location of package manifests
66
schedule:
77
interval: "monthly"
8+
groups:
9+
# Group all GitHub Actions PRs into a single PR:
10+
all-github-actions:
11+
patterns:
12+
- "*"
13+
ignore:
14+
- dependency-name: "julia-actions/julia-downgrade-compat"
15+
versions: [ ">=2.0.0" ]

.github/workflows/Documenter.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ jobs:
3131
os: [ubuntu-latest, windows-latest]
3232
steps:
3333
- name: Check out project
34-
uses: actions/checkout@v5
34+
uses: actions/checkout@v6
3535
- name: Set up Julia
3636
uses: julia-actions/setup-julia@v2
3737
with:
3838
version: '1'
3939
show-versioninfo: true
40-
- uses: julia-actions/cache@v2
40+
- uses: julia-actions/cache@v3
4141
- name: Build package
4242
uses: julia-actions/julia-buildpkg@v1
4343
- name: Install dependencies

.github/workflows/FormatCheck.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Check out project
16-
uses: actions/checkout@v5
16+
uses: actions/checkout@v6
1717
- name: Set up Julia
1818
uses: julia-actions/setup-julia@v2
1919
with:
2020
version: '1'
2121
- run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
22-
- uses: julia-actions/cache@v2
22+
- uses: julia-actions/cache@v3
2323
- name: Install JuliaFormatter and format
2424
# This will use the latest version by default but you can set the version like so:
2525
#

.github/workflows/Invalidations.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ jobs:
2020
with:
2121
# TODO: Is broken in 1.11 revert to 1 after fix
2222
version: '1.10'
23-
- uses: actions/checkout@v5
23+
- uses: actions/checkout@v6
2424
- uses: julia-actions/julia-buildpkg@v1
2525
- uses: julia-actions/julia-invalidations@v1
2626
id: invs_pr
2727

28-
- uses: actions/checkout@v5
28+
- uses: actions/checkout@v6
2929
with:
3030
ref: ${{ github.event.repository.default_branch }}
3131
- uses: julia-actions/julia-buildpkg@v1

.github/workflows/SpellCheck.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: Checkout Actions Repository
11-
uses: actions/checkout@v5
11+
uses: actions/checkout@v6
1212
- name: Check spelling
13-
uses: crate-ci/typos@v1.37.0
13+
uses: crate-ci/typos@v1.44.0

.github/workflows/TriggerGPUTests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Trigger Buildkite Pipeline
14-
uses: "buildkite/trigger-pipeline-action@v2.3.0"
14+
uses: "buildkite/trigger-pipeline-action@v2.4.1"
1515
with:
1616
buildkite_api_access_token: ${{ secrets.TRIGGER_BK_BUILD_TOKEN }}
1717
pipeline: "julialang/trixiparticles"

.github/workflows/ci.yml

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ jobs:
4444
version:
4545
- '1.10'
4646
- '1.11'
47+
- '1.12'
4748
os:
4849
- ubuntu-latest
4950
include:
@@ -53,14 +54,14 @@ jobs:
5354
os: windows-latest
5455
- version: '1.10'
5556
os: macos-14
56-
- version: '1.11'
57+
- version: '1.12'
5758
os: windows-latest
58-
- version: '1.11'
59+
- version: '1.12'
5960
os: macos-14
6061

6162
steps:
6263
- name: Check out project
63-
uses: actions/checkout@v5
64+
uses: actions/checkout@v6
6465

6566
- name: Set up Julia
6667
uses: julia-actions/setup-julia@v2
@@ -70,7 +71,7 @@ jobs:
7071
- name: Display Julia version
7172
run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
7273

73-
- uses: julia-actions/cache@v2
74+
- uses: julia-actions/cache@v3
7475

7576
- name: Build package
7677
uses: julia-actions/julia-buildpkg@v1
@@ -80,21 +81,21 @@ jobs:
8081
with:
8182
annotate: true
8283
# Only run coverage in one Job (Ubuntu and latest Julia version)
83-
coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.version == '1' }}
84+
coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.version == '1.11' }}
8485
env:
8586
TRIXIPARTICLES_TEST: unit
8687

87-
- name: Process coverage results
88+
- name: Process unit coverage results
8889
# Only run coverage in one Job (Ubuntu and latest Julia version)
89-
if: matrix.os == 'ubuntu-latest' && matrix.version == '1'
90+
if: matrix.os == 'ubuntu-latest' && matrix.version == '1.11'
9091
uses: julia-actions/julia-processcoverage@v1
9192
with:
9293
directories: src,test
9394

94-
- name: Upload coverage report to Codecov
95+
- name: Upload unit coverage report to Codecov
9596
# Only run coverage in one Job (Ubuntu and latest Julia version)
96-
if: matrix.os == 'ubuntu-latest' && matrix.version == '1'
97-
uses: codecov/codecov-action@v5
97+
if: matrix.os == 'ubuntu-latest' && matrix.version == '1.11'
98+
uses: codecov/codecov-action@v6
9899
with:
99100
files: lcov.info
100101
fail_ci_if_error: true
@@ -106,6 +107,25 @@ jobs:
106107
uses: julia-actions/julia-runtest@v1
107108
with:
108109
annotate: true
109-
coverage: false
110+
# Only run coverage in one Job (Ubuntu and latest Julia version)
111+
coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.version == '1.11' }}
110112
env:
111113
TRIXIPARTICLES_TEST: examples
114+
115+
- name: Process total coverage results
116+
# Only run coverage in one Job (Ubuntu and latest Julia version)
117+
if: matrix.os == 'ubuntu-latest' && matrix.version == '1.11'
118+
uses: julia-actions/julia-processcoverage@v1
119+
with:
120+
directories: src,test
121+
122+
- name: Upload total coverage report to Codecov
123+
# Only run coverage in one Job (Ubuntu and latest Julia version)
124+
if: matrix.os == 'ubuntu-latest' && matrix.version == '1.11'
125+
uses: codecov/codecov-action@v6
126+
with:
127+
files: lcov.info
128+
fail_ci_if_error: true
129+
flags: total
130+
env:
131+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

NEWS.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,93 @@ TrixiParticles.jl follows the interpretation of
44
[semantic versioning (semver)](https://julialang.github.io/Pkg.jl/dev/compatibility/#Version-specifier-format-1)
55
used in the Julia ecosystem. Notable changes will be documented in this file for human readability.
66

7+
## Version 0.5
8+
9+
### API Changes
10+
11+
- Return type of `vtk2trixi` changed to `NamedTuple` including an optional
12+
`:initial_condition` field if `create_initial_condition=true` is passed. (#959)
13+
14+
## Version 0.4.4
15+
16+
### API Changes
17+
18+
- Custom quantities called in the `PostprocessCallback` are now passed CPU arrays when
19+
the simulation is run on a GPU (#1065).
20+
21+
### Features
22+
23+
- Added `StateEquationAdaptiveCole` an adaptive sound speed version of the Cole state equation (#875).
24+
- Added `RigidBodySystem` that supports rigid body dynamics for FSI (#1076).
25+
- Added `RigidContactModel` that supports rigid-wall and rigid-rigid collisions (#1090, #1091).
26+
- Added a specialized neighborhood search for TLSPH self-interaction (#1016).
27+
- Added CFL condition for TLSPH and split integration (#1030).
28+
- Added new validation case hydrostatic water column (#724).
29+
- Added Carreau–Yasuda non-Newtonian viscosity model (#1010).
30+
31+
### Important Bugfixes
32+
33+
- Fixed the periodic array of cylinders example file (#975).
34+
- A `StepsizeCallback` can now be used with open boundaries (#1074).
35+
36+
### Documentation
37+
38+
- Added a new tutorial for rigid body dynamics (#1095).
39+
- Better overview page for tutorials (#1093).
40+
41+
## Version 0.4.3
42+
43+
### API Changes
44+
45+
- Added the keyword `coordinates_eltype` to `RectangularTank`,
46+
`RectangularShape` and `SphereShape`, which defaults to `Float64` (#956).
47+
48+
- Added keywords `element_type` and `coordinates_eltype` to `vtk2trixi` (#991)
49+
50+
### Features
51+
- Added support for ASCII STL files with multiple patches as separate geometries,
52+
plus a function `extrude_geometry` and a union operation for `TrixiParticles.TriangleMesh` (#962).
53+
54+
- Added an `RCRWindkesselModel` open-boundary pressure model as a lumped-parameter
55+
description of vascular systems (#935, #1019, #992).
56+
57+
- Added support for FP64 coordinates when using FP32 GPU computations, fixing
58+
stability issues at high resolutions (#956).
59+
60+
- Added a new `LaguerreGaussKernel` smoothing kernel (#893).
61+
62+
- Added GPU and FP32 support for DEM (#979).
63+
64+
### Performance
65+
- Improved GPU performance with shifting up to a factor of 10x (#974, #993).
66+
67+
- Significantly improved GPU performance of TLSPH (#1014).
68+
769
## Version 0.4.2
870

71+
### API Changes
72+
73+
- Keyword argument `n_clamped_particles` of the `TotalLagrangianSPHSystem`
74+
has been deprecated in favor of a new kwarg `clamped_particles`.
75+
976
### Features
1077

1178
- Added `OscillatingMotion2D` to create an oscillating `PrescribedMotion` combining
1279
translation and rotation (#915).
80+
- Added `BoundaryModelDynamicalPressureZhang` for `OpenBoundarySystem` (#900).
81+
- Added `PrescribedMotion` to clamped particles in `TotalLagrangianSPHSystem` (#896).
82+
- Added new boundary density calculator `PressureBoundaries` specifically for
83+
`ImplicitIncompressibleSPHSystem` (#946).
84+
- Included wall velocity in interpolation (#941).
85+
- 2D dam break validation now compares against the results from De Courcy et al. (#934).
86+
- Improved performance of `TotalLagrangianSPHSystem` on GPUs (#968).
87+
88+
### Important Bugfixes
89+
90+
- Fixed transport velocity formulation with tensile instability control (#948).
91+
- Fixed `TotalLagrangianSPHSystem` close to open boundaries (#954).
92+
- `extrude_geometry` now doesn't adjust the particle spacing (#965).
93+
- Reduced overhead of `UpdateCallback` when no update operations are performed (#973).
1394

1495
## Version 0.4.1
1596

Project.toml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
name = "TrixiParticles"
22
uuid = "66699cd8-9c01-4e9d-a059-b96c86d16b3a"
3+
version = "0.4.5-dev"
34
authors = ["erik.faulhaber <44124897+efaulhaber@users.noreply.github.com>"]
4-
version = "0.4.2-dev"
55

66
[deps]
7+
Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
78
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
89
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
910
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
@@ -17,7 +18,6 @@ GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
1718
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1819
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
1920
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
20-
MuladdMacro = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
2121
PointNeighbors = "1c4d5385-0a27-49de-8e2c-43b175c8985c"
2222
Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588"
2323
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
@@ -34,15 +34,19 @@ TrixiBase = "9a0f1c46-06d5-4909-a5a3-ce25d3fa3284"
3434
WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192"
3535

3636
[weakdeps]
37+
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
3738
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
3839
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
3940

4041
[extensions]
42+
TrixiParticlesCUDAExt = "CUDA"
4143
TrixiParticlesOrdinaryDiffEqExt = ["OrdinaryDiffEq", "OrdinaryDiffEqCore"]
4244

4345
[compat]
46+
Accessors = "0.1.43"
4447
Adapt = "4"
4548
CSV = "0.10"
49+
CUDA = "5.9.1"
4650
DataFrames = "1.6"
4751
DelimitedFiles = "1"
4852
DiffEqCallbacks = "4"
@@ -52,10 +56,9 @@ ForwardDiff = "1"
5256
GPUArraysCore = "0.2"
5357
JSON = "1"
5458
KernelAbstractions = "0.9"
55-
MuladdMacro = "0.2"
5659
OrdinaryDiffEq = "6.91"
57-
OrdinaryDiffEqCore = "1"
58-
PointNeighbors = "0.6.3"
60+
OrdinaryDiffEqCore = "2, 3"
61+
PointNeighbors = "0.6.5"
5962
Polyester = "0.7.10"
6063
ReadVTK = "0.2"
6164
RecipesBase = "1"

0 commit comments

Comments
 (0)