YADE - 多尺度、多相和多物理场颗粒系统交互式模拟的可扩展框架

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
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 ,&nbsp;Katia Boschi ,&nbsp;Karol Brzeziński ,&nbsp;Robert A. Caulk ,&nbsp;Bruno Chareyre ,&nbsp;Carlos Andrés del Valle ,&nbsp;Jérôme Duriez ,&nbsp;Anton Gladky ,&nbsp;Dingeman L.H. van der Haven ,&nbsp;Janek Kozicki ,&nbsp;Gerald Pekmezi ,&nbsp;Luc Scholtès ,&nbsp;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 ,&nbsp;Katia Boschi ,&nbsp;Karol Brzeziński ,&nbsp;Robert A. Caulk ,&nbsp;Bruno Chareyre ,&nbsp;Carlos Andrés del Valle ,&nbsp;Jérôme Duriez ,&nbsp;Anton Gladky ,&nbsp;Dingeman L.H. van der Haven ,&nbsp;Janek Kozicki ,&nbsp;Gerald Pekmezi ,&nbsp;Luc Scholtès ,&nbsp;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}
引用次数: 0

摘要

本文介绍了 YADE 的关键要素,YADE 是用于动态模拟的可扩展开源框架。在过去的 19 年中,YADE 已从 "又一个动态引擎 "发展成为一个多功能的多尺度和多物理场求解器,拥有一个庞大、活跃且不断壮大的用户和开发者社区。源代码中计算密集的部分是用 C++ 编写的,使用灵活的对象模型,可以轻松实现新功能。源代码用 Python 包装,为软件配备了一个交互式内核,用于快速简洁地构建场景、模拟控制、后处理和调试。该项目(包括文档和示例)托管在 https://yade-dem.org 上,源代码可在 GitLab 上免费获取。在过去的十年中,YADE 的功能不断扩展,这要归功于来自不同专业领域(包括土壤和岩石力学、化学工程、物理学、散装物料处理和矿物加工)的众多开发人员。YADE 的快速发展应归功于:(1) 框架核心精心而稳健的设计;(2) 持续集成流水线,每次合并请求时都会执行全面的嵌入式测试,确保在各种操作系统下都能稳定编译;(3) Python 界面、详细的文档和严格的用户支持为用户提供了便利。在本文中,我们回顾了 YADE 的主要特点,强调了它在应用方面的多样性、代码开发方面的灵活性,以及最近在计算效率方面的改进:YADE - Yet Another Dynamic EngineCPC Library 程序文件链接:https://doi.org/10.17632/n4f5fw97rd.1Developer's repository 链接:https://gitlab.com/yade-dev/trunkLicensing provisions:GNU 通用公共许可证 2编程语言:C++、PythonC++, Python问题性质:多粒子系统的数值模拟需要精确的粒子间相互作用模型、各种形状物体间的高效接触检测以及稳健的时间积分。此外,在许多基础和实际应用中都会发现流体流动、热效应以及其他存在粒子的耦合问题,这些问题都需要专用的计算工具。YADE 提供了一个计算框架,利用离散元法及其多种扩展方法进行此类模拟:YADE 在一个结合了 C++ 和 Python 的灵活平台上使用离散元法 (DEM) 模拟微粒系统。它提供了多种形状和相互作用模型、显式时间积分方案以及许多后处理工具。YADE 具有孔隙尺度流体和热通量的专用求解器,并支持与 Escript(有限元法)和 OpenFOAM(计算流体动力学)等第三方软件的耦合。
本文章由计算机程序翻译,如有差异,请以英文原文为准。

YADE - An extensible framework for the interactive simulation of multiscale, multiphase, and multiphysics particulate systems

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

Developer's repository link: https://gitlab.com/yade-dev/trunk

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).

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: 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.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信