Please see the academic license agreement (esp. sections 1.7 and 2.5.6): https://engineering.purdue.edu/gekcogrp/software-projects/nemo5/licenses/NEMO5_Software_Academic_License.pdf
We also kindly ask that you mention NEMO5 by name in the article text.
It is strongly suggested for most NEMO5 users to run simulations by submitting jobs on the RCAC computing clusters from their nanoHUB workspaces. See “Running NEMO5 Jobs on RCAC from nanoHUB”.
Please see this document for help with building NEMO5
The current manual is here: https://nanohub.org/resources/13112
Again, it is strongly suggested that users run NEMO5 through the nanoHUB workspace. Users may ask questions about building on the discussion forum, but we are unable to provide extensive individual support for this.
These and other materials can be accessed through the ‘Resources’ tab to the left:
NEMO5 2014 Summer Hands-on session materials https://nanohub.org/resources/21824
Regression Tests https://nanohub.org/resources/19171
2012 Summer School (Some of these tutorials are outdated. They can be used as a general guide to NEMO5, but many input options and features have changed.) http://www.nanohub.org/resources/14775
Please post all questions to the discussion forum https://nanohub.org/groups/nemo5distribution/forum
Please provide the input deck, submit command or other execution command, output files if available.
You will automatically receive emails of forum posts. To unsubscribe, uncheck the box at the bottom of the forum page https://nanohub.org/groups/nemo5distribution/forum
If the simulation stops quickly and the stderr shows “PythonCache File not found”, your simulation requires one or more python sources which need to be included as part of your submit statement. You can see the required file in the stdout and it will look like this: “PythonCache: trying to get file: ‘./MetaPoissonQTBM5.py’”
Some python sources are available here. If you find that you need a different one, please post on the forum.
Put them in the same directory as your input file and pass them to the submit command as shown below.
submit -v rossmann -i ./all.mat -i metasolver.py -i another_meta_solver_if_needed.py nemo-r19861 InAs_pin_nanowire_TFET.in.
Input FilesSee the regression tests for input files
Running NEMO5 Jobs on RCAC from nanoHUB
NanoHUB users of NEMO5 can take advantage of the computing power of the Rosen Center for Advanced Computing (RCAC). Users can submit jobs from their nanoHUB workspaces to run on the RCAC clusters. The input files are located in the user’s nanoHUB workspace, the job is submitted and run on RCAC, and the output files are written back to the user’s nanoHUB workspace. It is not necessary to compile NEMO5 or to download the executable. The materials database and an input file are required.
NanoHUB workspace: http://nanohub.org/tools/workspace
Materials database: https://nanohub.org/resources/13606
Sample input files: https://nanohub.org/resources/13410
1. The most recent revision of NEMO5 on RCAC (Rossmann system) for use by nanoHUB workspace is 19861. Replace ‘XXXXX’ below with this number. On Conte, you can use 21229.
2. Create a symbolic link to the all.mat materials database file
ln -s /apps/share64/debian7/nemo/rXXXXX/mat/all.mat
Regardless of where you have the all.mat file located locally, the “database” line in the input file needs to be
database = ./all.mat
3. Use the submit command to request a job to run on the RCAC machines. You can find out more information about the submit command using:
4. A typical job submission command is shown below. This particular example is located in the workspace in /apps/share64/nemo/examples/current/public_examples/bulk_GaAs_band_structure
submit -v rossmann -i ./all.mat nemo-rXXXXX GaAs_sp3d5sstar_SO_Klimeck.in
Here, the computer system rossmann is the venue where the job will execute. The materials database (all.mat) is passed with the ‘-i’ flag. The line ends with the name of the nemo executable and the input file.
For instance, if the materials database file is in a separate directory, the command may look something like
submit -v rossmann -i ./all.mat nemo-rXXXX GaAs_sp3d5sstar_SO_Klimeck.in
After the job runs, output files will be written back to your nanoHUB workspace directory where you submitted the job.
5. Larger simulations can be run on multiple cores. See the “Partitioning” section (4.2.4) of the NEMO5 manual. The total number of cores ‘-n’ and wall time ‘-w’ can specified. For ‘-N’, the value should be equal the number of cores per node. See “RCAC Machine Constraints” section below.
The submit command takes arguments related to the number of processors and walltime required.
The relavent arguments are
-n NCPUS, --nCpus=NCPUS Number of cores for MPI execution -N PPN, --ppn=PPN Number of cores/node for MPI execution -w WALLTIME, --wallTime=WALLTIME
The following job requests 24 cores on Rossmann for 5 minutes (the example below is located in public_examples/bulk_GaAs_parallel)
submit -v rossmann -i ./all.mat -n 24 -w 0:05:00 nemo-rXXXX bulkGaAs_parallel.in
This will request 16 cores on two nodes
submit -v rossmann -i ./all.mat -n 48 -N 24 -w 0:05:00 nemo-rXXXX bulkGaAs_parallel.in
If the request is for more than one total node, the request must be for the total number of cores on the nodes. In other words, one cannot have
-n 36 -N 24
However, one can have
-n 1 -N 1
RCAC Machine Constraints
Job submissions to rossmann go to the standby queue, which has a maximum walltime of 4 hours.
There are currently three venues available.
Rossman has 24 cores per node and Conte has 16 cores per node.
standby@rossmann: 4 hours, maximum_cores=TBD ncn-hub@rossmann: 720 hours, maximum_cores=TBD ncn-hub@conte: 336 hours, maximum_cores=16
You can specify the queue (“standby@rossmann”) or leave it blank (“rossmann”) and the submit command will try to find a venue for the job
Input Deck and Materials Database Editor
For use with Firefox browser
Static Binary and Source Code
- The NEMO5 statically compiled executable for use on your local x86 64 bit linux machine can be found here: https://nanohub.org/resources/13117
- If you want to compile from source, it is available: https://nanohub.org/resources/13244
NEMO5 has been using the following works:
- Michael Povolotskyi: (atomistic) geometry generation, FEM (libmesh), Poisson solver (libmesh), quadrature rules (libmesh), degree-of-freedom map, input deck parser, general simulation class and simulation flow, Makefile system
- Tillmann Kubis: tight-binding Hamiltonian and passivation, Propagation class
- Jim Fonseca: memory management, strain, support, testing
- Jean Michel Sellier: Structure design screen of 1d Heterostructure Tool
- Zhengping Jiang: effective mass Hamiltonian, resonance finder, RTD simulations
- Hong-Hyun Park: transport simulations (NEGF with recursive algorithms, wavefunction formalism)
- Sebastian Steiger: material database, matrix classes, PETSc matrices and linear solvers, SLEPc eigensolvers, messaging system, K-space, QHULL tetrahedralizer and Voronoi cell generator, VFF strain solver, VFF phonon solver, most crystal classes, test suite
- Lang Zeng: random dopants
- Denis Areshkin: 2nd derivative of some VFF energy terms, 2D irreducible wedge finder
- Arun Goud: Nanohub interfaces to 1d Heterostructure Tool, Quantum Dot Lab, Brillouin Zone Viewer, and Resonant Tunneling Diode Simulation using NEGF
- Lars Bjaalie: Nanohub interface to Quantum Dot Lab
- Benjamin Haley: material database (initial version)