Skip to content

Commit 3de9ad1

Browse files
committed
Add Solidification Front Propagation Tutorial in 2D
- Created a new HTML tutorial for demonstrating solidification front propagation using the FEAScript library. - Included mathematical formulation of the eikonal equation and its application in solidification problems. - Provided code snippets for setting up the FEAScript model, defining boundary conditions, and plotting results. - Added responsive design elements to handle orientation changes for mobile devices.
1 parent 1fea487 commit 3de9ad1

13 files changed

+613
-33
lines changed
-90.5 KB
Binary file not shown.
-9.56 KB
Loading

assets/SolidificationFront2D.png

78.2 KB
Loading

assets/SolidificationFront2D.svg

Lines changed: 222 additions & 0 deletions
Loading
41.5 KB
Loading

index.html

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,15 @@ <h1 class="top">
5858
<div id="banner">
5959
<!--<img src="./assets/tutorialSolidHeatTransferResults01.png" alt="" />-->
6060
<img
61-
src="./assets/HeatConduction2DFinMeshResults.png"
61+
src="./assets/HeatConduction2DFinResults.png"
6262
alt="Results of the heat conduction in a two-dimensional fin tutorial"
6363
/>
6464
<p class="image-caption">Solid heat conduction solver</p>
65+
<img
66+
src="./assets/SolidificationFront2DResults.png"
67+
alt="Results of the solidification front propagation in a two-dimensional domain"
68+
/>
69+
<p class="image-caption">Solidification front propagation solver</p>
6570
<img src="./assets/Screenshot_20250520_084241.png" alt="FEAScript platform in" />
6671
<p class="image-caption">FEAScript platform interface</p>
6772
</div>
@@ -141,7 +146,7 @@ <h2 id="gettingstarted"><a name="Getting Started"></a>Getting Started</h2>
141146
<a href="https://github.com/FEAScript/FEAScript-core/releases" target="_blank">0.1.1</a>
142147
(<a href="https://www.npmjs.com/package/feascript" target="_blank">npm</a>)
143148
<br />
144-
<strong>See the roadmap for the upcoming release </strong>
149+
<strong>See the roadmap for the upcoming major release </strong>
145150
<a href="https://github.com/orgs/FEAScript/discussions/17" target="_blank">0.2.0</a>
146151
</p>
147152
</div>
@@ -210,6 +215,7 @@ <h2 id="features"><a name="Features"></a>Features</h2>
210215
🧠 <strong>Physical Modelling</strong>
211216
<ul>
212217
<li>Solid heat conduction solver</li>
218+
<li>Front propagation solver</li>
213219
</ul>
214220
</li>
215221
<li>
@@ -250,6 +256,7 @@ <h2 id="features"><a name="Features"></a>Features</h2>
250256
</li>
251257
-->
252258
<li>Linear system solvers (LU decomposition, Jacobi method)</li>
259+
<li>Newton-Raphson method for nonlinear problems</li>
253260
</ul>
254261
</li>
255262
<li>
@@ -316,6 +323,10 @@ <h2 id="tutorials"><a name="Tutorials"></a>Tutorials</h2>
316323
>XML (FEAScript platform)</a
317324
>
318325
</li>
326+
<li>
327+
<strong>Solidification front propagation in a two-dimensional domain</strong>:
328+
<a href="https://feascript.com/tutorials/SolidificationFront2D.html" target="_blank">API</a>
329+
</li>
319330
</ul>
320331
<p>
321332
Please report any feedback on the above tutorials to the GitHub

tutorials/HeatConduction1DWall.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ <h2 id="results"><a name="Results"></a>Results</h2>
191191

192192
<p>
193193
Below is the 1D line plot of the computed temperature distribution along the wall thickness. This plot
194-
is generated in real time using FEAScript. You can find a minimal example of this tutorial in the
194+
is generated in real time using FEAScript. You can find a Node.js implementation of this tutorial in the
195195
<a
196196
href="https://github.com/FEAScript/FEAScript-core/tree/main/examples/solidHeatTransferScript/HeatConduction1DWall"
197197
target="_blank"
@@ -213,7 +213,11 @@ <h2 id="results"><a name="Results"></a>Results</h2>
213213

214214
<script type="module">
215215
//Import FEAScript library from GitHub
216-
import { FEAScriptModel, plotSolution, printVersion } from "https://core.feascript.com/dist/feascript.esm.js";
216+
import {
217+
FEAScriptModel,
218+
plotSolution,
219+
printVersion,
220+
} from "https://core.feascript.com/dist/feascript.esm.js";
217221
//Import FEAScript library from a local directory
218222
//import { FEAScriptModel, plotSolution, printVersion } from "../../FEAScript-core/src/index.js";
219223

