Skip to content

Commit 8e832c2

Browse files
authored
Revert some of the ufl-related changes from precice#505 (precice#508)
1 parent 6fcec1a commit 8e832c2

File tree

2 files changed

+36
-20
lines changed

2 files changed

+36
-20
lines changed

elastic-tube-3d/solid-fenics/solid.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,26 @@ def Wext(u_):
108108
# Functions for updating system state
109109

110110
# Update acceleration
111-
def update_a(u, u_old, v_old, a_old):
112-
dt_ = float(dt)
113-
beta_ = float(beta)
111+
def update_a(u, u_old, v_old, a_old, ufl=True):
112+
if ufl:
113+
dt_ = dt
114+
beta_ = beta
115+
else:
116+
dt_ = float(dt)
117+
beta_ = float(beta)
114118

115119
return ((u - u_old - dt_ * v_old) / beta / dt_ ** 2
116120
- (1 - 2 * beta_) / 2 / beta_ * a_old)
117121

118122

119123
# Update velocity
120-
def update_v(a, u_old, v_old, a_old):
121-
dt_ = float(dt)
122-
gamma_ = float(gamma)
124+
def update_v(a, u_old, v_old, a_old, ufl=True):
125+
if ufl:
126+
dt_ = dt
127+
gamma_ = gamma
128+
else:
129+
dt_ = float(dt)
130+
gamma_ = float(gamma)
123131

124132
return v_old + dt_ * ((1 - gamma_) * a_old + gamma_ * a)
125133

@@ -131,8 +139,8 @@ def update_fields(u, u_old, v_old, a_old):
131139
v0_vec, a0_vec = v_old.vector(), a_old.vector()
132140

133141
# call update functions
134-
a_vec = update_a(u_vec, u0_vec, v0_vec, a0_vec)
135-
v_vec = update_v(a_vec, u0_vec, v0_vec, a0_vec)
142+
a_vec = update_a(u_vec, u0_vec, v0_vec, a0_vec, ufl=False)
143+
v_vec = update_v(a_vec, u0_vec, v0_vec, a0_vec, ufl=False)
136144

137145
# assign u->u_old
138146
v_old.vector()[:], a_old.vector()[:] = v_vec, a_vec
@@ -143,8 +151,8 @@ def avg(x_old, x_new, alpha):
143151
return alpha * x_old + (1 - alpha) * x_new
144152

145153

146-
a_np1 = update_a(du, u_n, v_n, a_n)
147-
v_np1 = update_v(a_np1, u_n, v_n, a_n)
154+
a_np1 = update_a(du, u_n, v_n, a_n, ufl=True)
155+
v_np1 = update_v(a_np1, u_n, v_n, a_n, ufl=True)
148156

149157
res = m(avg(a_n, a_np1, alpha_m), v) + k(avg(u_n, du, alpha_f), v)
150158

perpendicular-flap/solid-fenics/solid.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,18 +131,26 @@ def Wext(u_):
131131
# Update functions
132132

133133
# Update acceleration
134-
def update_a(u, u_old, v_old, a_old):
135-
dt_ = float(dt)
136-
beta_ = float(beta)
134+
def update_a(u, u_old, v_old, a_old, ufl=True):
135+
if ufl:
136+
dt_ = dt
137+
beta_ = beta
138+
else:
139+
dt_ = float(dt)
140+
beta_ = float(beta)
137141

138142
return ((u - u_old - dt_ * v_old) / beta / dt_ ** 2
139143
- (1 - 2 * beta_) / 2 / beta_ * a_old)
140144

141145

142146
# Update velocity
143-
def update_v(a, u_old, v_old, a_old):
144-
dt_ = float(dt)
145-
gamma_ = float(gamma)
147+
def update_v(a, u_old, v_old, a_old, ufl=True):
148+
if ufl:
149+
dt_ = dt
150+
gamma_ = gamma
151+
else:
152+
dt_ = float(dt)
153+
gamma_ = float(gamma)
146154

147155
return v_old + dt_ * ((1 - gamma_) * a_old + gamma_ * a)
148156

@@ -154,8 +162,8 @@ def update_fields(u, u_old, v_old, a_old):
154162
v0_vec, a0_vec = v_old.vector(), a_old.vector()
155163

156164
# call update functions
157-
a_vec = update_a(u_vec, u0_vec, v0_vec, a0_vec)
158-
v_vec = update_v(a_vec, u0_vec, v0_vec, a0_vec)
165+
a_vec = update_a(u_vec, u0_vec, v0_vec, a0_vec, ufl=False)
166+
v_vec = update_v(a_vec, u0_vec, v0_vec, a0_vec, ufl=False)
159167

160168
# assign u->u_old
161169
v_old.vector()[:], a_old.vector()[:] = v_vec, a_vec
@@ -167,8 +175,8 @@ def avg(x_old, x_new, alpha):
167175

168176

169177
# residual
170-
a_np1 = update_a(du, u_n, v_n, a_n)
171-
v_np1 = update_v(a_np1, u_n, v_n, a_n)
178+
a_np1 = update_a(du, u_n, v_n, a_n, ufl=True)
179+
v_np1 = update_v(a_np1, u_n, v_n, a_n, ufl=True)
172180

173181
res = m(avg(a_n, a_np1, alpha_m), v) + k(avg(u_n, du, alpha_f), v)
174182

0 commit comments

Comments
 (0)