Skip to content

Commit 27ab2a5

Browse files
committed
Update Gemfile to uncomment github-pages gem and comment out jekyll version; remove Gemfile.lock
1 parent 2546efd commit 27ab2a5

File tree

3 files changed

+16
-184
lines changed

3 files changed

+16
-184
lines changed

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ source "https://rubygems.org"
77
#
88
# This will help ensure the proper Jekyll version is running.
99
# Happy Jekylling!
10-
gem "jekyll", "~> 4.4.1"
10+
# gem "jekyll", "~> 4.4.1"
1111
# This is the default theme for new Jekyll sites. You may change this to anything you like.
1212
gem "minima", "~> 2.5"
1313
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
1414
# uncomment the line below. To upgrade, run `bundle update github-pages`.
15-
# gem "github-pages", group: :jekyll_plugins
15+
gem "github-pages", group: :jekyll_plugins
1616
# If you have any plugins, put them here!
1717
group :jekyll_plugins do
1818
gem "jekyll-feed", "~> 0.12"

Gemfile.lock

Lines changed: 0 additions & 168 deletions
This file was deleted.

_posts/2023-12-01-finite-element-method-notes.markdown

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Bu &= g \quad \text{on} \quad \partial D.
2323
\end{eqnarray} \tag{1}
2424
$$
2525

26-
The solution \\(u\\) is a function of the position vector \\(\bar{x}\\) at the domain \\(D\\), which is a subregion of a one-, two-, or three-dimensional Euclidean space. The position vector \\(\bar{x}\\) is defined as: \\( \bar{x} = \sum*{i=1}^{n} x_i e_i \\), where \\(e_i\\) are the unit vectors and \\(n\\) is the dimension of the Euclidean space. \\(L\\) is the differential operator and \\(B\\) is a boundary operator defined at the boundary \\(\partial D\\). The solution \\(u\\) can be approximated using a linear combination of basis functions \\(\phi^1, \phi^2, \phi^3, \dots, \phi^N\\) such that: \\( u(x) = \sum*{j=1}^{N} u_j \phi^j(x) \\), where the number of basis functions equals the number of nodes of the computational mesh.
26+
The solution \\(u\\) is a function of the position vector \\(\bar{x}\\) at the domain \\(D\\), which is a subregion of a one-, two-, or three-dimensional Euclidean space. The position vector \\(\bar{x}\\) is defined as: \\( \bar{x} = \sum_{i=1}^{n} x_i e_i \\), where \\(e_i\\) are the unit vectors and \\(n\\) is the dimension of the Euclidean space. \\(L\\) is the differential operator and \\(B\\) is a boundary operator defined at the boundary \\(\partial D\\). The solution \\(u\\) can be approximated using a linear combination of basis functions \\(\phi^1, \phi^2, \phi^3, \dots, \phi^N\\) such that: \\( u(x) = \sum_{j=1}^{N} u_j \phi^j(x) \\), where the number of basis functions equals the number of nodes of the computational mesh.
2727

2828
The Galerkin method seeks a solution that zeroes out every one of the following weighted residuals:
2929

@@ -49,11 +49,11 @@ $$I_m = \int_{D} \phi^i \frac{d^m u}{dx^m} \, dx. \tag{3}$$
4949

5050
By applying integration by parts, we get:
5151

52-
$$ I*m = \oint*{\partial D} \phi^i \frac{d^{m-1} u}{dx^{m-1}} \, dt - \int\_{D} \frac{d\phi^i}{dx} \frac{d^{m-1} u}{dx^{m-1}} \, dx, \tag{4}$$
52+
$$ I_m = \oint_{\partial D} \phi^i \frac{d^{m-1} u}{dx^{m-1}} \, dt - \int_{D} \frac{d\phi^i}{dx} \frac{d^{m-1} u}{dx^{m-1}} \, dx, \tag{4}$$
5353

5454
where \\(t\\) is the independent variable at the boundary \\(\partial D\\). A boundary condition of \\(m-1\\) rank is imposed at the line integral. Thus, in the case where the Neumann boundary condition is \\( \frac{d^{m-1}u}{dx^{m-1}} = g(t) \\) on \\(\partial D\\), where \\(g(t)\\) is a known function, then:
5555

