Object-oriented implementation of the alternating directions implicit solver for isogeometric analysis. (February 2019)
- Record Type:
- Journal Article
- Title:
- Object-oriented implementation of the alternating directions implicit solver for isogeometric analysis. (February 2019)
- Main Title:
- Object-oriented implementation of the alternating directions implicit solver for isogeometric analysis
- Authors:
- Gurgul, Grzegorz
Paszyński, Maciej - Abstract:
- Highlights: We propose a task-based implementation of the Alternating Directions Implicit Method. The computational cost is O(log(N)) in parallel environments. We provide a quality object-oriented implementation to be easily extended. We perform the heat transfer and flood simulations using this software. Abstract: In this paper, we show how to design and implement an object-oriented version of the IGA-ADI solver, an extension of the explicit version of the Alternating Directions Solver (ADS), known for having multiple applications in simulations performed within Isogeometric Analysis (IGA). We propose a method to reduce the number of time steps by three orders in magnitude in comparison to the existing technique which translates into a linear computational cost O ( N ) for 2 D problems solved in sequential execution mode or logarithmic computational cost O ( l o g ( N ) ) in parallel execution mode. Our secondary goal is to exemplify the benefits of employing certain object-oriented programming techniques to enhance the quality of similar experimental software, using our solver as a case-study example. In particular, we demonstrate how to represent the IGA-ADI solver as a composite structure of simpler and loosely-coupled sub-solvers, and how to formulate the complicated core of the numerical algorithm using declarative language which hides its mathematical complexity behind a set of atomic tasks. We evaluate this solver using two criteria we consider equally relevant inHighlights: We propose a task-based implementation of the Alternating Directions Implicit Method. The computational cost is O(log(N)) in parallel environments. We provide a quality object-oriented implementation to be easily extended. We perform the heat transfer and flood simulations using this software. Abstract: In this paper, we show how to design and implement an object-oriented version of the IGA-ADI solver, an extension of the explicit version of the Alternating Directions Solver (ADS), known for having multiple applications in simulations performed within Isogeometric Analysis (IGA). We propose a method to reduce the number of time steps by three orders in magnitude in comparison to the existing technique which translates into a linear computational cost O ( N ) for 2 D problems solved in sequential execution mode or logarithmic computational cost O ( l o g ( N ) ) in parallel execution mode. Our secondary goal is to exemplify the benefits of employing certain object-oriented programming techniques to enhance the quality of similar experimental software, using our solver as a case-study example. In particular, we demonstrate how to represent the IGA-ADI solver as a composite structure of simpler and loosely-coupled sub-solvers, and how to formulate the complicated core of the numerical algorithm using declarative language which hides its mathematical complexity behind a set of atomic tasks. We evaluate this solver using two criteria we consider equally relevant in this context: (A) the performance and (B) the quality of the design estimated by popular test metrics and the results of a survey conducted on a group of software engineers. We also present some practical applications of this solver and discuss emerging research directions. … (more)
- Is Part Of:
- Advances in engineering software. Volume 128(2019)
- Journal:
- Advances in engineering software
- Issue:
- Volume 128(2019)
- Issue Display:
- Volume 128, Issue 2019 (2019)
- Year:
- 2019
- Volume:
- 128
- Issue:
- 2019
- Issue Sort Value:
- 2019-0128-2019-0000
- Page Start:
- 187
- Page End:
- 220
- Publication Date:
- 2019-02
- Subjects:
- Isogeometric analysis -- Alternating directions implicit solver -- Numerical analysis -- Object-oriented -- Clean code -- Thread building blocks
Computer-aided engineering -- Periodicals
Engineering -- Computer programs -- Periodicals
Engineering -- Software -- Periodicals
Periodicals
620.0028553 - Journal URLs:
- http://www.sciencedirect.com/science/journal/09659978 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.advengsoft.2018.09.008 ↗
- Languages:
- English
- ISSNs:
- 0965-9978
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 0705.450000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 14825.xml