
Security News
Feross on TBPN: How North Korea Hijacked Axios
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.
A lightweight finite element simulation library built in JavaScript for browser-based physics and engineering simulations
FEAScript is a lightweight finite element simulation library built in JavaScript. It empowers users to create and execute simulations for physics and engineering applications in both browser-based and server-side environments. This is the core library of FEAScript.
🚧 FEAScript is currently under heavy development. Functionality and interfaces may change rapidly as new features and enhancements are introduced. 🚧
FEAScript is entirely implemented in pure JavaScript and can run in two environments:
You can use FEAScript in browser environments in two ways:
Direct Import from CDN: Add this to your HTML file:
<script type="module">
import { FEAScriptModel } from "https://core.feascript.com/dist/feascript.esm.js";
</script>
Download and Use Locally:
<script type="module">
import { FEAScriptModel } from "./path/to/dist/feascript.esm.js";
</script>
For browser-based examples and use cases, visit our website tutorials.
# Install FEAScript and its peer dependencies
npm install feascript mathjs plotly.js
Then import it in your JavaScript/TypeScript file:
import { FEAScriptModel } from "feascript";
Important: FEAScript is built as an ES module. If you're starting a completely new project (outside this repository), make sure to configure it to use ES modules by (when running examples from within this repository, this step is not needed as the root package.json already has the proper configuration):
# Create package.json with type=module for ES modules support
echo '{"type":"module"}' > package.json
Explore various Node.js examples and use cases here.
Browser Import:
// Import FEAScript library in browser
import { FEAScriptModel } from "https://core.feascript.com/dist/feascript.esm.js";
Node.js Import:
// Import FEAScript library in Node.js
import { FEAScriptModel } from "feascript";
// Create and configure model
const model = new FEAScriptModel();
model.setSolverConfig("solverType"); // e.g., "solidHeatTransfer" for a stationary solid heat transfer case
model.setMeshConfig({
meshDimension: "1D" | "2D", // Mesh dimension
elementOrder: "linear" | "quadratic", // Element order
numElementsX: number, // Number of elements in x-direction
numElementsY: number, // Number of elements in y-direction (for 2D)
maxX: number, // Domain length in x-direction
maxY: number, // Domain length in y-direction (for 2D)
});
// Apply boundary conditions
model.addBoundaryCondition("boundaryIndex", ["conditionType", /* parameters */]);
// Solve
model.setSolverMethod("linearSolver"); // lusolve (via mathjs) or jacobi
const { solutionVector, nodesCoordinates } = model.solve();
We warmly welcome contributors to help expand and refine FEAScript. Please see the CONTRIBUTING.md file for detailed guidance on how to contribute.
The core library of FEAScript is released under the MIT license. © 2023-2025 FEAScript.
FAQs
Lightweight finite element simulation library built in JavaScript
The npm package feascript receives a total of 17 weekly downloads. As such, feascript popularity was classified as not popular.
We found that feascript demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.

Security News
OpenSSF has issued a high-severity advisory warning open source developers of an active Slack-based campaign using impersonation to deliver malware.

Research
/Security News
Malicious packages published to npm, PyPI, Go Modules, crates.io, and Packagist impersonate developer tooling to fetch staged malware, steal credentials and wallets, and enable remote access.