Pub Date : 2024-11-04DOI: 10.1016/j.cpc.2024.109421
Anton Glazkov , Miguel Fosas de Pando , Peter J. Schmid , Li He
This paper demonstrates a methodology for time-domain and time-accurate nonlinear, direct and adjoint simulations of unsteady flows and aeroacoustics for multi-component systems in relative motion. Here, the principal effort is directed towards mitigating the problem of distortion and contamination of the adjoint field at the moving interface, through a computationally lightweight, high-order sliding plane approach for which the adjoint equivalent is simple to obtain. This effort requires an attentive treatment of the interface conditions that surpasses the requirements of the more common forward (primary) problem. Sensitivity of a given quantity of interest from a time-varying flow with respect to a large number of parameters is then obtained through the adjoint operator, which is evaluated using nonlinear-adjoint looping. This technique is implemented using checkpointing and the PETSc TSAdjoint library and, after validation, applications including a rotor–stator interaction problem are presented.
{"title":"Sliding plane formalism for aeroacoustic and adjoint-based sensitivity calculations","authors":"Anton Glazkov , Miguel Fosas de Pando , Peter J. Schmid , Li He","doi":"10.1016/j.cpc.2024.109421","DOIUrl":"10.1016/j.cpc.2024.109421","url":null,"abstract":"<div><div>This paper demonstrates a methodology for time-domain and time-accurate nonlinear, direct and adjoint simulations of unsteady flows and aeroacoustics for multi-component systems in relative motion. Here, the principal effort is directed towards mitigating the problem of distortion and contamination of the <em>adjoint</em> field at the moving interface, through a computationally lightweight, high-order sliding plane approach for which the adjoint equivalent is simple to obtain. This effort requires an attentive treatment of the interface conditions that surpasses the requirements of the more common forward (primary) problem. Sensitivity of a given quantity of interest from a time-varying flow with respect to a large number of parameters is then obtained through the adjoint operator, which is evaluated using nonlinear-adjoint looping. This technique is implemented using checkpointing and the PETSc <span>TSAdjoint</span> library and, after validation, applications including a rotor–stator interaction problem are presented.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109421"},"PeriodicalIF":7.2,"publicationDate":"2024-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142652950","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-29DOI: 10.1016/j.cpc.2024.109414
Wesley B. Cardoso
In this paper we introduce an alternative method for solving linearly coupled nonlinear Schrödinger equations by using a split-step approach. This methodology involves approximating the nonlinear part of the evolution operator, allowing it to be solved exactly, which significantly enhances computational efficiency. The dispersive component is addressed using a spectral method, ensuring accuracy in the treatment of linear terms. As a reference, we compare our results with those obtained using the Runge-Kutta method implemented using a pseudo-spectral technique. Our findings indicate that the proposed split-step method achieves precision comparable to that of the Runge-Kutta method while nearly doubling computational efficiency. Numerical simulations include the evolution of a single soliton in each field and a collision between two solitons, demonstrating the robustness and effectiveness of our approach.
{"title":"Alternative split-step method for solving linearly coupled nonlinear Schrödinger equations","authors":"Wesley B. Cardoso","doi":"10.1016/j.cpc.2024.109414","DOIUrl":"10.1016/j.cpc.2024.109414","url":null,"abstract":"<div><div>In this paper we introduce an alternative method for solving linearly coupled nonlinear Schrödinger equations by using a split-step approach. This methodology involves approximating the nonlinear part of the evolution operator, allowing it to be solved exactly, which significantly enhances computational efficiency. The dispersive component is addressed using a spectral method, ensuring accuracy in the treatment of linear terms. As a reference, we compare our results with those obtained using the Runge-Kutta method implemented using a pseudo-spectral technique. Our findings indicate that the proposed split-step method achieves precision comparable to that of the Runge-Kutta method while nearly doubling computational efficiency. Numerical simulations include the evolution of a single soliton in each field and a collision between two solitons, demonstrating the robustness and effectiveness of our approach.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109414"},"PeriodicalIF":7.2,"publicationDate":"2024-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142561011","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-29DOI: 10.1016/j.cpc.2024.109413
X.-T. Yan , N.-N. Bao , C.-Y. Zhao , Y.-W. Sun , Y.-T. Meng , W.-Y. Zhou , N.-Y. Liang , Y.-X. Lu , Y.-F. Liang , B.-N. Wan
<div><div>The Neoclassical Toroidal Viscosity (NTV) torque is a crucial source of toroidal momentum in tokamaks, exerting significant influence on plasma instability and performance. Accurate numerical modeling of NTV torque is essential for experimental design and operation, as well as for gaining insight into the relevant physical processes. However, the time-consuming nature of NTV torque calculation poses challenges for its practical application in experiment analysis and physical investigations. In this study, we have developed NTVTOK-ML, a surrogate model for NTV torque calculation that combines the expressive power and fast inference of machine learning methods to achieve simultaneous accuracy and time efficiency. To obtain datasets for NTV torque, extensive numerical calculations using NTVTOK and MARS-F codes were performed under various plasma conditions of Experimental Advanced Superconducting Tokamak (EAST), covering a wide range of experimentally relevant parameter regimes and incorporating rich physical effects such as pitch angle scattering, full toroidal geometry, resonances, etc. For fixed magnetic perturbation case, NTVTOK-ML employs Multi-Layer Perceptron (MLP) deep neural network and eXtreme Gradient Boosting (XGBoost) ensemble learning techniques respectively. Furthermore, when considering linear plasma response effect, Convolutional Neural Network (CNN) is utilized to process two-dimensional magnetic perturbation data. The prediction accuracy of NTVTOK-ML is evaluated based on statistical metrics including coefficient of determination (<span><math><msup><mrow><mi>R</mi></mrow><mrow><mn>2</mn></mrow></msup></math></span>), mean squared error (<em>MSE</em>), and relative error; single sample prediction ability; and generalization ability - demonstrating its reliability in NTV torque prediction tasks. Importantly, the computational time required for predicting NTV torque using our proposed approach is significantly reduced compared to the original numerical code by several orders of magnitude. Additionally, the flexibility offered by the NTVTOK-ML framework allows users to optimize model performance under specific circumstances. Overall, our developed method provides an accessible solution for rapid yet accurate prediction of NTV torque while incorporating essential physical effects - thereby facilitating real-time or inter-shot analysis in experiments as well as comprehensive multi-scale nonlinear time evolution modeling.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> NTVTOK-ML</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/thcd9fbjd5.1</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> Apache-2.0</div><div><em>Programming language:</em> Python</div><div><em>Nature of problem:</em> The traditional numerical calculation of NTV torque in tokamaks is time-consuming, which hinders real-time or inter-shot experimental analysis and multi-sca
{"title":"NTVTOK-ML: Fast surrogate model for neoclassical toroidal viscosity torque calculation in tokamaks based on machine learning methods","authors":"X.-T. Yan , N.-N. Bao , C.-Y. Zhao , Y.-W. Sun , Y.-T. Meng , W.-Y. Zhou , N.-Y. Liang , Y.-X. Lu , Y.-F. Liang , B.-N. Wan","doi":"10.1016/j.cpc.2024.109413","DOIUrl":"10.1016/j.cpc.2024.109413","url":null,"abstract":"<div><div>The Neoclassical Toroidal Viscosity (NTV) torque is a crucial source of toroidal momentum in tokamaks, exerting significant influence on plasma instability and performance. Accurate numerical modeling of NTV torque is essential for experimental design and operation, as well as for gaining insight into the relevant physical processes. However, the time-consuming nature of NTV torque calculation poses challenges for its practical application in experiment analysis and physical investigations. In this study, we have developed NTVTOK-ML, a surrogate model for NTV torque calculation that combines the expressive power and fast inference of machine learning methods to achieve simultaneous accuracy and time efficiency. To obtain datasets for NTV torque, extensive numerical calculations using NTVTOK and MARS-F codes were performed under various plasma conditions of Experimental Advanced Superconducting Tokamak (EAST), covering a wide range of experimentally relevant parameter regimes and incorporating rich physical effects such as pitch angle scattering, full toroidal geometry, resonances, etc. For fixed magnetic perturbation case, NTVTOK-ML employs Multi-Layer Perceptron (MLP) deep neural network and eXtreme Gradient Boosting (XGBoost) ensemble learning techniques respectively. Furthermore, when considering linear plasma response effect, Convolutional Neural Network (CNN) is utilized to process two-dimensional magnetic perturbation data. The prediction accuracy of NTVTOK-ML is evaluated based on statistical metrics including coefficient of determination (<span><math><msup><mrow><mi>R</mi></mrow><mrow><mn>2</mn></mrow></msup></math></span>), mean squared error (<em>MSE</em>), and relative error; single sample prediction ability; and generalization ability - demonstrating its reliability in NTV torque prediction tasks. Importantly, the computational time required for predicting NTV torque using our proposed approach is significantly reduced compared to the original numerical code by several orders of magnitude. Additionally, the flexibility offered by the NTVTOK-ML framework allows users to optimize model performance under specific circumstances. Overall, our developed method provides an accessible solution for rapid yet accurate prediction of NTV torque while incorporating essential physical effects - thereby facilitating real-time or inter-shot analysis in experiments as well as comprehensive multi-scale nonlinear time evolution modeling.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> NTVTOK-ML</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/thcd9fbjd5.1</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> Apache-2.0</div><div><em>Programming language:</em> Python</div><div><em>Nature of problem:</em> The traditional numerical calculation of NTV torque in tokamaks is time-consuming, which hinders real-time or inter-shot experimental analysis and multi-sca","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109413"},"PeriodicalIF":7.2,"publicationDate":"2024-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142587105","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109412
Alexander Kendl
GHW is a gyrofluid code for computation of quasi-two-dimensional turbulence with consistent finite Larmor radius (FLR) effects in magnetized plasmas. The simulation setup allows for fundamental studies of FLR effects on isothermal resistive drift waves and turbulence, and contains the standard Hasegawa-Wakatani model in the limit of cold ions.
{"title":"GHW: A simulation code for gyrofluid Hasegawa-Wakatani plasma turbulence","authors":"Alexander Kendl","doi":"10.1016/j.cpc.2024.109412","DOIUrl":"10.1016/j.cpc.2024.109412","url":null,"abstract":"<div><div>GHW is a gyrofluid code for computation of quasi-two-dimensional turbulence with consistent finite Larmor radius (FLR) effects in magnetized plasmas. The simulation setup allows for fundamental studies of FLR effects on isothermal resistive drift waves and turbulence, and contains the standard Hasegawa-Wakatani model in the limit of cold ions.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109412"},"PeriodicalIF":7.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554234","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109408
Antonio Capanema , Carlos Blanco
Since the universe is not transparent to gamma rays with energies above around one hundred GeV, it is necessary to account for the interaction of high-energy photons with intergalactic radiation fields in order to model gamma-ray propagation. Here, we present a public numerical software for the modeling of gamma-ray observables. This code computes the effects on gamma-ray spectra from the development of electromagnetic cascades and cosmological redshifting. The code introduced here is based on the original γ-Cascade, and builds on it by improving its performance at high redshifts, introducing new propagation modules, and adding many more extragalactic radiation field models, which enables the ability to estimate the uncertainties inherent to EBL modeling. We compare the results of this new code to existing Monte Carlo electromagnetic transport models, finding good agreement within EBL uncertainties.
{"title":"γ-Cascade V4: A semi-analytical code for modeling cosmological gamma-ray propagation","authors":"Antonio Capanema , Carlos Blanco","doi":"10.1016/j.cpc.2024.109408","DOIUrl":"10.1016/j.cpc.2024.109408","url":null,"abstract":"<div><div>Since the universe is not transparent to gamma rays with energies above around one hundred GeV, it is necessary to account for the interaction of high-energy photons with intergalactic radiation fields in order to model gamma-ray propagation. Here, we present a public numerical software for the modeling of gamma-ray observables. This code computes the effects on gamma-ray spectra from the development of electromagnetic cascades and cosmological redshifting. The code introduced here is based on the original <em>γ</em>-Cascade, and builds on it by improving its performance at high redshifts, introducing new propagation modules, and adding many more extragalactic radiation field models, which enables the ability to estimate the uncertainties inherent to EBL modeling. We compare the results of this new code to existing Monte Carlo electromagnetic transport models, finding good agreement within EBL uncertainties.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109408"},"PeriodicalIF":7.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554026","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109411
Xiangcheng Sun , Keichi Takahashi , Yoichi Shimomura , Hiroyuki Takizawa , Xian Wang
Currently, the lattice Boltzmann method (LBM) with high-performance computing (HPC) technologies, such as graphics processing units (GPUs), has been widely adopted to solve various complex problems in fluid dynamics. In addition to GPUs, the vector engine (VE) developed by NEC Corporation has also emerged as an effective solution for memory-intensive numerical simulations such as LBM. Consequently, it is imperative to evaluate the performance of LBM simulations accelerated by VE. This study discusses our self-developed LBM code for both classical and fused implementations on the VE. Through numerical simulations of 2D and 3D lid-driven cavity flows, the performance of the brand-new VE Type 30A (VE30) in conducting large-scale grid is evaluated and analyzed, and a comparison is made against the results obtained with VE Type 20B (VE20), NVIDIA A100 GPU (A100) and H100 GPU (H100). The results indicate that, regardless of the LBM implementation, H100 achieves the highest performance. Furthermore, owing to the substantial enhancements in VE30's memory hierarchy, the performance of the streaming kernel in the classical implementation of LBM has been significantly improved compared to VE20 and A100, approaching that of H100. However, due to the characteristic of fused implementation requiring fewer memory accesses, the performance of VE30 is inferior to that of H100 in the fused implementation. Additionally, it is anticipated that, under specific physical issues and requirements, VE30 will exhibit evident performance potential in LBM simulations with large-scale grid sizes.
{"title":"Performance evaluation of the LBM simulations in fluid dynamics on SX-Aurora TSUBASA vector engine","authors":"Xiangcheng Sun , Keichi Takahashi , Yoichi Shimomura , Hiroyuki Takizawa , Xian Wang","doi":"10.1016/j.cpc.2024.109411","DOIUrl":"10.1016/j.cpc.2024.109411","url":null,"abstract":"<div><div>Currently, the lattice Boltzmann method (LBM) with high-performance computing (HPC) technologies, such as graphics processing units (GPUs), has been widely adopted to solve various complex problems in fluid dynamics. In addition to GPUs, the vector engine (VE) developed by NEC Corporation has also emerged as an effective solution for memory-intensive numerical simulations such as LBM. Consequently, it is imperative to evaluate the performance of LBM simulations accelerated by VE. This study discusses our self-developed LBM code for both classical and fused implementations on the VE. Through numerical simulations of 2D and 3D lid-driven cavity flows, the performance of the brand-new VE Type 30A (VE30) in conducting large-scale grid is evaluated and analyzed, and a comparison is made against the results obtained with VE Type 20B (VE20), NVIDIA A100 GPU (A100) and H100 GPU (H100). The results indicate that, regardless of the LBM implementation, H100 achieves the highest performance. Furthermore, owing to the substantial enhancements in VE30's memory hierarchy, the performance of the streaming kernel in the classical implementation of LBM has been significantly improved compared to VE20 and A100, approaching that of H100. However, due to the characteristic of fused implementation requiring fewer memory accesses, the performance of VE30 is inferior to that of H100 in the fused implementation. Additionally, it is anticipated that, under specific physical issues and requirements, VE30 will exhibit evident performance potential in LBM simulations with large-scale grid sizes.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109411"},"PeriodicalIF":7.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554024","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109402
Wei Wang , Yiru Liang , Meng Chen , Wei Yang
Since the cloaked object of the external cloaking device is outside the device, it is not affected by the space of the device and does not need to be wrapped with special materials, so the external cloaking device is of important research value. In this paper, a time-domain mathematical model of a cylindrical external cloaking device is constructed based on optical coordinate transformation and Lorentz dispersion model, and an unconditionally stable time-domain finite element scheme is developed to simulate the electromagnetic wave propagation in the external cloak by using a combination of the Leapfrog-ADI method and the finite element method, and the unconditional stability of the method is proved. The time-domain numerical simulations validate our theoretical analysis of the time-domain external cloaking device model and the effectiveness of the FETD method. For different incident wave irradiation, the external cloak shows different operating states, and the scattering direction maps and scattering power at different moments verify the scattering of electromagnetic field during the whole process.
{"title":"Time-domain mathematical modeling of external cloak metamaterials with an unconditionally stable finite element method","authors":"Wei Wang , Yiru Liang , Meng Chen , Wei Yang","doi":"10.1016/j.cpc.2024.109402","DOIUrl":"10.1016/j.cpc.2024.109402","url":null,"abstract":"<div><div>Since the cloaked object of the external cloaking device is outside the device, it is not affected by the space of the device and does not need to be wrapped with special materials, so the external cloaking device is of important research value. In this paper, a time-domain mathematical model of a cylindrical external cloaking device is constructed based on optical coordinate transformation and Lorentz dispersion model, and an unconditionally stable time-domain finite element scheme is developed to simulate the electromagnetic wave propagation in the external cloak by using a combination of the Leapfrog-ADI method and the finite element method, and the unconditional stability of the method is proved. The time-domain numerical simulations validate our theoretical analysis of the time-domain external cloaking device model and the effectiveness of the FETD method. For different incident wave irradiation, the external cloak shows different operating states, and the scattering direction maps and scattering power at different moments verify the scattering of electromagnetic field during the whole process.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109402"},"PeriodicalIF":7.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554023","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109407
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
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.
{"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":"10.1016/j.cpc.2024.109407","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.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142561015","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-28DOI: 10.1016/j.cpc.2024.109394
Peng Yan , Giulio Gori , Marta Zocca , Alberto Guardone
We present a fully open-source framework for the numerical simulation of Non-Ideal Compressible Fluid Dynamics (NICFD). The open-source Computational Fluid Dynamics suite SU2 is coupled to the open-source thermophysical library CoolProp, which includes state-of-the-art thermodynamic models of numerous pure fluids and mixtures relevant to applications. Accurate thermodynamic models are needed due to non-ideal operating conditions in which the fluid thermodynamics cannot be described by the simple ideal-gas law (). The coupling interface implements new C++ classes, which allow the automatic exchange of information between SU2 and CoolProp, and it is made directly available as an additional module integrated into the open-source SU2 suite. To assess the performance of the NICFD simulation framework, we present three test cases: a nozzle flow exhibiting non-ideal thermodynamics effects, a nozzle flow with non-monotone Mach number variation, a representative non-ideal gasdynamics effect, and a non-classical rarefaction oblique shock over a wedge. Results are verified against available experiment data and solutions obtained with different implementations of non-ideal thermodynamics in SU2. Performance of the new framework is assessed on user-friendliness, scalability, solution accuracy, and computational efficiency.
{"title":"SU2-COOL: Open-source framework for non-ideal compressible fluid dynamics","authors":"Peng Yan , Giulio Gori , Marta Zocca , Alberto Guardone","doi":"10.1016/j.cpc.2024.109394","DOIUrl":"10.1016/j.cpc.2024.109394","url":null,"abstract":"<div><div>We present a fully open-source framework for the numerical simulation of Non-Ideal Compressible Fluid Dynamics (NICFD). The open-source Computational Fluid Dynamics suite SU2 is coupled to the open-source thermophysical library CoolProp, which includes state-of-the-art thermodynamic models of numerous pure fluids and mixtures relevant to applications. Accurate thermodynamic models are needed due to non-ideal operating conditions in which the fluid thermodynamics cannot be described by the simple ideal-gas law (<span><math><mi>P</mi><mi>v</mi><mo>=</mo><mi>R</mi><mi>T</mi></math></span>). The coupling interface implements new C++ classes, which allow the automatic exchange of information between SU2 and CoolProp, and it is made directly available as an additional module integrated into the open-source SU2 suite. To assess the performance of the NICFD simulation framework, we present three test cases: a nozzle flow exhibiting non-ideal thermodynamics effects, a nozzle flow with non-monotone Mach number variation, a representative non-ideal gasdynamics effect, and a non-classical rarefaction oblique shock over a wedge. Results are verified against available experiment data and solutions obtained with different implementations of non-ideal thermodynamics in SU2. Performance of the new framework is assessed on user-friendliness, scalability, solution accuracy, and computational efficiency.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109394"},"PeriodicalIF":7.2,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554025","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-10-26DOI: 10.1016/j.cpc.2024.109409
Aziz H. Fatah, Adil M. Hussein, Hawar M. Dlshad
<div><div>We used a new Python code to reproduce the brackets for the Moshinsky harmonic oscillator, which was based on the generating function. We made these brackets by transforming the wave functions of two groups of coupled particle harmonic oscillators, <span><math><msubsup><mrow><mi>Φ</mi></mrow><mrow><msub><mrow><mi>n</mi></mrow><mrow><mn>1</mn></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mi>n</mi></mrow><mrow><mn>2</mn></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mn>2</mn></mrow></msub><mo>,</mo><mi>Λ</mi></mrow><mrow><msub><mrow><mi>m</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mi>m</mi></mrow><mrow><mn>2</mn></mrow></msub><mo>,</mo><mi>λ</mi></mrow></msubsup><mrow><mo>(</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mn>2</mn></mrow></msub><mo>)</mo></mrow></math></span> and <span><math><msubsup><mrow><mi>Φ</mi></mrow><mrow><msub><mrow><mi>n</mi></mrow><mrow><mi>a</mi></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mi>n</mi></mrow><mrow><mi>b</mi></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mi>b</mi></mrow></msub><mo>,</mo><mi>Λ</mi></mrow><mrow><msub><mrow><mi>m</mi></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mi>m</mi></mrow><mrow><mi>b</mi></mrow></msub><mo>,</mo><mi>λ</mi></mrow></msubsup><mrow><mo>(</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mi>b</mi></mrow></msub><mo>)</mo></mrow></math></span>. To convert between the supplied position and momentum coordinates in both frames, we performed orthogonal transformations on nuclei with both low and high angular momentum.</div><div>In our derivation, we have used the expansion of the generating functions <span><math><msup><mrow><mi>e</mi></mrow><mrow><mn>2</mn><mover><mrow><mi>p</mi></mrow><mrow><mo>→</mo></mrow></mover><mo>.</mo><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover><mo>−</mo><msup><mrow><mi>p</mi></mrow><mrow><mn>2</mn></mrow></msup></mrow></msup></math></span> and <span><math><msup><mrow><mi>e</mi></mrow><mrow><mn>2</mn><mi>c</mi><msub><mrow><mi>p</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>.</mo><msub><mrow><mi>p</mi></mrow><mrow><mi>j</mi></mrow></msub></mrow></msup></math></span> in spherical coordinates in terms of harmonic oscillator wave functions. When we modified the Moshinsky brackets for two-coupled oscillator states, we used generating functions with two variables. The number of indices has significantly decreased compared to the oscillator brackets in previous references; this reduction in the program code's iterative process has yielded influential results. Compared to the previous
{"title":"Moshinsky brackets for a wide range of quantum numbers using generating functions","authors":"Aziz H. Fatah, Adil M. Hussein, Hawar M. Dlshad","doi":"10.1016/j.cpc.2024.109409","DOIUrl":"10.1016/j.cpc.2024.109409","url":null,"abstract":"<div><div>We used a new Python code to reproduce the brackets for the Moshinsky harmonic oscillator, which was based on the generating function. We made these brackets by transforming the wave functions of two groups of coupled particle harmonic oscillators, <span><math><msubsup><mrow><mi>Φ</mi></mrow><mrow><msub><mrow><mi>n</mi></mrow><mrow><mn>1</mn></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mi>n</mi></mrow><mrow><mn>2</mn></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mn>2</mn></mrow></msub><mo>,</mo><mi>Λ</mi></mrow><mrow><msub><mrow><mi>m</mi></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mi>m</mi></mrow><mrow><mn>2</mn></mrow></msub><mo>,</mo><mi>λ</mi></mrow></msubsup><mrow><mo>(</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mn>1</mn></mrow></msub><mo>,</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mn>2</mn></mrow></msub><mo>)</mo></mrow></math></span> and <span><math><msubsup><mrow><mi>Φ</mi></mrow><mrow><msub><mrow><mi>n</mi></mrow><mrow><mi>a</mi></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mi>n</mi></mrow><mrow><mi>b</mi></mrow></msub><msub><mrow><mi>l</mi></mrow><mrow><mi>b</mi></mrow></msub><mo>,</mo><mi>Λ</mi></mrow><mrow><msub><mrow><mi>m</mi></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mi>m</mi></mrow><mrow><mi>b</mi></mrow></msub><mo>,</mo><mi>λ</mi></mrow></msubsup><mrow><mo>(</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mi>a</mi></mrow></msub><mo>,</mo><msub><mrow><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover></mrow><mrow><mi>b</mi></mrow></msub><mo>)</mo></mrow></math></span>. To convert between the supplied position and momentum coordinates in both frames, we performed orthogonal transformations on nuclei with both low and high angular momentum.</div><div>In our derivation, we have used the expansion of the generating functions <span><math><msup><mrow><mi>e</mi></mrow><mrow><mn>2</mn><mover><mrow><mi>p</mi></mrow><mrow><mo>→</mo></mrow></mover><mo>.</mo><mover><mrow><mi>r</mi></mrow><mrow><mo>→</mo></mrow></mover><mo>−</mo><msup><mrow><mi>p</mi></mrow><mrow><mn>2</mn></mrow></msup></mrow></msup></math></span> and <span><math><msup><mrow><mi>e</mi></mrow><mrow><mn>2</mn><mi>c</mi><msub><mrow><mi>p</mi></mrow><mrow><mi>i</mi></mrow></msub><mo>.</mo><msub><mrow><mi>p</mi></mrow><mrow><mi>j</mi></mrow></msub></mrow></msup></math></span> in spherical coordinates in terms of harmonic oscillator wave functions. When we modified the Moshinsky brackets for two-coupled oscillator states, we used generating functions with two variables. The number of indices has significantly decreased compared to the oscillator brackets in previous references; this reduction in the program code's iterative process has yielded influential results. Compared to the previous ","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"307 ","pages":"Article 109409"},"PeriodicalIF":7.2,"publicationDate":"2024-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142554028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}