About
I don’t know much about how foreign books explain finite element methods, weak forms, and structural analysis using them, but frankly, Japanese textbooks are not very easy to understand. I’m not sure why, but I’ve come to think that it might be because many of them simply list the formulas that directly express structural analysis, which is an application, using examples.
For example, here’s something I wrote while reading someone else’s article. I feel like there must be a simpler explanation, but I’m not sure how to go about it.
Why is that? I’ve started to think that maybe I should write it using linear numbers a little more effectively.
What is the principle of virtual work in the weak form?
Don’t you think it’s necessary to explain the intention of the weak form as well?
The heart of weak-form
PDEs, or differential equations, require that the equations hold at certain points, but this is not suitable for numerical calculation. This is where the weak form comes in. This is where the weak form comes in, and it is integrated. In other words, it is enough to satisfy the equation on average.
This converts the point equation into the overall energy term. This is the principle of virtual work.
Shape Function with Linear Form
From this point, shape function will bring meanings.
A field u will be represented with shape function, there is
u(x)=\sum_i N_i(x) u_i
This is an expression that limits the number of degrees of freedom of the field. In other words, the field is expressed by a finite number of nodes, their coordinates, and the values ββat those nodes.
What \nabla N represents for
\nabla u = \sum_i (\nabla N_i) u_i
Shape Matrix and Jacobian
Introduce M matrix, which is constructed with XY 2D coordinates, and then compute shape matrix N and the Jacobian (Assuming triangle elements).
M =
\begin{pmatrix}
1 & x_1 & y_1 \\
1 & x_2 & y_2 \\
1 & x_3 & y_3
\end{pmatrix}\\
\\
M^{-1} =
\begin{pmatrix}
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3 \\
c_1 & c_2 & c_3
\end{pmatrix}
N_i(x,y) = a_i + b_i x + c_i y
N(x,y)
=
M^{-1}
\begin{pmatrix}
1 \\ x \\ y
\end{pmatrix}
\nabla N\\
\nabla N_i =
\begin{pmatrix}
\partial N_i/\partial x \\
\partial N_i/\partial y
\end{pmatrix}
=
\begin{pmatrix}
b_i\\
c_i
\end{pmatrix}\nabla N =
\begin{pmatrix}
b_1 & b_2 & b_3 \\
c_1 & c_2 & c_3
\end{pmatrix}
J =
\begin{pmatrix}
x_2-x_1 & x_3-x_1 \\
y_2-y_1 & y_3-y_1
\end{pmatrix}\nabla N
=
J^{-1}
\begin{pmatrix}
-1 & 1 & 0 \\
-1 & 0 & 1
\end{pmatrix}Example distortion
Distortion is determined by the gradient of the shape function,
\varepsilon=\nabla u \\ \nabla u = \sum_i (\nabla N_i) u_i
and shape function is constant when linear shape function like this.
\nabla N_i=
\begin{pmatrix}
\partial N_i/\partial x \\
\partial N_i/\partial y
\end{pmatrix}
=
\begin{pmatrix}
b_i \\
c_i
\end{pmatrix}therefore, stress is constant in an element.
Quadrature Loop
The integration points do not affect the shape function itself.
The only thing that matters is where you evaluate it.
- Shape function N_i β Determined by element and order (fixed)
- Integration point x_qβ Evaluation point for numerical integration
And this is how loop runs for assembling.
for element:
for q in quadrature_points:
compute shape
compute grad
assemble contribution
basis[q, i]
grad_basis[q, i, d]
