• Studio FSE

Ambienti di simulazione CFD con Docker: sono la strategia migliore?

Aggiornamento: 6 dic 2021

A chi non è capitato di incorrere in difficioltà di manutenzione del cluster di calcolo o di averne abbastanza di routinarie anomalie che possono insidiare una rapida soluzione dei problemi ed efficace impiego delle risorse, non solo di calcolo, ma anche temporali dell'utente. Molto interessante l'impiego di Docker a supporto dell'lesecuzione di simulazioni CFD in ambiente sia FDS, sia OpenFOAM (R), per fare i due esempi forse più emblematici nell'ambito della simulazione delle conseguenze degli incendi con strumenti open source. In questo breve post vogliamo affrontare l'esperienza molto positiva con OpenFOAM. Tale approccio infatti permette di approfittare della flessibilità della distribuzione pre-compilata per Linux, Mac OS X e Windows, mette a disposizione all'istante un ambiente di sviluppo completo senza nessuna, o una davvero minima, penalizzazione delle performance (di fatto eventualmente solo realtiva ad aspetti marginali di I/O). Il coontainer è isolato e replicabile in un attimo, permettendo di sfruttare al massimo le tecnologie di scalabilità, soprattutto su cloud HPC, ma anche internamente e, cosa non affatto secondaria, nello scambio tra collaboratori.


Di seguito, se hai intenzione di provare anche tu questa modalità di utilizzo dell'ambiente OpenFOAM (R) tramite Docker, riporto un breve richiamo dei passaggi fondamentali per avviare un' instanza del container con la versione 2106 pre-installata.


Installa ed esegui OpenFOAM con Docker (versione 2106):


1. Installa Docker per il tuo sistema operativo [Installa Docker Desktop](https://docs.docker.com/desktop/)

2. Verifica il setup per l'utente [Setup utente Docker](https://docs.docker.com/engine/install/linux-postinstall/)

3. Scarica e installa il container lanciando lo script che puoi scaricare dal sito ufficiale openfoam.com con il comando "sudo bash openfoam-docker.sh" [Esegui script sh](https://develop.openfoam.com/packaging/containers/-/raw/main/openfoam-docker)


4. La tua istanza sarà pronta a lavorare in un attimo e ti comparirà la shell!

5. Dalla versione 1.8 di Docker è anche possibile copiare facilmente i file dall'host al container, prima recupera il nome del container con il comando "docker ps -q" e poi copia i file con il comando "docker cp esempio.zip nomecontainer:/esempio.zip" per copiare ad esempio un archivio nella root del container (o nella cartella desiderata). E viceversa per coppiare i dati completata la simulazione dal container all'host!


A questo punto non resta che verificare l'hardware a disposizione per esempio con "lscpu", settare i parametri della simulazione e dell'ambiente MPI eventualmente da modificare e, poichè le immagini utilizzano l'ultima versione di Ubuntu LTS e vengono create con gli stessi pacchetti della distribuzione ufficiale, nessun problema ci affliggerà più!

L'opportunità di creare poi un container dedicato includendo le librerie e le applicazioni che completano eventuali utility di pre e post processing è ovviamente irrinunciabile.

19 visualizzazioni0 commenti

Post recenti

Mostra tutti