Installare OpenFOAM 1.4 su Ubuntu 7.04

 

A seguito dell'uscita della nuova versione di Ubuntu (ora alla versione 7.04) e di OpenFOAM (arrivato alla versione 1.4), vediamo come effettuare l'installazione su una macchina con il sistema operativo installato a cui non sono stati aggiunti altri pacchetti.
Come prima operazioni vanno installati alcuni pacchetti che non sono presenti nell'installazione di base di Ubuntu, in particolare è necessario installare il pacchetto per la compilazionesudo apt-get install build-essentialil server ssh necessario al programma per poter comunicare con altri eventuali macchine e comunque con se stessosudo apt-get install openssh-servered infine le librerie per l'ssl necessarie per poter eseguire l'interfaccai grafica in Java FoamX:sudo apt-get install libssl0.9.7Poiché l'installazione di OpenFOAM richiede il settaggio di alcune variabili globai che potrebbero rallentare o comunque rendere scomodo l'utilizzo quotidiano del computer per le applicazioni standard andiamo a creare un nuovo utente il cui unico scopo sarà quello di effettuare le simulazioni. Per creare un nuovo utente, da shell, diamo il seguente comandosudo adduser <em>simulation</em>dove con simulation abbiamo indicato il nome dell'utente che svolgerà le simulazioni. Di seguito si indicherà sempre con questo nome l'utente che svolge le simulazioni. Rispondiamo alle domande che ci vengono poste per il nuovo utente e terminiamo la creazione di questo.
Al termine della realizzazione del nuovo utente dobbiamo abilitare la possibilità di accedere tramite ssh a questo; poiché di default il server ssh richiede che il collegamente avvenga tramite protezione con certificato dobbiamo creare i certificati e esportarli. Come prima cosa diventiamo l'utente simulation con il comando su <em>simulation</em>ed inseriamo la password che abbiamo scelto precedentemente. A questo punto creiamo le chiavi con il comandossh-keygen -t dsae lasciamola pure senza nessuna password (quindi diamo 2 volte Ok). Possiamo vedere le chiavi generare con ls .ssh/*Esportiamo ora le chiavi verso il nostro utente dando il comando:ssh-copy-id -i .ssh/id_dsa.pub <em>vostro_utente</em>@localhostdove, ovviamente, vostro_utente è l'utente che usate di solito sulla macchina. Alla prima richiesta digitate yes, mentre di seguito vi chiederà la password per il vostro utente. Ora possiamo uscire dall'utente simulation e tornate vostro utente, è sufficiente digitare:exitCollegiamoci ora tramite ssh all'utente simulation:ssh <em>simulation</em>@localhoste creaimo la direcotory dove installare OpenFOAM ed entriamoci:

mkdir OpenFOAM
cd OpenFOAM

Proseguiamo con il download dei pacchetti necessari, potete scegliere se scaricarli dal sito ufficiale o direttamente dai repository, nel caso usiate una versione di linux a 32bit è sufficiente dare i comandi:

una volta terminato il download dell'ultimo pacchetto decomprimiamoli:

tar -xzf OpenFOAM-1.4.General.gtgz
tar -xzf OpenFOAM-1.4.linuxGcc4SPOpt.gtgz
tar -xzf OpenFOAM-1.4.linuxGcc4DPOpt.gtgz

e controlliamo se possiamo proseguire con l'installazione tramite il comando:~/OpenFOAM/OpenFOAM-1.4/bin/foamSystemCheckEffettiuamo la modifica al file ~/.bashrc dando:nano ~/.bashrce aggiungendo al termine del file la seguente riga:. $HOME/OpenFOAM/OpenFOAM-1.4/.OpenFOAM-1.4/bashrcSalviamo premendo contemporaneamente i tasti CRTL+O e usciamo con CTRL+XL'operazione successiva prevede la realizzazione della cartella per l'utente che dovrà utilizzare i programmi di simulazione e:mkdir -p ~/OpenFOAM/${LOGNAME}-1.4/rune la successiva copia dei file di esempio:cp -r ~/OpenFOAM/OpenFOAM-1.4/tutorials ~/OpenFOAM/${LOGNAME}-1.4/runOra usciamo dalla connessione ssh e rientriamo per permettere di ricarica re il file ~/.bashrc, quindi diamo:

