Skip to content

Commit c75055b

Browse files
nikoschamCopilot
andcommitted
Add vtk.js rendering capability at the the FEAScript features
Co-authored-by: Copilot <copilot@github.com>
1 parent 06b20fb commit c75055b

1 file changed

Lines changed: 27 additions & 4 deletions

File tree

index.html

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,12 @@ <h2 id="howtousefeascript"><a name="Getting Started"></a>How to Use FEAScript</h
395395
&lt;body&gt;
396396
&lt;div id="resultsCanvas"&gt;&lt;/div&gt;
397397
&lt;script type="module"&gt;
398-
import {FEAScriptModel, importGmshMesh, plotInterpolatedSolution} from "https://core.feascript.com/dist/feascript.esm.js";
398+
// Import FEAScript library
399+
import {
400+
FEAScriptModel,
401+
importGmshMesh,
402+
plotInterpolatedSolution,
403+
} from "https://core.feascript.com/dist/feascript.esm.js";
399404

400405
window.addEventListener("DOMContentLoaded", async () => {
401406
// Fetch mesh from GitHub Gist (swap the URL for any other hosted .msh file)
@@ -404,23 +409,27 @@ <h2 id="howtousefeascript"><a name="Getting Started"></a>How to Use FEAScript</h
404409
);
405410
const meshFile = new File([await response.text()], "rect_with_hole.msh");
406411

412+
// Create and configure model
407413
const model = new FEAScriptModel();
408414
model.setModelConfig("heatConductionScript");
409415
model.setMeshConfig({
410416
parsedMesh: await importGmshMesh(meshFile),
411417
meshDimension: "2D",
412-
elementOrder: "quadratic"
418+
elementOrder: "quadratic",
413419
});
414420

415-
// Boundary conditions (Gmsh physical group tag - 1)
421+
// Apply boundary conditions (Gmsh physical group tag - 1)
416422
model.addBoundaryCondition("0", ["constantTemp", 200]); // Bottom
417423
model.addBoundaryCondition("1", ["constantTemp", 200]); // Right
418424
model.addBoundaryCondition("2", ["convection", 1, 20]); // Top
419425
model.addBoundaryCondition("3", ["symmetry"]); // Left
420426
model.addBoundaryCondition("4", ["convection", 1, 20]); // Hole surface
421427

428+
// Solve
422429
model.setSolverMethod("lusolve");
423430
const result = model.solve();
431+
432+
// Plot results
424433
plotInterpolatedSolution(model, result, "contour", "resultsCanvas");
425434
});
426435
&lt;/script&gt;
@@ -518,7 +527,21 @@ <h2 id="features"><a name="Features"></a>Features</h2>
518527
📈 <strong>Visualization & Post-Processing</strong>
519528
<ul>
520529
<li>
521-
Interactive line and surface visualization with
530+
Interactive rendering with
531+
<a href="https://kitware.github.io/vtk-js/">
532+
vtk.js<img
533+
src="https://upload.wikimedia.org/wikipedia/commons/4/44/Icon_External_Link.svg"
534+
alt="External Link Icon"
535+
style="
536+
width: 16px;
537+
height: 16px;
538+
vertical-align: middle;
539+
margin-left: 2px;
540+
margin-bottom: 4px;
541+
"
542+
/>
543+
</a>
544+
and
522545
<a href="https://plotly.com/javascript/">
523546
Plotly<img
524547
src="https://upload.wikimedia.org/wikipedia/commons/4/44/Icon_External_Link.svg"

0 commit comments

Comments
 (0)