Guillaume Giudicelli , Christopher Green , Joshua Hansel , David Andrs , April Novak , Sebastian Schunert , Benjamin Spaude , Steven Isaacs , Matthias Kunick , Robert Salko , Shane Henderson , Lise Charlot , Alexander Lindsay
{"title":"The MOOSE fluid properties module","authors":"Guillaume Giudicelli , Christopher Green , Joshua Hansel , David Andrs , April Novak , Sebastian Schunert , Benjamin Spaude , Steven Isaacs , Matthias Kunick , Robert Salko , Shane Henderson , Lise Charlot , Alexander Lindsay","doi":"10.1016/j.cpc.2024.109407","DOIUrl":null,"url":null,"abstract":"<div><div>The Fluid Properties module within the Multiphysics Object-Oriented Simulation Environment (MOOSE) is used to compute fluid properties for numerous applications, ranging from nuclear reactor thermal hydraulics to geothermal energy. Those applications drove the development of the module to enable numerous different fluid equations of states, property lookups with primitive and conserved flow variable to cater to pressure and density-driven solvers, and an object-oriented design facilitating expansion and maintenance. Each fluid property is implemented in its own class but inherits capabilities such as automatic differentiation, automated out-of-bounds handling or variable conversion capabilities. This paper presents the module, its design, its user and developer interface, its content in terms of fluids and properties, and several of its applications showing its major role in the MOOSE simulation ecosystem.</div></div><div><h3>Program summary</h3><div><em>Program title:</em> MOOSE Fluid Properties module</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/cwzhsyp6pd.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/idaholab/moose/tree/next/modules/fluid_properties</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> LGPL</div><div><em>Programming language:</em> C++, Python</div><div><em>Nature of problem:</em> The simulation of thermal hydraulics of advanced nuclear reactor systems, such as heat pipe micro-reactors or molten-salt cooled pebble bed reactors, requires a wide variety of discretizations of the fluid flow equations, from 1D thermal hydraulics to computational fluid dynamics at various levels of fidelity, with a wide variety of coolants. Applications are developed within the MOOSE C++ framework by Argonne and Idaho National Laboratories to simulate these reactors for research and design purposes. These applications (Sockeye, SAM, others) rely on MOOSE for the computation of fluid properties. The fluid properties module contains properties for most advanced nuclear reactor coolants, including an interface to the Molten Salt Thermodynamics Database (MSTDB) developed by Oak Ridge National Laboratory. Single phase, two phase, and gas mixtures fluid properties are computed by the module.</div><div><em>Solution method:</em> The fluid properties module includes numerous numerical methods to support the wide range of applications, notably forward automatic differentiation, conversion methods between pressure and density-driven variable sets, spline-based table lookups which are the current state of the art for the fast computation of fluid properties. The integration with MOOSE facilitates uncertainty quantification with regards to the fluid properties and optimization studies with regards to the fluid composition.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109407"},"PeriodicalIF":7.2000,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524003308","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
The Fluid Properties module within the Multiphysics Object-Oriented Simulation Environment (MOOSE) is used to compute fluid properties for numerous applications, ranging from nuclear reactor thermal hydraulics to geothermal energy. Those applications drove the development of the module to enable numerous different fluid equations of states, property lookups with primitive and conserved flow variable to cater to pressure and density-driven solvers, and an object-oriented design facilitating expansion and maintenance. Each fluid property is implemented in its own class but inherits capabilities such as automatic differentiation, automated out-of-bounds handling or variable conversion capabilities. This paper presents the module, its design, its user and developer interface, its content in terms of fluids and properties, and several of its applications showing its major role in the MOOSE simulation ecosystem.
Program summary
Program title: MOOSE Fluid Properties module
CPC Library link to program files:https://doi.org/10.17632/cwzhsyp6pd.1
Nature of problem: The simulation of thermal hydraulics of advanced nuclear reactor systems, such as heat pipe micro-reactors or molten-salt cooled pebble bed reactors, requires a wide variety of discretizations of the fluid flow equations, from 1D thermal hydraulics to computational fluid dynamics at various levels of fidelity, with a wide variety of coolants. Applications are developed within the MOOSE C++ framework by Argonne and Idaho National Laboratories to simulate these reactors for research and design purposes. These applications (Sockeye, SAM, others) rely on MOOSE for the computation of fluid properties. The fluid properties module contains properties for most advanced nuclear reactor coolants, including an interface to the Molten Salt Thermodynamics Database (MSTDB) developed by Oak Ridge National Laboratory. Single phase, two phase, and gas mixtures fluid properties are computed by the module.
Solution method: The fluid properties module includes numerous numerical methods to support the wide range of applications, notably forward automatic differentiation, conversion methods between pressure and density-driven variable sets, spline-based table lookups which are the current state of the art for the fast computation of fluid properties. The integration with MOOSE facilitates uncertainty quantification with regards to the fluid properties and optimization studies with regards to the fluid composition.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.