- Table of contents
- How to select list of components
- How to select list of ranges of particles
- How to specify range of time at loading
- How to select data at loading
How to select list of components¶
When you instantiate CunsIn(simname, select_c ,select_t,verbose) object, you can specify one or many components separated by "," from the list below:
gas, disk, halo, dm, stars, bulge, bndry, all
| component value | description |
|---|---|
| gas | Gas particles |
| halo | Dark matter particles |
| dm | Dark matter particles |
| disk | Old stars particles |
| stars | Stars particles |
| bulge | Bulge particles |
| bndry | bndry particles |
- to select gas only
select_c="gas"
- to select halo and gas and stars
select_c="halo,gas,stars"
- to select all components
select_c="all"
How to select list of ranges of particles¶
When you instantiate uns::UnsIn(simname, select_c ,select_t,verbose) object, you can specify one or many range of particles separated by "," . This is useful for nbody simulations file format which don't have components like NEMO format.
examples:- to select particle in one range 0:99999
select_c="0:99999"
- to select particles from 2 ranges 0:99999 and 300000:399999
select_c="0:99999,300000:399999"
- to select all particles
select_c="all"
How to specify range of time at loading¶
When you instantiate uns::UnsIn(simname, select_c, select_t ,verbose) object, you can specify only a sequence of time step to load. Range of time is controlled by a string variable with the following syntax:
"time1:time2,time3:time4"
examples:
- select_t="5.0"
will load time step 5.0 - select_t="0.0:3.0"
will load all time steps between time from 0.0 to 3.0 - select_t="0.0:3.0,5.0:7.0"
will load all time steps between time from 0.0 to 3.0 and from 5.0 to 7.0
How to select data at loading¶
When you load a snapshot by calling method snapshot->nextFrame(bits), you can give a parameter 'bits', to specify which data you want to load. A user may not want to load all the possible data stored in a snapshot but just few of them. This feature can dramatically speed up file reading in case of big input files.
Variable bits is a c++ string, or a char * composed of letters which represent data that user may want to load. Here is the list of all available data.
| character | description |
|---|---|
| x | position |
| v | velocity |
| m | mass |
| p | potential |
| a | acceleration |
| R | density |
| H | hsml |
| I | particles id |
| e | softening |
| U | internal energy |
| M | metallicity |
| A | stars age |
| T | temperature |
| k | keys (nemo) |
| X | auxiliary (nemo) |
| z | extra 1 |
| Z | extra 2 |
| i | extra 3 |
- bits="xvm"
load positions, velocities and masses - bits="xRH"
load positions, densities and hsml - bit=""
load all data (default)