exit
ssh <em>simulation</em>@localhost

Per controlare se tutto è andato a buon fine possiamo lanciare la simulazione di esempio presente nei tutorial:

cd ~/OpenFOAM/simulation-1.4/run/tutorials/icoFOAM/
blockMesh . cavity
icoFoam . cavity

Se tutto termina con successo l'installazione di base è terminata, ma è necessario installare altri programmi per poter effettivamente trarre utilità dei programmi finora installati; in particolare sono necessari paraFoam per la visualizzazione dei risultati, Java per poter usare FoamX come interfaccia grafica e il compilatore gcc per la compilazione di nuovi risolutori.

Visualizzatore ParaView

Per l'installazione del visualizzatore grafico è necessario creare una nuova cartella e posizionarvici all'interno:

mkdir ~/OpenFOAM/linux
cd ~/OpenFOAM/linux

Ora si deve scaricare il pacchetto contente i binari:wget http://mesh.dl.sourceforge.net/sourceforge/foam/paraview-2.4.4.linux.tgze la successiva decompressione:tar -xzf paraview-2.4.4.linux.tgzA questo punto l'applicativo è stato installato.

Framework Java

Un operazione simile a quella necessari aper ParaView è necessaria er l'installazione di Java, quindi entriamo nella cartella precedentemente realizzata, scarichiamo il file e decomprimiamolo:

cd ~/OpenFOAM/linux
wget http://mesh.dl.sourceforge.net/sourceforge/foam/j2sdk1.4.2_05.linux.tgz
tar -xzf j2sdk1.4.2_05.linux.tgz

Anceh in questo caso l'installazione di Java è terminata.

Compilatore gcc

Come visto precedentemente diamo i comandi:

cd ~/OpenFOAM/linux
wget http://mesh.dl.sourceforge.net/sourceforge/foam/gcc-4.1.2.linux.tgz
tar -xzf gcc-4.1.2.linux.tgz

Al termine dell'installazione di tutti i programmi necessari usciamo e riconnettiamoci tramite ssh, ricordandoci di passare l'ozione -X, necessaria a poter lanciare applicazioni grafiche, quindi:

exit
ssh -X <em>simulation</em>@localhost

Per controlare che tutto funzioni diamo il comando:foamInstallationTestche dovrebbe confermarci che tutto funziona correttamente.
Possiamo ora visualizzare i risultati della simulazione risolta precedentemente:

cd ~/OpenFOAM/simulation-1.4/run/tutorial/icoFoam/
paraFoam . cavity

A questo punto possiamo dedicarci al nostro lavoro o passare alla compilazione di tutti gli applicativi per l'ottimizzazione rispetto all'arhchitettura della nostra macchina.

Commenti

Ritratto di Anonimo

blockMesh

Hi,
I am using OpenFoam 1.4 (on Suse-10.2) and I have a problem with

blockMesh .  cavity

The error message is:

bash: blockMesh: command not found

It worked before, but suddenly it stopped working.
Could please someone give me a hint where I should look to fix the problem?

Thank you for the help,
Rita

Ritratto di mavimo

check if your .bashrc call

check if your .bashrc call openFOAM basrc for adding OF Folder into path.
Have you got some command for compilate blockmesh (wmake all or similar)?
please chech if blockMesh is aviable into your system:

find blockMesh

Bye

Ritratto di Anonimo

Generazione chiavi

ciao Mavimo, sto provando ad installare openfoam 1.4 sulla versione 7.10 di ubuntu ma mi ma il seguente errore quando voglio generare le chiavi:

ignazio@ignazio-desktop:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/ignazio/.ssh/id_dsa): /id_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
open /id_dsa failed: Permission denied.
Saving the key failed: /id_dsa.

ti prego aiutami, sono un giovane ingegnere che si sta appassionando alla CFD...ciao e grazie

Ritratto di Anonimo

Problemi OpenFoam 1.4.1 64

Ciao, volevo chiederti se potevi aiutarmi a configurare Openfoam,il mio sitema è Ubuntu 8.04 a 64 bit.
I problemi che ho sono:

  • Quando scrivo i comandi "blockMesh . cavity" e "icoFoam . cavity" non funzionano.
  • Quando poi lancio foamInstallationTest mi da due errori critici:
    Software versions
    -------------------------------------------------------------------------------
    Software Version Location
    -------------------------------------------------------------------------------
    gcc 4.2.3
    WARNING: Conflicting installations:
    foam settings: /home/simulation/OpenFOAM/linux/gcc-4.2.1-64/bin/gcc
    current path : /usr/bin/gcc
    CRITICAL ERROR
    java 1.6
    WARNING: Conflicting installations:
    foam settings: /home/simulation/OpenFOAM/linux/j2sdk1.4.2_05/bin/java
    current path : /usr/bin/java
    gzip 1.3.12 /usr/bin/gzip
    tar 1.3.12 /bin/tar
    icoFoam *** not installed ***
    CRITICAL ERROR

Ho letto un pò nei forum e come prima cosa mi hanno detto di modificare il file .bashrc, aggiungendo la stringa:export WM_64=one poi di chiamare la cartella dove vanno java,gcc e paraview non "linux" ma bensì "linux64".
Nonostante io abbia apportato queste modifiche il problema persiste.
Spero che tu mi possa aiutare . Grazie

Ritratto di mavimo

Innanzitutto se ti da

Innanzitutto se ti da conflitto di installazione è perchè nel tuo sistema è già installato il GCCe Java, quindi lo trova due volte (uno nel path di default e uno nel path specificato da OpenFOAM), di conseguenza puoi scegeliere di disinstallare quelle del sistema o quello di OpenFOAM, e modificare i path inclusi in modo da rimuovere i conflitti.

Fatta questa prima operazione non trova icoFoam, quindi probabilmente non hai installato correttamente tutti i file del sistema, o hai installato i pacchetti non compilati e devi andare a comilarli, per ware questo dovrebbbe essereci un comando che si chiama wmakeAll nella cartella di OpenFOAM, in ogni caso prima risolvi la prima parte (conflitto del GCC e JAVA) e poi vediamo di risolvere la seconda.

Mavimo

PS: il tuo sistema operativo è a 64bit?

Ritratto di Anonimo

Ciao, ti ringrazio

Ciao, ti ringrazio anticipatamente per la repentina risposta.
Ho già provato a disistallare sia java che gcc e il risultato è lo stesso anzi così non trova proprio nulla. Come si fa per modificare il Path di Openfoam? Poi ho anche provato la compilazione lanciando wmakeall e mi dice tutto ok, solo che poi rilacnio il tester per l'istallazione e mi ridà i soliti errori.
Il mio sistema è Ubuntu 8.04 64 bit (kernel 2.26.24-19).
Giuseppe

Ritratto di Anonimo

Problemi con l'installazione di OpenFOAM

Ciao.
Dunque, avrei un paio di domande da farti circa l'installazione di OpenFOAM su Ubuntu.

  1. sammy@SamIam:~$ sudo apt-get install libssl0.9.7
    Lettura della lista dei pacchetti in corso... Fatto
    Generazione dell'albero delle dipendenze in corso      
    Reading state information... Fatto              
    E: Impossibile trovare libssl0.9.7

    Riesci a trovare una soluzione a ciò?

  2. Quando dici vostro_utente@localhostalla luce dello script che ti ho copiato sopra, devo mettere "sammy@SamIam", giusto?
  3. sammy@SamIam:~$ su simulation
    Password:
    simulation@SamIam:/home/sammy$ ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/simulation/.ssh/id_dsa): prova
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    open prova failed: Permission denied.
    Saving the key failed: prova.

    In questo caso cosa devo fare?
    Come suggeriscono in questo post dare il comando "ssh-keygen -t dsa" dal vecchio utente e non dal nuovo?
    Corretto?