56-
$$ I*m = \oint*{\partial D} \phi^i g(t) \, dt - \int\_{D} \frac{d\phi^i}{dx} \frac{d^{m-1} u}{dx^{m-1}} \, dx. \tag{5}$$
56+
$$ I_m = \oint_{\partial D} \phi^i g(t) \, dt - \int_{D} \frac{d\phi^i}{dx} \frac{d^{m-1} u}{dx^{m-1}} \, dx. \tag{5}$$
5757

5858
If the Neumann boundary condition has a rank \\(k < (m-1)\\), then we continue to apply integration by parts until the \\(k\\)-th rank derivative appears on the line integral.
5959

@@ -71,9 +71,9 @@ From the above mapping, we can define the reverse mapping from \\(\bar{x}\\) to
7171

7272
In the case where \\(D\\) is a two-dimensional domain, the Jacobian of the mapping is the matrix:
7373

74-
$$ \bar{\bar{J}} = \begin{vmatrix} x*{\xi} & y*{\xi} \\ x*{\eta} & y*{\eta} \end{vmatrix}, \tag{7}$$
74+
$$ \bar{\bar{J}} = \begin{vmatrix} x_{\xi} & y_{\xi} \\ x_{\eta} & y_{\eta} \end{vmatrix}, \tag{7}$$
7575

76-
where \\( x*{\xi} = \frac{\partial x}{\partial \xi}\\), \\( y*{\xi} = \frac{\partial y}{\partial \xi}\\), \\( x*{\eta} = \frac{\partial x}{\partial \eta}\\), \\( y*{\eta} = \frac{\partial y}{\partial \eta}\\). The relation between the \\(\bar{x}\\)- and \\(\bar{\xi}\\)-partial derivatives of the basis function can also be calculated as:
76+
where \\( x_{\xi} = \frac{\partial x}{\partial \xi}\\), \\( y_{\xi} = \frac{\partial y}{\partial \xi}\\), \\( x_{\eta} = \frac{\partial x}{\partial \eta}\\), \\( y_{\eta} = \frac{\partial y}{\partial \eta}\\). The relation between the \\(\bar{x}\\)- and \\(\bar{\xi}\\)-partial derivatives of the basis function can also be calculated as:
7777

7878
$$ \bar{\bar{J}} \begin{vmatrix} \frac{\partial \phi_i}{\partial x} \\ \frac{\partial \phi_i}{\partial y} \end{vmatrix} = \begin{vmatrix} \frac{\partial \phi_i}{\partial \xi} \\ \frac{\partial \phi_i}{\partial \eta} \end{vmatrix}. \tag{8} $$
7979

@@ -86,15 +86,15 @@ $$
8686
\end{eqnarray} \tag{9}
8787
$$
8888

89-
where \\(\text{det}\bar{\bar{J}}\\) is the determinant of the Jacobian: \\( \text{det}\bar{\bar{J}} = x*{\xi} y*{\eta} - x*{\eta} y*{\xi}\\). In the case where \\(D\\) is a one-dimensional domain, Eq. (6) is reduced to: \\( x = \sum*{i=1}^{n_k} x_i \phi_i(\xi) \\). The Jacobian of the mapping in this case is: \\( J = \frac{dx}{d\xi} = x*{\xi} \\), and the partial derivative of the basis function is: \\( \frac{d\phi*i}{dx} = \frac{d\phi_i}{d\xi} \Big/ x*{\xi} \\).
89+
where \\(\text{det}\bar{\bar{J}}\\) is the determinant of the Jacobian: \\( \text{det}\bar{\bar{J}} = x_{\xi} y_{\eta} - x_{\eta} y_{\xi}\\). In the case where \\(D\\) is a one-dimensional domain, Eq. (6) is reduced to: \\( x = \sum_{i=1}^{n_k} x_i \phi_i(\xi) \\). The Jacobian of the mapping in this case is: \\( J = \frac{dx}{d\xi} = x_{\xi} \\), and the partial derivative of the basis function is: \\( \frac{d\phi_i}{dx} = \frac{d\phi_i}{d\xi} \Big/ x_{\xi} \\).
9090

