Menu

Using Nek5000 with NiCE

Jay Jay Billings Anna Wojtowicz Dasha Taylor Patterson
Attachments
LaunchingNek5000.png (90485 bytes)
Nek5000HostSelection.png (11677 bytes)
NekLauncherSelection.png (37483 bytes)
NekModelBuilderForm.png (72617 bytes)
NekModelBuilderItem.png (26300 bytes)
NekReaInputFile.png (79076 bytes)
NekResults.png (94300 bytes)
NiCECreateItem.png (13053 bytes)
NiCEEmptyWorkspace.png (30324 bytes)
PROTEUSLaunchJob.png (3374 bytes)
PROTEUSRemoteLogin.png (11972 bytes)
WriteNekInput.png (9301 bytes)

[Category:Nek5000]

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.

This document is designed to outline the basic steps of setting up and using the Nek5000 plugins in NiCE. There are two different tasks for the input generation and launching of Nek5000 within NiCE:

  • Nek5000 Model Builder - Using selected parameters, generates a set of input files necessary to launch the Nek5000 neutronics codes.
  • Nek5000 Launcher - Initiates the Nek5000 codes to run on a local or remote system using the files generated from the Nek5000 Model Builder.

Table of Contents

Background

Part of our work in the 2013 fiscal year included a detailed analysis of Nek5000's existing graphical input generator, PreNek. We worked closely with the Nek5000 team to determine how it works and discover any painful points related to its use. The NiCE and Nek5000 teams decided that the best course of action was to slowly reproduce the capabilities that exist in PreNek in NiCE during the 2014 fiscal year, focusing on usability first, and inclusion of advanced features second. The goal is to produce a tool that will allow users to work with all of Nek5000's examples and, eventually, allow users to create entirely new Nek5000 problems from scratch.

We started by creating a new set of tools in NiCE that can read and write Nek5000's .rea files. The first example that we targeted was Nek's conjugate heat transfer example, conj_ht, which includes a number of different options, a mesh, and some boundary conditions. NiCE will support more examples in the very near future.

Getting Started

Installation and Configuration

Follow the instructions in the Getting NiCE article to download and install the latest version of NiCE on your system.

Prerequisites

You should have Nek5000 installed on a machine, either your local machine or a remote machine.

NiCE requires the conj_ht.rea example file from Nek5000 to get the information it needs to re-generate the input. Download this from the NiCE project here. After downloading it, create a directory named Nek5000_Model_Builder in your local file system in one of the following directories:

On Linux, use: /home/user/NiCEFiles/default/
On Mac OS X, use: /Users/<user>/NiCEFiles/default/
On Windows, use: C:\Users\<user>\NiCEFiles\default\

Place the conj_ht.rea file here before launching NiCE. If you have never launched NiCE on your system before, you will also have to create the NiCEFiles/default directory.

Creating a Nek5000 .rea Input File

Once NiCE is properly installed and you have placed the conj_ht.rea file in your NiCEFiles/default/Nek5000_Model_Builder/ directory, you can begin creating input for Nek5000.

