Display features
Below is a screenshot illustrating some of the features of the Rat display:
Illustrated features:
- The background has been loaded from an image file and scaled up. The image has been greyed to give emphasis to the superimposed blocks drawn by the user over the plot plan.
- Blocks are (optionally) shaded according to their relative value. Without shading, the blocks appear transparent so that the background is visible under them.
- Blocks can be circular or rectangular, can overlap, and can be nested (enclosed entirely by another block).
- Blocks containing chemicals are highlighted by a red outline, and can be a source of explosion. This site has one such block, but there could be any number of such "hazardous" blocks. When solving for the maximum loss, the program cycles through all hazardous blocks.
- The circular hazardous block is enclosed within a rectangular block that has no value itself (thin line outline, rather than thick line), but is bunded (dotted line inside the outline of the block).
- The algorithm in use has three concentric damage circles and these are shown with a light yellow shading. The circles have been drifted from the originating block (line drawn from block's centre to circles' centre) to maximise the loss. The permitted drifting limits are under user control. In this case, as is evident from the block shading (darker means more valuable) the cloud has been drifted to centre over the most valuable blocks.
Modelling features
The program is supplied with a material properties database containing eleven material properties for a population of about one hundred chemicals. These are stored in an XML file which can be edited to add materials if necessary.
Algorithms are written in a text file using a modelling language which can reference material properties and site block properties. Blocks have both standard properties (size, position, value, working temperature/pressure, etc) and user-defined properties for which the meaning is determined by how algorithms use them. The language is expressed in terms of an abstract block (by refering to its properties by name) and supports local variables and arrays, conditional expressions, and built-in functions to interpolate arrays and to return the block area or site value under a given circle. Typically, algorithms have two parts: a source part, which determines the size of the release and from that, the size of the damage circles; and a damage part that estimates the degree of damage for a given circle radius.
The program is supplied with a set of standard algorithms including the industry-standard empirical model based on the IOI Blue Book.