XF's built-in queuing capability runs local simulations serially through the UI. One simulation runs at a time, so once a calculation is complete the next queued simulation will begin. XF also utilizes External Queue Integration (EQI) to connect to external queues, such as a remote computer cluster, where a job scheduler tracks available computer resources and maintains a list of queued simulations.
Managing simulations across one or more queues is accomplished through the Simulation window. The Queue drop-down menu specifies which queue the simulation control applies to.
Select multiple simulations from the simulations window using the following hotkeys:
- Shift+: Selects consecutive simulations from the list.
- Ctrl+: Selects individual simulations from the list.
Add or remove simulations from the selected queue with the following controls:
- Add to Queue: adds the selected simulation to the local queue.
- Remove from Queue: removes a queued simulation from the local queue.
A finite-difference time-domain (FDTD) simulation proceeds through the following stages: initialization, timestepping, steady-state post-processing, and writing output. A simulation can have multiple runs that are computed serially, and the steps to terminating a simulation vary depending on the termination method.
When terminating through the UI, the stop button in the upper-right corner of the simulations window terminates the simulation immediately.
The right-click menu contains additional options:
- Terminate Simulation Immediately: hardkill; immediately ends the calculation.
- Terminate Timestepping (End Simulation): softkill with termination; immediately stops the timestepping portion of the calculation and proceeds to post-processing and writing output. Once this option is applied to the current run, the simulation is terminated.
- Terminate Timestepping (Continue Simulation): softkill with continuance; immediately stops the timesteppinng portion of the calculation and proceeds to post-processing and writing output. Once this option is applied to the current run, the calculation engine proceeds to the next run in the simulation.
When terminating outside the UI, the simulation is terminated immediately by killing the xfsolver process.
The softkill options require manual execution by creating a project.softkill file:
- Softkill with termination: create a file named project.softkill in the simulations directory to stop the run and end the simulation.
- Softkill with continuance: create a file named project.softkill in the run directory to stop the current run and proceed to the next run in the simulation.
The entire simulation directory can be deleted by clicking either the button in the upper-right corner of the simulations window or the delete item found in right-click menu. This menu also includes delete simulation output, which allows users to delete only simulation results while retaining the original directory and input files.
Alternatively, simulation directories in XF can be deleted externally using Windows Explorer or another file management tool. Users can update the simulation list using the refresh list option in the right-click menu.
Users should note that simulations queued with EQI should not be deleted until they have either finished or been canceled.
The input files for the calculation engine cannot be changed once a simulation has been created. However, edit simulation info in the right-click menu allows users to rename a simulation or update its notes.
Simulations are added to the list in the top portion of the simulations window when they are created and there is a corresponding folder on the file system. Every simulation contains a Run0001 folder that holds the input files for the calculation engine and any resulting output files. There will be consecutively numbered run folders (i.e., Run0001, Run0002, Run0003) for each active source or parameter value when S-parameters or parameter sweeps are specified, respectively.
Users should note that the files in the simulation folder can be read for post-processing purposes, but they should not be edited directly.