pde software has changed from the 1990s to 2005
TRANSCRIPT
![Page 1: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/1.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 2: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/2.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 3: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/3.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 4: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/4.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 5: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/5.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 6: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/6.jpg)
PDE Software has changed from the 1990s to 2005
Fewer scientists program
If they program, they often prefer Matlab
The problems get more complex:multi–physics/domain/scale/institutional/code
More high-quality/mature software libraries exist– no need to reinvent the wheel
Legacy codes are here to stay – could we integrate them innew systems as black boxes?
Scientists want the numerics in problem solving environments
![Page 7: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/7.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 8: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/8.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 9: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/9.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 10: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/10.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 11: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/11.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 12: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/12.jpg)
Current views on PDE Software at Simula
Software tools must be programmable at all levels
Users can program with a Matlab-like syntax (Python)
Problem solving environment = set of Python modules
”Standard operations” are performed by ”standard libraries”:LAPACK, PETSc, Trilinos, ML, Hypre, Vtk, ...
Solve PDE systems by connecting individual PDE solvers
Potential users have 10 min attention span– requires strong focus on build/install and documentation
![Page 13: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/13.jpg)
Example on connecting single-PDE components
Build turbulent flow solvers from PDE components
Basic idea: solve PDE systems by operator splitting
Can also split an implicit formulation by block preconditioning
Navier-Stokes solver: Stokes solver, advection solver
k-ε model: N-S solver, convection-diffusion-reaction solvers
The same idea is applies to RANS/URANS, LES, DNS,elliptic relaxation models (and PDE systems in general)
Goal
Composing turbulent flow solvers is like composing matrix-basedalgorithms in Matlab
![Page 14: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/14.jpg)
Example on connecting single-PDE components
Build turbulent flow solvers from PDE components
Basic idea: solve PDE systems by operator splitting
Can also split an implicit formulation by block preconditioning
Navier-Stokes solver: Stokes solver, advection solver
k-ε model: N-S solver, convection-diffusion-reaction solvers
The same idea is applies to RANS/URANS, LES, DNS,elliptic relaxation models (and PDE systems in general)
Goal
Composing turbulent flow solvers is like composing matrix-basedalgorithms in Matlab
![Page 15: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/15.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 16: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/16.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 17: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/17.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 18: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/18.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 19: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/19.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 20: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/20.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 21: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/21.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 22: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/22.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 23: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/23.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 24: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/24.jpg)
Current software initatives at Simula
FAMMS: automatic PDE code verification
Swiginac: symbolic math in Python
PYSE: finite difference stencils in Python
Symbolic ”FIAT” (finite element basis functions)
SciPy extensions for sparse matrices
Anyplot: generic Matlab-like interface to curve plotting
Plans for Anyviz (for scalar and vector fields over grids)
How to write efficient PDE solvers in Python?(PETSc, ML, FEniCS, Diffpack)
Parallelizing legacy codes via Python
Multi-physics/domain/scale and parallelization via domaindecomposition
![Page 25: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/25.jpg)
Example: tsunami simulation (the Dec 26, 2004 event)
−2000 −1000 0 1000
0
1000
2000
−0.2
−0.125
−0.05
0.025
0.1
0.175
0.25
0.325
0.4
0.475
0.55
−2000 −1000 0 1000
0
1000
2000
![Page 26: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/26.jpg)
Multi-physics/domain/code via domain decomposition
−6000 −4000 −2000 0 1000−2581
−2000
−1000
0
1000
2000
0
0.678
1.36
2.03
2.71
3.39
4.07
4.75
5.43
6.1
6.78
−6000 −4000 −2000 0 1000−2581
−2000
−1000
0
1000
2000
200.4 300 331.8629.2
700
768
200.4 300 331.8629.2
700
768
p1
p2 p3
p4
Dispersive (Boussinesq) equations
Nonlinear shallow water eqs.
![Page 27: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/27.jpg)
Multi-physics/domain/code via domain decomposition
−6000 −4000 −2000 0 1000−2581
−2000
−1000
0
1000
2000
0
0.678
1.36
2.03
2.71
3.39
4.07
4.75
5.43
6.1
6.78
−6000 −4000 −2000 0 1000−2581
−2000
−1000
0
1000
2000
200.4 300 331.8629.2
700
768
200.4 300 331.8629.2
700
768
p1
p2 p3
p4
Finite difference legacy code
New finite element code
![Page 28: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/28.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field
![Page 29: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/29.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field
![Page 30: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/30.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field
![Page 31: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/31.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field
![Page 32: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/32.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field
![Page 33: PDE Software has changed from the 1990s to 2005](https://reader031.vdocuments.site/reader031/viewer/2022012421/6175b2338cef4132216363a3/html5/thumbnails/33.jpg)
Summary: Simula ↔ FEniCS
We see FEniCS as a good place to publish software
The FEniCS modules (FIAT, FFC, Sieve, ...) looks verypromising
We are interested in the flow software and methods
We have experience with writing generic PDE software(code, documentation, users, industry)
We work on challenging applications
We have experience with publishing, conferences andworkshops in the ”PDE software” field