This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
howto:mfix [2023/09/15 12:36] ccrosby [MFix-20.3.0] |
howto:mfix [2025/04/16 12:28] (current) ccrosby [MFix-Exa] |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| - Through a very slick Python-based GUI. | - Through a very slick Python-based GUI. | ||
| - By customizing the solver and running from the command line. | - By customizing the solver and running from the command line. | ||
| - | However, even when using the customized command line approach, a Python script is still used for building the code. The following instructions apply to MFix-23.2, which has been set up to facilitate both of these approaches. | + | However, even when using the customized command line approach, a Python script is still used for building the code. The following instructions apply from MFix-23.2 |
| + | |||
| + | ==== MFix-Exa ==== | ||
| + | Further to the theme of modernised MFix, is the development of [[https:// | ||
| + | < | ||
| + | |||
| + | === Example job script for MFix-Exa === | ||
| + | <file bash runMFix-exa.pbs> | ||
| + | # | ||
| + | ### Request two compute nodes, each with 12 MPI processes and 2 OpenMP threads per MPI process | ||
| + | #PBS -l select=2: | ||
| + | #PBS -P MECH1234 | ||
| + | #PBS -l walltime=02: | ||
| + | #PBS -q normal | ||
| + | #PBS -o / | ||
| + | #PBS -e / | ||
| + | |||
| + | ### Change directory to a typical test case that comes with MFix. Obviously use your own directory. | ||
| + | cd / | ||
| + | |||
| + | ### Set up the required environment | ||
| + | . / | ||
| + | |||
| + | ### Set up 2 OpenMP threads per MPI process | ||
| + | export OMP_NUM_THREADS=2 | ||
| + | |||
| + | ### Find the number of MPI processes | ||
| + | nproc=`cat $PBS_NODEFILE | wc -l` | ||
| + | |||
| + | mpirun -iface ib0 -np $nproc mfix-exa inputs > mfix.out | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== MFix-24.2.3 ==== | ||
| + | The latest installation makes use of Miniforge-3. | ||
| + | |||
| + | < | ||
| + | module load chpc/ | ||
| + | conda init | ||
| + | conda activate mfix-24.2.3 | ||
| + | </ | ||
| + | |||
| + | You will notice that mfix has been installed in the directory as shown below: | ||
| + | |||
| + | < | ||
| + | (base) [jblogs@cnode1234: | ||
| + | (mfix-24.2.3) [jblogs@cnode1234: | ||
| + | / | ||
| + | (mfix-24.2.3) [jblogs@cnode1234: | ||
| + | </ | ||
| + | |||
| + | To exit this environment, | ||
| + | < | ||
| + | conda deactivate | ||
| + | </ | ||
| + | |||
| + | The MFix source code and tutorials have been unpacked in the directory | ||
| + | < | ||
| ==== MFix-23.2 ==== | ==== MFix-23.2 ==== | ||
| Line 55: | Line 114: | ||
| <file bash runMFix.pbs> | <file bash runMFix.pbs> | ||
| #!/bin/bash | #!/bin/bash | ||
| + | ### | ||
| + | ### | ||
| + | ### The same workflow should work for 23.2 and 23.3, just substitute 23.2 with 23.3 if | ||
| + | ### you need the more recent version. | ||
| + | ### | ||
| + | ### | ||
| ### Request a single node for 4 MPI processes and 2 OpenMP threads per MPI process | ### Request a single node for 4 MPI processes and 2 OpenMP threads per MPI process | ||
| #PBS -l select=1: | #PBS -l select=1: | ||
| Line 71: | Line 136: | ||
| ### Get the following into your path: | ### Get the following into your path: | ||
| ### 1. The standard MFix installation | ### 1. The standard MFix installation | ||
| - | ### 2. gcc-8.3.0 | + | ### 2. gcc-8.3.0 |
| - | ### 3. mpich-3.3 | + | ### 3. mpich-3.3 |
| module load chpc/ | module load chpc/ | ||