9191
## Residuals Computation
9292

9393
A typical representative of the integrals in the Galerkin residuals is the following:
9494

95-
$$ I*{ij} = \int*{D} \phi^i L \phi^j \, d\bar{x}. \tag{10} $$
95+
$$ I_{ij} = \int_{D} \phi^i L \phi^j \, d\bar{x}. \tag{10} $$
9696

97-
The computational mesh covering \\(D\\) consists of \\(NE\\) finite elements \\(E*k\\) \\((k = 1, 2, \dots, NE)\\). Thus, the integral \\(I*{ij}\\) is the sum of the partial integrals:
97+
The computational mesh covering \\(D\\) consists of \\(NE\\) finite elements \\(E_k\\) \\((k = 1, 2, \dots, NE)\\). Thus, the integral \\(I_{ij}\\) is the sum of the partial integrals:
9898

9999
$$
100100
\begin{aligned}
@@ -103,17 +103,17 @@ I_{ij}^k &\equiv \int_{E_k} \phi^i L \phi^j \, d\bar{x}.
103103
\end{aligned} \tag{11}
104104
$$
105105

106-
Each of the integrals \\(I\_{ij}^k\\) is calculated through the isoparametric mapping by transforming the coordinate system as follows:
106+
Each of the integrals \\(I_{ij}^k\\) is calculated through the isoparametric mapping by transforming the coordinate system as follows:
107107

108-
$$ I*{ij}^k = \int*{E*0} \phi_i(\bar{\xi}) L*{\bar{\xi}} \phi_j(\bar{\xi}) \, \text{det}(\bar{\bar{J}}) \, d\bar{\xi}, \tag{12} $$
108+
$$ I_{ij}^k = \int_{E_0} \phi_i(\bar{\xi}) L_{\bar{\xi}} \phi_j(\bar{\xi}) \, \text{det}(\bar{\bar{J}}) \, d\bar{\xi}, \tag{12} $$
109109

110-
where \\(E*0\\) is the reference element, and \\(L*{\bar{\xi}}\\) is the differential operator expressed in the \\(\bar{\xi}\\)-coordinate system. The integrals of the discretization equations are then calculated numerically on the reference element. Specifically, these calculations are performed using the Gauss quadrature method:
110+
where \\(E_0\\) is the reference element, and \\(L_{\bar{\xi}}\\) is the differential operator expressed in the \\(\bar{\xi}\\)-coordinate system. The integrals of the discretization equations are then calculated numerically on the reference element. Specifically, these calculations are performed using the Gauss quadrature method:
111111

112-
$$ \int*{E_0} f(\bar{\xi}) \, d\bar{\xi} = \sum*{k=1}^{NGP} w*k f(\bar{\xi}*{gk}), \tag{13} $$
112+
$$ \int_{E_0} f(\bar{\xi}) \, d\bar{\xi} = \sum_{k=1}^{NGP} w_k f(\bar{\xi}_{gk}), \tag{13} $$
113113

114-
where \\(w*k\\) are the Gauss weights, \\(\bar{\xi}*{gk}\\) are the Gauss points inside the reference element where the integrand is evaluated, and \\(NGP\\) is the number of Gauss points.
114+
where \\(w_k\\) are the Gauss weights, \\(\bar{\xi}_{gk}\\) are the Gauss points inside the reference element where the integrand is evaluated, and \\(NGP\\) is the number of Gauss points.
115115

116116
## References
117117

118118
- A. G. Boudouvis "Computational Analysis with the Finite Element Method", Lecture Notes, National Technical University of Athens, Athens, 1992 (In Greek)
119-
- O. C. Zienkiewicz "The Finite Element Method", 3rd edition, McGraw-Hill, London, 1977
119+
- O. C. Zienkiewicz "The Finite Element Method", 3rd edition, McGraw-Hill, London, 1977

0 commit comments

Comments
 (0)