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

Free surface #68

Merged
merged 56 commits into from
Mar 22, 2024
Merged
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b6a2d13
free surface stabilization
albert-de-montserrat Nov 20, 2023
24ee027
free surface stabilization
albert-de-montserrat Nov 21, 2023
8a73204
update
albert-de-montserrat Nov 21, 2023
60478ab
Merge branch 'main' into adm-freesurface
albert-de-montserrat Dec 1, 2023
fadc2f5
fix CI
albert-de-montserrat Dec 1, 2023
53924d0
rayleigh taylor test
albert-de-montserrat Dec 1, 2023
c22b311
fix no slip BCs
albert-de-montserrat Dec 5, 2023
99780f4
fix free surface correciton
albert-de-montserrat Dec 5, 2023
a84c237
Rayleigh Taylor miniapp
albert-de-montserrat Dec 5, 2023
6a0dacd
format
albert-de-montserrat Dec 5, 2023
3cc5e4b
update miniapp
albert-de-montserrat Dec 6, 2023
a3fd142
remove comment
albert-de-montserrat Dec 6, 2023
af6459c
Merge branch 'main' into adm-freesurface
aelligp Dec 21, 2023
f131c55
Merge branch 'main' into adm-freesurface
aelligp Jan 10, 2024
b712160
Merge branch 'main' into adm-freesurface
aelligp Jan 10, 2024
eeda76f
Merge branch 'main' into adm-freesurface
aelligp Jan 25, 2024
f55ab02
add testing script
aelligp Jan 29, 2024
657b00e
Merge branch 'main'
aelligp Jan 29, 2024
339313c
fix spelling
aelligp Jan 29, 2024
cf65a1c
Merge branch 'main' into adm-freesurface
aelligp Feb 14, 2024
55795a8
Merge branch 'main' into adm-freesurface
aelligp Feb 14, 2024
d9604ba
update to newest JP and GP
aelligp Feb 15, 2024
d2fb6ac
update crustal benchmark
aelligp Feb 16, 2024
1eeba67
Merge branch 'main' into adm-freesurface
aelligp Mar 13, 2024
e9b27c3
fix dt (cant be Inf anymore)
albert-de-montserrat Mar 14, 2024
f03df42
surface stabilization miniapps
albert-de-montserrat Mar 16, 2024
0f1e8fb
few tweaks
albert-de-montserrat Mar 16, 2024
4960077
fix tests (dt != Inf)
albert-de-montserrat Mar 16, 2024
dc21f0f
fix van keken test
albert-de-montserrat Mar 16, 2024
95d01d1
fix VK again
albert-de-montserrat Mar 16, 2024
3854c3b
introduce pressure shift
albert-de-montserrat Mar 17, 2024
b34da51
update Rayleigh Taylor miniapp
albert-de-montserrat Mar 17, 2024
5c32e2a
format
albert-de-montserrat Mar 17, 2024
9e5c4b9
BC fixes
albert-de-montserrat Mar 17, 2024
5f09291
format
albert-de-montserrat Mar 17, 2024
24cee76
reverse change
albert-de-montserrat Mar 17, 2024
b0cea45
improve indexing
albert-de-montserrat Mar 18, 2024
74c8afb
fix BCs test
albert-de-montserrat Mar 18, 2024
16cbca8
reduce relaxation coeff
albert-de-montserrat Mar 19, 2024
df2493f
proto script
albert-de-montserrat Mar 19, 2024
f0cb66d
update miniapp
albert-de-montserrat Mar 21, 2024
cd93a9a
new interp_Vx_on_Vy! function
albert-de-montserrat Mar 21, 2024
5b77930
small fix
albert-de-montserrat Mar 21, 2024
0f07566
linear continuation function
albert-de-montserrat Mar 21, 2024
fda2d4e
stokes PT coeff correction
albert-de-montserrat Mar 21, 2024
9db1510
improved free surface stabilization
albert-de-montserrat Mar 21, 2024
e0132b4
Merge branch 'adm-freesurface' of https://github.com/PTsolvers/JustRe…
albert-de-montserrat Mar 21, 2024
dc0220a
cleaning up
albert-de-montserrat Mar 21, 2024
c4c0089
cleaning up
albert-de-montserrat Mar 21, 2024
391c9f7
more clean up and fixing
albert-de-montserrat Mar 21, 2024
e431f86
decrase iterMin to 100
albert-de-montserrat Mar 21, 2024
9e2ebb2
Merge branch 'main' into adm-freesurface
albert-de-montserrat Mar 21, 2024
3eee85e
format
albert-de-montserrat Mar 21, 2024
a1e1fc3
some fixes
albert-de-montserrat Mar 22, 2024
7cf2671
format
albert-de-montserrat Mar 22, 2024
c924dcd
remove JustPIC from Project.toml
albert-de-montserrat Mar 22, 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
Prev Previous commit
Next Next commit
fix BCs test
albert-de-montserrat committed Mar 18, 2024
commit 74c8afb40744ea06feac2f4aad72c7850f9a3ab4
39 changes: 20 additions & 19 deletions test/test_boundary_conditions2D.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using Test, Suppressor
using JustRelax
using ParallelStencil
@init_parallel_stencil(Threads, Float64, 2)

