commit b05635d19efceb2ba3f3dc3d4992777adda08d62
parent 276e83a4056702bb27726ab6018f5536c1435d9e
Author: Anders Damsgaard <andersd@riseup.net>
Date: Thu, 27 Apr 2017 21:22:23 -0400
fix boundary geometry
Diffstat:
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/examples/nares_strait.jl b/examples/nares_strait.jl
@@ -5,9 +5,9 @@ sim = createSimulation(id="nares_strait")
# Initialize ocean
Lx = 50.e3
-Lx_constriction = Lx*.33
-L = [Lx, Lx, 1e3]
-Ly_constriction = L[2]/2.
+Lx_constriction = Lx*.25
+L = [Lx, Lx*1.5, 1e3]
+Ly_constriction = L[2]*.33
n = [100, 100, 2]
sim.ocean = createRegularOceanGrid(n, L, name="poiseuille_flow")
sim.ocean.v[:, :, 1, 1] = 1e-8*((sim.ocean.xq - Lx/2.).^2 - Lx^2./4.)
@@ -17,7 +17,7 @@ r = .5e3
h = 1.
## N-S segments
-for y in linspace((Lx - Lx_constriction)/2.,
+for y in linspace((L[2] - Ly_constriction)/2.,
Ly_constriction + (L[2] - Ly_constriction)/2.,
Int(floor(Ly_constriction/(r*2))))
addIceFloeCylindrical(sim, [(Lx - Lx_constriction)/2., y], r, h, fixed=true,
@@ -26,47 +26,42 @@ end
for y in linspace((L[2] - Ly_constriction)/2.,
Ly_constriction + (L[2] - Ly_constriction)/2.,
Int(floor(Ly_constriction/(r*2))))
- addIceFloeCylindrical(sim, [Ly_constriction + (L[2] - Ly_constriction)/2.,
-y], r, h, fixed=true, verbose=false)
+ addIceFloeCylindrical(sim, [Lx_constriction + (L[1] - Lx_constriction)/2.,
+ y], r, h, fixed=true, verbose=false)
end
-dx = r*cos(deg2rad(atan(Ly_constriction/Lx_constriction)))*2.
-dy = r*cos(deg2rad(atan(Lx_constriction/Ly_constriction)))*2.
+dx = 2.*r*sin(atan((Lx - Lx_constriction)/(L[2] - Ly_constriction)))
## NW diagonal
x = r:dx:((Lx - Lx_constriction)/2.)
-#y = (L[2] - r):(-dy):((L[2] - Ly_constriction)/2. + Ly_constriction)
-y = linspace(L[2] - r, (L[2] - Ly_constriction)/2. + Ly_constriction, length(x))
+y = linspace(L[2] - r, (L[2] - Ly_constriction)/2. + Ly_constriction + r,
+ length(x))
for i in 1:length(x)
addIceFloeCylindrical(sim, [x[i], y[i]], r, h, fixed=true, verbose=false)
end
## NE diagonal
x = (L[1] - r):(-dx):((Lx - Lx_constriction)/2. + Lx_constriction)
-#y = (L[2] - r):(-dy):((L[2] - Ly_constriction)/2. + Ly_constriction)
-y = linspace(L[2] - r, (L[2] - Ly_constriction)/2. + Ly_constriction, length(x))
+y = linspace(L[2] - r, (L[2] - Ly_constriction)/2. + Ly_constriction + r,
+ length(x))
for i in 1:length(x)
addIceFloeCylindrical(sim, [x[i], y[i]], r, h, fixed=true, verbose=false)
end
## SW diagonal
x = r:dx:((Lx - Lx_constriction)/2.)
-#y = (r):(dy):((L[2] - Ly_constriction)/2.)
-y = linspace(r, (L[2] - Ly_constriction)/2., length(x))
+y = linspace(r, (L[2] - Ly_constriction)/2. - r, length(x))
for i in 1:length(x)
addIceFloeCylindrical(sim, [x[i], y[i]], r, h, fixed=true, verbose=false)
end
## SE diagonal
x = (L[1] - r):(-dx):((Lx - Lx_constriction)/2. + Lx_constriction)
-#y = (r):(dy):((L[2] - Ly_constriction)/2.)
-y = linspace(r, (L[2] - Ly_constriction)/2., length(x))
+y = linspace(r, (L[2] - Ly_constriction)/2. - r, length(x))
for i in 1:length(x)
addIceFloeCylindrical(sim, [x[i], y[i]], r, h, fixed=true, verbose=false)
end
-
-
info("added $(length(sim.ice_floes)) fixed ice floes as walls")
writeVTK(sim)