ISAS Système de couplage de codes CEA/DRN/DMT/SYSCO Alain.Bengaouer@cea.fr
Plan Nécessites et enjeux Description d'Isas Exemple de composants Isas Applications Perspectives
Nécessités et enjeux L’industrie nucléaire est au carrefour de nombreux métiers Neutronique Thermohydraulique Mécanique Radio-protection ... Chaque domaine d’expertise développe des outils et des méthodes d’analyse propres Qui coupler ? Disciplines différentes en inter-action Même discipline pour différents éléments en inter-action
Nécessités et enjeux Que coupler ? Savoirs-faire Données Outils Pourquoi coupler ? Etudes de sûreté plus exigeantes Matériel plus performant Optimisation du fonctionnement Complexité des problèmes
Nécessités et enjeux Comment coupler ? Chaînage enchaînement manuel des opérations une ou quelques itérations Couplage explicite résolution séquentielle (automatique) des opérations chaque code modifie les données (conditions limites) du code suivant Couplage implicite résolution simultanée des opérations chaque code participe à la modélisation complète du problème nécessite un solveur puissant (nombre élevé d’inconnues)
Nécessités et enjeux Etudes accidentelles Classement transitoires de classe 2 rupture de tuyauterie secondaire petite perte de réfrigérant primaire (SBLOCA) RTV majeure grosse perte de réfrigérant primaire (LBLOCA) accident grave Dégradation cœur Réacteur sous-critique Dégradation gaine
couplage implicite multi-D Nécessités et enjeux Codes utilisés CRONOS-2 / FLICA-4 CRONOS-2 / FLICA-4 / FLICA-S CRONOS-2 / CATHARE CRONOS-2 / FLICA-4 / CATHARE FLICA-4 / CATHARE couplage explicite 1D couplage implicite multi-D neutronique + T-H cœur + T-H système
Nécessités et enjeux Nécessité de disposer d'un système de codes : souples, ouverts, communicant facilement Projet ELAN Architecture logicielle, outils, méthodes, langages Parallélisme et distribution intégrés Aujourd'hui : Répondre facilement aux besoins croissants de couplage Disposer d’un outil générique pour limiter l’intrusion dans les codes à coupler ISAS
Description d'Isas PORTABILITE SOUPLESSE SIMPLICITE Caractéristiques générales permet de piloter plusieurs codes sur une ou plusieurs machines un superviseur avec un langage de commande un code esclave est un objet avec ses méthodes Choix techniques Isas écrit en C Langage interface: OCAML* dans le superviseur OCAML, C, F77 dans les esclaves Librairie de communication : PVM** * http://www.inria.fr ** http://www.ornl.gov PORTABILITE SOUPLESSE SIMPLICITE
Description d'Isas Fonctionnalités : définition d'une machine virtuelle échanges maitre/esclave communication directe délégation Le contrôle du couplage est entièrement géré dans le superviseur : le temps, la convergence, l'adaptation des données Le superviseur voit les codes comme des modules (objets) à l ’interface strictement définie. COMPOSANTS REUTILISABLES Power Plant vessel circuit S.G. building thermo neutro
Identification des fonctions importantes Exemple de composants Les étapes d'un code monolithique vers un composant : Identification des fonctions importantes Isolement des données en entrée et sortie Création des services : méthodes et données par introduction d'appels à la librairie Isas en qqes points code initial code modulaire composant Isas Data acquisition Initilization Steady state Begining loop Transient step End loop Results Saving Stop Data acquisition code # get data Initialization code # initialize Steady state code # Steady state Transient step code # Transient step Results Saving code # Results Saving Stop code # Stop
3 champs de la physique <=> 3 codes de calcul Exemple de composants Simulation d'un APRP Neutronique: Power (Tc,r) Thermo-hydraulique: r,Press,f (Ql, Tc, Power) Thermo-mécanique: s,Tc (f,Press,Power,…) 3 champs de la physique <=> 3 codes de calcul Crayons combustible Réfrigérant liquide-vapeur Get Data Send Meshing Get Temperature Get Power Transient FLICA4 Send Power CRONOS Send Temperature CASTEM
Exemple de composants Le script de couplage : open Pvmhandle ;; read table "home/user/test/table.isas" ;; startvm table ;; let hydraulics = new flica (hostname1) ;; let kinetics = new cronos (hostname2) ;; hydraulics # get_data ;; kinetics # get_data ;; for i = 1 to 100 do hydraulics # transient dt ;; kinetics # transient dt ;; kinetics # send_power ;; hydraulics # get_power ;; done ;; hydraulics # stop ;; kinetics # stop ;; Définition de la machine virtuelle Démarrage d'une instance de chaque code Seule la méthode transient est vue de l'utilisateur. Les communications sont masquées dans la méthode
ISAS Applications Couplage de disciplines différentes Couplage d'éléments différents Serveurs de calculs CATHARE FLICA CRONOS APOLLO CASTEM TRIO GENEPI METEOR ISAS ATHENA SAFALY INTRA NAUA
Applications ISAS CRONOS : neutron kinetics FLICA : core thermal hydraulics CATHARE : circuit thermal hydraulics CATHARE CRONOS FLICA Core outlet flowrate Core inlet pressure Power Distribution Core outlet flowrate Core inlet pressure ISAS
SAFALY ATHENA NAUA INTRA simulation system Applications Removable shield 1 2 3 4 5 6 7 8 9 10 11 Inboard blanket modules Outboard blanket modules Heat exchanger Pressurizer Vault Building ATHENA : thermal-hydraulic INTRA : containment SAFALY : plasma transients NAUA : aerosols dispersion ISAS applications for safety studies Fusion reactor break simulation Vacuum Vessel Toroidal limiter/Baffle Divertor 12 wall heat load pressure temperature fluid temperature steam flow rate condensation rate steam pressure total flow rate heat transfer coefficient water enthalpy void fraction SAFALY ATHENA NAUA INTRA simulation system
Perspectives Isas2.1 en développement : version thread-safe (POSIX) utilisation des threads pour paralléliser des méthodes sécuriser les traces d'exécution compatibilité avec des esclaves MPI et OPENMP introduction du modèle M.E.D. (collaboration EDF) représentation générique des maillages et résultats de calculs échange direct et manipulation des objets M.E.D. Code esclave Structure MED ISAS HDF HDF
Perspectives Veille : MPI, CORBA, gros volumes de données Evolutions : Convergence/interopérabilité ISAS/CALCIUM cf. exposé Jean-Yves Berthou EDF Allier l'architecture ELAN (codes futurs de la DRN) et la communication entre codes existants.