Grazie mille,
Samuele.

Ps: è un problema risp via email? Comunque, tengo controllato anche questo blog. Grazie.
Pps: sai mica come installare gpiv su ubuntu e, soprattutto, come farlo funzionare?
Grazie ancora.
Samuele.

Ritratto di mavimo

Non trovi le librerie di

  1. Non trovi le librerie di criptazione, prova a dare il comando apt-cache search libssle vediamo se le trova. Per poter avere la possibilità di installarlo devi avere APT correttament einstallato e confgurato per usare i repository main e universe (bastano questi se non ricordo male).
  2. Usa sudo per avere i permessi di salvare i file, e poi fai attenzione a non cambiare i nomi del file delle chiavi (quindi non mettere prova), altrimenti devi fare la procedura di merging dei file e ti complichi a vita :D. In ogni caso prima aggiorna le libssl, altirmenti non funziona correttamente.

Ciao
Mavimo

PS: invio anche per mail.

Ritratto di Anonimo

sammy@SamIam:~$ apt-cache

sammy@SamIam:~$ apt-cache search libssl
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk1 - The OFFIS DICOM toolkit runtime libraries
libdcmtk1-dev - The OFFIS DICOM toolkit development libraries and headers
libssl-ocaml - OCaml bindings for OpenSSL
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.8 - SSL shared libraries
libssl0.9.8-dbg - Symbol tables for libssl and libcrypto

Quindi devo dargli: apt-get install libssl?
Giusto?
Grazie mille,
Samuele

Ritratto di Anonimo

Open FOAM

Hello,
I'm a brasilian and i don't understand none word in italian,but i noticed that the discusion is about problems with OpeanFOAM in version 64bits! I made everthing that you said and i had problems wiht the blockMesh too! So, i made in the sequence (after read your instrutions):

sudo slocate -u
slocate blockMesh

and "appeared things" in the screen (i belive that this "things" are the same "things" that should had appeared if we call the blockMesh). After this i don't undestand anything! Could you help me? Please! I'm a beginner in linux! Sorry by my terrible english! i'm learning too!!! Thank you !

William Clem

Ritratto di mavimo

Hi William,

you have execute the installation from scretch (source) or binary? Probably you don't have execute the correct installation process or into biray pack there isn't all binary file. Please execute a new installation procedure and execute step-by-step guide. If you have any problem contact me and (if possible) I help you to complete 64bit installation.

PS: you must also excuse me for my bad english ;)

Ritratto di Anonimo

Hello,
My boss told me

Hello,
My boss told me what is the probable problem! I had installed a linux UBUTUN version for plataform 32 bits so...when i tried to install the OpenFOAM 64 bits the program didn't load! they aren't compatible!!!! Sorry for make you lost time with this!!! Thank very much indeed!!!

william clem

Ritratto di Anonimo

BlockMesh

Ciao Mavimo, ho seguito le tue istrustioni per istallare OpenFOAM 1.4.1 con piattaforma 64bit, ed al momento di lanciare l'applicazione trovo l'errore da più riportato su blockMesh non trovato. Allora ho provato a digitare i comandi sudo slocate -u e slocate blockMesh e dopo quest'ultimo mi compaionot tutti i blockMeshDict contenuti nei tutorials contenuti a loro volta nella cartella OpenFOAM-1.4.1 e non in simulation-1.4.1 come immagino dovrebbe essere..per esempio:

/home/simulation/OpenFOAM/OpenFOAM-1.4.1/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict
/home/simulation/OpenFOAM/OpenFOAM-1.4.1/tutorials/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict

