{"title":"解决偏微分方程的数值方法所使用的并行数据交换算法的形式化","authors":"Cristóbal Samaniego, 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":"{\"title\":\"A formalization of parallel data exchange algorithms used by numerical methods for solving partial differential equations\",\"authors\":\"Cristóbal Samaniego, 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}","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}
A formalization of parallel data exchange algorithms used by numerical methods for solving partial differential equations
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.
期刊介绍:
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.