Contents
Citing NEMO5
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.
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 is 21229 is on RCAC’s Conte machine. Replace ‘XXXXX’ below with this number.
2. Create a symbolic link to the all.mat materials database file
ln -s /apps/share64/debian7/nemo/r21472/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:
submit --help
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 conte -i ./all.mat nemo-rXXXXX GaAs_sp3d5sstar_SO_Klimeck.in
Here, the computer system conte 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 conte -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.
submit --help
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 16 cores on Conte for 5 minutes (the example below is located in public_examples/bulk_GaAs_parallel)
submit -v conte -i ./all.mat -n 16 -w 0:05:00 nemo-rXXXX bulkGaAs_parallel.in
This will request 16 cores on two nodes
submit -v conte -i ./all.mat -n 32 -N 16 -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 24 -N 16
Support Materials
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
Questions
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
Common Questions
Python
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.
https://nanohub.org/resources/21835
Put them in the same directory as your input file and pass them to the submit command as shown below.
submit -v conte -i ./all.mat -i metasolver.py -i another_meta_solver_if_needed.py nemo-rXXXXX InAs_pin_nanowire_TFET.in.
Input Files
See the regression tests for input fileshttps://nanohub.org/resources/19171
Input Deck and Materials Database Editor
For use with Firefox browser
https://engineering.purdue.edu/gekcogrp/software-projects/nemo5/InputDeckEditor/
Building NEMO5
- If you want to compile from source, it is available: https://nanohub.org/resources/13244
Please see this document for help with building NEMO5
https://docs.google.com/document/d/17chrMIPbwORMSeQSeefcUaIO0ZMZ4VOnkgMExAq4xKQ/edit?usp=sharing
The current manual is here: https://nanohub.org/resources/13112
Again, it is strongly suggested that users run NEMO5 through the nanoHUB workspace.
Developers
Current
- 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
Past
- 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)