Breve guida sulla compilazione e installazione di OpenFOAM ...

37
Enrico Nobile, Riccardo Pigazzini, Simone Martini DIA - Dipartimento di Ingegneria e Architettura Universit` a degli Studi di Trieste Corso di Termofluidodinamica Computazionale Breve guida sulla compilazione e installazione di OpenFOAM in ambiente Mac OS X E installazione utility PyFoam Novembre 2013

Transcript of Breve guida sulla compilazione e installazione di OpenFOAM ...

Page 1: Breve guida sulla compilazione e installazione di OpenFOAM ...

Enrico Nobile, Riccardo Pigazzini, Simone MartiniDIA - Dipartimento di Ingegneria e ArchitetturaUniversita degli Studi di Trieste

Corso di Termofluidodinamica Computazionale

Breve guida sulla compilazione e installazione diOpenFOAM in ambiente Mac OS X

E installazione utility PyFoam

Novembre 2013

Page 2: Breve guida sulla compilazione e installazione di OpenFOAM ...
Page 3: Breve guida sulla compilazione e installazione di OpenFOAM ...

INDICE 1

Indice1 Introduzione 2

2 Prerequisiti 22.1 Installazione Xcode 4.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Installazione Macports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Installazione OpenMPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Installazione GCC 4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Compilazione ed installazione di OpenFoam 103.1 Creazione della partizione case sensitive . . . . . . . . . . . . . . . . . . . . 103.2 Preparazione dei file necessari all’installazione . . . . . . . . . . . . . . . . 113.3 Applicazione delle patches e modifica di .bashrc . . . . . . . . . . . . . . . . 13

3.3.1 Cambio della versione corrente di GCC . . . . . . . . . . . . . . . . 153.4 Installazione di OpenFOAM . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5 Verifica dell’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Per cominciare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.7 Impostazione del file .bashrc, .profile . . . . . . . . . . . . . . . . . . . . . . 203.8 Installazione di versioni multiple . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Installazione di PyFoam 234.1 Installare PyQt4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.1 Instalazione della libreria Qt . . . . . . . . . . . . . . . . . . . . . . 264.1.2 Installazione di SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.1.3 Adattamento di Qt per versioni di OSX superiori a 10.6 . . . . . . . . 264.1.4 Installazione di PyQt 4.8.6 . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Installare VTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3 Installazione librerie aggiuntive di PyFoam . . . . . . . . . . . . . . . . . . 32

A Comandi utili in terminal 34

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 4: Breve guida sulla compilazione e installazione di OpenFOAM ...

2 1 Introduzione

1 IntroduzioneQuesta vuole essere una guida semplificata in italiano su come compilare ed installare Open-FOAM su mac OSX.Questo poiche alla data attuale non e stato possibile trovare una guida valida per le versionirecenti di mac OS (10.7, 10.8), che presentano qualche complicazione rispetto alla precedente(10.6.8) .La presente guida e stata redatta durante lo svolgimento del corso di termofluidodinamicacomputazionale, ed e originariamente indirizzato a studenti che come noi vogliano, nel con-testo di questo insegnamento, utilizzare OpenFOAM in ambiante mac OSX.Data la nostra competenza superficiale nell uso del terminale e di scripting in generale, questeistruzioni non hanno come ambizione di essere dettagliate, ma bensı di riassumere in lin-gua italiana le varie guide, che pezzo per pezzo ci hanno portato ad installare correttamenteOpenFOAM.

2 PrerequisitiIl requisito principale -sottinteso- e che il lettore sappia come orientarsi in ambiente OSX eche abbia un minimo di conoscenze dei comendi base del Terminal.Per completezza indicheremo in appendice qualche comando di terminal base per chi ne aves-se bisogno.I requisiti necessari per l’installazione di Openfoam 2.1.0 sono i seguenti:

• Installazione valida di OSX versione 10.7 ”Lion” o 10.8 ”Mountain Lion”

• Xcode 4.2.1 (per OSX 10.7) o Xcode 4.6.3 (per OSX 10.8)

• Macports

• OpenMPI 1.6

• GCC 4.2 e 4.6

Cosa vi puo essere utile:

• iTerm2

• Aquamacs Emacs, TextWrangler o Emacs

Le versioni di Xcode e OpenFOAM da utilizzare sono le esatte versioni indicate, questo poicheversioni successive dell’una o dell’altra applicazione hanno portato a problemi nell’installa-zione che nel momento della stesura di questa guida non siamo stati in grado di risolvere.iTerm2 e una valida alternativa al terminal incluso in OSX, ed e liberamente scaricabi-le dal sito http://www.iterm2.com, mentre Aquamacs Emacs e TextWrangler so-no editor con riconoscimento della sintassi per vari linguaggi di programmazione o an-che per file di testo semplici. Aquamacs emacs e scaricabile liberamente dal sito http://aquamacs.org/, TextWrangler lo si trova all’indirizzo http://www.barebones.com/products/textwrangler/ oppure sull’App Store.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 5: Breve guida sulla compilazione e installazione di OpenFOAM ...

2.1 Installazione Xcode 4.2.1 3

2.1 Installazione Xcode 4.2.1Iniziando dai requisiti, la versione 4.2.1 di Xcode la si puo scaricare solo dalla sezione deve-loper del sito Apple all’indirizzo:https://developer.apple.com/downloads/index.actionQuesto significa essenzialmente che se siete in possesso di un apple ID, e come utilizzatori diOSX Lion lo siete, dovete registrarvi a meno che non lo siate gia come sviluppatori Apple. Ilfile da scaricare e installxcode 421 lion.dmg , cliccando sul link ”Xcode 4.2.1 for Lion”. Unavolta scaricato (1,68 GB) aprite il file e procedete con l’installazione.

2.2 Installazione MacportsL’applicazione Macports la si trova puntando all’indirizzo:http://www.macports.org/install.phpe cliccando sul link ”Lion” presente all’inizo del primo paragrafo puntato, verra quin-di scaricato il pacchetto MacPorts-2.1.1-10.7-Lion.pkg, salvatelo e apritelo per installarel’applicazione.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 6: Breve guida sulla compilazione e installazione di OpenFOAM ...

4 2.3 Installazione OpenMPI

(a) Pagina per il download

(b) Finestra installazione

Figura 2.1: Installazione MacPorts

2.3 Installazione OpenMPINel passaggio da OSX 10.6.8 ”Snow Leopard” a OSX 10.7 ”Lion”, Apple ha deciso dinon fornire piu insieme al sistema operativo OpenMPI (un API standardizzato utilizzatosolitamente per il calcolo parallelo), necessario all’ installazione di OpenFOAM.Bisogna quindi procurarsi una versione di MPI per procedere, ma questa non essendo unapplicazione che si trova sotto forma di installer necessita di essere compilata ed installatadall’utente.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 7: Breve guida sulla compilazione e installazione di OpenFOAM ...

2.3 Installazione OpenMPI 5

1. Come prima cosa bisogna scaricare il codice sorgente di OpenMPI dahttp://www.open-mpi.org/software/, la versione attuale e la 1.6,scaricate il file e salvatelo nella cartella Home (quella che porta il vostro nome utente).Il nome del file e openmpi-1.6.tar.gz.

2. Una volta scaricato il file nella cartella indicata, aprire Terminal.app (Terminale) chetrovate nella cartella Applicazioni/Utility oppure iTerm e scompattare l’archivio .tarscrivendo nella linea di comando:

tar zxvf openmpi-1.6.tar.gz

Nelle seguenti figure sono riportate le schermate relative all’espansione dell’archivio.

(a) Schermata prima dell’espansione archivio

(b) Schermata a fine espansione archivio

Figura 2.2: Espansione archivio sorgente di OpenMPI

Questa operazione andra a creare una cartella chiamata /openmpi-1.6 , ora prima di pro-cedere dobbiamo portarci con il terminale nella directory appena creata, per verificarela presenza della cartella digitare il seguente comando in Terminal:

ls

Questo comando vi mostrera il contenuto della cartella nella quale siete situati, nelnostro caso la home, se l’espansione e andata a buon fine nella lista dovrebbe comparireopenmpi-1.6.Ora, per portarci nella cartella appena creata digitiamo:

cd openmpi-1.6

Quello che appare dopo questi passaggi dovra essere simile alle seguenti immagini:

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 8: Breve guida sulla compilazione e installazione di OpenFOAM ...

6 2.3 Installazione OpenMPI

(a) Lista file/cartelle, comando ls

(b) Cambio della directory, comando cd

Figura 2.3: Cambio della directory

3. Una volta all’interno di questa cartella possiamo eseguire lo script di configurazionedigitando:

./configure --prefix=/usr/local

Si riportano le schermate di inizio e fine configurazione:

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 9: Breve guida sulla compilazione e installazione di OpenFOAM ...

2.3 Installazione OpenMPI 7

(a) Schermata inizio configurazione

(b) Schermata a fine configurazione

Figura 2.4: Configurazione files sorgente di OpenMPI

4. Finita la configurazione, assunto che non si siano verificati problemi, si procedecompilando i file sorgente con il comando:

make all

Questa operazione andra a compilare le librerie e i files binari di OpenMPI e con-figura gli adattatori (Wrappers) per l’uso dei compiler specificati, nel nostro casonon abbiamo specificato niente, se si desidera approfondire questo punto, si facciariferimento a https://sites.google.com/site/dwhipp/tutorials/installing-open-mpi-on-mac-os-x.Questa operazione necessitera di un po di tempo. Le schermate di inizio e finecompilazione dovrebbero essere analoghe a quelle nelle figure sottostanti.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 10: Breve guida sulla compilazione e installazione di OpenFOAM ...

8 2.3 Installazione OpenMPI

(a) Schermata inizio compilazione

(b) Schermata a fine compilazione

Figura 2.5: Compilazione files sorgente di OpenMPI

5. Fatta la compilazione, si procede con l’ultima fase, l’instalazione vera e propria diOpenMPI, si utilizza il comando:

sudo make install

Una volta premuto Enter si immette la password e poi di nuovo Enter. Nota Bene:Il comando sudo, che sta per Super User DO offre la possibilita, una volta inserita lapassword utente (di amministratore) di effettuare modifiche che possono anche metterein pericolo la stabilita del sistema, si consiglia quindi farne un uso consapevole perevitare possibili guai.Vedi le figure sottostanti per le schermate di inizio e fine installazione di OpenMPI:

Infine, per verificare che la versione di OpenMPI sia stata effettivamente installata, si puoprocedere con il comando:

mpirun -V

Il comando riportera la versione di OpenMPI presente sul mac, nel nostro caso, come si puovedere dalla figura seguente la versione 1.6. Ora e possibile eliminare la cartella /openmpi-1.6.Con questo si conclude l’installazione di OpenMPI su OSX 10.7.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 11: Breve guida sulla compilazione e installazione di OpenFOAM ...

2.4 Installazione GCC 4.6 9

(a) Schermata inizio installazione

(b) Schermata a fine installazione

Figura 2.6: installazione files sorgente di OpenMPI

Figura 2.7: Verifica installazione di OpenMPI

2.4 Installazione GCC 4.6L’ultima componente che e necessario installare e GCC versione 4.6, per questa installazionesi sfruttera MacPorts, digitando nel Terminal:

sudo port install gcc46

Anche in questo caso ci sara da immettere la password dato l’utilizzo del comando sudo,questo comando andra a scaricare dalla repository di MacPorts il pacchetto di GCC 4.6 e loinstallera. Finito con l’installazione possiamo verificare le versioni di gcc installate con ilcomando:

port select --list gcc

Se l’installazione di GCC 4.6 e andata a buon fine dovrebbe comparire nella lista la vo-ce mp-gcc46. Verificata anche questa installazione possiamo concludere la parte dedicataall’installazioni di tutti i pacchetti necessari ad installare OpenFOAM.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 12: Breve guida sulla compilazione e installazione di OpenFOAM ...

10 3 Compilazione ed installazione di OpenFoam

(a) Schermata inizio installazione

(b) Schermata verifica installazione

Figura 2.8: installazione GCC 4.6

3 Compilazione ed installazione di OpenFoamIn questa sezione si sottintende che il lettore abbia completato con successo tutte le precedenti,e si procede prima con la preparazione di una partizione del disco che sia Case Sensitive, datoche il file system di OSX non lo e, dove poter compilare ed installare OpenFOAM.

3.1 Creazione della partizione case sensitivePer la creazione di questa partizione faremo uso della Utility Disco, che si trova come il termi-nale nella cartella Applicazioni/Utility. Una volta lanciata l’applicazione, cliccare sull’iconaNuova immagine e riempire i campi come indicato in figura 3.1 (b). Verra creata un immaginedisco di tipo sparse nella cartella Home, che una volta aperta si presentera come una perifericadi massa sulla colonna destra del Finder.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 13: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.2 Preparazione dei file necessari all’installazione 11

(a) Schermata Utility Disco

(b) Schermata opzioni

Figura 3.1: Partizione case sensitive

3.2 Preparazione dei file necessari all’installazione

Cominciamo con lo scaricare i pacchetti di OpenFOAM 2.1.0 dal sito http://sourceforge.net/projects/foam/files/foam/2.1.0/ e scaricare ipacchetti ThirdParty-2.1.0.tgz e OpenFOAM-2.1.0.tgz vedi 3.2.In data 14.10.2013 e stata rilasciata sul sito ufficiale di OpenFOAM la versione 2.2.2 chepero ha dato dei problemi nell’installazione, il sito sopra indicato fornisce la versione provata

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 14: Breve guida sulla compilazione e installazione di OpenFOAM ...

12 3.2 Preparazione dei file necessari all’installazione

Figura 3.2: Pagina download OpenFOAM 2.1.0

dagli autori e funzionante.In seguito affronteremo la procedura per l’instalazione di OpenFOAM 2.1.0, che A¨ pero deltutto analoga a quella nel caso si scegliesse di installare OpenFOAM 2.1.1 o OpenFOAM2.2.0 (a patto di scaricare le relative patches). Spostare/copiare gli archivi scaricati inprecedenza nella partizione creata in precedenza.Ora dobbiamo scaricare le patches create da Bernhard Gschaider necessarie al fun-zionamento di OpenFOAM su Mac OSX, queste le si trovano all’indirizzo http://www.cfd-online.com/Forums/openfoam-installation-windows-mac/95763-1-9-aka-2-1-mac-os-x.html.

Nota Bene: per scaricare le patches e necessario essere iscritti al sito cfdonline.Una volta scaricati i file, spostarli nella partizione di OpenFOAM. Spacchettare gli archivi diOpenFOAM scaricati precedentemente nella partizione cliccandoci sopra due volte.Aprire il terminale e andare nella cartella di OpenFOAM con il comando:

cd /Volumes/OpenFOAM-v.2.1/

Con il comando:

ls -l

si ottiene una lista dei files contenuti nella cartella attuale, se tutto e andato a buon fine ilcontenuto della cartella dovrebbe essere quello in 3.3(a) Con il comando mv spostiamo lepatch nelle cartelle di destinazione, i comandi sono i seguenti 3.3(b):

mv ThirdParty-2.1.0.tgz ThirdParty-2.1.0mv OpenFOAM-2.1.x-Mac.patch OpenFOAM-2.1.0mv OpenFOAM-2.1.x-gcc42.patch OpenFOAM-2.1.0

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 15: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.3 Applicazione delle patches e modifica di .bashrc 13

(a) Contenuto della cartella

(b) Spostamento Files

Figura 3.3: Collocamento patches nelle cartelle di installazione

3.3 Applicazione delle patches e modifica di .bashrcPer l’applicazione delle patches, necessarie all’installazione su OSX, spostarsi nella cartellaOpenFOAM-2.1.0 e procedere con il comando (vedi figura 3.4):

patch -p1 <

Per l’applicazione della prima patch, scrivere

patch -p1 < OpenFOAM-2.1.x-Mac.patch

Ora bisogna cambiare dei diritti di esecuzione di un comando Python tramite il comandochmod, per visualizzare lo stato dei diritti di lettura/scrittura ed esecuzione del file prima di

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 16: Breve guida sulla compilazione e installazione di OpenFOAM ...

14 3.3 Applicazione delle patches e modifica di .bashrc

(a) Schermata applicazione patch

(b) Schermata fine patch

Figura 3.4: Applicazione patch con GCC 4.2

modificarlo digitare:

ls -l bin/addr2line4Mac.py

Ora, modifichiamo i diritti con il comando:

chmod a+x bin/addr2line4Mac.py

Immettere di nuovo il comando:

ls -l bin/addr2line4Mac.py

Per verificare che le modifiche siano state applicate correttamente, vedi figura 3.5

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 17: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.3 Applicazione delle patches e modifica di .bashrc 15

Figura 3.5: Modifica diritti

3.3.1 Cambio della versione corrente di GCC

Per procedere con la prossima patch abbiamo bisogno di rendere la versione di GCCprecedentemente installata (4.6) quella corrente.

1. Per controllare le versioni di GCC installate e quale di queste e la corrente digitare ilcomando (figura 3.6(a)):

port select --list gcc

La versione corrente , a questo punto dovrebbe essere quella preinstallata in OSX, ossiaGCC 4.2.

2. Per selezionare ora la versione 4.6 di GCC utilizzare il comando (figura 3.6(b)):

sudo port select --set gcc mp-gcc46

3. Per la verifica della versione corrente di GCC 4.6 scriviamo il comando:

gcc -v

o alternativamente ripetere il comando:

port select --list gcc

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 18: Breve guida sulla compilazione e installazione di OpenFOAM ...

16 3.3 Applicazione delle patches e modifica di .bashrc

(a) Schermata applicazione patch

(b) Schermata fine Patch

Figura 3.6: Selezione della versione GCC 4.6

(a) Verifica tramite gcc -v

(b) Verifica tramite port select –list gcc

Figura 3.7: Verifica del GCC attivo

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 19: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.4 Installazione di OpenFOAM 17

3.4 Installazione di OpenFOAM1. Applichiamo la seconda patch utilizzando GCC 4.6. Per prima cosa portiamoci nella

cartella OpenFOAM-v2.1. Infine con il comando:

patch p1 < OpenFOAM-2.1.x-Mac-gcc46.patch

eseguiamo la patch come da figura 3.8

(a) Applicazione della patch

(b) Shermata di fine patch

Figura 3.8: Schermata applicazione della patch con GCC 4.6

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 20: Breve guida sulla compilazione e installazione di OpenFOAM ...

18 3.4 Installazione di OpenFOAM

2. Modifichiamo il file bashrc Apriamo il file con un editor di testo il file /ect/bashrc escriviamo le righe seguenti come in figura 3.9:

ulimit -n 1024

export WM_NCOMPROCS=20

Figura 3.9: Modifica del file bashrc

ed infine salvare.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 21: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.4 Installazione di OpenFOAM 19

3. Dopo aver modificato il file come descritto in precedenza, torniamo alla home e creiamoun link simbolico tramite il comando:

ln -s /Volumes/OpenFOAM-v2.1/ OpenFOAM

Figura 3.10: Creazione del link simbolico

4. Come ultimo comado digitare:

. OpenFOAM/OpenFOAM-2.1.0/etc/bashrc

Tornare quindi nella directory OpenFOAM digitare:

./Allwmake

per lanciare l’installazione di OpenFOAM, se volete tenere un log in caso di errori oaltro, digitare:

./Allwmake | tee Allwmake.log

(a) etc/bashrc

(b) Avvio dell’installazione

Figura 3.11: Schermate per l’avvio dell’installazione

A questo punto non resta che aspettare la fine dell’installazione, a dipendenza della macchinasulla quale si sta eseguendo l’installazione puo durare piu di tre ore.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 22: Breve guida sulla compilazione e installazione di OpenFOAM ...

20 3.5 Verifica dell’installazione

3.5 Verifica dell’installazionePer verificare la corretta installazione di OpenFOAM si utilizza lo script

foamInstallationTest

digitandolo nel terminal una volta all’interno della cartella OpenFOAM-2.x.x/bin se non visono problemi, si puo procedere con la creazione della cartella di esecuzione ’run’, in casocontrario bisogna controllare che si sono seguite le procedure di installazione corrette, comedescritto nella presente guida.

3.6 Per cominciareCreiamo una cartella all’interno dell’immagine disco di OpenFOAM chiamata<NOMEUTENTE>-2.x.x e con il terminale portiamoci nella cartella appena creata.A questo punto creiamo la cartella ’run’ immettendo

mkdir -p $FOAM_RUN

Ora copiamo la cartella dei tutorials all’interno della cartella di installazione di OpenFOAMnella cartella appena creata utilizzando il deguente comendo nel terminale:

cp -r $FOAM_TUTORIALS $FOAM_RUN

Ora possiamo far girare il primo esempio, un caso di flusso incomprimibile in una cavitA , ciportiamo all’interno della cartella ’cavity’ con:

cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity

Ora, per creare la mesh e in seguito far girare il solver immettiamo in sequenza i seguenticomandi:

blockMeshicoFoam

3.7 Impostazione del file .bashrc, .profilePer un utilizzo piu agevolato del terminale per le operazioni che competono all esecuzionedi OpenFOAM, e pratico creare delle abbreviazioni dei comandi utilizzati di frequente, inquesto caso il mounting dell’ immagine disco di OpenFOAM, la modifica di file di testo conun programma di vostra scelta e la visualizzazione dei risultati con Paraview.Per fare cio, bisogna far uso del tool ’hdiutil’ per il mounting e definire le abbreviazionitramite la creazione di cosiddetti ’alias’ nel file .bashrc (per quelli che utilizzano OSX 10.7) o.profile (nel caso di OSX 10.8). Questi file si trovano nella cartella home del mac, alla qualesi accede digitando

cd

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 23: Breve guida sulla compilazione e installazione di OpenFOAM ...

3.7 Impostazione del file .bashrc, .profile 21

nel terminale, da qualunque posizione vi trovate. Il fatto che questi due files abbiano unpunto prima del nome significa che sono invisibili nel finder, quindi, a meno che non avetegia impostato nelle preferenze del finder la visibilita dei file nascosti dovete farlo per riusciread aprirli con un programma come Acquamacs o altri.Ora, per permettere alla utility ’hdutil’ di fare il mounting dell’immagine di OpenFOAMdobbiamo rimuovere il link simbolico e creare una cartella denominata OpenFOAM tramite iseguenti comandi:

rm OpenFOAMmkdir OpenFOAM

Una volta aperto il file indicato, aggiungete le seguenti righe di testo al file, facendo attenzioneche il nome delle cartelle negli URL specificati siano corretti per il vostro caso:

alias of21=’hdiutil attach "/Users/riccardo/OpenFOAM-v2.1.sparseimage"-mountpoint "/Users/riccardo/OpenFOAM" > /dev/null ;. /Users/riccardo/OpenFOAM/OpenFOAM-2.1.1/etc/bashrc’alias of22=’hdiutil attach "/Users/riccardo/OpenFOAM-v2.2.0.sparseimage"-mountpoint "/Users/riccardo/OpenFOAM" > /dev/null ;. /Users/riccardo/OpenFOAM/OpenFOAM-2.2.0/etc/bashrc’

alias paraview="/Applications/’Paraview_4.0.1.app’/Contents/MacOS/paraview"alias emacs="/Applications/’Aquamacs.app’/Contents/MacOS/Aquamacs"alias Emacs="/Applications/Emacs.app/Contents/MacOS/Emacs"alias parax="touch case.foam && paraview --data=case.foam &"alias paraFoam="paraFoam -builtin"

Il caso indicato si riferisce ad un’installazione di multiple versioni di OpenFOAM su di unasola macchina, come si puo notare dai due alias of21 e of22, e la presenza di due editor distinti(Aquamacs e Emacs).Un ulteriore ed ultima aggiunta al file in questione potrebbe essere quella relativa al color co-ding all’interno del terminale, che permette di riconoscere grazie all’uso dei colori le cartelle,i file, i link simbilici o altro, uno schema di colori puo essere:

export CLICOLOR=1export LSCOLORS=GxFxCxDxBxegedabagaced

Ora per rendere operative le modifiche salvate il file e riavviate il terminale, sarete in grado aquesto punto, per esempio, di ritoccare il file .bashrc con Aquamacs semplicemente digitandonel terminale:

emacs .bashrc

se il collegamento e stato fatto correttamente vi si aprira il file da poco modificato in unanuova finestra di Aquamacs, uscite dal programma per tornare al terminale. Per effettuareil mounting dell’immagine disco di OpenFOAM bastera digitare of21 o of22 (a dipendenzadella versione installata) ed in seguito il comando:

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 24: Breve guida sulla compilazione e installazione di OpenFOAM ...

22 3.8 Installazione di versioni multiple

run

accedermeo cosı direttamente alla cartella ’run’ creata in precedenza, nella quale troveremo lasottocrtella ’tutorials’: Per concludere, tornate col terminale nella cartella ’cavity’ utilizzatain precedenza per la verifica dell’installazione e digitare in sequenza:

touch case.foamparaview case.foam

Anche in questo caso se i collegamenti sono corretti verra aperta una finestra di Paraview con ilcase case.foam caricato, cliccare su apply e poi nel menu a tendina surface with wireframe pervisualizzare la mesh creata in precedenza. Con questo si conclude la verifica dell installazionee di conseguenza si e pronti per poter utilizzare OpenFOAM.

3.8 Installazione di versioni multipleCome abbiamo giapotuto accennare, l’installazione di versioni multiple di OpenFOAM e pos-sibile, a patto di alcuni accorgimenti. Per quello che riguarda l’installazione di una secondaversione ricordarsi di effettuare l’unmount dell’immagine disco della versione correntementeinstallata prima di procedere di nuovo dalla sezione 3. Da notare che prima di creare il linksimbolico bisogna eliminare la cartella ’OpenFOAM’ precedentemente creata, poiche in casocontrario il terminal restituirebbe un errore (non A¨ possibile creare un link simbolico con lostesso nome di una cartella esistente). Dato che il mountpoint delle due versioni presenti A¨identico (stessa cartella ’OpenFOAM’), si sconsiglia di montare le due versioni contempora-neamente. Nota bene che il montaggio delle due versioni puo essere effettuato, ma a patto didifferenziare i mountpoint all’interno degli alias.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 25: Breve guida sulla compilazione e installazione di OpenFOAM ...

4 Installazione di PyFoam 23

4 Installazione di PyFoamPrima di cominciare con l’installazione di PyFoam e tutte le sue componenti, occorre accer-tarsi che Python sia installato correttamente sul mac.Per controllare l’installazione corrente di Python eseguiamo il seguente comando su terminal:

python

la schermata risultante dovrebbe essere analoga alla seguente:

Figura 4.1: Verifica installazione di Python

Si prosegue collegandosi all’indirizzo della pagina wiki, sezione downloads di PyFoam:http://openfoamwiki.net/index.php/Contrib_PyFoam#Downloads escaricando l’ultima versione stabile del software (in questo caso 0.6.1) in formato .tar,scompattare una volta scaricato il pacchetto e creare (per convenienza) una cartella diinstallazione nella quale sposteremo il contenuto digitando:

tar -xf Downloads/PyFoam-0.6.1.tar.gzmkdir installmv Downloads/PyFoam-0.6.1 install

Ora, ci spostiamo all’interno della cartella PyFoam-0.6.1 e installeremo utilizzando lo scriptsetup.py:

sudo python setup.py install

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 26: Breve guida sulla compilazione e installazione di OpenFOAM ...

24 4 Installazione di PyFoam

(a) Avvio dell’installazione

(b) Fine dell’installazione

Figura 4.2: Schermate relative all’installazione di PyFoam

Possiamo quindi verificare l’avvenuta installazione con il comando:

PyFoamVersion.py

le seguenti schermate fanno parte dell’output:In seguito nella guida sara mostrato come installare parte delle librerie che nella figura 4.3(b)

sono elencate.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 27: Breve guida sulla compilazione e installazione di OpenFOAM ...

4 Installazione di PyFoam 25

(a) Versione intsallata

(b) Librerie installate

Figura 4.3: Verifica dell’installazione di PyFoam

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 28: Breve guida sulla compilazione e installazione di OpenFOAM ...

26 4.1 Installare PyQt4

4.1 Installare PyQt4Per l’installazione di PyQt4 bisogna innanzitutto procedere con il download dei seguentipacchetti:

• Libreria Qt 4.7.4: http://get.qt.nokia.com/qt/source/qt-mac-opensource-4.7.4.dmg

• SIP 4.13: http://pkgs.fedoraproject.org/lookaside/pkgs/sip/sip-4.13.tar.gz/21b4e2cad56e4156df2220143264b8ff/sip-4.13.tar.gz

• PyQt 4.8.6: http://distfiles.macports.org/python/PyQt-mac-gpl-4.8.6.tar.gz

Una volta scaricati i pacchetti possiamo cominciare ad installarli uno per volta.

4.1.1 Instalazione della libreria Qt

L’installazione della libreria Qt e’ abbastanza semplice, bisogna solo utilizzare il file .dmgscaricato e seguire le istruzioni date dall’installer, lasciare la destinazione dell’installazione didefault.

4.1.2 Installazione di SIP

Installiamo ora SIP, per iniziare, portarsi con il terminal all’interno della cartella creata dallospacchettamento, si puo spostare questa cartella all’interno di quella nominata ’install’ creatain precedenza.una volta all’interno della cartella di sip immettere nel terminal i seguenti comandi:

python configure.pymakesudo make install

4.1.3 Adattamento di Qt per versioni di OSX superiori a 10.6

Per evitare errori del tipo ”This version of Mac OS X is unsupported” se si vuole usare Qt inOSX Lion o successive, bisogna modificare il file header ’qglobal.h’ che si trova all’internodella cartella /Library/Frameworks/QtCore.framework/Versions/4/Headers. Per la ricerca delfile A¨ anche posibile utilizzare Spotlight, una volta apero il file con un editor di testo apiacimento bisogna localizzare le seguenti righe all’interno del codice:

# if !defined(MAC_OS_X_VERSION_10_6)# define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1# endif

Se si sta utilizzando 10.7, inserire le seguenti linee dopo quelle appena citate:

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 29: Breve guida sulla compilazione e installazione di OpenFOAM ...

4.1 Installare PyQt4 27

# if !defined(MAC_OS_X_VERSION_10_7)# define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 1# endif

Mentre se si sta utilizzando 10.8, inserire:

# if !defined(MAC_OS_X_VERSION_10_7)# define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 1# endif# if !defined(MAC_OS_X_VERSION_10_8)# define MAC_OS_X_VERSION_10_8 MAC_OS_X_VERSION_10_7 + 1# endif

come si puo vedere in figura 4.4.

Figura 4.4: Modifica del file qglobal.h

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 30: Breve guida sulla compilazione e installazione di OpenFOAM ...

28 4.1 Installare PyQt4

Ora si procede cambiando anche la seguente linea di codice:

if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6)

con la seguente (nel caso di OS 10.7):

if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_7)

o la seguente (nel caso di OS 10.8):

if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_8)

Ora si puo salvare il file e chiudere l’editor.

4.1.4 Installazione di PyQt 4.8.6

L’installazione di PyQt e del tutto analoga a quella di sip, ci si porta nuovamente con ilterminal all’interno della cartella di PyQt e da li si immettono i seguenti comandi:

python configure.py -d /Library/Python/2.7/site-packages/ -g --use-arch x86_64make

La compilazione (make) puo durare diversi minuti a dipendenza della macchina su cui si stalavorando.Una volta conclusa la compilazione, si procede con l’installazione vera e propeia tramite ilcomendo:

sudo make install

Imettere la password utente quando richiesto e aspettare la conclusione dell’installazione. Sequesta e andata a buon fine phyton dovrebbe poter riconoscerla, si puo quindi testare la correttainstallazione digitando:

pythonimport PyQt4

se non ci sono errori l’installazione e stata eseguita correttamente, per uscire da python usareil comando:

quit()

Con questo ultimo passo si conclude l’installazione di PyQt4.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 31: Breve guida sulla compilazione e installazione di OpenFOAM ...

4.2 Installare VTK 29

4.2 Installare VTKCome si puo vedere, immettendo nel terminale la seguente stringa:

pyFoamVersion.py

la libreria VTK risulta ancora non installata, si comincia scaricando il pacchetto di installazio-ne tramite il seguente link: http://www.vtk.org/files/release/5.10/vtk-5.10.1.tar.gz. Di conseguenza abbiamo creato una cartella ”install” nella nostra home di-rectory, dove abbiamo copiato il file e in seguito spacchettato.Prima di iniziare con l’installazione di VTK occorre installare l’ultima versione di cmake, tcl etk. Questi si possono facilmente installare tramite MacPorts immettendo il seguente comandonel terminale:

sudo port install -v cmake

(a) Verifica pacchetti installati

(b) Avvio dell’installazione cmake

Figura 4.5: Schermate per la verifica e l’avvio dell’installazione

Una volta installato cmake, procediamo con la creazione delle cartelle di installazione,inserendo i seguenti comandi nel terminal:

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 32: Breve guida sulla compilazione e installazione di OpenFOAM ...

30 4.2 Installare VTK

cd install/vtk-5.10.1/VTK5.10.1/mkdir buildcd build

Ora si passa a configurare cmake, scrivendo nel terminale (sempre restando nella cartellabuild):

ccmake ..

Questo ci portera in una schermata come in figura, bisogna quindi premere il tasto ’c’, ed una volta apparse le opzioni da cambiare, bisogna fare attenzione a far si cheBUILD SHARED LIBS sia ON, come VTK WRAP PYTHON sia ON, in caso contrario siperderebbe il supporto a Python. Le opzioni si cambiano da ON a OFF selezionandole e pre-mendo Enter.Una volta fatto questo si prema di nuovo il tasto ’c’ fino a quando non appare un opzione [g]ai piedi della schermata, a quel punto premere il tasto ’g’.Fatto questo si ritorna alla schermata precedente del terminale, dove ora si potra compilareVTK con il comando:

make

Questa operazione necessitera parecchio tempo a completarsi, un ora o piu, c’e quindi tutto iltempo per un caffe.Una volta finita l’installazione di VTK, immettere i seguenti comandi nel terminal perverificare l’ installazione:

export LD_LIBRARY_PATH=/Users/Ricky/install/vtk-5.10.1/VTK5.10.1/build/bin/export DYLD_FALLBACK_LIBRARY_PATH=/Users/Ricky/install/vtk-5.10.1/VTK5.10.1/build/bin/export PYTHONPATH=/Users/Ricky/install/vtk-5.10.1/VTK5.10.1/build/bin/export PYTHONPATH=$PYTHONPATH:/Users/Ricky/install/vtk-5.10.1/VTK5.10.1/Wrapping/Python

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 33: Breve guida sulla compilazione e installazione di OpenFOAM ...

4.2 Installare VTK 31

(a) Configurazioni ccmake

(b) Avvio dell’installazione VTK

Figura 4.6: Configurazioni ccmake e installazione VTK

Ed in seguito:

python>>> import vtk

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 34: Breve guida sulla compilazione e installazione di OpenFOAM ...

32 4.3 Installazione librerie aggiuntive di PyFoam

Se quest’operazione non fornisce errori, vuol dire che l’installazione di VTK e andata a buonfine, e che Phyton e in grado di vedere python-vtkSi puo inoltre controllare nuovamente la corretta installazione con il comando:

pyFoamVersion.py

Nella lista delle librerie si dovrebbe vedere che VTK risulta installata.

(a) Controllo python-vtk

(b) Verifica installazione VTK

Figura 4.7: Verifiche installazione

4.3 Installazione librerie aggiuntive di PyFoamCome mostrato in precedenza in precedenza, digitando nel terminal:

pyFoamVersion.py

si ottiene la schermata in figura 4.5 (a), che ci mostra la presenza o meno di una serie dilibrerie aggiuntive, in seguito mostreremo brevemente come installarne alcune.

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 35: Breve guida sulla compilazione e installazione di OpenFOAM ...

4.3 Installazione librerie aggiuntive di PyFoam 33

Gnuplot 1.8 Scaricare il pacchetto:http://sourceforge.net/projects/gnuplot-py/files/Gnuplot-py/1.8/gnuplot-py-1.8.tar.gz/download Spostarlo nella cartella ’install’, portarsiall’interno della cartella di gnuplot e immettere nel terminal:

sudo python setup.py install

Ply 3.4 Scaricare il pacchetto:https://pypi.python.org/packages/source/p/ply/ply-3.4.tar.gz#md5=ffdc95858819347bf92d7c2acc074894 Spostarlo nella cartella ’install’,portarsi all’interno della cartella di ply e immettere nel terminal:

sudo python setup.py install

matplotlib e nose Immettere nel terminal:

sudo easy_install matplotlib

scipy Immettere nel terminal:

sudo easy_install scipy

pandas Immettere nel terminal:

sudo easy_install pandas

mercurial Immettere nel terminal:

sudo easy_install mercurial

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 36: Breve guida sulla compilazione e installazione di OpenFOAM ...

34 A Comandi utili in terminal

A Comandi utili in terminalA

• alias : Crea un collegamento

C

• cd : Cambia cartella (vai alla Home se senza argomento)

• cd .. : Portati alla cartella superiore

• chmod : Cambia permessi di accesso

• cp : Copia uno o piu elementi in un altro luogo

L

• ln : Crea link (alias)

• ls : Mostra contenuto dell cartella corente

M

• mkdir : Crea una nuova cartella

• mv : Sposta file/cartella

R

• rm : Elimina

S

• sudo : Esegui con diritti di amministratore

T

• tar : Crea/scompatta archivio .tar

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013

Page 37: Breve guida sulla compilazione e installazione di OpenFOAM ...

ELENCO DELLE FIGURE 35

Elenco delle figure2.1 Installazione MacPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Espansione archivio sorgente di OpenMPI . . . . . . . . . . . . . . . . . . . 52.3 Cambio della directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Configurazione files sorgente di OpenMPI . . . . . . . . . . . . . . . . . . . 72.5 Compilazione files sorgente di OpenMPI . . . . . . . . . . . . . . . . . . . . 82.6 installazione files sorgente di OpenMPI . . . . . . . . . . . . . . . . . . . . 92.7 Verifica installazione di OpenMPI . . . . . . . . . . . . . . . . . . . . . . . 92.8 installazione GCC 4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.1 Partizione case sensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Pagina download OpenFOAM 2.1.0 . . . . . . . . . . . . . . . . . . . . . . 123.3 Collocamento patches nelle cartelle di installazione . . . . . . . . . . . . . . 133.4 Applicazione patch con GCC 4.2 . . . . . . . . . . . . . . . . . . . . . . . . 143.5 Modifica diritti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.6 Selezione della versione GCC 4.6 . . . . . . . . . . . . . . . . . . . . . . . 163.7 Verifica del GCC attivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.8 Schermata applicazione della patch con GCC 4.6 . . . . . . . . . . . . . . . 173.9 Modifica del file bashrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.10 Creazione del link simbolico . . . . . . . . . . . . . . . . . . . . . . . . . . 193.11 Schermate per l’avvio dell’installazione . . . . . . . . . . . . . . . . . . . . 194.1 Verifica installazione di Python . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Schermate relative all’installazione di PyFoam . . . . . . . . . . . . . . . . . 244.3 Verifica dell’installazione di PyFoam . . . . . . . . . . . . . . . . . . . . . . 254.4 Modifica del file qglobal.h . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.5 Schermate per la verifica e l’avvio dell’installazione . . . . . . . . . . . . . . 294.6 Configurazioni ccmake e installazione VTK . . . . . . . . . . . . . . . . . . 314.7 Verifiche installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

E.Nobile, R.Pigazzini, S.Martini - Novembre 2013