A free and open source web-based platform for performing CAE in the cloud.
SunCAE is a web-based front end and a cloud-based back end to perform finite-element calculations directly on the browser.
- The front end is an HTML client with plain vanilla javascript code (i.e. no Angular, no React, not even jQuery) that provide interactivity by sending JSON-based AJAX request to the server backe end.
- The back end is written in PHP and responds to the client requests by creating the necesary files, executing the necesary binaries and returning back 3D data to the client.
Both fron end and back ends are free software, released under the terms of the AGPLv3. See licensing below for more information.
- No need to install. You can use it online because it is web-based.
- Single source of truth. All your data is in a single location because it is cloud-first.
- Increased traceability. All changes are tracked using Git.
- Collaboration. Many users can access the same case. And Git keeps track of who changed what when.
- Mobile-friendly. Access your simulation project from your phone or tablet.
- Free and open source. As in "free speech." You fully get the four freedoms.
- Extensible. Add more meshers, solvers, UXs, etc. Join the community!
You can use SunCAE either by...
-
using someone else’s servers and configurations
- open this link to use SunCAE in our live demo
- check out these Youtube videos to learn how to use it
- Tutorial #1: Overview (4 min)
- Tutorial #2: NAFEMS LE10 (4 min)
- Tutorial #3: Heat conduction (3.5 min)
-
hosting your own server (it can be your laptop!) so you (or other people) can use it:
-
install some common dependencies
-
clone the SunCAE repository
-
run a script to fetch the open source CAE-related tools (renderers, solvers, meshers, etc.):
sudo apt-get install git git clone https://github.com/seamplex/suncae cd suncae sudo apt-get install unzip patchelf wget php-cli php-yaml gnuplot ./deps.sh php -S localhost:8000 -t html
-
open http://localhost:8000 with a web browser
-
Note
SunCAE is aimed at the cloud. The cloud likes Unix (and Unix likes the cloud). So these instructions apply to Unix-like servers, in particular GNU/Linux. There might be ways to run SunCAE on Windows, but we need time to figure out what they are.
Moreover, most CAE solvers do not perform in Windows. There is a simple explanation: (good) solvers are written by hackers. And hackers---as Paul Graham already explained more than twenty years ago---do not like Windows (and Windows do not like hackers either).
For more detailed instructions including setting up production web servers and using virtualization tools (e.g. docker and/or virtual machines) read the installation guide.
With SunCAE---as with sundae ice creams---you get to choose the toppings:
- Authenticators
- single-user
- htpasswd
- ...
- UXs
- CAD importers
- upload
- ...
- CAD processors
- gmsh
- ...
- Runners (to be done, e.g. local, ssh, aws, ...)
- Post processors (to be done, e.g. paraview, glvis, ...)
Moreover, for each case users can choose the combination of
The content of this SunCAE repository is licensed under the terms of the GNU Affero General Public License version 3, or at your option, any later version (AGPLv3+).
This means that you get the four essential freedoms, so you can
- Run SunCAE as you seem fit (i.e. for any purpose).
- Investigate the source code to see how SunCAE works and to change it (or to hire someone to change it four you) as you seem fit (i.e. to suit your needs)
- Redistribute copies of the source code as you seem fit (i.e. to help your neighbor)
- Publish your changes (or the ones that the people you hired made) to the public (i.e. to benefit the community).
Important
With great power comes great responsibility.
If you use a modified version of SunCAE in your web server, section 13 of the AGPL license requires you to give a link where your users can get these four freedoms as well. That is to say, if you use a verbatim copy of SunCAE in your server, there is nothing for you to do (because the link is already provided). But if you exercise freedoms 1 & 3 above and modify SunCAE to suit your needs---let's say you don't like the button "Add Boundary Condition" and you change it to "Add restrains and loads"---you do need to provide a link for people to download the modified source code.
Tip
If this licensing scheme does not suit you, contact us to see how we can make it work.
- If you have a solver released under a license which is compatible with the AGPL and you would like to add it to SunCAE, feel free to fork the repository (and create a pull request when you are done).
- If you have a solver released under a license which is not compatible with the AGPL and you would like to add it to SunCAE, contact us.