Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add open boundaries #442

Merged
merged 151 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
2255b4a
implement `ExtrudeFace`
LasNikas Feb 5, 2024
48a753d
Merge branch 'main' into extrude-shape
LasNikas Feb 7, 2024
e299960
use `sample_face` in `interpolate_plane_3d`
LasNikas Feb 7, 2024
68b3546
add docs
LasNikas Feb 7, 2024
198eadd
add tests
LasNikas Feb 7, 2024
6c7cbde
Merge branch 'main' into extrude-shape
LasNikas Feb 7, 2024
4fe0358
fix bug
LasNikas Feb 7, 2024
c8e08f4
create `OpenBoundarySPHSystem`
LasNikas Feb 7, 2024
c915663
export OpenBoundarySPHSystem
LasNikas Feb 8, 2024
a509489
fix bug
LasNikas Feb 8, 2024
07dbc42
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
1d5d99c
add `tlsph=true`
LasNikas Feb 8, 2024
f82d0a7
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
2b472c9
fix tuple bug
LasNikas Feb 8, 2024
19fdc26
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
8d3c622
fix typo
LasNikas Feb 8, 2024
b83fd26
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
a5e2f1c
fix again
LasNikas Feb 8, 2024
3177542
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
2aa9696
fix for tests
LasNikas Feb 8, 2024
bde240d
fix layers
LasNikas Feb 8, 2024
bef4605
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 8, 2024
b3a979b
calculate particle spacing differently
LasNikas Feb 9, 2024
284c474
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 9, 2024
3521b0d
Merge branch 'main' into extrude-shape
LasNikas Feb 9, 2024
e6abe8f
Merge branch 'main' into rework-open-boundaries
LasNikas Feb 9, 2024
4c6bcf9
add show-tests
LasNikas Feb 9, 2024
33f4fc9
add `within_boundary_zone`
LasNikas Feb 9, 2024
f4cd243
change `floor` to `ceil`
LasNikas Feb 9, 2024
7e01ecc
Merge branch 'main' into extrude-shape
LasNikas Feb 12, 2024
a6b16d8
Merge branch 'main' into rework-open-boundaries
LasNikas Feb 12, 2024
b74772d
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 12, 2024
6c6a464
boundary zone tests
LasNikas Feb 12, 2024
99645bb
add `evaluate_characteristics`
LasNikas Feb 13, 2024
2284733
add tests
LasNikas Feb 13, 2024
59bdaef
add reference functions
LasNikas Feb 13, 2024
e270102
add `update_quantities!`
LasNikas Feb 13, 2024
129c786
add buffer
LasNikas Feb 13, 2024
03dce7e
add `SystemBuffer` tests
LasNikas Feb 13, 2024
bd5fe1d
cosmetic change in tests
LasNikas Feb 13, 2024
199678b
change `round` to `isapprox`
LasNikas Feb 13, 2024
19523e8
Merge branch 'extrude-shape' into rework-open-boundaries
LasNikas Feb 13, 2024
4d3ea48
add update callback
LasNikas Feb 15, 2024
a5f3149
add `UpdateCallback`
LasNikas Feb 15, 2024
68fadad
add `update_open_boundaries`
LasNikas Feb 15, 2024
5be7af8
fix bugs
LasNikas Feb 15, 2024
b1fac9d
add timers
LasNikas Feb 15, 2024
8ed0966
write prescribed quantities
LasNikas Feb 16, 2024
dbd45a8
Merge branch 'main' into rework-open-boundaries
LasNikas Feb 16, 2024
faad377
improve dispatching
LasNikas Feb 16, 2024
c656604
add example `pipe_flow_2d.jl`
LasNikas Feb 16, 2024
b19577f
add docs `UpdateCallback`
LasNikas Feb 16, 2024
bdac960
Merge branch 'main' into rework-open-boundaries
LasNikas Feb 22, 2024
38902d9
add `UpdateCallback`
LasNikas Feb 22, 2024
cc3477c
fix typo
LasNikas Feb 22, 2024
47950d2
Merge branch 'main' into rework-open-boundaries
LasNikas Mar 5, 2024
77b120b
Merge branch 'main' into update-callback
LasNikas Mar 5, 2024
983080a
Merge branch 'main' into update-callback
LasNikas Mar 5, 2024
c6c0b11
apply formatter
LasNikas Mar 5, 2024
0fce642
Merge branch 'main' into rework-open-boundaries
LasNikas Mar 7, 2024
862a817
modify system buffer
LasNikas Mar 7, 2024
d55eb27
add docstring
LasNikas Mar 7, 2024
d6d80ff
add docs
LasNikas Mar 7, 2024
5eeecd5
fix tests
LasNikas Mar 7, 2024
cba3cff
fix typos
LasNikas Mar 7, 2024
9f52875
apply formatter
LasNikas Mar 7, 2024
96b15c6
fix tests
LasNikas Mar 7, 2024
84d5828
add comment
LasNikas Mar 7, 2024
ed9c86c
fix tests
LasNikas Mar 8, 2024
e3d72a9
Merge branch 'main' into update-callback
LasNikas Mar 16, 2024
f1a7758
Merge branch 'main' into update-callback
LasNikas Apr 2, 2024
b8e877e
Merge branch 'main' into rework-open-boundaries
LasNikas Apr 2, 2024
b73b5a4
Merge branch 'main' into update-callback
LasNikas Apr 5, 2024
d5bb8f9
Merge branch 'main' into rework-open-boundaries
LasNikas Apr 5, 2024
66f863b
Merge branch 'main' into update-callback
LasNikas Apr 19, 2024
08b47f2
remove update bool
LasNikas Apr 19, 2024
8769c85
Merge branch 'main' into rework-open-boundaries
LasNikas Apr 19, 2024
defe2e0
Merge branch 'update-callback' into rework-open-boundaries
LasNikas Apr 19, 2024
c240b47
adapt docstring
LasNikas Apr 19, 2024
824895a
Merge branch 'main' into update-callback
LasNikas Apr 26, 2024
896bcf4
implement suggestions
LasNikas Apr 26, 2024
75594d4
Merge branch 'main' into rework-open-boundaries
LasNikas Apr 26, 2024
00212fe
Merge branch 'update-callback' into rework-open-boundaries
LasNikas Apr 26, 2024
0346b00
Merge branch 'main' into rework-open-boundaries
LasNikas May 6, 2024
d15ba7a
fix test
LasNikas May 6, 2024
58baa9c
Merge branch 'main' into rework-open-boundaries
LasNikas May 14, 2024
fac85ad
add check if callback is used
LasNikas May 14, 2024
92d2fe9
add comments in example file
LasNikas May 14, 2024
3adbb7b
generic types
LasNikas May 14, 2024
81e0875
merge main
LasNikas May 21, 2024
27e71ab
undo combining compact support with DEM
LasNikas May 21, 2024
0203a3a
remove density and pressure setter
LasNikas May 21, 2024
d8a06e7
implement suggestions
LasNikas May 21, 2024
118ac97
fix tests
LasNikas May 21, 2024
8de1cc3
Merge branch 'main' into rework-open-boundaries
LasNikas May 21, 2024
b8831a4
Merge branch 'main' into rework-open-boundaries
LasNikas May 24, 2024
c77a71a
Revert "remove density and pressure setter"
LasNikas May 24, 2024
5a5b007
implement suggestions
LasNikas May 24, 2024
61b5ebb
Merge branch 'main' into rework-open-boundaries
LasNikas May 25, 2024
b12bc5e
rework in- and outflow
LasNikas May 25, 2024
147a18d
rename setter functions
LasNikas May 27, 2024
75615f2
rename function
LasNikas May 27, 2024
a3adf1d
adapt tests
LasNikas May 27, 2024
9401be9
add docs
LasNikas May 27, 2024
d55d084
Merge branch 'rework-inflow-outflow' into rework-open-boundaries
LasNikas May 27, 2024
1533a91
rename function
LasNikas May 27, 2024
a9e91ce
apply formatter
LasNikas May 27, 2024
38f5034
fix tests
LasNikas May 27, 2024
e293001
fix bug in plot recipes
LasNikas May 27, 2024
e2dcc01
apply formatter
LasNikas May 27, 2024
d191840
Merge branch 'main' into rework-open-boundaries
LasNikas May 29, 2024
b948fd5
Merge branch 'main' into rework-open-boundaries
LasNikas Jun 3, 2024
9de2c48
implement suggestions for `boundary_zone.jl`
LasNikas Jun 3, 2024
38c05ef
rename kwarg
LasNikas Jun 3, 2024
032e7da
implement suggestions
LasNikas Jun 4, 2024
e341098
implement suggestions
LasNikas Jun 5, 2024
4aa2a89
modify `check_domain!`
LasNikas Jun 5, 2024
d23f53e
add comments and check for fluid system with buffer
LasNikas Jun 6, 2024
6f3ed3e
modify error message
LasNikas Jun 6, 2024
39fe9f0
fix tests
LasNikas Jun 6, 2024
e1ed3fc
fix `callback_used`
LasNikas Jun 6, 2024
a17161a
using Measurements
LasNikas Jun 6, 2024
fb162a5
fix tests
LasNikas Jun 6, 2024
2dbc8bb
sqrt(eps())
LasNikas Jun 6, 2024
0495ab9
fix tests again
LasNikas Jun 6, 2024
079d5e1
add doc to `boundary.md`
LasNikas Jun 6, 2024
421743d
link single fluid system
LasNikas Jun 6, 2024
1b970e5
fix tests
LasNikas Jun 6, 2024
db97c6c
implement suggestions
LasNikas Jun 7, 2024
c12d8de
fix tests
LasNikas Jun 7, 2024
5647c20
change the order of functions
LasNikas Jun 7, 2024
b2f7ace
modify example
LasNikas Jun 7, 2024
2f32f91
fix tests
LasNikas Jun 7, 2024
6799dc7
fix test again
LasNikas Jun 7, 2024
172da98
implement doc suggestions
LasNikas Jun 7, 2024
19c3089
modify dos
LasNikas Jun 7, 2024
f340064
fix typos
LasNikas Jun 7, 2024
992cda3
implement suggestions
LasNikas Jun 17, 2024
cfcd470
Merge branch 'main' into rework-open-boundaries
LasNikas Jun 17, 2024
ed69a40
implement suggestions
LasNikas Jun 18, 2024
ad46679
Merge branch 'main' into rework-open-boundaries
LasNikas Jun 18, 2024
01819b4
add EDAC to the example
LasNikas Jun 18, 2024
417a5b3
implement suggestions
LasNikas Jun 19, 2024
9a0c81e
Merge branch 'main' into rework-open-boundaries
LasNikas Jun 19, 2024
b0f076e
modify tests
LasNikas Jun 19, 2024
7a45ddf
adapt docs
LasNikas Jun 19, 2024
aafb4b8
Merge branch 'main' into rework-open-boundaries
LasNikas Jun 19, 2024
57e2639
add `initial_callback_flag`
LasNikas Jun 19, 2024
9c80e3f
add to `NEWS.md` and `README.md`
LasNikas Jun 19, 2024
4fed7ad
implement suggestions
LasNikas Jun 19, 2024
b0d6563
fix typo
LasNikas Jun 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ We aim at 3 to 4 month between major release versions and about 2 weeks between
## Version 0.1.3

