Important Notice: This repository will be subject to important changes soon. Please be aware that some features or functionality may no longer be available, and new features or functionality may be added that could affect your usage of the repository.
cfd.xyz is an open-source web app to efficiently and easily explore fluid dynamics problems for a wide range of parameters. The framework provides a proof of technology for OpenFOAM tutorials, showing the whole process from the generation of the surrogate models to the web browser. It also includes a standalone web tool for visualizing users' models by directly dragging and dropping the output folder of the ROM offline stage. Beyond the current proof of technology, this enables a collaborative effort for the implementation of OpenFOAM-based surrogate models in applications demanding real-time solutions such as digital twins and other digital transformation technologies.
We aim with the developments presented in this work to create a common place where canonical and industrial CFD problems can be visualized and analyzed without carrying out a simulation, or as a preliminary step for optimizing parameters of new simulations. Having an open-source centralized service has several advantages from educational, optimization and reproducibility point of views. But also from a CO2 footprint perspective.
The web app relies on the rom.js module, a JavaScript port of a set of open-source packages (Eigen, Splinter and VTK/C++, ITHACA-FV) to solve the online stage of reduced-order models (ROM) generated by the ITHACA-FV tool. It can also be executed outside a web browser within a backend JavaScript runtime environment, or in a given web solution.
This is a beta version, please handle it with care. Further features, optimizations and fixes are expected. We are also working on including machine learning data-driven methods. Contact us or join the Slack channel if you want to collaborate.
- Docker 20.10.12
- npm 6.14.11 (optional)
You can install and serve cfd-xyz
in your computer with npm
:
make all
And use the web by entering http://localhost:3000
in your browser.
Alternatively, you can use the Docker image for building and serving the web:
make all-docker
The web will be accessible at http://localhost:5000
.
The web app reads data from the public/surrogates
folder for the interactive visualization. The instructions above install the data automatically but you can copy and paste the surrogates
folder generated by rom.js.
Everyone is welcome to contribute to this project. See CONTRIBUTING.md for further details.
cfd.xyz is a self-funded initiative, free of charge, with no adds, no popups, no registration and no data collection.
- Article published in the OpenFOAM® Journal:
@article{Pena-Monferrer_Diaz-Marin_2022,
author={Peña-Monferrer, Carlos and Diaz-Marin, Carmen},
title={rom.js/cfd.xyz: An open-source framework for generating and visualizing parametric {CFD} results},
journal={OpenFOAM® Journal},
volume={2},
month={Oct.},
pages={143–148}
DOI={10.51560/ofj.v2.83},
url={https://journal.openfoam.com/index.php/ofj/article/view/83},
year={2022},
}
- Web:
@online{cfd_xyz_web_2022,
author={{SIMZERO}},
title={{cfd.xyz}},
howpublished={\url{https://cfd-xyz}},
addendum="(accessed: 28.04.2022)",
}
- Repository:
@online{cfd_xyz_repo_2022,
author={{SIMZERO}},
title={{cfd.xyz}},
howpublished={\url{https://github.com/simzero-oss/cfd-xyz-viewer}},
addendum="(accessed: 28.04.2022)",
}
- Specific version with DOI. Example for v1.0.0-rc.8:
@software{cfd_xyz_v1.0.0-rc.8,
author={{SIMZERO}},
title={simzero-oss/cfd-xyz},
month={mar},
year={2022},
publisher={Zenodo},
version={v1.0.0-rc.8},
doi={10.5281/zenodo.6365615},
url={https://doi.org/10.5281/zenodo.6365615}
}
Code on this repository is covered by the MIT license. All the media/images in the public
directory are CC BY 4.0 except the public/constructionSolver.png
image that is covered by CC0, and the cfd.xyz logos (src/components/Main/logo*.svg
) with CC BY-ND 4.0 license so you may not alter, remix or transform these images. The cfd.xyz logo, SIMZERO and OpenFOAM are trademarks. A full description of the licenses can be found below:
-
Code: MIT
-
Media
public/constructionSolver.png
: CC0 -
Media
src/components/Main/logoLight.svg
andsrc/components/Main/logoDark.svg
: CC BY-ND 4.0 -
Other media: CC BY 4.0
-
Trademarks:
- OPENFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com.
- cfd.xyz logo and SIMZERO are exclusive trademarks. Their use is only allowed in the context of this web app and in compliance with trademark law. Adaptations or modifications of the cfd.xyz logo are not permitted.