The following are tasks which can be achieved via options in the o) menu [particle plot o)ptions].
Particles of different types can be turned on or off (i.e., plotted or not) using the ``turn on/off particles by type'' option in the particle plot o)ptions submenu. This option also prompts to allow particles of non-SPH types to be plotted on top of rendered plots (useful for sink or star particles - this option does not apply to SPH particle types). Turning SPH particle types on or off also determines whether or not they will be used in the rendering calculation (i.e., the interpolation to pixels). This particularly applies to ghost particles, where ghost particles will only be used in the rendering if they are turned on via this menu option.
(The fact that particles of a given type are SPH particles or not is specified by the
flags in the set_labels part of the read_data file).
An option to plot non-SPH particles on top of rendered plots (e.g. sink particles) can be set when turning particle types on/off via the ``turn on/off particles by type'' option in the particle plot o)ptions submenu (see §??).
Particles can be turned on or off by type via the ``turn on/off particles by type'' option in the particle plot o)ptions submenu. See ??.
To plot dark matter particles (e.g. for the gadget read) the particle type corresponding to dark matter particles must be turned on via the ``turn on/off particles by type'' option in the o) submenu. Turning this option on means that dark matter particles will appear on particle plots.
To make a rendered plot of dark matter (e.g. showing column density), it is necessary to define smoothing lengths and a fake ``density'' for the dark matter particles. If your data read already supplies individual smoothing lengths for dark matter particles, the only thing to do is define a fake density field with a constant value (e.g. $ρ= 1$ for all dark matter particles). The actual density value does not matter, so long as it is non-zero, as the rendering for density does not use it unless the ``normalise interpolations'' option in the r)ender menu is set (which it is not by default). This is because SPLASH constructs the weight: $$ w_part = m_part/ρ_part h_part^ν, (1)$$ (see ???) and then interpolates for any quantity A using $$ A_pixels = ∑part w_part A_part W_kernel, (2)$$ so if $A = ρ$ then the actual rho value cancels.
For the GADGET data read you can define the smoothing length for dark matter particles by setting the environment variable GSPLASH_DARKMATTER_HSOFT (see §?? for details), which also triggers the creation of a fake density column as required. With this variable set dark matter particles are treated identically to SPH particles and can be rendered as usual (although the only meaningful quantity to render is the density). A much better way is to define smoothing lengths individually for dark matter particles, for example based on a local number density estimate from the relation $$ h ∝n^-1/3, where n_i = ∑j W_ij. (3)$$ Actually, none of this should be necessary, as the gravity for dark matter should be softened with smoothing lengths defined like this in the first place. The historical practise of fixed softening lengths has arisen only because of confusion about what softening really means (and worries about energy conservation with adaptive softening lengths). What you are trying to do is solve Poisson's equation for the dark matter density field, defined with a kernel density estimate and using fixed softening lengths is not a way to get a good density... but don't get me started, read ??? instead.
Note that for simulations using both SPH and dark matter particles, dark matter particles will contribute (incorrectly) to the SPH rendering when the environment variable is set and the plotting of dark matter particles is turned on. Thus to plot just gas column density in this case, dark matter particles must be turned off [via the o) menu option], and similarly to plot just dark matter density if both SPH and dark matter particles are present, SPH particles must be turned off.
Sink particles will be plotted on particle plots once turned on via the ``turn on/off particles by type'' option in the particle plot o)ptions submenu. Setting this option also gives a prompt for whether or not to plot sink particles on top of rendered plots (to which the answer should be yes). See ?? for more details.
To plot sink particles as a circle scaled to the sink radius, select the appropriate marker type (32-35) in the ``change graph markers for each type'' option in the o) menu. This allows plotting of particles of a given type with circles, filled or open, proportional to their smoothing lengths. Thus, the smoothing length for sink particles needs to be set to their accretion radius (or at least proportional to it).
A good option for sinks (v1.15 onwards) is to print ``outlined'' filled circles (marker 34) --- these show up on both black or white backgrounds.
The graph markers used to plot each particle type can be changed via the ``change graph markers for each type'' option in the particle plot o)ptions submenu. The full list of available markers is given in the documentation for giza (also similar to the markers used in pgplot).
SPLASH also allows the particles to be marked by a circle proportional to the smoothing length for that particle, implemented as marker types 32-35 under the ``change graph markers for each type'' option in the o) menu.
Each particle type can be plotted in a different colour via the ``set colour for each particle type'' option in the particle plot o)ptions submenu (press `o' from the main menu).
The order in which particle types are plotted can be changed via the ``change plotting order of types'' option in the particle plot o)ptions submenu. Thus for example it is possible to make dark matter particles be plotted on top of gas particles rather than the default which is vice-versa. Note that at present this is only implemented for particle types which are stored contiguously (one after the other) in the data read, rather than mixed in with each other.
An option to plot a line joining all of the points on a plot can be set via the ``plot line joining particles'' option in the particle plot o)ptions submenu. When set, this option plots a line connecting the (gas only) particles in the order that they appear in the data array. Useful mainly in one dimension or when plotting ascii data, although can give an indication of the relative closeness of the particles in memory and in physical space in higher dimensions. The line colours and styles can be changed.
To plot the line only with no particles, turn off gas particles using the ``turn on/off particles by type option'' from the o) submenu.
When multiple timesteps are plotted on the same physical page, the line style can be changed instead of the colour (this occurs when the change colour option is chosen for multiple steps per page -- see the ``change plots per page" option in the p)age options submenu [§??]).
On coordinate plots this option plots a circle of radius $2h$ around selected particles. This is primarily useful in debugging neighbour finding routines. Where only one of the axes is a coordinate this function plots an error bar of length $2h$ in either direction is plotted in the direction of the coordinate axis. See also §?? for more details.
The best way to locate a particular particle in the data set is to use the ``plot smoothing circles'' option in the particle plot o)ptions submenu, e.g:
Please enter your selection now (y axis or option):o5 ------------- particle plot options ------------------- Note that circles of interaction can also be set interactively Enter number of circles to draw ([0:100], default=0):1 Enter particle number to plot circle around ([1:959], default=1): 868
then upon plotting a coordinate plot (e.g. x vs y), particle 868 will be plotted with a circle of size $2h$ which makes it easy to distinguish from the other particles. See also §??.
By default splash uses ``fast particle plotting'' for particle plots -- this is where the plotting surface is divided into pixels and only a limited number of particles per pixels is plotted (preventing slowdown due to lots of particles being plotted indistinguishably on top of each other). Use of this optimisation can be turned off just in case in the particle plot o)ptions submenu, although there should almost never be a good reason to do so.
The coordinates of position and of all vector components can be transformed into non-cartesian coordinate systems using the ``change coordinate system'' option in the particle plot o)ptions submenu. For example, a dump file with columns as follows:
------------------------------------------------------- 1) x 6) log density 2) y 7) v\dx 3) z 8) v\dy 4) particle mass 9) v\dz 5) h ------------------------------------------------------- 10) multiplot [ 4 ] m) set multiplot ------------------------------------------------------- Please enter your selection now (y axis or option):
choosing o), option 7) and choosing cylindrical coordinates then produces;
You may choose from a delectable sample of plots ------------------------------------------------------- 1) r 6) log density 2) phi 7) v\dr 3) z 8) v\dphi 4) particle mass 9) v\dz 5) h ------------------------------------------------------- ...
transforming both coordinates and vectors into the chosen coordinate system. Note that rendering is disabled in coordinate systems other than those native to the file (i.e., anything non-cartesian for you -- part of the reason for this feature was that I was experimenting with SPH in cylindrical and spherical coordinates where the reverse transformation was necessary). For 3D SPH simulations, extra columns will appear in the menu in cylindrical or spherical coordinates allowing plots of azimuthally-averaged surface density and Toomre Q parameter. For more details see §??.
Details of the coordinate transformations are given in §??.
If you have a coordinate system you would like implemented, please email me the details!
The following exact solutions are provided
splash.funcfile with one function per line.
Details of the calculation of the exact solutions are given in Appendix ??. An example plot using the Sedov blast wave exact solution is shown in Figure ??.
See §??. One of the options for exact solution plotting is to read the exact solution from either one or a sequence of ascii files, such that the results are plotted alongside the particle data. The filename(s) can be specified by the user and will be saved to the `splash.defaults' file so that the solution(s) will be read and plotted on subsequent invocations of splash .
The line style and colour of the exact solution line can be changed via the ``exact solution plot options'' option in the o) submenu. This option can also be used to turn on/off calculation of various error norms together with an inset plot of the residual error on the particles. See Appendix ?? for details of the error norms calculated.
The number of points used in an exact solution calculation can be changed via the ``exact solution plot options'' option in the o) submenu.
An inset plot of residual errors between the plotted points and an exact solution calculation can be turned on via the ``exact solution plot options'' option in the o) submenu.