A formalization of parallel data exchange algorithms used by numerical methods for solving partial differential equations

IF 0.9 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Theoretical Computer Science Pub Date : 2024-10-17 DOI:10.1016/j.tcs.2024.114912
Cristóbal Samaniego, Guillaume Houzeaux
{"title":"A formalization of parallel data exchange algorithms used by numerical methods for solving partial differential equations","authors":"Cristóbal Samaniego,&nbsp;Guillaume Houzeaux","doi":"10.1016/j.tcs.2024.114912","DOIUrl":null,"url":null,"abstract":"<div><div>This paper introduces a formal framework for the data exchanges required to solve partial differential equations in a distributed memory parallel environment.</div><div>Many physical phenomena can be described in terms of partial differential equations, and discretization methods are commonly used to solve this class of equations. Most of them require the definition of a mesh or grid in order to discretize the problem domain. In a parallel programming environment, the original mesh is partitioned into subdomains. Then, important data that has a direct relationship with the original mesh will be also divided based on the partition. As a consequence, data between subdomains has to be exchanged in order to obtain the correct solution to the problem in parallel.</div><div>In this context, the main objective of this work is to describe the existing data exchange algorithms typically used in simulation codes by formal means. This objective is achieved by first describing the original and partitioned mesh in terms of set theory concepts and using them for writing the data exchange algorithms from the perspective of a typical implementation of three numerical methods: the finite element, finite difference, and cell-centered finite volume methods.</div><div>Some attempts to create a description for these algorithms can be found in the literature. However, in the authors' opinion, a formal description is necessary in order to avoid any ambiguity.</div><div>Implicit and explicit schemes are considered here. However, this study is primarily focused on implicit schemes where iterative methods are employed to solve the system of linear algebraic equations arising from the discretization of a partial differential equation in a parallel environment. These iterative methods serve as motivation for defining well-known data exchange algorithms necessary to solve the system of equations. To achieve this, we will first examine a simple one-dimensional problem, followed by a general problem description. We finally illustrate the concepts presented in the paper by examining the solution of a partial differential equation in parallel.</div></div>","PeriodicalId":49438,"journal":{"name":"Theoretical Computer Science","volume":"1024 ","pages":"Article 114912"},"PeriodicalIF":0.9000,"publicationDate":"2024-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theoretical Computer Science","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0304397524005292","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

This paper introduces a formal framework for the data exchanges required to solve partial differential equations in a distributed memory parallel environment.
Many physical phenomena can be described in terms of partial differential equations, and discretization methods are commonly used to solve this class of equations. Most of them require the definition of a mesh or grid in order to discretize the problem domain. In a parallel programming environment, the original mesh is partitioned into subdomains. Then, important data that has a direct relationship with the original mesh will be also divided based on the partition. As a consequence, data between subdomains has to be exchanged in order to obtain the correct solution to the problem in parallel.
In this context, the main objective of this work is to describe the existing data exchange algorithms typically used in simulation codes by formal means. This objective is achieved by first describing the original and partitioned mesh in terms of set theory concepts and using them for writing the data exchange algorithms from the perspective of a typical implementation of three numerical methods: the finite element, finite difference, and cell-centered finite volume methods.
Some attempts to create a description for these algorithms can be found in the literature. However, in the authors' opinion, a formal description is necessary in order to avoid any ambiguity.
Implicit and explicit schemes are considered here. However, this study is primarily focused on implicit schemes where iterative methods are employed to solve the system of linear algebraic equations arising from the discretization of a partial differential equation in a parallel environment. These iterative methods serve as motivation for defining well-known data exchange algorithms necessary to solve the system of equations. To achieve this, we will first examine a simple one-dimensional problem, followed by a general problem description. We finally illustrate the concepts presented in the paper by examining the solution of a partial differential equation in parallel.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
解决偏微分方程的数值方法所使用的并行数据交换算法的形式化
许多物理现象可以用偏微分方程来描述,离散化方法通常用于求解这类方程。大多数离散化方法都需要定义网格,以便将问题域离散化。在并行编程环境中,原始网格被划分为多个子域。然后,与原始网格有直接关系的重要数据也将根据分区进行划分。因此,必须在子域之间交换数据,才能并行获得问题的正确解决方案。在这种情况下,这项工作的主要目标是通过形式化手段描述仿真代码中通常使用的现有数据交换算法。为了实现这一目标,我们首先用集合论概念描述了原始网格和分割网格,并从有限元法、有限差分法和单元中心有限体积法这三种数值方法的典型实现角度,利用这些概念编写了数据交换算法。然而,作者认为,为了避免任何歧义,正式的描述是必要的。不过,本研究主要侧重于隐式方案,即在并行环境中采用迭代方法求解偏微分方程离散化产生的线性代数方程组。这些迭代法是定义解决方程系统所需的著名数据交换算法的动力。为此,我们将首先研究一个简单的一维问题,然后描述一般问题。最后,我们将通过研究偏微分方程的并行求解来说明本文提出的概念。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Theoretical Computer Science
Theoretical Computer Science 工程技术-计算机:理论方法
CiteScore
2.60
自引率
18.20%
发文量
471
审稿时长
12.6 months
期刊介绍: Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation. Its aim is to understand the nature of computation and, as a consequence of this understanding, provide more efficient methodologies. All papers introducing or studying mathematical, logic and formal concepts and methods are welcome, provided that their motivation is clearly drawn from the field of computing.
期刊最新文献
Editorial Board Editorial Board Editorial Board Towards strong regret minimization sets: Balancing freshness and diversity in data selection Adding direction constraints to the 1-2-3 Conjecture
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1