📜 Extension of the Fourier Neural Operators to PDE problems solved using pseudo-spectral (Chebyshev) space discretization methods.
- cfno : base Python module for CFNO
- dedalus : scripts to run RBC simulations with Dedalus and pySDC
- docs : some documentations about the FNO
- script : scripts for the full training pipeline (data generation, training, evaluation)
- utils : utility scripts for cluster run
In this folder, run this command to install cfno in your environment :
pip install -e .The
-eoption installs in editable mode, which means any modification in the code won't need a re-installation to take the change into account.
You can also use the
--useroption withpipto install without admin rights.
Additional dependencies :
-
dedalus: spectral discretization for RBC. Recommended installation approach: build from source. -
pySDC: base package for SDC, need to be installed using a development version available in theneuralpintbranch of its main Github repo. To do that :
# Somewhere in a root folder ...
git clone https://github.com/Parallel-in-Time/pySDC.git
cd pySDC
git switch neuralpint
pip install -e .Some changes may happen regularly on the development branch, to update your own version simply do
# In the pySDC repo
git pullSee the full pipeline description in scripts. In particular, the main code parts it uses are :
- cfno.models.cfno2d : implementation of the CFNO model
- cfno.losses : module for the different losses
- cfno.training.pySDC : base
FourierNeuralOpclass used for training and / or inference - cfno.data.preprocessing :
HDF5Datasetclass andcreateDatasetfunction used to create training datasets
This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101118139 (Inno4Scale - NeuralPint). The JU receives support from the European Union's Horizon 2020 research and innovation programme.

