The capabilities in this document are brand new and while we assert that they work, that may not be the case on all systems for all users. Problems should be reported directly to the NiCE team by sending an email to the project list, niceproject-development <at> lists.sourceforge.net
, or following the instructions to report bugs at niceproject.sourceforge.net.
Table of Contents
This document is designed to outline the basic steps of setting up and using the MOOSE plug-ins in NiCE. NiCE currently supports four MOOSE-based applications: MARMOT, BISON, RELAP-7 and RAVEN. Although this tutorial was created with BISON in mind, the steps for using NiCE with MARMOT, RELAP-7 and RAVEN are the same.
There are two different tasks for the input generation and launching of MOOSE products within NiCE:
Follow the instructions in the Getting NiCE article to download and install the latest version of NiCE on your system.
You should have the MOOSE environment installed, either your local or remote machine. Instructions for getting MOOSE installed can be found here.
Additionally, you should have MARMOT, BISON, RELAP-7 or RAVEN compiled and ready to run.
Because NiCE supports numerous plugins from different areas of science, it can sometimes be difficult for users to make sense of all the different windows, panels and tabs. To address this issue for MOOSE users, we've created what we call the MOOSE Perspective which pares down UI components to only those that are necessary for out MOOSE-based plugins.
To access the MOOSE Perspective, use the the NiCE toolbar at the top and navigate to:
Window > Open Perspective > Other...
Select MOOSE in the window that pops up and click OK. Alternatively, you can also access the same perspective menu by clicking the Perspective button in the upper right-hand corner of the NiCE workbench.
Once the MOOSE Perspective opens, you should notice the workbench now contains fewer UI components, and should resemble something like this:
Like any MOOSE-based GUI, NiCE relies on generated YAML and action syntax files to specify the rules of creating input files. To simplify this task, NiCE includes a utility that will generate these files (either locally or remotely), clean them up, and place them in the appropriate local directory for NiCE to use. All that is required of the user is to specify where and on which machine their MOOSE codes are installed.
To use this utility, begin by clicking the green "+" button in the Item Viewer, located on the left-hand side of the NiCE workbench.
This will prompt a window to pop up; select the MOOSE Launcher Item and click Finish.
To create an input file for a MOOSE problem, there are two ways you can get started: creating an input file from scratch, or importing an already existing one to modify.
If you'd like to start from scratch, begin by clicking the green "+" button in the Item Viewer, located on the left-hand side of the NiCE workbench.
This will prompt a window to pop up; select the MOOSE Model Builder Item, and click Finish.
Alternatively, if you'd like to import an already existing .i
file to modify, click the yellow item import button located at the top of the NiCE workbench.
A wizard will pop up prompting you to specify two things: the .i
file you'd like to import from your filesystem, and what kind of Item
you'd like to import it into.
Use the Browse... button to select your input file, and set the item type to MOOSE Model Builder. Click Finish when you're done and NiCE will import the file data.
Regardless of how you decide to begin creating your input file, once the MOOSE Model Builder loads, you will see a workbench that looks like the follow. Make note of the two tabs highlighted: the Tree View and Properties tabs, as we'll be using them quite a bit in the following section.
Note that all the tabs and windows in NiCE can be re-sized and moved around for the configuration that best suits your needs. In the following sections, we've rearranged the MOOSE Model Builder layout in a way that we feel is most intuitive, so don't be alarmed if yours looks a little different.
Before be begin constructing our problem, the first order of business is to specify which MOOSE application we're defining a problem for. Use the drop-down menu on the Tree View, select one of the options; in this example, we'll be modifying a BISON problem.
At this point, a fully loaded set of blocks should appear in the Tree View. If you imported your data from an already existing file, you'll notice the data has been loaded into any blocks that are checked off. If you started from scratch, none of the blocks will be checked off yet.
This section still under construction...
Once you've generated appropriate input files, launching a MOOSE job is a relatively simple task.
To get started, click the green "+" button in the Item Viewer once more to create a new NiCE Item.
Select MOOSE Launcher from the menu and click Finish.
A form will appear in the main NiCE workbench area. This form contains the information necessary for launching a MOOSE problem.
The first piece of necessary information is to set which MOOSE-based application you'd like to run. From the list of Available Executables, select an application,
Immediately apply your choice by clicking the save button in the upper left-hand corner of the workbench.
If you are using an input file that was created elsewhere, it must be in your /ICEFiles/default/
directory prior to creating the MOOSE Launcher Item, or you will need to import it.
To import a file if it is not in your directory, click File > Import File... and choose the file that you want to import. It will then appear in the list of input files in the MOOSE launcher. You can also use NiCE's import icon.
From the Input File(s) drop-down menu, select an appropriate MOOSE input file. If you created your own input file in the previous step using the MOOSE Model Builder, this file should appear in the list of available files.
If your problem requires additional files, such as a mesh, peaking factors, or power history data, set these as well. Note that these files also must have been placed in your ICEFiles/default/
directory ahead of time, or they can be imported at this point.
The next step is to tell NiCE which machine your MOOSE code will be run on, either locally or remotely. A list of hosts used at ORNL is displayed by default, however, additional hosts can be added by clicking the "+" button to the right of the Hosts table.
When adding hosts, set the Execution Path to the trunk directory of the machine's MOOSE installation. For example, if I'm launching BISON on a machine with the follow structure:
/home/user/trunk/bison/bison-opt
I would set the execution path in NiCE to be:
/home/user/trunk
If you are launching on a remote machine, also be sure that you have appropriate privileges for the execution path.
Optionally, if you'd like to take advantage of parallel processing, you may specify the number of MPI process and/or Intel Thread Building Block (TBB) threads.
To use multiple MPI processes, change the marked field to an integer value anywhere between 1 and 10000. Note that mpirun
must be specified in the host machine's PATH
variable. If you choose not to change this field, the default value of 1 MPI process is used.
To use multiple TBB threads, change the marked field to an integer value anywhere between 1 and 256. Note that the host machine must have Intel TBB support. If you choose not to change this field, the default value of 1 TBB thread is used.
Once the input file(s), host, and any parallel execution options are specified, save your settings. If you make any subsequent changes to the MOOSE Launcher form, you will have to re-apply them by saving the form in the same way.
Lastly, use the Process menu in the upper right-hand corner; select the Launch the Job task from the drop-down menu and click the Go! button.
Depending on your host machine's configuration, you may be prompted for login credentials.
You should shortly begin seeing the standard console output in NiCE as your problem begins to solve.
An FAQ for MOOSE users can be found here. If you have any additional questions that are not addressed in this document, email our project development list at niceproject-development <at> lists.sourceforge.net
This section requires updating
This section requires VisIt 2.8, which may or may not be released at press time. Contact the NiCE team if you need a pre-release copy.
The output produced by a RELAP-7 job can be visually analyzed in NiCE by utilizing the Visualization perspective. Select Window > Perspective > Other... from the menu bar at the top of the NiCE workbench. From the resulting dialog, select Visualization and press OK.
An empty Visualization perspective will replace the existing NiCE perspective in the workbench.
Rendering in NiCE's Visualization perspective is executed through a connection to the external visualization software application, VisIt. To establish this connection, click Launch VisIt near the upper-right corner of the NiCE workbench.
A dialog for connecting to VisIt will appear. This dialog allows the user to start a new instance of VisIt on their local machine or a remote machine. The dialog additionally allows the user to connect to an already running instance of VisIt. Select a connection option and enter the appropriate parameters before clicking "OK".
If the connection to VisIt is successful, a Visualization Editor will be opened in the main workbench area. Click the Open File button from the Visualization File Viewer in the right-hand column of the workbench.
A dialog for exploring the local file system will appear. Navigate to and select the .e file produced by the RELAP-7 job execution. (Note: This may require adjusting the file extension filter in the dialog to get the file to appear.) After dismissing the file dialog, ensure that the file is selected in the Visualization File Viewer. Click the Add Plot button in the Plot Viewer on the left-hand side of the workbench.
A dialog for selecting plots to add to the Plot Viewer will appear. Check any number of plots to add and click OK.
To display a plot in the Visualization Editor, select the plot in the Plot Viewer. Click and drag on the image to manipulate its orientation.