model = PS_Setup(:cpu, Float64, 2)
environment!(model)
@@ -10,18 +8,18 @@ environment!(model)
@suppress begin
# periodicity
n = 5 # number of elements
Vx, Vy = @rand(n + 1, n + 2), @rand(n + 2, n + 1)
Vx, Vy = PTArray(rand(n + 1, n + 2)), PTArray(rand(n + 2, n + 1))
bcs = FlowBoundaryConditions(;
no_slip=(left=false, right=false, top=false, bot=false),
free_slip=(left=false, right=false, top=false, bot=false),
periodicity=(left=true, right=true, top=true, bot=true),
)
flow_bcs!(bcs, Vx, Vy)

@test @views Vx[:, 1] == Vx[:, end - 1]
@test @views Vx[:, end] == Vx[:, 2]
@test @views Vy[1, :] == Vy[end - 1, :]
@test @views Vy[end, :] == Vy[2, :]
@test @views Vx[: , 1] == Vx[: , end - 1]
@test @views Vx[: , end] == Vx[: , 2]
@test @views Vy[1 , :] == Vy[end - 1, :]
@test @views Vy[end, :] == Vy[2 , :]

# free-slip
bcs = FlowBoundaryConditions(;
@@ -37,6 +35,7 @@ environment!(model)
@test @views Vy[end, :] == Vy[end - 1, :]

# no-slip
Vx, Vy = PTArray(rand(n + 1, n + 2)), PTArray(rand(n + 2, n + 1))
bcs = FlowBoundaryConditions(;
no_slip=(left=true, right=true, top=true, bot=true),
free_slip=(left=false, right=false, top=false, bot=false),
@@ -47,15 +46,17 @@ environment!(model)
@test sum(!iszero(Vx[end, i]) for i in axes(Vx,2)) == 0
@test sum(!iszero(Vy[i, 1]) for i in axes(Vy,1)) == 0
@test sum(!iszero(Vy[i, 1]) for i in axes(Vy,1)) == 0
@test @views Vy[1, :] == -Vy[2, :]
@test @views Vy[end, :] == -Vy[end - 1, :]
@test @views Vx[:, 1] == -Vx[:, 2]
@test @views Vx[:, end] == -Vx[:, end - 1]
@test @views Vy[1 , :] == -Vy[2 , :]
@test @views Vy[end, :] == -Vy[end - 1, :]
@test @views Vx[: , 1] == -Vx[: , 2]
@test @views Vx[: , end] == -Vx[: , end - 1]

# test with StokesArrays
# periodicity
ni = 5, 5
stokes = StokesArrays(ni, ViscoElastic)
stokes.V.Vx .= PTArray(rand(n + 1, n + 2))
stokes.V.Vy .= PTArray(rand(n + 2, n + 1))
flow_bcs = FlowBoundaryConditions(;
no_slip=(left=false, right=false, top=false, bot=false),
free_slip=(left=false, right=false, top=false, bot=false),
@@ -89,13 +90,13 @@ environment!(model)
)
flow_bcs!(stokes, flow_bcs)

@test @views stokes.V.Vx[1, :] ==
stokes.V.Vx[end, :] ==
stokes.V.Vy[:, 1] ==
stokes.V.Vy[:, end]
@test @views stokes.V.Vx[:, 2] == stokes.V.Vx[:, 3] / 3
@test @views stokes.V.Vx[:, end-1] == stokes.V.Vx[:, end - 2] / 3
@test @views stokes.V.Vy[2, :] == stokes.V.Vy[3, :] / 3
@test @views stokes.V.Vy[end-1, :] == stokes.V.Vy[end - 2, :] / 3
@test sum(!iszero(stokes.V.Vx[1 , i]) for i in axes(Vx,2)) == 0
@test sum(!iszero(stokes.V.Vx[end, i]) for i in axes(Vx,2)) == 0
@test sum(!iszero(stokes.V.Vy[i, 1]) for i in axes(Vy,1)) == 0
@test sum(!iszero(stokes.V.Vy[i, 1]) for i in axes(Vy,1)) == 0
@test @views stokes.V.Vy[1 , :] == -stokes.V.Vy[2 , :]
@test @views stokes.V.Vy[end, :] == -stokes.V.Vy[end - 1, :]
@test @views stokes.V.Vx[: , 1] == -stokes.V.Vx[: , 2]
@test @views stokes.V.Vx[: , end] == -stokes.V.Vx[: , end - 1]
end
end