To begin, launch NiCE (if it isn't already running), and you should be presented with an empty workbench.

The first step to generate Nek5000 input is to create a Nek5000 Model Builder Item; click on the green plus icon (+) located at the top of the left-hand column.

This will launch a dialog prompting you to select a task (or Item) to create. Find Nek5000 Model Builder in the Item Selector list (you may need to scroll down) and select OK.

Defining input parameters

A Nek5000 Model Builder form containing a number of tabs (near the bottom) with parameter input boxes will appear in the NiCE workbench. These parameters are specific to the input required by Nek5000 and have a number of restrictions associated to them. The specifics of Nek5000 input is beyond the scope of this tutorial. However, the list below provides links to more detailed information about each parameter. Since we prepared and placed a NiCE-native input file in the NiCEFiles/default/Nek5000_Model_Builder/ directory ahead of time, you will find the parameters are already filled out with appropriate values. For some parameters, hovering over the name will display additional information about it.

Input specification by section:

Once you have entered all the required parameters (or have made any changes to the existing ones), save the Nek5000 Model Builder project by clicking the floppy disk icon located in the top left-hand corner of NiCE.

Clicking on the last tab in the Nek5000 Model Builder form will open the Mesh Editor with the current mesh for this problem displayed. More information on editing the mesh is available in [Editing_Meshes].

Generating Nek5000 input files

The last step in creating input is to actually generate the .rea file that will be used to launch Nek5000 in the next section. To do this, select the Process drop-down menu located in the upper right corner of your Nek5000 Model Builder window, select Write Nek5000 input, and click Go!. This will convert the parameters entered on your Nek5000 Model Builder form into a text-based format that is compatible with Nek5000; this process should only take a few seconds at most. The phrase "Done!" should appear next to the title of your Nek5000 Model Builder workspace.

This file will be created in your /home/user/NiCEFiles/default/ directory and will have the file name Nek5000_Model_Builder_num.rea, where num is your model builder Item number (i.e. Nek5000 Model Builder 1, Nek5000 Model Builder 2, etc.). It's important to note, that if you have a previously generated Nek5000 input file in your default directory, generating another input file with the same Item number will overwrite your existing file without warning. This concludes the Nek5000 input file generation; the .rea input file created here will be used to launch Nek5000 in the next section. If you would like to review the generated input file before moving onto the next step, you can do so by selecting the File > Open File... menu in NiCE, and navigating to your Nek5000_Model_Builder_num.rea file. This will display the input file in your NiCE workbench. You may make modifications and save changes to the .rea file from within NiCE, however, this is not recommended for users unfamiliar with Nek5000.

Launching a Nek5000 simulation (only conj_ht for now)

The process for launching Nek5000 from within NiCE is not entirely different from creating an input file. NiCE abstracts activities in such a way that they are not so different mechanically, even if the information exchanged is significantly different.

Creating the launcher

Assuming you just generated a Nek5000-specific input file, you already have NiCE running. If not, launch NiCE and wait until an empty workspace appears.

You can create a NiCE launch job by clicking on the green plus icon (+) above the Item Selection column on the left-hand side.

In the list that appears, select Nek5000 Launcher. Note that because of all of the different Items supported, you may need to scroll down to the bottom of the list to find the Nek5000 Launcher.

The central "editor" area of the workbench will change once you click OK on the Item Selection menu. It will display a form that requires some information about the job that you would like to run.

Setting the input file and hostname

The first thing that you need to do is select the input file for Nek5000, which is just the Nek5000 input file that you created in the previous section. Start by clicking the box labelled Input File and select your Nek5000 neutronics *.rea file. Remember that the file you created in the previous section will be named Nek5000_Model_Builder_num.rea

where num is the number of your model Item. In the case below, the model was number four and the input file is Nek5000_Model_Builder_4.rea.

The next step is selecting the machine on which NiCE will launch Nek5000. This can be either local or remote in general. You can add or remove hosts from the table to suit your needs.

Launching the job

After selecting both the input file and the host machine, save the project by clicking the Save floppy disk button in the upper left-hand corner. Use the drop-down menu in the upper right-hand corner to tell NiCE to launch the Nek5000 job. Select the Launch the Job task from the drop-down menu and click the Go! button.

NiCE will immediately launch Nek5000 on the local machine when you click the OK button. If you are trying to launch on a remote machine, NiCE will ask for your credentials on that machine.

Input your username on the remote machine and enter your password. Hit OK and NiCE will attempt to push the job on the remote machine.

Viewing results

You can view the results of the Nek5000 run by clicking on the Output Files and Data tab at the bottom of the Nek5000 Job Launcher form (and just above the streaming text console). If Nek5000 ran successfully, you should see the information that it writes to standard out in editor.

Known Issues

  • NiCE only supports the conj_ht example currently. We plan to increase the pool of available examples to choose from, and eventually allow the user to define their own custom problems.
  • When using a predefined example like conj_ht, any sections of the original .rea file with a predefined number of lines in a particular section will remain that length for now, i.e. conj_ht has 6 lines of Output Field Specification data, and thus the user is not able to add or remove any more than that. This also extends to sections with 0 lines initially defined, meaning they will remain empty.
  • Similar to the previous bullet point, if the number of passive scalars (NPSCAL, p23) is initially set to 0 in a particular example, even if the user changes this value in the Parameters section, the problem will launch with no Passive Scalar Data defined.
  • The conj_ht example initializes with 96 elements (64 thermal, 32 fluid), and allows a maximum of 4100 total elements. It's very unlikely a user will create more than 4100 elements by hand for this example, however if they do, they will likely encounter errors when running Nek5000 because NiCE does not yet rewrite the Nek's SIZE file.

Related

Wiki: Getting NiCE
Wiki: Main Page
Wiki: Nek5000 Plugins in NiCE

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.