Skip to content

MOOSE

Description

moose website

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:

  1. mkdir projects (from a Development and Testing session)
  2. cd projects
  3. module load moose/26-jul-21
  4. git clone https://github.com/idaholab/moose.git
  5. cd moose
  6. git checkout master
  7. export VTKLIB_DIR=${HPC_VTK_LIB} VTKINCLUDE_DIR=${HPC_VTK_INC}
  8. 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.
  9. cd test; make -j 4; ./run_tests -j 4 (from a login node)
  10. Build and test the phase field module:
    1. cd moose/modules/phase_field
    2. make -j 4
    3. ./run_tests -j 4
  11. Build and test the combined module:
    1. cd moose/modules/combined
    2. make -j 4
    3. ./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