1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
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 :math:`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) |
+-----------------------------------+-----------------------------------+
|