### Added
Open boundaries using the method of characteristics based on the work of Lastiwka et al., "Permeable and non-reflecting boundary conditions in SPH" (2009) was added for WCSPH and EDAC.
Open boundaries using the method of characteristics based on the work of Lastiwka et al., "Permeable and non-reflecting boundary conditions in SPH" (2009) were added for WCSPH and EDAC.

## Version 0.1.2

Expand Down
4 changes: 2 additions & 2 deletions src/general/semidiscretization.jl
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ function semidiscretize(semi, tspan; reset_threads=true, data_type=nothing)
initialize!(system, neighborhood_search)

# Only for systems requiring a mandatory callback
initial_callback_flag!(system)
reset_callback_flag(system)
end
end

Expand Down Expand Up @@ -360,7 +360,7 @@ function restart_with!(semi, sol; reset_threads=true)
restart_with!(system, v, u)

# Only for systems requiring a mandatory callback
initial_callback_flag!(system)
reset_callback_flag(system)
end

return semi
Expand Down
2 changes: 1 addition & 1 deletion src/general/system.jl
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,4 @@ function update_final!(system, v, u, v_ode, u_ode, semi, t; update_from_callback
end

# Only for systems requiring a mandatory callback
initial_callback_flag!(system) = system
reset_callback_flag(system) = system
2 changes: 1 addition & 1 deletion src/schemes/boundary/open_boundary/system.jl
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ function Base.show(io::IO, ::MIME"text/plain", system::OpenBoundarySPHSystem)
end
end

function initial_callback_flag!(system::OpenBoundarySPHSystem)
function reset_callback_flag(system::OpenBoundarySPHSystem)
LasNikas marked this conversation as resolved.
Show resolved Hide resolved
system.update_callback_used[] = false

return system
Expand Down
8 changes: 4 additions & 4 deletions test/schemes/boundary/open_boundary/boundary_zone.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
plane_points_1 = [[0.0, 0.0], [0.5, -0.5], [1.0, 0.5]]
plane_points_2 = [[0.0, 1.0], [0.2, 2.0], [2.3, 0.5]]

@testset verbose=true "Points $(i)" for i in eachindex(plane_points_1)
@testset verbose=true "Points $i" for i in eachindex(plane_points_1)
point_1 = plane_points_1[i]
point_2 = plane_points_2[i]

Expand All @@ -17,7 +17,7 @@
-normalize([-plane_size[2], plane_size[1]]),
]

@testset verbose=true "Flow Direction $(j)" for j in eachindex(flow_directions)
@testset verbose=true "Flow Direction $j" for j in eachindex(flow_directions)
inflow = InFlow(; plane=(point_1, point_2), particle_spacing,
flow_direction=flow_directions[j], density=1.0,
open_boundary_layers)
Expand Down Expand Up @@ -64,7 +64,7 @@
[0.3113730847835541, 0.25057315826416016, -0.02374829351902008],
]

@testset verbose=true "Points $(i)" for i in eachindex(plane_points_1)
@testset verbose=true "Points $i" for i in eachindex(plane_points_1)
point_1 = plane_points_1[i]
point_2 = plane_points_2[i]
point_3 = plane_points_3[i]
Expand All @@ -77,7 +77,7 @@
-normalize(cross(edge1, edge2)),
]

@testset verbose=true "Flow Direction $(j)" for j in eachindex(flow_directions)
@testset verbose=true "Flow Direction $j" for j in eachindex(flow_directions)
inflow = InFlow(; plane=(point_1, point_2, point_3), particle_spacing,
flow_direction=flow_directions[j], density=1.0,
open_boundary_layers)
Expand Down
Loading