|
5 | 5 | "id": "9f28f9af", |
6 | 6 | "metadata": {}, |
7 | 7 | "source": [ |
8 | | - "# Linear Elasticity Problem\n", |
| 8 | + "# Linear Elasticity Problem with Non-mixed Element Method\n", |
9 | 9 | "\n", |
10 | 10 | "Analysis of deformable structures is essential in engineering, with the equations of linear elasticity being fundamental in this field. In this section, we present the variational formulation of linear elasticity equations using the principle of virtual work.\n", |
11 | 11 | "This notebook treats the linear elasticity problem for compressible materials ($\\kappa = O(1)$).\n", |
12 | 12 | "\n", |
13 | | - "## The PDE problem\n", |
14 | | - "The governing equations for small elastic deformations of a body $ \\Omega $ can be expressed as:\n", |
15 | 13 | "\n", |
16 | | - "$$\n", |
17 | | - "\\begin{align}\n", |
18 | | - " -\\nabla \\cdot \\sigma(u) &= f & \\text{in } \\Omega \\\\\n", |
19 | | - " \\sigma(u) &= \\kappa \\text{tr}(\\epsilon(u))I + 2 \\mu \\epsilon(u)\n", |
20 | | - "\\end{align}\n", |
21 | | - "$$\n", |
22 | | - "\n", |
23 | | - "where $ \\sigma $ is the stress tensor, $ f $ represents the body force per unit volume, $ \\kappa $ and $ \\mu $ are Lamé's elasticity parameters for the material, $ I $ denotes the identity tensor, $ \\epsilon $ is the symmetric strain tensor and the displacement vector field is denoted by $ u $. $ \\epsilon := \\frac{1}{2}(\\nabla u + (\\nabla u)^T) $\n", |
24 | | - "\n", |
25 | | - "\n", |
26 | | - "\n", |
27 | | - "By substituting $ \\epsilon(u) $ into $ \\sigma $, we obtain:\n", |
28 | | - "\n", |
29 | | - "$$\n", |
30 | | - "\\sigma(u) = \\kappa (\\nabla \\cdot u)I + \\mu(\\nabla u + (\\nabla u)^T)\n", |
31 | | - "$$\n", |
32 | | - "\n", |
33 | | - "Then, the strong formulation of linear elasticity is :\n", |
34 | | - "Find $ u \\in V $ such that\n", |
35 | | - "\n", |
36 | | - "$$\n", |
37 | | - "\\begin{align}\n", |
38 | | - " -\\nabla \\cdot \\sigma (u) &= f & \\text{in } & \\Omega \\\\\n", |
39 | | - " u &= 0 & \\text{on } & \\partial \\Omega_D \\\\\n", |
40 | | - " \\sigma(u) \\cdot n &= g_T & \\text{on } & \\partial \\Omega_T\n", |
41 | | - "\\end{align}\n", |
42 | | - "$$\n", |
43 | | - "\n", |
44 | | - "where : \n", |
45 | | - "- $ V = \\{ v \\in H^1(\\Omega) : v = 0 \\text{ on } \\partial \\Omega_D \\} $,\n", |
46 | | - "\n", |
47 | | - "- $ g_D $ is the Dirichlet boundary condition on the part $ \\partial \\Omega_D $ of the boundary,\n", |
48 | | - "\n", |
49 | | - "- $ g_T $ is the traction vector on the part $ \\partial \\Omega_T $ of the boundary,\n", |
50 | | - "\n", |
51 | | - "- $ n $ is the outward normal vector on the boundary $ \\partial \\Omega $,\n", |
52 | | - "\n", |
53 | | - "- $ \\partial \\Omega_D \\cap \\partial \\Omega_T = \\emptyset $ and $ \\partial \\Omega = \\partial \\Omega_D \\cup \\partial \\Omega_T $.\n", |
54 | | - "\n", |
55 | | - "## The Variational Formulation\n", |
| 14 | + "## The Variational Formulation (Pure Displacement Formulation)\n", |
56 | 15 | "The variational formulation of the linear elasticity equations involves forming the inner product of the PDE with a vector test function $ v \\in V $ and integrating over the domain $ \\Omega $. This yields:\n", |
57 | 16 | "\n", |
58 | 17 | "$$\n", |
|
65 | 24 | "\\int_{\\Omega} \\sigma : \\nabla v \\, \\mathrm{d} x = \\int_{\\Omega} f \\cdot v \\, \\mathrm{d} x + \\int_{\\partial \\Omega_T} g_T \\cdot v \\, \\mathrm{d} s\n", |
66 | 25 | "$$\n", |
67 | 26 | "\n", |
68 | | - "This leads to the variational formulation: Find $ u \\in V $ such that\n", |
| 27 | + "By using the symetry of the stress tensor $ \\sigma $, we can notice that \n", |
| 28 | + "\n", |
69 | 29 | "\n", |
70 | 30 | "$$\n", |
71 | | - "a(u, v) = L(v) \\quad \\forall v \\in V\n", |
| 31 | + "a(u, v) = \\int_{\\Omega} \\sigma : \\nabla v \\, \\mathrm{d} x = \\int_{\\Omega} \\sigma(u) : \\epsilon(v) \\, \\mathrm{d} x\n", |
72 | 32 | "$$\n", |
73 | 33 | "\n", |
74 | | - "where\n", |
| 34 | + "\n", |
| 35 | + "This leads to the following variational formulation:\n", |
75 | 36 | "\n", |
76 | 37 | "$$\n", |
77 | | - "\\begin{align}\n", |
78 | | - " a(u, v) &= \\int_{\\Omega} \\sigma(u) : \\nabla v \\, \\mathrm{d} x \\\\\n", |
79 | | - " L(v) &= \\int_{\\Omega} f \\cdot v \\, \\mathrm{d} x + \\int_{\\partial \\Omega_T} g_T \\cdot v \\, \\mathrm{d} s\n", |
80 | | - "\\end{align}\n", |
| 38 | + "\\boxed{\n", |
| 39 | + "\\begin{aligned}\n", |
| 40 | + "&\\text{Find } \\vec u \\in V \\text{ such that:} \\\\\n", |
| 41 | + "&\\qquad a(\\vec u, \\vec v) = L(\\vec v) \\quad \\forall \\vec v \\in V\n", |
| 42 | + "\\end{aligned}\n", |
| 43 | + "}\n", |
81 | 44 | "$$\n", |
82 | 45 | "\n", |
83 | | - "This formulation can be alternatively expressed as:\n", |
| 46 | + "with\n", |
84 | 47 | "\n", |
85 | 48 | "$$\n", |
86 | | - "a(u, v) = \\int_{\\Omega} \\sigma(u) : \\epsilon(v) \\, \\mathrm{d} x\n", |
| 49 | + "\\begin{aligned}\n", |
| 50 | + "&a : \n", |
| 51 | + "\\begin{cases}\n", |
| 52 | + "V \\times V \\rightarrow \\mathbb{R} \\\\\n", |
| 53 | + "(\\vec u, \\vec v) \\longmapsto \\int_\\Omega \\boldsymbol{\\sigma}(\\vec u) : \\boldsymbol{\\varepsilon}(\\vec v) \\, dV\n", |
| 54 | + "\\end{cases} \\\\[0.3cm]\n", |
| 55 | + "&L : \n", |
| 56 | + "\\begin{cases}\n", |
| 57 | + "V \\rightarrow \\mathbb{R} \\\\\n", |
| 58 | + "\\vec v \\longmapsto \\int_\\Omega \\vec f \\cdot \\vec v \\, dV + \\int_{\\partial\\Omega_T} \\vec g_T \\cdot \\vec v \\, dS\n", |
| 59 | + "\\end{cases}\n", |
| 60 | + "\\end{aligned}\n", |
87 | 61 | "$$\n", |
88 | 62 | "\n", |
89 | | - "where $ \\epsilon(v) = \\frac{1}{2} (\\nabla v + (\\nabla v)^T) $ is the symmetric strain tensor.\n", |
90 | 63 | "\n", |
91 | | - "This variational formulation is essential for solving linear elasticity problems numerically using methods like the finite element method (FEM)." |
| 64 | + "This variational formulation is essential for solving linear elasticity problems numerically using PSYDAC." |
92 | 65 | ] |
93 | 66 | }, |
94 | 67 | { |
|
195 | 168 | "source": [ |
196 | 169 | "d = 2 # discretization parameters\n", |
197 | 170 | "degree = [d,d,d]\n", |
198 | | - "h = 8\n", |
| 171 | + "h = 6\n", |
199 | 172 | "ncells = [h,h,h]" |
200 | 173 | ] |
201 | 174 | }, |
|
0 commit comments