Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zingale/hydro1d
A simple 1-d hydrodynamics code written in Fortran 95
https://github.com/zingale/hydro1d
Last synced: about 2 months ago
JSON representation
A simple 1-d hydrodynamics code written in Fortran 95
- Host: GitHub
- URL: https://github.com/zingale/hydro1d
- Owner: zingale
- License: bsd-3-clause
- Created: 2014-09-24T14:42:17.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T13:34:53.000Z (5 months ago)
- Last Synced: 2024-08-13T16:26:46.574Z (5 months ago)
- Language: Fortran
- Homepage: http://zingale.github.io/hydro1d/
- Size: 268 KB
- Stars: 15
- Watchers: 4
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hydro1d
*A Fortran 95 1-d hydrodynamics code*
http://zingale.github.io/hydro1d/
Important: this project is no longer developed. It has largely been
replaced by a python implementation of PPM: https://zingale.github.io/ppmpy/## About
`hydro1d` is a simple one-dimensional finite-volume Eulerian
hydrodynamics code that implements piecewise constant, piecewise
linear, and piecewise parabolic (PPM) reconstruction, and supports
both Cartesian and spherical geometries.It is written in modern Fortran (a F2003+ compiler is needed).
At the moment, a constant-gamma equation of state is assumed.
## Problems
Individual problems are built in subdirectories. For example,
to build and run the Sod shock tube problem, do:* `cd hydro1d/sod`
* `make`
* `./hydro1d inputs-sod-xp`
As the code is built, object files and modules will be output into the
`_build` subdirectory. `make realclean` will clean up the objects.
Things are setup for gfortran by default -- you will need to edit the
`Ghydro.mak` with different options for different compilers. Some bits
of Fortran 2003 and 2008 are used, so an up-to-date compiler is
needed.## Runtime Parameters
A number of runtime options can be specified -- look in `params.f90`
for the available runtime parameters. These are set in a namelist in
the inputs file. Problems can specify their own runtime parameters
(with a `probparams.f90` in the problem directory). These have a
separate namelist in the same inputs file. See the sod problem for
examples.## Development
* The PPM implementation should be synced up to what was done in
Castro's PPM -- in particular, support for using the reference
state in the eigenvectors* The boundary filling stuff should be generalized so we can use the
same logic for gravity as for the main conserved state.* The monopole gravity is not quite right for the conservative update.
We need to time-center the gravitational acceleration.
* We do not trace under the geometry or gravity source terms in the
interface state construction