You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
Compilación de OpenFOAM.com mediante NIX
|
|
-------------------------------------
|
|
|
|
Mediante estas instrucciones se compila un OpenFOAM a una carpeta local para los casos de uso de ciclos de editar-recompilar-correr.
|
|
|
|
1. Checkout del repo nix en GIT CSC para openfoam, get de las fuentes
|
|
|
|
```bash
|
|
git clone https://git.csc.gob.ar/tupac/openfoam-nix.git
|
|
cd openfoam-nix
|
|
|
|
wget https://develop.openfoam.com/Development/openfoam/-/archive/OpenFOAM-v2212/openfoam-OpenFOAM-v2212.tar.gz
|
|
tar -xzf openfoam-OpenFOAM-v2212.tar.gz
|
|
mv openfoam-OpenFOAM-v2212 OpenFOAM
|
|
```
|
|
|
|
2. Pisar etc/bashrc con el nuestro editado
|
|
|
|
```
|
|
cp bashrc OpenFOAM/etc
|
|
```
|
|
|
|
|
|
3. Entrar a entorno de desarrollo de nix y compilar OpenFOAM en recursos del clúster
|
|
|
|
```bash
|
|
nix develop
|
|
cd OpenFOAM
|
|
source etc/bashrc
|
|
./Allwmake -q -j -s
|
|
```
|
|
|
|
4. Correr con SLURM algún ejemplo (damBreak)
|
|
|
|
```bash
|
|
cp ../slurm-example-damBreak tutorials/multiphase/interFoam/laminar/damBreak/damBreak
|
|
cd tutorials/multiphase/interFoam/laminar/damBreak/damBreak
|
|
blockMesh
|
|
cp -r 0.orig 0
|
|
setFields
|
|
decomposePar
|
|
sbatch slurm-example-damBreak
|
|
# esperar a que termine la corrida paralela
|
|
reconstructPar
|
|
```
|
|
|
|
(Observar que estamos ejecutando `blockMesh`, `setFields`, `decomposePar` y `reconstructPar` en el headnode, en el caso de un proyecto real de envergadura tanto el preprocesamiento como el postprocesamiento debería realizarse de forma paralela en los recursos del clúster con `srun`.)
|
|
|
|
∞. Postinstalación
|
|
|
|
Luego de terminada la sesión de compilación, al abrir una nueva sesión en el futuro:
|
|
|
|
a. Para correr cualquier aplicación hay que incluir el `bashrc` de OpenFOAM
|
|
|
|
```
|
|
source openfoam-nix/OpenFOAM/etc/bashrc
|
|
```
|
|
|
|
previo a lanzar la simulación con `sbatch`.
|
|
|
|
b. Para recompilar hay que volver a cargar el entorno de Nix
|
|
|
|
```
|
|
cd openfoam-nix
|
|
nix develop
|
|
```
|
|
|
|
y disparar la recompilación de OpenFOAM en el clúster, por ejemplo con
|
|
|
|
```
|
|
cd OpenFOAM
|
|
./Allwmake -q -j -s
|
|
```
|