Goals ===== The Goal of NeoFOAM is to offer a simple and intuitive to use multi-physics framework for developers and users. This is achieved by providing a modern python interface while leveraging the heterogeneous architecture. This requires in our view an incremental rewrite of OpenFOAM solvers. The python interface improves the development experience and lowers the barrier of entry for engineers and scientists to implement their own CFD solvers. Additionally, the usage of python opens a new ecosystem of tools for pre- and post-processing. Features ======== .. |TODO| unicode:: U+2610 .. ☐ .. |DONE| unicode:: U+2611 .. ☑ The current features of neofoam include: - |TODO| Multiphysics support - |TODO| Availability of solver metadata to facilitate UI development and integration with AI models - |TODO| Support for various coupling strategies - |TODO| External coupling interface (e.g via preCISE) - |TODO| GPU acceleration via NeoN - |DONE| CLI to run tools and solvers - |DONE| Support for OpenFOAM standard case structure - |DONE| Support for common OpenFOAM solvers (icoFoam, pimpleFoam) via python interface - |DONE| Simple solver extension - |DONE| Unit tests driven development