e così per tutti i tutorials
ed inoltre compaiono i seguenti, di cui ne riporto solo due, che sono i contenuti della cartella mesh:

/home/simulation/OpenFOAM/OpenFOAM-1.4.1/applications/utilities/mesh/generation/blockMesh/curvedEdges
/home/simulation/OpenFOAM/OpenFOAM-1.4.1/applications/utilities/mesh/generation/blockMesh/curvedEdges/BSpline.H

poi se digito ls -l /path/di/blockMesh risponde nessun file o directory
Grazie anticipatamente

Ritratto di mavimo

Ciao Mattia

pare che qualche cosa non sia a posto, in particolare sembra che no trovi il file blockMesh (ma a questo punto giurerei che non trova nemmeno gli altri eseguibili). I problemi che possono causare questo sono i path aggiunti al .basrc, che non sono stati caricati correttamente, oppure non hai caricato i binari dell'installazione ma solo i sorgenti. Sinceramente non ho mai provato con i 64bit, quindi non so esattamente dove potrebbe essere il problema (e sinceramente non ho nemmeno mai installato la 1.4.1, ma non credo cambi molto dalla 1.4), tra poco installo Gusty e OpenFOAM 1.4.1 e vedo se è cambiato qualche cosa.
Intanto prova a rifare l'installazione dopo aver rimosso tutto (e anche l'utente che ricreerai da 0) seguendo le indicazioni passo passo, nel caso di errori prova a dire cosa succede, ma prova a dare slocate blockMes | grep bin e vediamo cosa risponde...

Ritratto di Anonimo

Complimenti

Grande articolo!
Ho installato tutto in tempo di record e sembra funzionante.
Avevo provato a far funzionare su di un'altra macchina la versione Cygwin di openFoam e mi e' costato una settimana di prove senza
riuscire a far funzionare paraView.
Grazie

Ritratto di mavimo

Grazie!

comunque cercar di far funzionare OpenFOAM su win con cygwin non è proprio una cosa semplice :)
PS: se quello del forum, vero? Come ci si trova al gathec? Come hai fatto ad entrare? Posso farti qualche domanda in privato? La mia mail è valida (leggi nel footer), fammi sapere :)

Ritratto di Anonimo

Ciao Mavimo, complimenti per

Ciao Mavimo,
complimenti per la guida molto chiara ed esaustiva!
Due cose:

  1. la procedura per creare la chiave di autenticazione va fatta al contrario, nel senso che la chiave va generata dall'utente personale e poi copiata con ssh-copy per l'utente simulation
  2. Ho un problema lanciando paraview in remoto, ottengo questo errore:
    ParaView error: InitializeTcl failed
    Tk_Init error: no display name and no $DISPLAY environment variable

Ciao M.

Ritratto di Anonimo

Risolto il problema della

Risolto il problema della visualizzazione del server grafico con X11:
basta de-commentare l'opzione ForwardX11 yes nel file /etc/ssh/ssh_config

Ciao M.

Ritratto di Anonimo

Ciao,

Ciao,
Sembra tutto corretto, i permesi su blockMesh:

drwxr-xr-x 5 simulation simulation 4096 2007-05-29 23:37 blockMesh
drwxr-xr-x 5 simulation simulation 4096 2007-05-29 23:37 extrudeMesh

Quando faccio [Tab], dall'utente simulation mi il seguente risultato, e se riprovo il blockMesh non lo va ancora.

foam                     foamDistccd              foamGraphResUVWP         foamNew                  foamPackBin              foamProcessInfo
foamAllHC                foamEndJob               foamInstallationTest     foamNewRootCase          foamPackBinAll           foamSolverSweeps
foamCheckJobs            foamfv                   foamJob                  foamNewRootCaseAll       foamPackGeneral          foamsrc
foamCleanPath            foamGraphExecTime        foamLog                  foamNewRootCaseAllCases  foamPackSource           foamSystemCheck
foamClearPolyMesh        foamGraphResKE           foamLog.db               foamPack                 foamPrintJobs
simulation@Pc2:~$ cd ~/OpenFOAM/simulation-1.4/run/tutorials/icoFoam
simulation@Pc2:~/OpenFOAM/simulation-1.4/run/tutorials/icoFoam$ blockMesh . cavity
-bash: blockMesh: command not found
simulation@Pc2:~/OpenFOAM/simulation-1.4/run/tutorials/icoFoam$

