2
2
title : ' pyro: a framework for hydrodynamics explorations and prototyping'
3
3
4
4
tags :
5
- - python
5
+ - Python
6
6
- hydrodynamics
7
7
- astrophysics
8
8
- physics
@@ -36,41 +36,41 @@ bibliography: paper.bib
36
36
37
37
# Summary
38
38
39
- pyro is a python -based simulation framework designed for ease of
39
+ ` pyro ` is a Python -based simulation framework designed for ease of
40
40
implementation and exploration of hydrodynamics methods. It is
41
41
built in a object-oriented fashion, allowing for the reuse of
42
42
the core components and fast prototyping of new methods.
43
43
44
- The original goal of pyro was to learn hydrodynamics methods through
45
- example, and it still serves this goal. At Stony Brook, pyro is used
44
+ The original goal of ` pyro ` was to learn hydrodynamics methods through
45
+ example, and it still serves this goal. At Stony Brook, ` pyro ` is used
46
46
with new undergraduate researchers in our group to introduce them to
47
47
the ideas of computational hydrodynamics. But the current framework
48
- has evolved to the point where pyro is used for prototyping
48
+ has evolved to the point where ` pyro ` is used for prototyping
49
49
hydrodynamics solvers before implementing them into science codes. An
50
50
example of this is the 4th-order compressible solver built on the
51
51
ideas of spectral deferred corrections (the ` compressible_sdc `
52
52
solver). This implementation was used as the model for the
53
53
development of higher-order schemes in the Castro hydrodynamics code
54
54
[ @castro ] . The low Mach number atmospheric solver (` lm_atm ` ) is based
55
- on the Maestro code [ @maestro ] and the pyro implementation will be
55
+ on the Maestro code [ @maestro ] and the ` pyro ` implementation will be
56
56
used to prototype new low Mach number algorithms before porting them
57
57
to science codes.
58
58
59
- In the time since the first pyro paper [ @pyroI ] , the code has
59
+ In the time since the first ` pyro ` paper [ @pyroI ] , the code has
60
60
undergone considerable development, gained a large number of solvers,
61
61
adopted unit testing through pytest and documentation through sphinx,
62
- and a number of new contributors. pyro's functionality can now
62
+ and a number of new contributors. ` pyro ` 's functionality can now
63
63
be accessed directly through a ` Pyro() ` class, in addition to the
64
64
original commandline script interface. This new interface in particular
65
65
allows for easy use within Jupyter notebooks. We also now use HDF5
66
- for output instead of python 's ` pickle() ` function. Previously, we used Fortran
66
+ for output instead of Python 's ` pickle() ` function. Previously, we used Fortran
67
67
to speed up some performance-critical portions of the code. These routines
68
- could be called by the main python code by first compiling them using ` f2py ` .
69
- In the new version, we have replaced these Fortran routines by python functions
70
- that are compiled at runtime by ` numba ` . Consequently, pyro is now written
71
- entirely in python .
68
+ could be called by the main Python code by first compiling them using ` f2py ` .
69
+ In the new version, we have replaced these Fortran routines by Python functions
70
+ that are compiled at runtime by ` numba ` . Consequently, ` pyro ` is now written
71
+ entirely in Python .
72
72
73
- The current pyro solvers are:
73
+ The current ` pyro ` solvers are:
74
74
75
75
- linear advection (including a second-order unsplit CTU scheme, a
76
76
method-of-lines piecewise linear solver$^\star$, a 4th-order
@@ -93,7 +93,7 @@ The current pyro solvers are:
93
93
94
94
- shallow water equations solver$^\star$
95
95
96
- (solvers since the first pyro paper are marked with a $^\star$). Also
96
+ (solvers since the first ` pyro ` paper are marked with a $^\star$). Also,
97
97
new is support for Lagrangian tracer particles, which can be added to
98
98
any solver that has a velocity field.
99
99
0 commit comments