• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

coarrayBurgers/H03-May-2022-979665

coarrayHeatSimplified/H03-May-2022-253146

include-files/H03-May-2022-

library/H03-May-2022-514246

navier-stokes/H03-May-2022-4,1852,651

README.mdH A D13-Jun-20202.8 KiB5142

README.md

1[This document is formatted with GitHub-Flavored Markdown.   ]:#
2[For better viewing, including hyperlinks, read it online at ]:#
3[https://github.com/sourceryinstitute/OpenCoarrays/edit/master/src/tests/integration/pde_solvers/README.txt]:#
4
5Partial Differential Equation (PDE) Solvers
6===========================================
7
8This directory contains three PDE solvers listed here in order from simplest to most complex:
9
10* A one-dimensional (1D) finite-difference, unsteady [heat equation solver],
11* A 1D finite-difference, unsteady, nonlinear [Burgers equation solver], and
12* A three-dimensional (3D), unsteady, spectral [Navier-Stokes equation solver].
13
14The first two solvers contain correctness checks that result in the printing of the
15message "Test passed" before terminating a correct execution.  For more details on the
16heat equation solver please view the [Sourcery Institute] [tutorial videos] online.
17
18For more details on the Burgers solver, please see Chapter 12 of the textbook
19[Scientific Sofware Design] or the open-access journal article
20"[High Performance Design Patterns for Modern Fortran]."  The [coarrayBurgers]
21subdirectory includes a [run.sh] launch script that works inside the open-source
22Linux virtual machine available in the Sourcery Institute [store].
23
24The launch script instruments the Burgers solver for performance analysis using the
25open-source Tuning and Analysis Utilities ([TAU]) package.  The instrumented Burgers
26solver has been demonstrated to execute with 87% parallel efficiency on 16,384
27cores in weak scaling when compiled with the Cray Compiler Environment.  For
28new scalabiliby studies, it is important to run problems of sufficient size.  For
29performance and complexity comparisons, an MPI version of the Burgers solver is
30in the [performance] directory at the same level as the current directory.
31
32The Navier-Stokes solver uses Fourier-spectral methods and Runge-Kutta time advancement
33to simulate the evolution of statistically homogeneous turbulent flow in a 3D box with
34periodic boundary conditions.  For performance and complexity comparisons, the
35[navier-stokes] subdirectory contains both a  Message Passing Interface (MPI) version
36and a coarray Fortran (CAF) version of the same solution algorithm.
37
38[heat equation solver]: ./coarrayHeatSimplified
39[Burgers equation solver]: ./coarrayBurgers
40[Navier-Stokes equation solver]: ./navier-stokes
41[Sourcery Institute]: http://www.sourceryinstitute.org
42[tutorial videos]: http://www.sourceryinstitute.org/videos
43[Scientific Sofwtware Design]: http://www.cambridge.org/rouson
44[High Performance Design Patterns for Modern Fortran]: http://www.hindawi.com/journals/sp/2015/942059/
45[store]: http://www.sourceryinstitute.org/store
46[coarrayBurgers]: ./coarrayBurgers
47[run.sh]: ./coarrayBurgers/run.sh
48[TAU]: http://tau.uoregon.edu
49[navier-stokes]: ./navier-stokes
50[performance]: ../../performance
51