DATA LOADER DIALOG

Data Loader Dialog provides ways to give information to Zindaiji about the type or format of the data to load.

Select the type of the data, Binary or Text(Ascii).
If data has named with extension .gz, Zindaiji3 deflates and reads it as gzip compressed file.

As special formats, HDF5 file and PDC file (Cache file of Maya particle system) can be read. With proper settings, .bphys file (Blender cache file for particle system) can be partially read.

Select a type of interpolation method.

Gives information about the particle number of the data. If particle number is constant and particle index is not remmaped over the scene, select constant. In constant particle number mode, Zindaiji 3 assumes that the n-th particles in any timestep is idendical to the n-th particle in all other timesteps. In this case interpolation calculation is relatively fast.

On the other hand, if particle number increase or decrease, or particle indices are remapped by some reason, there is no guarantee that n-th particle on m-th timestep is identical to the n-th particle on m+1-th timestep. Thus, Zindaiji uses ID of each particle to search the continuity of particles. Because searching of identical ID is needed, interpolation calculation can be much slower. (Variable mode)

If particles' ID are sorted, searching ID matching can be much faster. When "Sort by ID" is selected, particles are sorted at loading process. This have some overhead, but ID matching may be much faster for some type of data.

Rule of filenames for sequential data is as follows.

somename0000.dat
somename0001.dat
somename0002.dat
...

Index must exist just before the extention. Arbitrary charactors for extention are acceptable.
In ASCII format, first two lines must be a header, which tells the time and particle number.
After the header follows the main particle data, one line for one particle. In default state, the order of the data is as shown below.
Thus, the default ascii file format is

TIME
PARTICLENUMBER
X Y Z VX VY VZ RADIUS ID TYPE VALUE1
X Y Z VX VY VZ RADIUS ID TYPE VALUE1
X Y Z VX VY VZ RADIUS ID TYPE VALUE1
and so on...

In binary format, float or integer type binary data must be stacked sequentially,. First 8 byte must be a header, i.e. time (float) and number (int). After the header follows the main particle data.

The default binary file format is

TIME PARTICLENUMBER X Y Z VX VY VZ RADIUS ID TYPE VALUE1 X Y Z VX VY VZ RADIUS ID TYPE VALUE1 X Y Z VX VY VZ RADIUS ID TYPE VALUE1 ... and so on ...

Note that TIME X Y Z VX VY VZ RADIUS VALUE1 are float type (4byte), while PARTICLENUMBER, ID and TYPE are integer type (4byte).

Zindaija can set individual types of visualization parameters. TYPE represents which parameter each particle uses. For example, if your data has two types of particles such as stars and gas, assign 0 to TYPE for star and assign 1 for gas, and cofigure each visualization parameters differently.

VALUE1 is data for some sort of physical quantity such as temperature.
Color of particles can depend on VALUE1, as described in Color Curve Dialog.



You can set positions of x,y and z respectively. If some component is not set, the value of that component of particles would be 0.
Above picture is example of reading 2-dimensional data.

You can change the order of data array. The default exmple shown above is for Horizontal case.

In the vertical case, the elemets should be sorted as,

HEADER XYZ XYZ XYZ ...... RADIUS RADIUS RADIUS ...... TYPE TYPE TYPE .....

Each elements are repeated for number of particles.

If you want to store X, Y, Z separatedly, as X X X ... Y Y Y ... Z Z Z ...

Set x, y, z individually rather than xyz.

You can edit the order of variables such as "X Y Z" or "RADIUS" with the Format Editor.

The items are able to move by drag & drop. Using right-mouse-button menu, you can delete or insert items.
Dummy items are for skipping unnesessary data.

The "Default" button at the left-bottom side makes the list to be the default order.

If time or particls number is missed, frame number would be set to the time, and particle number would be guessed from line number or file size.

You can save and load grammer as a file.

You can read double type or half float type data instead of float type in reading binary data.
Note that inner data format of Zindaiji3 is float, and float type has enough precision for visualization in general.

If float type is not enough for visualize, we recommend to reconsider the format of data itself. (For example, you may want to compare two particles with position 100000000000000000.01 and 100000000000000000.00.
For such a case, you should save data with offset -100000000000000000.)

if your data's dynamic range is not so large, you can use half float type to reduce file size.


A typical scale or position of the structure depends on the simulation code.
If typical values are too large to small, i.e. 106 or 10-6, or much off-centered, handling them in Zindaiji3 is somewhat cumbersome.
With translate and scaling parameters, you can rescale or offset the whole data when loading.
Scale parameters are applied to position, velocity, and radius.

If you draw too many numbers of too large polygons, the loading to the graphic board can be unexpectedly high.
(For example, drawing 10^7 full screen polygons repeatedly...)
Since Zindaiji3 do not care for the parameters, please be careful not to make such a scene.
You can use Limitter or Auto Abort to decrease a risk of mistakenly rendering too heavy scene.

Also you can rescale, or take log10 of VALUE1 with "Modify Value1" parameters.
Applying log at data loading stage, we reduce the time for calculate many log10 at every drawing process. (Though, with some incovenience...). Taking log10 returns 0 if the original VALUE1 is negative.

Jitter adds random components to location of each particle.
This feature can be useful to reduce moire pattern for regular grid data.



The degree of jittering is regularized by radi of particles (or 1 if radius is not defined at reading).

Limitter



Limit dataloding as sigle frame, or limit nuumber of particles. Limitting ID Search abort the searching same ID particles in interpolation process, which can take long time if ID is distributed near randomly.

Sequence


When a file is selected, Zindaiji3 automatically check whether the file is sequencial or not. However, if the file has more than one numbers, i.e. snapshot0000param00.dat, later numbers would be used as sequential, undesirably for users.

In such a case, you can select filename in printf format like snap%04dparam01.dat, with initial number parameter.

You can also set interval of sequential file in this panel.

Irregular Sequence

This mode is implemented to read irregular file sequence. Set Lua script with input value index. The file with index of the returend value would be read.

Using functions of Tables for Lua, you can use external list file.

Post Process



You can modify data after reading with expression.

If you do not use external data file, and construct data from empty state, push "Execute Script Only" button instead of "Open File Sequence".

Scripting for Data Modification or Construction

This script works similarly to post process script. Post process is executed when snapshot data is stored in memory. Snapshot modifier is executed when interpolated data is calculated from snapshots.

Color information is made at this timing. For example, you can overwrite colour information, or change other parameters according to color information.
In general, float type data has more than enough precision for visualization.
This process cut the lower bits of data and reduce information of data.

This function has little meaning for itself. However, if you export data with reduced information as files, it can be compressed with greater efficiency. (JHPCN-DF)
Use this function when you want to make a smaller data set for visualization.

Periodic Boundary Condition


Particles in a box of periodic boundary condition can fly from one side to an opposite side in a single time step.
If such particles are interpolated straight forwardly, particles fly across the box with artificial high velocity.
When periodic boundary condition mode is turned on, a particle which moves too large distance in a single time step is interpreted as a particle passing the boundary, and interpolated to the position of mirror particle beyond the boundary.
(or force the velocity component to be 0).

Here, Zindaiji 3 assume that the boundary is box-shaped. Arbitrary shaped boundary is not supported. (But supports triaxial anisotropy).
Information of box size is required for this functions to work.

return
inserted by FC2 system