L'objectif de ce tutoriel est de réaliser l'optimisation topologique d'un transformateur, à l'aide de NGSolve, logiciel open-source fonctionnant sous Python. Ce répertoire contient plusieurs fichiers, dont certains notebooks Jupyter exécutables. Ces fichiers sont organisés pour être consultés dans l'ordre suivant :
README
(ce fichier)1-Guide Jupyter.ipynb
: notebook sur les bases d'utilisation de Jupyter2-BaseNgSolve.ipynb
: notebook d'illustration de la syntaxe de NGSolve3-Optimisation topologique d'un transformateur.ipynb
: notebook associé à l'activité de ce tutoriel4-Tutoriel (sujet).pdf
: énoncé comportant des questions associées à l'activité
Il contient également des éléments de correction et d'explication :
5-Tutoriel (corrigé).pdf
: énoncé comportant des éléments de réponse aux questions théoriquesPresentation_tutoriel_optimisation_topologique.pdf
: présentation générale de l'activitéOptimisation topologique d'un transformateur-corrige.ipynb
: notebook de l'activité complet et fonctionnel
Enfin, il contient des fichiers annexes :
LICENCE
: fichier de Licence GNU General Public LicenseDockerfile
: fichier de configuration de la machine virtuelle MyBinderCITATION.cff
: fichier comportant les informations de citation
- Cliquer sur
, et attendre le chargement de la machine virtuelle. Attention, cette dernière se déconnecte après 10 minutes d'inactivité, et votre travail ne sera pas sauvegardé!
- Ouvrir les notebooks Jupyter présents sur l'arborescence directement via votre navigateur internet.
- Vous pouvez maintenant interagir avec les notebooks et démarrer l'activité.
Important : le lancement de la machine distante utilise le service gratuit et collaboratif MyBinder. Il repose donc sur des ressources limitées, dont le plus gros calculateur a récemment été débranché fin avril (pas de chance), ce qui peut rendre la procédure précédente inutilisable.
- Se rendre sur le serveur jupyter. (et accepter avec votre navigateur que le lien ne soit pas un https)
- Se connecter avec les codes qui vous ont été donnés en début de séance.
- Ouvrir les notebooks Jupyter présents sur l'arborescence directement via votre navigateur internet.
- Vous pouvez maintenant interagir avec les notebooks et démarrer l'activité.
- Télécharger et décompresser le contenu de ce répertoire github sur votre bureau. Pour cela cliquer sur "Code", puis "Download ZIP".
- Télécharger et installer Miniconda avec les options par défaut correspondant à votre système
- Ouvrir une console Anaconda Prompt (sur Windows, taper dans la barre de recherche en bas à gauche "Anaconda prompt" ; sur Linux et Mac on utilisera directement le terminal)
Désormais, on écrira la suite d'instructions suivante sur la console (vous pouvez copier les instructions et les coller dans la console par un clic droit ; appuyer sur Entrée après avoir écrit l'instruction pour l'exécuter ; appuyer sur "y" pour confirmer lorsque cela vous sera demandé) :
- Créer un nouvel environnement "tutoriel_optim_topo" réservé à l'activité :
conda create -n tutoriel_optim_topo python=3
- Activer l'environnement :
conda activate tutoriel_optim_topo
- Installer des packages nécessaires (500Mb) :
conda install jupyter numpy matplotlib
(appuyer sur y + entrée pour confirmer l'installation). Si un blocage apparait, fermer la console et recommencer les étapes 3, 5 et 6. Les packages déjà téléchargés ne seront pas retéléchargés, ce qui fluidifiera le processus. - Installer NGSolve (300Mb) :
pip install ngsolve
- Installer des extensions de visualisation sur les notebooks :
pip install --upgrade webgui_jupyter_widgets
jupyter nbextension install --user --py webgui_jupyter_widgets
jupyter nbextension enable --user --py webgui_jupyter_widgets
Si une erreur apparaît à l'étape 8, essayer jupyter nbextension install webgui_jupyter_widgets
; sinon passer directement à l'étape 9.
- Lancer Jupyter :
jupyter notebook
- Dans l'explorateur de fichiers qui s'ouvre, sélectionner "Desktop", puis "tutoriel_optimisation_topologique_GDR_SEEDS-main"
Vous êtes arrivé dans le dossier du tutoriel, et vous pouvez démarrer le notebook de votre choix en cliquant dessus.
Copyright (C) 2023 Théodore CHERRIERE (theodore.cherriere@ens-paris-saclay.fr), Thomas GAUTHEY (thomas.gauthey@centralesupelec.fr)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.