Source code overview
Here is a brief and outdated description of various files making up the code:
Filename |
Description |
---|---|
allocate.f90 |
allocates memory for main arrays |
calc_quantities.f90 |
calculates additional quantities from particle data |
colours.f90 |
colour schemes for rendering |
colourparts.f90 |
colours particles |
defaults.f90 |
writes/reads default options to/from file |
exact.f90 |
module handling exact solution settings |
exact_densityprofiles.f90 |
various \(N-\)body density profiles |
exact_fromfile.f90 |
reads an exact solution tabulated in a file |
exact_mhdshock.f90 |
some tabulated solutions for mhd shocks |
exact_polytrope.f90 |
exact solution for a polytrope |
exact_rhoh.f90 |
exact relation between density and smoothing length |
exact_sedov.f90 |
exact solution for sedov blast wave |
exact_shock.f90 |
exact solution for hydrodynamic shocks |
exact_wave.f90 |
exact solution for a propagating sine wave |
exact_toystar.f90 |
exact solution for the toy star problem |
exact_toystar2D.f90 |
exact solution for the 2D toy star problem |
get_data.f90 |
wrapper for main data read |
geometry.f90 |
module handling different coordinate systems |
globaldata.f90 |
various modules containing “global” variables |
interactive.f90 |
drives interactive mode |
interpolate1D.f90 |
interpolation of 1D SPH data to grid using kernel |
interpolate2D.f90 |
interpolation of 2D SPH data to grid |
interpolate3D_xsec.f90 |
3D cross section interpolations |
interpolate3D_projection.f90 |
3D interpolation integrated through domain |
legends.f90 |
plots (time) legend on plot |
limits.f90 |
sets initial plot limits and writes to/reads from limits file |
menu.f90 |
main menu |
options_data.f90 |
sets options relating to current data |
options_limits.f90 |
sets options relating to plot limits |
options_page.f90 |
sets options relating to page setup |
options_particleplots.f90 |
sets options relating to particle plots |
options_powerspec.f90 |
sets options for power spectrum plotting |
options_render.f90 |
sets options for render plots |
options_vector.f90 |
sets options for vector plots |
options_xsecrotate.f90 |
sets options for cross sections and rotation |
particleplot.f90 |
subroutines for particle plotting |
plotstep.f90 |
main “backbone” of the code which drives plotting of a single timestep |
read_data_dansph.f90 |
reads data from my format of data files |
read_data_mbate.f90 |
reads data from Matthew Bate’s format of data files |
read_data_xxx.f90 |
reads data from … |
render.f90 |
takes array of pixels and plots render map/contours etc |
rotate.f90 |
subroutines controlling rotation of particles |
setpage.f90 |
sets up the PGPLOT page (replaces call to PGENV/PGLAB) |
splash.f90 |
main program, handles startup/ command line reading |
timestepping.f90 |
controls stepping through timesteps |
titles.f90 |
reads a list of titles to be used to label each timestep |
transform.f90 |
applies various transformations to data (log10, 1/x, etc) |