MOOSE¶
Description¶
The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics framework primarily developed by Idaho National Laboratory. It provides a high-level interface to some of the most sophisticated nonlinear solver technology on the planet. MOOSE presents a straightforward API that aligns well with the real-world problems scientists and engineers need to tackle. Every detail about how an engineer interacts with MOOSE has been thought through, from the installation process through running your simulation on state of the art supercomputers, the MOOSE system will accelerate your research.
Environment Modules¶
Run module spider moose
to find out what environment modules are available for this application.
Environment Variables¶
- HPC_MOOSE_DIR - installation directory
- HPC_MOOSE_BIN - executable directory
- HPC_MOOSE_LIB - library directory
- HPC_MOOSE_EXE - examples directory
Additional Usage Information¶
Note
Make sure your .bashrc
and .bash_profile
shell initialization scripts are 'clean'. If you encounter errors while setting up MOOSE make sure there are no environment changes caused by those scripts.
Configuring Moose:¶
Basic Steps:
mkdir projects
(from a Development and Testing session)cd projects
module load moose/26-jul-21
git clone https://github.com/idaholab/moose.git
cd moose
git checkout master
export VTKLIB_DIR=${HPC_VTK_LIB} VTKINCLUDE_DIR=${HPC_VTK_INC}
- Run
./scripts/update_and_rebuild_libmesh.sh --enable-vtk-required --with-vtk-lib=${HPC_VTK_LIB} --with-vtk-include=${HPC_VTK_INC}
and allow it to complete. It should finish without errors. cd test; make -j 4; ./run_tests -j 4
(from a login node)- Build and test the
phase field
module:cd moose/modules/phase_field
make -j 4
./run_tests -j 4
- Build and test the
combined
module:cd moose/modules/combined
make -j 4
./run_tests -j 4
General Suggestions If you are not getting a fresh clone of MOOSE, it’s recommended to do a clean-up before you recompile your executables.
cd ~/projects/moose/modules/combined
make clobberall
make -j 4
MOOSE-based Applications Perform all the previous steps related to the MOOSE installation. Then build your application and test it.
cd ~/projects/YourAppName
make clobberall
make -j 4
./run_tests -j 4 (login node)
Additional Information See Bugzilla Request #43807
Running MOOSE¶
Load the MOOSE Module
There are multiple versions. Each version was built with different versions of the required libraries. In general, the latest version of the libraries will be used in the latest version of the module. The module listed below is good in general, but you may have specific reasons to use a different version.
module load moose/26-jul-21
Check the module list, you should see something like:
module list
Currently Loaded Modules:
1) gcc/9.3.0
2) mkl/2020.0.166
3) openmpi/4.1.1
4) petsc/3.15.1
5) qt/5.12.9
6) vtk/8.2.0
7) moose/26-jul-21
Job Script Examples¶
#!/bin/sh
#SBATCH --job-name=moose #Job name
#SBATCH --nodes=1 #Number of nodes (servers, 32 proc/node)
#SBATCH --ntasks=16 #Number of tasks/MPI RankS
#SBATCH --ntasks-per-node=16 #Tasks per node
#SBATCH --ntasks-per-socket=8 #Tasks per socket
#SBATCH --cpus-per-task=1 #Number of CPU per task
#SBATCH --mem-per-cpu=3600mb #Memory (120 gig/server)
#SBATCH --distribution=cyclic:cyclic #Distribute tasks cyclically
#SBATCH --time=12:00:00 #Walltime days-hh:mm:ss
#SBATCH --output=moose-%j.out #Output and error log
#SBATCH --mail-type=END,FAIL #When to email user
#SBATCH --mail-user=your-email@ufl.edu #Email address to send mail to
#SBATCH --account=group_name #Allocation group name,
#SBATCH --qos=group_name #Add -b for burst job
srun --mpi=pmix_v3 ~/projects/moose/modules/combined-opt -i moose_input_file.i
Categories¶
physics, simulation