Vasileios Angelidakis , Katia Boschi , Karol Brzeziński , Robert A. Caulk , Bruno Chareyre , Carlos Andrés del Valle , Jérôme Duriez , Anton Gladky , Dingeman L.H. van der Haven , Janek Kozicki , Gerald Pekmezi , Luc Scholtès , Klaus Thoeni
{"title":"YADE - 多尺度、多相和多物理场颗粒系统交互式模拟的可扩展框架","authors":"Vasileios Angelidakis , Katia Boschi , Karol Brzeziński , Robert A. Caulk , Bruno Chareyre , Carlos Andrés del Valle , Jérôme Duriez , Anton Gladky , Dingeman L.H. van der Haven , Janek Kozicki , Gerald Pekmezi , Luc Scholtès , Klaus Thoeni","doi":"10.1016/j.cpc.2024.109293","DOIUrl":null,"url":null,"abstract":"<div><p>This contribution presents the key elements of <span>YADE</span>, an extensible open-source framework for dynamic simulations. During the past 19 years, <span>YADE</span> has evolved from “Yet Another Dynamic Engine” to a versatile multiscale and multiphysics solver, counting a large, active, and growing community of users and developers. The computationally intense parts of the source code are written in C++, using flexible object models that allow for easy implementation of new features. The source code is wrapped in Python, equipping the software with an interactive kernel used for rapid and concise scene construction, simulation control, post-processing, and debugging. The project, including documentation and examples, is hosted on <span>https://yade-dem.org</span><svg><path></path></svg>, while the source code is freely available on GitLab. Over the last decade, <span>YADE</span> has expanded in terms of capabilities thanks to the contribution of many developers from different fields of expertise, including soil and rock mechanics, chemical engineering, physics, bulk material handling, and mineral processing. The rapid growth of <span>YADE</span> can be attributed to (1) the careful and robust design of the framework core, (2) a continuous integration pipeline with fully embedded thorough tests which are executed upon each merge request, ensuring stable compilation for various operating systems, and (3) user-friendliness, facilitated by the Python interface, detailed documentation, and rigorous user support. In this paper, we review the main features of <span>YADE</span>, highlighting its versatility in terms of applications, its flexibility in terms of code development, as well as recent improvements in terms of computational efficiency.</p></div><div><h3>Program summary</h3><p><em>Program Title:</em> YADE - Yet Another Dynamic Engine</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/n4f5fw97rd.1</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://gitlab.com/yade-dev/trunk</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> GNU General Public License 2</p><p><em>Programming language:</em> C++, Python</p><p><em>Nature of problem:</em> Numerical simulation of many-particle systems requires accurate models for particle-to-particle interactions, efficient contact detection between objects of various shapes, and robust time integration. In addition, the flow of fluids, thermal effects, as well as other coupled problems in the presence of particles are found in many fundamental and practical applications and they need dedicated computational tools. <span>YADE</span> provides a computational framework to perform such simulations using the discrete element method and multiple extensions of it.</p><p><em>Solution method:</em> <span>YADE</span> simulates particulate systems using the Discrete Element Method (DEM) in a flexible platform combining C++ and Python. It provides a large variety of shape and interaction models, an explicit time-integration scheme, and many post-processing tools. <span>YADE</span> features dedicated solvers for both fluid and heat fluxes at the pore scale, and it supports couplings with third-party software such as <span>Escript</span> (finite element method) and <span>OpenFOAM</span> (computational fluid dynamics).</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":null,"pages":null},"PeriodicalIF":7.2000,"publicationDate":"2024-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0010465524002169/pdfft?md5=adceaced53a861b5179b33ae68901234&pid=1-s2.0-S0010465524002169-main.pdf","citationCount":"0","resultStr":"{\"title\":\"YADE - An extensible framework for the interactive simulation of multiscale, multiphase, and multiphysics particulate systems\",\"authors\":\"Vasileios Angelidakis , Katia Boschi , Karol Brzeziński , Robert A. Caulk , Bruno Chareyre , Carlos Andrés del Valle , Jérôme Duriez , Anton Gladky , Dingeman L.H. van der Haven , Janek Kozicki , Gerald Pekmezi , Luc Scholtès , Klaus Thoeni\",\"doi\":\"10.1016/j.cpc.2024.109293\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>This contribution presents the key elements of <span>YADE</span>, an extensible open-source framework for dynamic simulations. During the past 19 years, <span>YADE</span> has evolved from “Yet Another Dynamic Engine” to a versatile multiscale and multiphysics solver, counting a large, active, and growing community of users and developers. The computationally intense parts of the source code are written in C++, using flexible object models that allow for easy implementation of new features. The source code is wrapped in Python, equipping the software with an interactive kernel used for rapid and concise scene construction, simulation control, post-processing, and debugging. The project, including documentation and examples, is hosted on <span>https://yade-dem.org</span><svg><path></path></svg>, while the source code is freely available on GitLab. Over the last decade, <span>YADE</span> has expanded in terms of capabilities thanks to the contribution of many developers from different fields of expertise, including soil and rock mechanics, chemical engineering, physics, bulk material handling, and mineral processing. The rapid growth of <span>YADE</span> can be attributed to (1) the careful and robust design of the framework core, (2) a continuous integration pipeline with fully embedded thorough tests which are executed upon each merge request, ensuring stable compilation for various operating systems, and (3) user-friendliness, facilitated by the Python interface, detailed documentation, and rigorous user support. In this paper, we review the main features of <span>YADE</span>, highlighting its versatility in terms of applications, its flexibility in terms of code development, as well as recent improvements in terms of computational efficiency.</p></div><div><h3>Program summary</h3><p><em>Program Title:</em> YADE - Yet Another Dynamic Engine</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/n4f5fw97rd.1</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://gitlab.com/yade-dev/trunk</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> GNU General Public License 2</p><p><em>Programming language:</em> C++, Python</p><p><em>Nature of problem:</em> Numerical simulation of many-particle systems requires accurate models for particle-to-particle interactions, efficient contact detection between objects of various shapes, and robust time integration. In addition, the flow of fluids, thermal effects, as well as other coupled problems in the presence of particles are found in many fundamental and practical applications and they need dedicated computational tools. <span>YADE</span> provides a computational framework to perform such simulations using the discrete element method and multiple extensions of it.</p><p><em>Solution method:</em> <span>YADE</span> simulates particulate systems using the Discrete Element Method (DEM) in a flexible platform combining C++ and Python. It provides a large variety of shape and interaction models, an explicit time-integration scheme, and many post-processing tools. <span>YADE</span> features dedicated solvers for both fluid and heat fluxes at the pore scale, and it supports couplings with third-party software such as <span>Escript</span> (finite element method) and <span>OpenFOAM</span> (computational fluid dynamics).</p></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":7.2000,\"publicationDate\":\"2024-06-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.sciencedirect.com/science/article/pii/S0010465524002169/pdfft?md5=adceaced53a861b5179b33ae68901234&pid=1-s2.0-S0010465524002169-main.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0010465524002169\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524002169","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
YADE - An extensible framework for the interactive simulation of multiscale, multiphase, and multiphysics particulate systems
This contribution presents the key elements of YADE, an extensible open-source framework for dynamic simulations. During the past 19 years, YADE has evolved from “Yet Another Dynamic Engine” to a versatile multiscale and multiphysics solver, counting a large, active, and growing community of users and developers. The computationally intense parts of the source code are written in C++, using flexible object models that allow for easy implementation of new features. The source code is wrapped in Python, equipping the software with an interactive kernel used for rapid and concise scene construction, simulation control, post-processing, and debugging. The project, including documentation and examples, is hosted on https://yade-dem.org, while the source code is freely available on GitLab. Over the last decade, YADE has expanded in terms of capabilities thanks to the contribution of many developers from different fields of expertise, including soil and rock mechanics, chemical engineering, physics, bulk material handling, and mineral processing. The rapid growth of YADE can be attributed to (1) the careful and robust design of the framework core, (2) a continuous integration pipeline with fully embedded thorough tests which are executed upon each merge request, ensuring stable compilation for various operating systems, and (3) user-friendliness, facilitated by the Python interface, detailed documentation, and rigorous user support. In this paper, we review the main features of YADE, highlighting its versatility in terms of applications, its flexibility in terms of code development, as well as recent improvements in terms of computational efficiency.
Program summary
Program Title: YADE - Yet Another Dynamic Engine
CPC Library link to program files:https://doi.org/10.17632/n4f5fw97rd.1
Licensing provisions: GNU General Public License 2
Programming language: C++, Python
Nature of problem: Numerical simulation of many-particle systems requires accurate models for particle-to-particle interactions, efficient contact detection between objects of various shapes, and robust time integration. In addition, the flow of fluids, thermal effects, as well as other coupled problems in the presence of particles are found in many fundamental and practical applications and they need dedicated computational tools. YADE provides a computational framework to perform such simulations using the discrete element method and multiple extensions of it.
Solution method:YADE simulates particulate systems using the Discrete Element Method (DEM) in a flexible platform combining C++ and Python. It provides a large variety of shape and interaction models, an explicit time-integration scheme, and many post-processing tools. YADE features dedicated solvers for both fluid and heat fluxes at the pore scale, and it supports couplings with third-party software such as Escript (finite element method) and OpenFOAM (computational fluid dynamics).
期刊介绍:
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.