@@ -173,7 +173,7 @@ def _elevate_degree(mesh, degree):
173173 return Mesh (f )
174174
175175
176- use_netgen = True
176+ use_netgen = False
177177quadrilateral = True
178178
179179T = 20 # 10.0 # 12.0
@@ -183,7 +183,7 @@ def _elevate_degree(mesh, degree):
183183ntimesteps = int (T / dt_float )
184184t = Constant (0.0 )
185185dim = 2
186- degree = 2 # 2 - 4
186+ degree = 3 # 2 - 4
187187if 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. )
0 commit comments