4
4
The bilinear form a(u, v) and linear form L(v) for Biharmonic equation in Regge formulation.
5
5
"""
6
6
import basix .ufl
7
- from ufl import (Coefficient , FacetNormal , FunctionSpace , Identity , Mesh ,
8
- TestFunctions , TrialFunctions , dot , dS , ds , dx , grad , inner ,
9
- jump , tr )
7
+ from ufl import (
8
+ Coefficient ,
9
+ FacetNormal ,
10
+ FunctionSpace ,
11
+ Identity ,
12
+ Mesh ,
13
+ TestFunctions ,
14
+ TrialFunctions ,
15
+ dot ,
16
+ dS ,
17
+ ds ,
18
+ dx ,
19
+ grad ,
20
+ inner ,
21
+ jump ,
22
+ tr ,
23
+ )
10
24
11
25
REG = basix .ufl .element ("Regge" , "tetrahedron" , 1 )
12
26
P = basix .ufl .element ("Lagrange" , "tetrahedron" , 2 )
13
27
mixed_element = basix .ufl .mixed_element ([REG , P ])
14
- domain = Mesh (basix .ufl .element ("P" , "tetrahedron" , 1 , shape = (3 , )))
28
+ domain = Mesh (basix .ufl .element ("P" , "tetrahedron" , 1 , shape = (3 ,)))
15
29
mixed_space = FunctionSpace (domain , mixed_element )
16
30
p_space = FunctionSpace (domain , P )
17
31
@@ -28,9 +42,11 @@ def S(mu):
28
42
def b (mu , v ):
29
43
"""The form b."""
30
44
n = FacetNormal (domain )
31
- return inner (S (mu ), grad (grad (v ))) * dx \
32
- - dot (dot (S (mu ('+' )), n ('+' )), n ('+' )) * jump (grad (v ), n ) * dS \
45
+ return (
46
+ inner (S (mu ), grad (grad (v ))) * dx
47
+ - dot (dot (S (mu ("+" )), n ("+" )), n ("+" )) * jump (grad (v ), n ) * dS
33
48
- dot (dot (S (mu ), n ), n ) * dot (grad (v ), n ) * ds
49
+ )
34
50
35
51
36
52
a = inner (S (sigma ), S (tau )) * dx - b (tau , u ) + b (sigma , v )
0 commit comments