Controls for the applets
For a quick start with default values, just go to
an applet and click on the "Start" button.
You can experiment with varying the parameters and heuristics.
Applet 1
Applet 1 solves for the ground state of a single RFIM
sample, while displaying
the evolving auxiliary fields for the push-relabel algorithm.
This applet has four rows of controls:
- Run controls and status text. The "Pause", "Start", "Step",
and "Reset" buttons are used for stopping, starting,
and single stepping the algorithm and for resetting the parameters of the
simulation (see below especially for a description of "Reset"). The magenta
text indicates the status of the simulation.
- Sample parameters. Here one can set the strength of the
disorder (the width of the Gaussian random fields), the length of the
edges of the sample (periodic boundary conditions), and the dimensionality
d of the sample (d=1, 2 or 3; a single slice of the 3D samples is displayed.)
- Algorithm parameters.
The drop-down menu sets the order in which push-relabel steps are
carried out. The interval between global updates gives the number of
push-relabel steps between global updates.
- Display parameters. One can turn on and off the display of
the excesses (the white and black regions show positive and negative
excess; zero excess sites are colored by their height). The simulation
can be slowed down by seeing the "Display pause" to a value greater
than zero.
Detailed description of controls
Checkboxes:
(Changes to these will take effect immediately without requiring the
use of the Reset button.)
- Show excesses
- Displays sites with positve excess as white and those with
negative excess as black. Sites with zero excess are colored
normally.
- Show saturated bonds
- Draws a black line between two adjacent cells if the bond joining
them is saturated in one direction or the other.
Drop-down menu(s):
(Changes to these will take effect immediately without requiring the
use of the Reset button; however, it is recommended that you Pause
before making changes, as the applets tend to become unstable otherwise.)
These allow you to select which data structure the solver will
use. The data structure which is used determines the order in which the
algorithm moves through the active sites, which can have a large
impact on the running time. Compare the FIFO queue and the stack.
Text Fields:
(Changes to these require the Reset button to take effect.)
- Field strength
- Represents the standard deviation of the
gaussian distribution which governs the random fields of each spin.
This is the parameter Δ.
- Global update freqency
- Refers to the number of push-relabel cycles
between global updates.
- Dimensions and side length
- Self-explanatory. Currently, applet
1 supports 1 and higher dimensions, while applet 2 supports 2
dimensions and above. For dimensions higher than 2, the applet
displays a single two-dimensional face of the model.
- Delay time
- The applet will pause for the indicated number of milliseconds
after each cycle. This is useful for smaller simulations or faster
machines.
Buttons:
- Start
- Starts the applet solving the current settings configuation, or continues
it if paused.
- Step
- Executes one push-relabel step and pauses. This is also useful
for, e.g., changing the checkbox options once the solve is finished.
- Pause
- Pauses execution of the solve run.
- Reset
- This button implements changes made to the various text fields. It
examines what changes have been made to the text fields and
makes alterations to the appropriate variables. It also restarts the
solve process and creates a new base Net to start from if required.
The way this works is as follows:
- If nothing (none of the text boxes) has been changed,
it creates a new Net to work from and restarts the solving
process.
- If only the pause time and/or global update frequency boxes
have been changed, it updates those settings, but keeps the
current solve run going.
- If the field strength has been changed (perhaps in addition to
the above settings), the solve run is reset, but the Net is not
recreated--rather, it has Net.reTimes() run on it to produce the
new field strength.
- If L or d are changed, everything is reset.