Skip to content

Commit 1167181

Browse files
committed
benchmark
1 parent 745f925 commit 1167181

File tree

5 files changed

+13
-15
lines changed

5 files changed

+13
-15
lines changed

benchmark.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def _elevate_degree(mesh, degree):
173173
return Mesh(f)
174174

175175

176-
use_netgen = True
176+
use_netgen = False
177177
quadrilateral = True
178178

179179
T = 20 # 10.0 # 12.0
@@ -183,7 +183,7 @@ def _elevate_degree(mesh, degree):
183183
ntimesteps = int(T / dt_float)
184184
t = Constant(0.0)
185185
dim = 2
186-
degree = 2 # 2 - 4
186+
degree = 3 # 2 - 4
187187
if use_netgen:
188188
nref = 1 # # 2 - 5 tested for CSM 1 and 2
189189
mesh = make_mesh_netgen(0.1 / 2 ** nref)
@@ -683,10 +683,10 @@ def compute_elast_tensors(dim, u, lambda_s, mu_s):
683683
inner(dot(- p_mid * Identity(dim) + rho_f * nu_f * 2 * sym(dot(grad(v_f_mid), inv(F_f))), dot(J_f * transpose(inv(F_f)), n_f)), dv_s('|')) * ds_s(label_interface)
684684
#inner(dot(- p('|') * Identity(dim) + rho_f * nu_f * 2 * sym(dot(grad(v_f('|')), inv(F_f))), dot(J_f * transpose(inv(F_f)), n_f)), dv_s('|')) * ds_s(label_interface)
685685
else: # CN
686-
#theta_p = Constant(1. / 2. + 100 * float(dt))
687-
#theta_m = Constant(1. / 2. - 100 * float(dt))
688-
theta_p = Constant(1.)
689-
theta_m = Constant(0.)
686+
theta_p = Constant(1. / 2. + 100 * float(dt))
687+
theta_m = Constant(1. / 2. - 100 * float(dt))
688+
#theta_p = Constant(1.)
689+
#theta_m = Constant(0.)
690690
v_f_dot = (v_f - v_f_0) / dt
691691
u_f_dot = (u_f - u_f_0) / dt
692692
v_s_dot = (v_s - v_s_0) / dt
@@ -695,8 +695,8 @@ def _fluid(v_f, u_f, p):
695695
F_f, J_f, E_f, S_f = compute_elast_tensors(dim, u_f, lambda_s, mu_s)
696696
return (inner(rho_f * J_f * v_f_dot, dv_f) +
697697
inner(rho_f * J_f * dot(dot(grad(v_f), inv(F_f)), v_f - u_f_dot), dv_f) +
698-
inner(rho_f * J_f * nu_f * 2 * sym(dot(grad(v_f), inv(F_f))), dot(grad(dv_f), inv(F_f))) +
699-
J_f * inner(p, tr(dot(grad(dv_f), inv(F_f)))) -
698+
inner(rho_f * J_f * nu_f * 2 * sym(dot(grad(v_f), inv(F_f))), dot(grad(dv_f), inv(F_f))) -
699+
J_f * inner(p, tr(dot(grad(dv_f), inv(F_f)))) +
700700
J_f * inner(tr(dot(grad(v_f), inv(F_f))), dp) +
701701
J_f * inner(dot(grad(u_f), inv(F_f)), dot(grad(du_f), inv(F_f)))) * dx_f
702702
def _struct(v_f, u_f, p, v_s, u_s):
@@ -707,17 +707,17 @@ def _struct(v_f, u_f, p, v_s, u_s):
707707
inner(rho_s * J_s * as_vector([0., - g_s]), dv_s) +
708708
inner(J_s * (u_s_dot - v_s), du_s)) * dx_s + \
709709
inner(dot(- p('|') * Identity(dim) + rho_f * nu_f * 2 * sym(dot(grad(v_f('|')), inv(F_f))), dot(J_f * transpose(inv(F_f)), n_f)), dv_s('|')) * ds_s(label_interface)
710-
#residual_f = theta_p * _fluid(v_f, u_f, p) + \
711-
# theta_m * _fluid(v_f_0, u_f_0, p_0)
712-
#residual_s = theta_p * _struct(v_f, u_f, p, v_s, u_s) + \
713-
# theta_m * _struct(v_f_0, u_f_0, p_0, v_s_0, u_s_0)
710+
residual_f = theta_p * _fluid(v_f, u_f, p) + \
711+
theta_m * _fluid(v_f_0, u_f_0, p_0)
712+
residual_s = theta_p * _struct(v_f, u_f, p, v_s, u_s) + \
713+
theta_m * _struct(v_f_0, u_f_0, p_0, v_s_0, u_s_0)
714+
"""
714715
F_f, J_f, E_f, S_f = compute_elast_tensors(dim, u_f, lambda_s, mu_s)
715716
F_s, J_s, E_s, S_s = compute_elast_tensors(dim, u_s, lambda_s, mu_s)
716717
v_f_mid = v_f
717718
v_s_mid = v_s
718719
u_f_mid = u_f
719720
p_mid = p
720-
"""
721721
residual_f = (
722722
inner(rho_f * J_f * (v_f - v_f_0) / dt, dv_f) +
723723
inner(rho_f * J_f * dot(dot(grad(v_f_mid), inv(F_f)), v_f_mid - (u_f - u_f_0) / dt), dv_f) +
@@ -735,8 +735,6 @@ def _struct(v_f, u_f, p, v_s, u_s):
735735
inner(dot(- p('|') * Identity(dim) + rho_f * nu_f * 2 * sym(dot(grad(v_f('|')), inv(F_f))), dot(J_f * transpose(inv(F_f)), n_f)), dv_s('|')) * ds_s(label_interface)
736736
#inner(dot(- p_mid * Identity(dim) + rho_f * nu_f * 2 * sym(dot(grad(v_f_mid), inv(F_f))), dot(J_f * transpose(inv(F_f)), n_f)), dv_s('|')) * ds_s(label_interface)
737737
"""
738-
residual_f = _fluid(v_f, u_f, p)
739-
residual_s = _struct(v_f, u_f, p, v_s, u_s)
740738
residual = residual_f + residual_s
741739
def v_f_left(t_):
742740
return 1.5 * Ubar * y_f * (H - y_f) / ((H / 2) ** 2) * conditional(t_ < 2.0 + dt / 10., (1 - cos(pi / 2 * t_)) / 2., 1.)

mesh_f.pdf

-53.5 KB
Binary file not shown.

mesh_orig.pdf

-53.5 KB
Binary file not shown.

mesh_s.pdf

-629 Bytes
Binary file not shown.

time_series.pdf

-32.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)