Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Thermalhydraulic coupling using        ICoCo : an Interface for Code Coupling                     and SALOME              ...
Some coupling examples •   2008 : Gas cooled fast reactor      – Blackout transient      – Cathare simulates the whole cir...
Some coupling examples Complex timestep management => need for a flexible API    Explicite, pas de temps non coïncidents  ...
Some coupling examples •    2009 : validation of coupling methodology       – Simple analytic test cases (closed loops)   ...
Some coupling examples                               •    2010 : MC2 (modèle cœur                                    colle...
Some coupling examples                               •    2010 : MC2 (modèle cœur                                    colle...
Some coupling examples                               •    2010 : MC2 (modèle cœur                                    colle...
Some coupling examples                                                 ParaMEDMem                                         ...
Some coupling examples •    2010 : Phenix end-of-life calculation      (still ongoing)       – Complex geometry       – Ma...
Coupling methodology •   Domain overlapping method      – Cathare simulates the whole reactor      – Cathare datafile near...
Coupling methodology •   Zoom (no feedback)      – Mass equation           Cathare provides mass flowrates on the boundar...
ICoCo : Interface for Code Coupling •   Needs identified      – Flexible timestep management algorithms      – Flexible fi...
ICoCo : Interface for Code Coupling •   Overview of the architecture                         Supervisor                   ...
ICoCo : Interface for Code Coupling  • Scope     – Each code is controllable through a C++ class,       deriving from a co...
ICoCo : Interface for Code Coupling  • Implementation       – Already implemented in             Trio_U             Cath...
ICoCo : Interface for Code Coupling • Today’s feedback    – Supervisor + API paradigm seems a good choice    – Some method...
ICoCo and SALOME  • Generic ICoCo SALOME component     – Possible for every ICoCo-compliant code     – Even less burden fo...
Latest use : ASTRID coupled CFD/system  • SALOME use     – CAO     – Maillage     – ParaMEDMEM interpolators  • ICoCo use ...
Upcoming SlideShare
Loading in …5
×

JUS 2011 - Thermalhydraulic coupling using ICoCo : an Interface for Code Coupling and SALOME

1,144 views

Published on

  • Be the first to comment

  • Be the first to like this

JUS 2011 - Thermalhydraulic coupling using ICoCo : an Interface for Code Coupling and SALOME

  1. 1. Thermalhydraulic coupling using ICoCo : an Interface for Code Coupling and SALOME Fabien Perdu November 15, 2011CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 1
  2. 2. Some coupling examples • 2008 : Gas cooled fast reactor – Blackout transient – Cathare simulates the whole circuit – Trio_U simulates the upper plenum – 1D / 3D – Stratification in upper plenum for onset of natural convection – Independent time stepsCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 2
  3. 3. Some coupling examples Complex timestep management => need for a flexible API Explicite, pas de temps non coïncidents 3 6 9CathareTrio_U 1 2 4 5 7 8 10 Implicite, pas de temps coïncidents Cathare … Trio_U Implicite, avec points de RDV (pour plus tard) Cathare … Trio_UCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 3
  4. 4. Some coupling examples • 2009 : validation of coupling methodology – Simple analytic test cases (closed loops) – Monophasic liquid or gas flows – 2-loop system with flow reversal – Still 1D-2D => values exchanged are doubles Many possible algorithms (values to transfer) => need for a flexible APICEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 4
  5. 5. Some coupling examples • 2010 : MC2 (modèle cœur collecteur) – Three 3D domains  assemblies  inter-assemblies  hot collector – Interpolations  2D-2D  On 3D surfaces  Between non conforming meshes  Distributed on several processorsCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 5
  6. 6. Some coupling examples • 2010 : MC2 (modèle cœur collecteur) – Three 3D domains  assemblies  inter-assemblies  hot collector – Interpolations  2D-2D  On 3D surfaces  Between non conforming meshes  Distributed on several processorsCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 6
  7. 7. Some coupling examples • 2010 : MC2 (modèle cœur collecteur) – Three 3D domains  assemblies  inter-assemblies  hot collector – Interpolations  2D-2D  On 3D surfaces  Between non conforming meshes  Distributed on several processors Need for powerful interpolatorsCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 7
  8. 8. Some coupling examples ParaMEDMem ICoCo hconv hconv T T Text Flux Flux FluxAssemblages Inter-Assemblage Vsortie Tsortie Flux Text hconv Vsortie T Flux Tsortie hconv T hconv T DAC P Collecteur V Many data exchanges !!! CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 8
  9. 9. Some coupling examples • 2010 : Phenix end-of-life calculation (still ongoing) – Complex geometry – Many coupled physical phenomena Even further coupling needs (thermal 1D-3D, neutronic power,…)CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 9
  10. 10. Coupling methodology • Domain overlapping method – Cathare simulates the whole reactor – Cathare datafile nearly untouched – Trio_U simulates the CFD part – Cathare and Trio_U overlap of the CFD domain • Benefits – Stability easier to obtain – Trio_U->Cathare retroaction or not possible term by term – Easier comparison with Cathare alone, as the datafile is unchanged • Challenges – Take advantage of Catahre pressure solver on the whole domain but stay insensitive to Cathare solution on the CFD part.CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 10
  11. 11. Coupling methodology • Zoom (no feedback) – Mass equation  Cathare provides mass flowrates on the boundaries  In case of incompressible fluid in Trio_U, a small correction is added to ensure div(u)=0 – Energy equation  Cathare provides enthalpies on the boundaries • Feedbacks – Momentum equation  Momentum source term in Cathare regulated to reach dP(Trio_U)=dP(Cathare) – Energy equation  Trio_U provides enthalpies on the boundaries, to be convected by CathareCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 11
  12. 12. ICoCo : Interface for Code Coupling • Needs identified – Flexible timestep management algorithms – Flexible field exchange algorithms – Parallel calculations and interpolation – Algorithms  Easy to read  Easy to modify  Easy to reuse • Solution chosen – Coupling algorithm outside the codes – Interpolation and data manipulation outside the codes – Codes accessibles through method calls – A common API to enable  Replacing a code by another one  Faster learning (common language)  Better specification and stability of the APICEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 12
  13. 13. ICoCo : Interface for Code Coupling • Overview of the architecture Supervisor (C++, python, SALOME) Method call ICoCo (C++) ICoCo (C++) Code 1 Code 2 (any language) (any language) • Impact on the codes – They must be modular : the main loop must get out of the code and be flexible. – Hardly compatible with Fortran-style linear programming.CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 13
  14. 14. ICoCo : Interface for Code Coupling • Scope – Each code is controllable through a C++ class, deriving from a common mother class named « Problem ». – Specifications for the codes : ICoCo specifies the methods of the Problem class and what they are supposed to do. – Specifications for the supervisor : ICoCo specifies when it is legal to call each method. – Scope : ICoCo methods allow time advance, saving/restoring and field exchange.CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 14
  15. 15. ICoCo : Interface for Code Coupling • Implementation – Already implemented in  Trio_U  Cathare – Work ongoing for  Neptune_CFD – Interest expressed for  Star_CD – Fields used  MEDCouplingFieldDouble  Simpler TrioField also compatible with ParaMEDMEMCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 15
  16. 16. ICoCo : Interface for Code Coupling • Today’s feedback – Supervisor + API paradigm seems a good choice – Some methods may still lack in the API – Writing the supervisor is often a repetitive task (if many fields exchanged) => possibility to make it more automatic • Foreseeable additions – Add helper methods wrapping existing ones – Describe several stages inside a timestep – Impose a new mesh to the codeCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 16
  17. 17. ICoCo and SALOME • Generic ICoCo SALOME component – Possible for every ICoCo-compliant code – Even less burden for code developer • Specific Cathare SALOME component – Developed in the HEMERA frame – Adds convenient functions (e.g. getDouble) – No new functionnality (getField could do the job) • Parallel SALOME component – Feasibility demonstration in the NURISP frame – One master process dispatches the API callsCEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 17
  18. 18. Latest use : ASTRID coupled CFD/system • SALOME use – CAO – Maillage – ParaMEDMEM interpolators • ICoCo use – Trio_U – Cathare • Coupling algorithm – C++ program ( ~ 1000 lines ) • Many many data exchanged…CEA Grenoble / DEN/DANS/DM2S/STMF November 15, 2011 18

×