tutorials/HeatConduction1DWallPlatform.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
1818
<meta
1919
name="description"
20-
content="This tutorial demonstrates solving a steady-state heat transfer problem in a 1D wall using the FEAScript visual platform. The problem represents a typical house wall scenario, where the objective is to model heat conduction and understand temperature distribution under specific boundary conditions."
20+
content="This tutorial demonstrates solving a steady-state heat transfer problem in a one-dimensional wall using the FEAScript visual platform. The problem represents a typical house wall scenario, where the objective is to model heat conduction and understand temperature distribution under specific boundary conditions."
2121
/>
2222
<meta
2323
name="keywords"

tutorials/HeatConduction2DFin.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
1818
<meta
1919
name="description"
20-
content="This example demonstrates solving a steady-state heat transfer problem in a 2D rectangular domain using the FEAScript library. The problem represents a typical cooling fin scenario, where the objective is to model heat conduction and understand temperature distribution under specific boundary conditions."
20+
content="This example demonstrates solving a steady-state heat transfer problem in a two-dimensional domain using the FEAScript library. The problem represents a typical cooling fin scenario, where the objective is to model heat conduction and understand temperature distribution under specific boundary conditions."
2121
/>
2222
<meta
2323
name="keywords"
@@ -199,7 +199,7 @@ <h2 id="solvingwithfeascript"><a name="Solving with FEAScript"></a>Solving with
199199
<h2 id="results"><a name="Results"></a>Results</h2>
200200
<p>
201201
Below is the 2D contour plot of the computed temperature distribution. This plot is generated in real
202-
time using FEAScript. You can find a minimal example of this tutorial in the
202+
time using FEAScript. You can find a Node.js implementation of this tutorial in the
203203
<a
204204
href="https://github.com/FEAScript/FEAScript-core/tree/main/examples/solidHeatTransferScript/HeatConduction2DFin"
205205
target="_blank"
@@ -232,9 +232,13 @@ <h2 id="results"><a name="Results"></a>Results</h2>
232232

233233
<script type="module">
234234
// Import FEAScript library from GitHub
235-
import { FEAScriptModel, plotSolution, printVersion } from "https://core.feascript.com/dist/feascript.esm.js";
235+
import {
236+
FEAScriptModel,
237+
plotSolution,
238+
printVersion,
239+
} from "https://core.feascript.com/dist/feascript.esm.js";
236240
// Import FEAScript library from a local directory
237-
//import { FEAScriptModel, plotSolution, printVersion } from "../../FEAScript-core/src/index.js";
241+
// import { FEAScriptModel, plotSolution, printVersion } from "../../FEAScript-core/src/index.js";
238242

239243
window.addEventListener("DOMContentLoaded", () => {
240244
if (window.innerHeight > window.innerWidth) {

tutorials/HeatConduction2DFinGmsh.html

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
1818
<meta
1919
name="description"
20-
content="This example demonstrates solving a steady-state heat transfer problem in a 2D rectangular domain using a Gmsh-generated mesh."
20+
content="This example demonstrates solving a steady-state heat transfer problem in a two-dimensional domain using a Gmsh-generated mesh."
2121
/>
2222
<meta
2323
name="keywords"
@@ -182,13 +182,14 @@ <h2 id="gmshfileimport"><a name="gmshfileimport"></a>Gmsh File Import</h2>
182182

183183
<p>
184184
You can create your own Gmsh files by writing ".geo" scripts or using Gmsh's GUI. For this example, we
185-
used a simple rectangular domain defined in a ".geo" file with specific physical groups for each boundary.
185+
used a simple rectangular domain defined in a ".geo" file with specific physical groups for each
186+
boundary.
186187
</p>
187188

188189
<h3 id="gmshgeofile"><a name="gmshgeofile"></a>Example Gmsh ".geo" File</h3>
189190
<p>
190-
Below is the "rect.geo" file used in this tutorial. It defines a 4m × 2m rectangular domain with physical
191-
lines for each boundary edge:
191+
Below is the "rect.geo" file used in this tutorial. It defines a 4m × 2m rectangular domain with
192+
physical lines for each boundary edge:
192193
</p>
193194

194195
<pre class="prettyprint">
@@ -312,13 +313,13 @@ <h2 id="results"><a name="results"></a>Results</h2>
312313
printVersion,
313314
} from "https://core.feascript.com/dist/feascript.esm.js";
314315
// Import FEAScript library from a local directory
315-
//import {
316+
// import {
316317
// FEAScriptModel,
317318
// importGmshQuadTri,
318319
// plotSolution,
319320
// printVersion,
320321
// logSystem,
321-
//} from "../../FEAScript-core/src/index.js";
322+
// } from "../../FEAScript-core/src/index.js";
322323

323324
window.addEventListener("DOMContentLoaded", async () => {
324325
// Enable debug logging mode

0 commit comments

Comments
 (0)