FIPY est un solveur à équations aux dérivés partiels à volume fini (PDE) écrit en Python et conçu pour la construction, le test et l’exécution de modèles basés sur PDE avec un flux de travail propre et scénarisé. Si vous l’installez pour la première fois, votre objectif principal devrait être une configuration stable, reproductible et facile à mettre à niveau. En pratique, cela signifie généralement installer Fipy dans son propre environnement, vérifier que les dépendances de base fonctionnent, puis permettre éventuellement des backends de solveurs plus rapides (comme PETSC) lorsque vous avez besoin de performances ou d’évolutivité.
Ce guide vous guide à travers un chemin d’installation fiable, une liste de contrôle de validation rapide et une section de dépannage pour les problèmes les plus courants rencontrés lors de leur première configuration. Les étapes ci-dessous suivent les conseils officiels d’installation de FIPY et les meilleures pratiques courantes pour les environnements Python scientifiques. Fipy fournit également un environnement prêt à l’emploi sur Binder pour une exploration rapide, mais pour un travail sérieux, vous souhaitez un environnement local que vous contrôlez.
Ce dont vous avez besoin avant de commencer
- Un gestionnaire d’environnement Python moderne (Conda est recommandé pour les premières installations)
- Accès à la ligne de commande de base (terminal sur MacOS/Linux, PowerShell/Command Invite sous Windows)
- suffisamment d’espace disque pour les packages scientifiques (quelques Go est normal)
- Un plan pour les solveurs : commencez par la valeur par défaut, puis ajoutez PETSC plus tard si nécessaire
Méthode d’installation recommandée : Conda (la plus fiable)
La documentation de FIPY décrit explicitement l’installation basée sur Conda comme le chemin recommandé, car elle résout les dépendances scientifiques compilées de manière plus cohérente sur les plates-formes et réduit les situations « il est installé mais ne fonctionne pas ». Le canal Conda-Forge fournit un package Fipy activement géré et met fréquemment à jour les builds. Vous pouvez installer Fipy directement à partir de Conda-Forge en une seule commande, mais il est préférable de créer d’abord un environnement dédié.
Étape 1 : Installez Conda (ou un outil compatible Conda)
Si vous avez déjà installé Conda (Anaconda, Miniconda ou une autre distribution compatible Conda), vous pouvez ignorer cette étape. Sinon, installez une distribution conda légère et assurez-vous que la commande conda fonctionne dans votre terminal.
Étape 2 : Créez un environnement dédié
La création d’un environnement propre maintient les dépendances isolées. Cela facilite les mises à niveau et empêche les conflits avec des projets indépendants.
conda create -n fipy-env python=3.11
conda activate fipy-env
Vous pouvez choisir une version différente de Python si votre projet l’exige, mais il est généralement plus simple de s’en tenir à une version moderne et prise en charge.
Étape 3 : Installez Fipy depuis Conda-Forge
La page du package conda-forge répertorie la commande d’installation. Dans un environnement frais, il s’agit généralement de l’approche la plus fluide.
conda install -c conda-forge fipy
Si vous utilisez mamba (un solveur compatible Conda plus rapide), vous pouvez installer le même package avec :
mamba install -c conda-forge fipy
Si vous souhaitez une priorité stricte de canal (réduit souvent les conflits), configurez Conda-Forge comme canal prioritaire :
conda config --add channels conda-forge
conda config --set channel_priority strict
Installation alternative : PIP (fonctionne, mais attention)
Fipy est également disponible sur Pypi, vous pouvez donc utiliser PIP. Le piège le plus courant avec les installations de PIP pour les packages scientifiques est de tenter de s’installer dans un environnement «vide» sans dépendances numériques de base, ce qui peut entraîner des pannes de temps de génération ou des conditions préalables manquantes. Si vous utilisez PIP, faites-le dans un environnement virtuel et installez d’abord NumPy (ou assurez-vous qu’il est présent), puis installez Fipy.
Étape 1 : Créez et activez un environnement virtuel
python -m venv fipy-venv
Activez-le :
# macOS / Linux
source fipy-venv/bin/activate
# Windows (PowerShell)
.fipy-venvScriptsActivate.ps1
Étape 2 : Mettez à niveau les outils PIP, puis installez les cœurs numériques principaux
python -m pip install --upgrade pip setuptools wheel
python -m pip install numpy
Étape 3 : Installez Fipy
python -m pip install fipy
Si l’installation de PIP échoue sur votre plate-forme, la solution pragmatique la plus rapide consiste généralement à passer à la méthode CONDA ci-dessus, car Conda-Forge gère plus facilement les dépendances compilées.
Vérifiez votre installation
Après l’installation, confirmez que Fipy importe et que vous pouvez exécuter un petit problème de diffusion. Commencez par deux vérifications : la visibilité des versions et une simulation minimale.
Vérifier 1 : importer FIPY
python -c "import fipy; print('FiPy imported:', fipy.__version__)"
Vérifier 2 : Exécutez un petit exemple de diffusion
Créez un fichier nommé Quick_Fipy_Test.py :
from fipy import CellVariable, Grid1D, DiffusionTerm, Viewer
mesh = Grid1D(nx=50, dx=1.0)
phi = CellVariable(name="phi", mesh=mesh, value=0.0)
# Set a Dirichlet boundary condition by directly constraining boundary faces
phi.constrain(1.0, mesh.facesLeft)
phi.constrain(0.0, mesh.facesRight)
eq = DiffusionTerm()
for _ in range(20):
eq.solve(var=phi, dt=1.0)
print("Min/Max:", float(phi.min()), float(phi.max()))
# Viewer may open a window depending on your environment
# Comment this out if you're on a headless machine
try:
viewer = Viewer(vars=phi)
viewer.plot()
except Exception as e:
print("Viewer skipped:", e)
Exécutez-le :
python quick_fipy_test.py
Résultat attendu : vous devriez voir une plage min/max entre 0 et 1, et éventuellement un tracé simple si votre environnement prend en charge une visionneuse GUI. Si vous êtes sur un serveur ou une configuration sans tête, il est normal que le spectateur échoue ; La sortie numérique est la partie importante.
Solveurs et performances : quand ajouter PETSC
Fipy peut fonctionner avec différents backends de solveurs. Pour un apprentissage précoce et de petits problèmes, la configuration par défaut est généralement suffisante. Lorsque vous commencez à résoudre des systèmes plus volumineux, à exécuter des problèmes 2D/3D avec des maillages fins ou à utiliser des couplages multiphysiques rigides, le choix du solveur est important. PETSC est une étape courante car il fournit des solveurs linéaires et non linéaires robustes, des préconditionneurs évolutifs et des capacités parallèles.
La documentation de FIPY comprend des options de configuration et des classes de solveurs liées à PETSC. Un flux de travail pratique est :
- Obtenez FIPY en travaillant localement avec le solveur par défaut.
- Validez un petit script et confirmez que vos conditions aux limites et la discrétisation sont correctes.
- Ce n’est qu’alors qu’il faut ajouter PETSC et Switch Solver Suites lorsque les performances deviennent un goulot d’étranglement.
Activation du PETSC (guide de haut niveau)
L’installation de PETSC varie selon la plate-forme. Sous Linux et macOS, Conda-Forge fournit souvent un chemin fluide ; Sous Windows natif, la disponibilité de Petsc peut être plus limitée et de nombreux utilisateurs s’appuient sur WSL2 pour les flux de travail basés sur PETSC. Si vous installez PETSC et que vous souhaitez ensuite voir quelles options de solveur sont disponibles, les documents d’utilisation de FIPY mentionnent l’exécution avec des options de style « -aide » pour les solveurs compatibles PetSC afin de répertorier les possibilités de configuration.
Erreurs courantes de configuration pour la première fois (et comment les éviter)
Erreur 1 : installation dans votre environnement de base
L’installation de piles scientifiques dans l’environnement de base entraîne souvent des conflits de dépendance plus tard. Utilisez un environnement dédié afin de pouvoir mettre à niveau ou supprimer des packages en toute sécurité sans casser d’autres projets.
Erreur 2 : mélanger le conda et le pip sans plan
Vous pouvez mélanger conda et pip, mais faites-le intentionnellement. Une approche sûre typique est la suivante : installez des packages numériques de base avec Conda, puis utilisez PIP uniquement pour les packages non disponibles sur Conda-Forge. Si vous utilisez d’abord PIP, vous pouvez finir par tirer des roues incompatibles et créer des conflits de solveur.
Erreur 3 : les erreurs du spectateur sont traitées comme « Fipy est cassé »
Les fenêtres de visionneuse/plot dépendent de votre système d’exploitation, de votre serveur d’affichage et de votre backend d’interface graphique. Dans les environnements sans tête, une erreur de visionneuse est attendue. Validez d’abord la sortie numérique. Si vous avez besoin de tracés sur des serveurs, utilisez le traçage basé sur un ordinateur portable ou enregistrez des tableaux dans des fichiers pour la visualisation.
Erreur 4 : confondre Fipy avec du matériel similaire
Il existe également une carte microcontrôleur « FIPY » utilisée dans les contextes IoT. Ce guide concerne le solveur PDE à volume fini Python du NIST et de l’écosystème scientifique Python. Si vous voyez de la documentation sur les cartes d’extension ou les modems cellulaires, vous recherchez un produit différent.
Liste de contrôle de dépannage
Si votre installation échoue ou que Fipy n’importe pas, passez par cette liste de contrôle dans l’ordre :
1) Confirmez que vous êtes dans le bon environnement
which python
python -V
python -c "import sys; print(sys.executable)"
Sous Windows, utilisez :
where python
2) Confirmez que FIPY est installé dans cet environnement
python -c "import fipy; print(fipy.__version__)"
3) Si vous utilisez Conda, vérifiez les conflits
conda list
conda info
Si Conda signale les conflits lors de l’installation, créez un nouvel environnement et réessayez. C’est souvent plus rapide que de combattre un ensemble de dépendances enchevêtrées.
4) Si vous utilisez PIP, confirmez que NumPy est présent
python -c "import numpy; print(numpy.__version__)"
5) Valider avec un script minimal
Utilisez le test de diffusion dans la section de vérification. Il isole les composants de base : maillage, variable, contraintes de limite, terme d’équation et pas de temps.
Facultatif : une structure de projet propre pour votre premier travail FIPY
Une fois que Fipy s’exécute, créez une petite disposition de projet qui prend en charge l’itération et la reproductibilité :
my-fipy-project/
env/
scripts/
quick_fipy_test.py
my_first_model.py
data/
results/
README.txt
Gardez les scripts petits au début. Les modèles FIPY deviennent plus faciles à entretenir lorsque vous séparez :
- Paramètres physiques et constantes
- Définition de maillage et choix de discrétisation
- Équations et conditions aux limites
- Boucle et sortie de pas de temps
Étapes suivantes après l’installation
Après votre première exécution réussie, la meilleure étape suivante consiste à reproduire un exemple standard : diffusion, convection-diffusion ou simple modèle de champ de phase. Renforcez votre confiance dans vos conditions de discrétisation et de limites avant de vous lancer dans un couplage multiphysique complexe. Si votre objectif final est le champ de phase, planifiez votre progression :
- Diffusion avec des contraintes de limites fixes
- Diffusion dépendant du temps avec pas de temps stables
- Vérifications de la stabilité des termes non linéaires et du solveur
- Un prototype minimal de Cahn – Hilliard ou Allen – Cahn
- Mises à niveau des performances (PETSC) une fois le modèle correct
Si vous écrivez un document académique plus long et souhaitez encadrer clairement vos étapes de configuration, vous pouvez également référencer une ressource d’introduction de mémoire ici :
introduction de la thèse.
Résumé
Pour la première installation, Conda avec un environnement dédié est la plus fiable. Vérifiez votre configuration avec un script de diffusion minimal, traitez les problèmes de visionneuse comme optionnels et n’ajoutez PETSC que lorsque vous avez réellement besoin de solveurs de performances plus élevées ou plus robustes. Avec un environnement stable et un script « Hello PDE » fonctionnel, vous êtes prêt à passer aux flux de travail les plus avancés de Fipy avec beaucoup moins de frictions.