Un'osservazione:
come vedi dagli ultimi comandi per andare a icofoam, io per trovare qualcosa devo scrivere icoFoam e non icoFOAM. E' possibile?
Non ti ho detto che sto usando la versione a 64 bit...

Grazie ancora.

Ritratto di mavimo

Ok, il file c'è ed è

Ok, il file c'è ed è corretto, gli altri file di OpenFOAM pare che li trovi, quindi non è problema di path (almeno mi pare), per stare sicuro mi potresti mandare (anche per mail) il file ~/OpenFOAM/OpenFOAM-1.4/.OpenFOAM-1.4/bashrc che provo a confrontarlo con la mia installazione a 32bit. Prova a lanciare l'applicazione con il percorso completo e vedi se almeno così funziona.

Ciao

PS: Stai trovando tutti gli errori che avevo commesso nella guida, grazie ;)

Ritratto di Anonimo

Ciao,

Ciao,

ho installato OpenFOAM su kubuntu 7.04. Va tutto a buon fine ma quando faccio la simulazione di prova, dice che il comando blockMesh non esiste.

Ho i seguenti dubbi:

La riga della tua guida ~/OpenFOAM/simulation-1.4/run/tutorial/icoFOAM/ è corretta? Tutorial, non tutorials?

La fine del file del mio file di .bashc è corretta?

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
. $HOME/OpenFOAM/OpenFOAM-1.4/.OpenFOAM-1.4/bashrc

Nella sequenza di comandi in cui compare LOGNAME, devo solo cambiare LOGNAME con il mio nome utente? non con simulation, vero? Tutto il resto rimane invariato?

Ti riporto la riga con il messaggio che compare quando richiamo blockMesh:

simulation@Pc2:~/OpenFOAM/simulation-1.4/run/tutorials/icoFoam$ blockMesh . cavity
-bash: blockMesh: command not found

Ti ringrazio anticipatamente.

Saluti.

Ritratto di mavimo

Ciao

il bashrc mi pare corretto (ora non posso controllare, ma a memoria mi pare vada bene). dove compare LOGNAME lascialo pure così, ovvero con ${LOGNAME}, si tratta del tuo nome che è salvato come variabile, quindi vien convertito automaticamente nel tuo nome, se vuoi scrivere il tuo nome è uguale.. semplicemente è un passaggio che puoi evitare.
Per quanto riguarda il fatto della cartella tutorials hai perfettamente ragione, grazie per la segnalazione, provvedo a correggere immediatamente.
Per quanto riguarda il fatto che non trovi blockMesh hai provato a ricaricare il .bashrc (disconnetterti e riconnetterti come utente) in modo che setti tutte le variabili correttamente? Se anche così non dovesse cambiare prova a dare i comandi:

sudo slocate -u
slocate blockMesh

e postane l'output, dovrebbe dirti in quale directory si trova blockMesh, a questo punto controlla che abbia i corretti permessi ls -l /bath/di/blockMeshe se anche questi sono settati correttamente prova a vedere quando da terminale dai foam [TAB][TAB] dove ovviamente i [TAB] sono i caratteri di tabulazione. In questo modo vediamo se manca solo il blockMesh, e quindi si tratta di un problema ristretto a questo specifico programma o se è un problema più generale (non trova nemmeno gli altri eseguibili di OpenFOAM) e quindi il problema stà nel settare correttamente il PATH.

Invia nuovo commento





  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <h2> <h3> <h4>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Linee e paragrafi vanno a capo automaticamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.



Condividi contenuti