Skip to content

Firedrake/fr

Firedrake est un système automatisé pour la résolution d'équations aux dérivées partielles par la méthode des éléments finis (MEF).

Veuillez noter que chaque version de Firedrake requiert une version spécifique de PETSc, plusieurs autres modules, ainsi que des wheels Python.

Installation

Tous les modules doivent être chargés avant la création et/ou l'activation de l'environnement virtuel Python.

module load StdEnv/2023  gcc/12.3  openmpi/4.1.5  python/3.14  mpi4py/4.1.0
module load vtk/9.4.2  symengine/0.14.0  libspatialindex/2.1.0  petsc/3.25.1
virtualenv venv-firedrake
source venv-firedrake/bin/activate
pip install -U pip
pip install --no-index  msgpack  tables==3.11.0  pytools==2026.1.1  immutabledict
pip install --no-index  firedrake[check]==2026.4.1
Ceci a été testé avec python/3.14, python/3.13, python/3.12 et python/3.11.

module load StdEnv/2023  gcc/12.3  openmpi/4.1.5  python/3.13  mpi4py/4.0.3  symengine/0.14.0  libspatialindex/1.9.3  petsc/3.23.4
virtualenv venv-firedrake
source venv-firedrake/bin/activate
pip install -U pip
pip install --no-index  pytools==2025.2.2  immutabledict
pip install --no-index  firedrake[check]==2025.4.2
Ceci a été testé avec python/3.13 et python/3.12.

Exécuter des tâches

job_firedrake_multigrid.sh
#!/bin/bash
#SBATCH --time=0-00:15:00  # j-hh:mm:ss
#SBATCH --ntasks=2
#SBATCH --mem-per-cpu=4000M
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK:-1}

# Charger les modules
module load StdEnv/2023  gcc/12.3  openmpi/4.1.5  python/3.14  mpi4py/4.1.0
module load vtk/9.4.2  symengine/0.14.0  libspatialindex/2.1.0  petsc/3.25.1

# Activer l'environnement virtuel
source venv-firedrake/bin/activate

# Exécuter la tâche MPI
# exemple de: https://firedrakeproject.org/demos/geometric_multigrid.py
srun  python  geometric_multigrid.py
Ceci a été testé avec python/3.14, python/3.13, python/3.12 et python/3.11.

job_firedrake_multigrid.sh
#!/bin/bash
#SBATCH --time=0-00:15:00  # j-hh:mm:ss
#SBATCH --ntasks=2
#SBATCH --mem-per-cpu=4000M
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK:-1}

# Charger les modules
module load StdEnv/2023 gcc/12.3 openmpi/4.1.5
module load python/3.13 mpi4py/4.0.3
module load symengine/0.14.0 libspatialindex/1.9.3 petsc/3.23.4

# Activer l'environnement virtuel
source venv-firedrake/bin/activate

# Exécuter la tâche MPI
# exemple de: https://firedrakeproject.org/demos/geometric_multigrid.py
srun  python  geometric_multigrid.py
Ceci a été testé avec python/3.13 et python/3.12.

Dépendances optionnelles

Voir les dépendances optionnelles de Firedrake qui peuvent être installées dans un environnement virtuel Python :

  • SLEPc et slepc4py sont comprises dans le module petsc et sont toujours disponibles.
  • netgen : Nous fournissons des wheels précompilés pour ngsPETSc et netgen_mesher.
  • PyTorch : Nous fournissons des wheels précompilés pour torch.
  • Jax : Nous fournissons des wheels précompilés pour jax.
  • VTK : Le module vtk/9.4.2 est compatible avec python/3.14, python/3.13, python/3.12 et python/3.11.