You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently with the web worker also when we reach the mesh size of about 1000 or so we get memory issue. I am not a CFD person so i'm guessing a workaround is needed to run the simulation in the WebGPU offloading all the work load to it and only plotting the result.
If it is possible like that we can offload chunks of the computation to separate workers
I've made some updates with Web Workers. Here's a 2D fin tutorial using a worker: https://feascript.com/tutorials/HeatConduction2DFinWorker.html
To run this, from the FEAScript website, you will need to disable "cross-origin" restrictions in your browser. For example for the Chromium browser I use the command chromium-browser --disable-web-security --user-data-dir="/tmp/chrome-cors" --disable-site-isolation-trials
To resolve this CORS issue properly, we have two main options:
If it is possible like that we can offload chunks of the computation to separate workers
I've made some updates with Web Workers. Here's a 2D fin tutorial using a worker: https://feascript.com/tutorials/HeatConduction2DFinWorker.html To run this, from the FEAScript website, you will need to disable "cross-origin" restrictions in your browser. For example for the Chromium browser I use the command chromium-browser --disable-web-security --user-data-dir="/tmp/chrome-cors" --disable-site-isolation-trials
To resolve this CORS issue properly, we have two main options:
If it is possible like that we can offload chunks of the computation to separate workers
I've made some updates with Web Workers. Here's a 2D fin tutorial using a worker: https://feascript.com/tutorials/HeatConduction2DFinWorker.html To run this, from the FEAScript website, you will need to disable "cross-origin" restrictions in your browser. For example for the Chromium browser I use the command chromium-browser --disable-web-security --user-data-dir="/tmp/chrome-cors" --disable-site-isolation-trials
To resolve this CORS issue properly, we have two main options:
Host the FEAScript-core library on a dedicated server (not GitHub Pages) that allows for the configuration of appropriate CORS headers.
Please share any other potential solutions you might have. Thanks again for the contribution!
Packaging FEAScript-core as an ES6 module and publishing it as an npm library is one of the cleanest and most future-proof solutions.
Great, we’ll go ahead with that. I just want to finalize a couple of features before we prepare the first release (v0.1.0). These are: 1) finalize the 1D solid heat transfer solver and 2) the .msh meshes import. Once those are in place, we will publish it to npm.
If it is possible like that we can offload chunks of the computation to separate workers
I've made some updates with Web Workers. Here's a 2D fin tutorial using a worker: https://feascript.com/tutorials/heat-conduction-2d-fin-worker.html To run this, from the FEAScript website, you will need to disable "cross-origin" restrictions in your browser. For example for the Chromium browser I use the command chromium-browser --disable-web-security --user-data-dir="/tmp/chrome-cors" --disable-site-isolation-trials
To resolve this CORS issue properly, we have two main options:
Host the FEAScript-core library on a dedicated server (not GitHub Pages) that allows for the configuration of appropriate CORS headers.
Please share any other potential solutions you might have. Thanks again for the contribution!
Packaging FEAScript-core as an ES6 module and publishing it as an npm library is one of the cleanest and most future-proof solutions.
Great, we’ll go ahead with that. I just want to finalize a couple of features before we prepare the first release (v0.1.0). These are: 1) finalize the 1D solid heat transfer solver and 2) the .msh meshes import. Once those are in place, we will publish it to npm.
Maybe we could try incorporate it in the FEAScript platform. However, I am concerned since it doesn't seem to be actively maintained and also it doesn't seem to work with the 2D meshes I have tried..
By the way, FEAScript platform is the latest addition to the project - a browser-based visual editor. You can test it by downloading this XML example and loading it into the FEAScript platform. Let me know what you think if you check it out!
I just want to finalize a couple of features before we prepare the first release (v0.1.0). These are: 1) finalize the 1D solid heat transfer solver and 2) the .msh meshes import. Once those are in place, we will publish it to npm.
Sure we can do it.
These tasks are now complete — the first release is just around the corner! I’ll run some tests over the next 1–2 days to make sure everything is working properly. We will proceed with the npm packaging after that.
Yeah maybe we can try to modularize the code such that it can be a lego like approach like openfoam.
Yes, that's my goal too. Hopefully, we'll get there as development progresses. The idea is to have solvers (e.g., solidHeatTransferScript) that are complete applications for specific types of simulations, analogous to OpenFOAM solvers (e.g., solidFoam). These solvers would call reusable components of the software, such as meshGenerationScript, basisFunctionsScript, numericalIntegrationScript, etc. Ideally, the integration between solvers and reusable components will become more robust and efficient as the project matures.
This issue has been added to the FEAScript roadmap for the upcoming 0.2.0 release (https://github.com/orgs/FEAScript/discussions/17). Specifically, it concerns using GPU acceleration to speed up iterative solvers.
Activity
sridhar-mani commentedon Apr 20, 2025
GPU.js is also a light weight gpu programming wrapper in js. Taichi.js is superior to it.
nikoscham commentedon Apr 23, 2025
I've made some updates with Web Workers. Here's a 2D fin tutorial using a worker:
https://feascript.com/tutorials/HeatConduction2DFinWorker.html
To run this, from the FEAScript website, you will need to disable "cross-origin" restrictions in your browser. For example for the Chromium browser I use the command
chromium-browser --disable-web-security --user-data-dir="/tmp/chrome-cors" --disable-site-isolation-trialsTo resolve this CORS issue properly, we have two main options:
Please share any other potential solutions you might have. Thanks again for the contribution!
nikoscham commentedon Apr 23, 2025
I have also created this minimal Web Worker example https://feascript.com/tutorials/heat-conduction-2d-fin-worker.html
I have reduced the mesh size, as the 36x18 version took quite a while to run. We need a faster linear solver here!
sridhar-mani commentedon Apr 23, 2025
Packaging FEAScript-core as an ES6 module and publishing it as an npm library is one of the cleanest and most future-proof solutions.
nikoscham commentedon Apr 23, 2025
Great, we’ll go ahead with that. I just want to finalize a couple of features before we prepare the first release (v0.1.0). These are: 1) finalize the 1D solid heat transfer solver and 2) the .msh meshes import. Once those are in place, we will publish it to npm.
sridhar-mani commentedon Apr 23, 2025
Sure we can do it. Also go through this library and see if its okay to integrate this also:https://github.com/amandaghassaei/msh-parser.
nikoscham commentedon Apr 27, 2025
Maybe we could try incorporate it in the FEAScript platform. However, I am concerned since it doesn't seem to be actively maintained and also it doesn't seem to work with the 2D meshes I have tried..
By the way, FEAScript platform is the latest addition to the project - a browser-based visual editor. You can test it by downloading this XML example and loading it into the FEAScript platform. Let me know what you think if you check it out!
nikoscham commentedon May 13, 2025
These tasks are now complete — the first release is just around the corner! I’ll run some tests over the next 1–2 days to make sure everything is working properly. We will proceed with the npm packaging after that.
sridhar-mani commentedon May 13, 2025
Yeah maybe we can try to modularize the code such that it can be a lego like approach like openfoam.
nikoscham commentedon May 13, 2025
Yes, that's my goal too. Hopefully, we'll get there as development progresses. The idea is to have solvers (e.g., solidHeatTransferScript) that are complete applications for specific types of simulations, analogous to OpenFOAM solvers (e.g., solidFoam). These solvers would call reusable components of the software, such as meshGenerationScript, basisFunctionsScript, numericalIntegrationScript, etc. Ideally, the integration between solvers and reusable components will become more robust and efficient as the project matures.
nikoscham commentedon May 19, 2025
This issue has been added to the FEAScript roadmap for the upcoming 0.2.0 release (https://github.com/orgs/FEAScript/discussions/17). Specifically, it concerns using GPU acceleration to speed up iterative solvers.
Tasks