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

698

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
698
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×