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)
There is a newer version of this page. You can find it here.

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.
    [TOC]

Background

Part of our work in fiscal year 2013 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 pain 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 focusing on usability first and inclusion of advanced features second during fiscal year 2014. 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.

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 regenerate the input. Download this from the NiCE project here. After downloading it, create a directory named "Nek5000_Model_Builder" in the

/home/&lt;user&gt;/NiCEFiles/default/

on Linux and Mac in your local file system, and 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 as well. On Windows, the directory structure is different;

C:\Users\&lt;user&gt;\NiCEFiles\default\Nek5000_Model_Builder

.

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.

Getting started

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 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 applicable restrictions. The specifics of Nek5000 input is beyond the scope of this tutorial, however, the list below provides links to where more detailed information about each parameter can be found. 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.

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 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/&lt;user&gt;/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.

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 pre-defined example like conj_ht, any sections of the original reafile with a predefined number of lines in a particular section will remain that length for now, ie. 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.

This work is largely untested.


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.