Installare OpenFOAM

Questa è una piccola guida su come installare OpenFOAM 1.3 su di un sistema linux.
Innanzitutto bisogna scaricare dal sito il pacchetto OpenFOAM-1.3.General.gtgz, il pacchetto per l'esecuzione in singola precisione e in doppia precisione, i pacchetti qui riportati sono compilati per architettura Intel a 32bit, ma sul sito sono disponibili altre versioni (ottimizzati per AMD64, processori Alpha, etc..).
$ wget http://surfnet.dl.sourceforge.net/sourceforge/foam/OpenFOAM-1.3.General.gtgz
$ wget http://puzzle.dl.sourceforge.net/sourceforge/foam/OpenFOAM-1.3.linuxGcc4DPOpt.gtgz
$ wget http://heanet.dl.sourceforge.net/sourceforge/foam/OpenFOAM-1.3.linuxGcc4SPOpt.gtgz

I file qui indicati andanno rinominati (altrimenti si avranno problemi in fase di decompressione, non ho ancora capito il perché):
$ mv OpenFOAM-1.3-General.gtgz OpenFOAM-1.3-General.gz
$ mv OpenFOAM-1.3.linuxGcc4DPOpt.gtgz OpenFOAM-1.3.linuxGcc4DPOpt.gz
$ mv OpenFOAM-1.3.linuxGcc4SPOpt.gtgz OpenFOAM-1.3.linuxGcc4SPOpt.gz

e successivamente decompressi (due volte di seguito):
$ tar xzf OpenFOAM-1.3-General.gz
$ tar xzf OpenFOAM-1.3-General.gz
$ tar xzf OpenFOAM-1.3.linuxGcc4DPOpt.gz
$ tar xzf OpenFOAM-1.3.linuxGcc4DPOpt.gz
$ tar xzf OpenFOAM-1.3.linuxGcc4SPOpt.gz
$ tar xzf OpenFOAM-1.3.linuxGcc4SPOpt.gz

Dovremo, quindi, copiare la cartella ottenuta nella HOME dell'utente
$ mkdir ~/OpenFOAM
$ cp -r OpenFOAM-1.3.General ~/OpenFOAM/OpenFOAM-1.3
$ cp -r OpenFOAM-1.3.linuxGcc4DPOpt ~/OpenFOAM/OpenFOAM-1.3
$ cp -r OpenFOAM-1.3.linuxGcc4SPOpt.gz ~/OpenFOAM/OpenFOAM-1.3

Controllare di avere installato rsh o ssh in accesso sul computer (non basta un client, serve il server per accedere, Poiché openfoam comunica con se stesso tramite ssh) e controllare che si riesca a pingare localhost e nome_pc; Per esempio:
$ ping localhost
$ ping fisso

per farlo è possibile anche lanciare da shell lo script:
$ ~/OpenFOAM/OpenFOAM-1.3/bin/foamSystemCheck
Se tutto va a buon termine è possibile inserire al termine di ~/.bashrc la seguente linea:
. ~/OpenFOAM/OpenFOAM-1.3/.OpenFOAM-1.3/bashrc
per aggiungere le variabili di ambiente necessarie all'esecuzione del programma.
ATTENZIONE: in questo modo aggiunge sempre una marea di variabili globali, meglio sarebbe creare un utente esclusivamente per OpenFOAM e aggiungere al suo .bashrc la direttiva e usare sempre questo utente per le simulazioni. Aprire una shell e controllare che non vi siano errori, dovrebbe comparire un cosa simile a:
Executing: /home/utente/OpenFOAM/OpenFOAM-1.3/.bashrc
Executing: /home/utente/OpenFOAM/OpenFOAM-1.3/.OpenFOAM-1.2/apps/ensightFoam/bashrc
Executing: /home/utente/OpenFOAM/OpenFOAM-1.3/.OpenFOAM-1.2/apps/paraview/bashrc
utente@pcname :~$

Lanciare nella shell appena aperta il comando
$ foamInstallationTest
se aveta già tutto pronto l'istallazione è andata a buon fine, altrimenti bisogna controllare gli errori che riporta lo script. Gli errori che dava a me lo script foamInstallationTest sono stati sistemati come di seguito riportato.

Installare java

Scaricare dal sito il pacchetto j2sdk1.4.2_05.linux.tgz. Decomprimerlo
$ tar xzf j2sdk1.4.2_05.linux.tgz
Creare le cartelle dove posizionarlo:
$ mkdir ~/OpenFOAM/linux
Copiare i file nella directory creata:
$ cp -r sdk1.4.2_05 ~/OpenFOAM/linux/sk1.4.2_05
Ora dovreste poter lanciare nuovamente
$ foamInstallationTest
e l'errerore che segnala la mancanza di java dovrebbe essere scomparso.

gcc 4.1

Il gcc deve essere la stessa versione con cui è stato compilato OpenFOAM, cioè la 4.1 o superiori (con il gcc 4.1 di ubuntu funziona). Scaricare dal sito il pacchetto gcc-4.1.0.linux.tgz. Decomprimerlo
$ tar xzf gcc-4.1.0.linux.tgz
Copiate la cartella
$ cp -r gcc-4.1.0 ~/OpenFOAM/linux/gcc-4.1.0
Per funzionare necessita anche delle librerie libstdc++ aggiornate, quindi sarebbe meglio installare il pacchetto per il gcc 4 della vostra distribuzione, così da risolvere automaticamente tutte le dipendenze. Per esempio con Debian e derivate (ubuntu, knotix..)
$ sudo apt-get install gcc4
Nel caso non sia il compilatore di default da ancora un Warning, ma dovrebbe trovare automaticamente le libstdc++ nuove e quindi funzionare lo stesso, altrimenti impostarlo come compilatore di default
$ sudo rm /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.0 /usr/bin/gcc

E anche in questo caso verificate che l'errore visualizzato sia scomparso.

ParaView 2.4.2

Scaricare dal sito il pacchetto paraview-2.4.2.linux.tgz. Decomprimerlo
$ tar xzf paraview-2.4.2.linux.tgz
Copiate la cartella
$ cp -r paraview-2.4.2 ~/OpenFOAM/linux/paraview-2.4.2

Operazioni finali

Creare la cartella per l'utente utilizzato
$ mkdir ~/utente-foam-1.2/
$ mkdir ~/utente-foam-1.2/run

dove bisogna inserire il nome utente al posto di utente e copiare i file di prova al suo interno:
$ cp -r ~/OpenFoam/OpenFOAM-1.2/tutorials
~/utente-foam-1.2/run/

Qualche prova

Per visualizzare l'interfaccia grafica di OpenFOAM lanciare il comando:
$ FoamX
mentre visualizzare l'iinterfaccia grafica di ParaView localizzarsi nella cartella della simulazione da analizzare e lanciare il comando
$ paraFoam . nome_simulazione
In un prossimo articolo vedremo di realizzare un semplice esempio (ma non tanto semplice da essere banale) su come utilizzare alcune delle potenzialità messe a disposizione da OpenFOAM.

Comments

ssh

Ciao,
ho provato a eseguire il comando che dicevi, ma non va a buon fine...simo@Pc2:~/OpenFOAM$ sudo apt-get install openssh-server
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
E: Impossibile trovare openssh-server
Grazie ancora.

Ciao.

Repository

Sicuro di avere almeno i repository di default attivi? È Molto stranoche non trovi openssh-server... Prova a controllare sul wiki, o a vedere se almeno in Synaptic trovi quel pacchetto. Se nemmeno li ci fosse aggiungi i repository main e aggiurna la lista dei pacchetti, dovrebbe comparire ;).

Ciao

ssh e rsh

Ciao,

sto installando openfoam1.4 su un notebook asus AMD64.
Eseguo tutti i passaggi della tua guida senza grossi problemi, ma rimane un errore che non so come risolvere.
Di seguito riporto il risultato dell'installazione.simo@Pc2:~$ ~/OpenFOAM/OpenFOAM-1.4/bin/foamSystemCheck
Checking basic system...
-----------------------------------------------------------------------
Shell: bash
Host: Pc2
OS: Linux version 2.6.15-26-amd64-generic
User: simo
Checking networking...
-----------------------------------------------------------------------
Ping_Pc2: Successful
Ping_localHost: Successful
Test_rsh: Unsuccessful, connection refused*
Test_ssh: Unsuccessful, connection refused*
FATALERROR: No remote shell available.
FoamX requires passwordless
'ssh' and/or 'rsh' to the current host.
Contact your system administrator if you intend
to run FoamX.
System check: FAIL
==================
Your system is not currently compatible with Foam installation
requirements. Review the error messages and consult the documentation
for further instructions.

Grazie anticipatamente.

Segui l'altra guida

Prova a seguire la guida che ho appena scritto per l'installazione di OpenFOAM 1.4 Su Ubuntu 7.04, dovrebbe andare bene anche per Ubuntu 6.10; eventualmente dimmi se qualche cosa non va; Ovviamente tu installerai i pacchetti per AMD4, visto che hai la fortuna di possedere quella CPU (e spero anche una versione di OS per quell'architettura).

Ciao

Ho inviato lo stesso

Ho inviato lo stesso messaggio.
Scusate l'errore.

Simo.

Ciao.

Run FoamX

At moment I'm installing OpenFOAM-1.4 but I'm having a problem with FoamX:
bash-3.00$ FoamX
Starting NameServer with inet:darkstar:1234 ...
nsd: error while loading shared libraries: libstdc++.so.6: cannot handle TLS data
My machine is a 32 bit Slackware 10.0 machine. I installed openssl-0.9.7.tar.gz package but it didn't work, appear the same message. How can I solve that problem?
I know that OpenFOAM can work without FoamX by modifying codes but I prefer to have the whole installation.

Thankfully.

Did you compile libstdc++

Did you compile libstdc++ with flag for ssl support? So you need to recompile a glibc++ with TLS support enabled with this command (or similar):
../glibc++-NUMBER-VERSION/configure [other options] --with-tls
make
make check
su -
make install
after that you can run FoamX and check if it correctly work.

Bye

PS: I don't use Slakware...

ssh e rsh

Sto installando OpenaFoam1.4 su un un Pc AMD64 con OS Kubuntu6.6 .
Ho seguito la minuaziosa procedura di installazione senza troppi problemi, ma rimane il seguente errore.
Come posso fare?

Grazie.
Ciao

PS: uso da poco linux e sono ancora inesperto.

Checking basic system...
-----------------------------------------------------------------------
Shell: bash
Host: Pc2
OS: Linux version 2.6.15-26-amd64-generic
User: simo
Checking networking...
-----------------------------------------------------------------------
Ping_Pc2: Successful
Ping_localHost: Successful
Test_rsh: Unsuccessful, connection refused*
Test_ssh: Unsuccessful, connection refused*
FATALERROR: No remote shell available.
FoamX requires passwordless
'ssh' and/or 'rsh' to the current host.
Contact your system administrator if you intend
to run FoamX.
System check: FAIL
==================
Your system is not currently compatible with Foam installation
requirements. Review the error messages and consult the documentation
for further instructions.

Benvenuto nel club :P

Ti manca il pacchetto server per ssh, da terminale dai il comando:
sudo apt-get install openssh-serverper installarlo, dopo di che puoi scegliere per configurarlo tramite l'utilizzo di certificati o password, in base alla scelta che fai cambiano le procedure da seguire. in particolare dovrai settare i parametri corretti in /etc/ssh/sshd_config. In ogni caso in rete si trovano centinaia di guide, o eventualmente chiedi qui :)
A breve pubblicherò anche una guida su come installare OpenFOAM 1.4 su Ubuntu 7.04.

Ciao

Ciao, spero che possiate

Ciao, spero che possiate dare una mano anche a me!
Quando eseguo FoamX mi esce il seguente errore:
$HOME/OpenFOAM/OpenFOAM-1.4/bin/runFoamXHB: line 130: nsd: command not found
eppure eseguendo foamInstallationTest ottengo:
Executing /home/lucertola/OpenFOAM/OpenFOAM-1.4/bin/foamInstallationTest:
Checking basic setup...
-------------------------------------------------------------------------------
Shell: bash
Host: localhost.localdomain
OS: Linux version 2.6.20-1.2944.fc6
User: lucertola
User_config: /home/lucertola/.bashrc
Foam_config: /home/lucertola/.OpenFOAM-1.4/bashrc sourced correctly.
-------------------------------------------------------------------------------
Checking main FOAM env variables...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory Valid Crit
-------------------------------------------------------------------------------
$WM_PROJECT_INST_DIR /home/lucertola/OpenFOAM yes yes
$WM_PROJECT_USER_DIR /home/lucertola/OpenFOAM/lucertola-1.4 yes no
$FOAM_JOB_DIR /home/lucertola/OpenFOAM/jobControl yes yes
-------------------------------------------------------------------------------
Checking the FOAM env variables set on the PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory Valid Path Crit
-------------------------------------------------------------------------------
$WM_PROJECT_DIR /home/lucertola/OpenFOAM/OpenFOAM-1.4 yes yes yes
$FOAM_USER_APPBIN ...-1.4/applications/bin/linuxGcc4DPOpt yes yes no
$FOAM_APPBIN ...-1.4/applications/bin/linuxGcc4DPOpt yes yes yes
$WM_DIR /home/lucertola/OpenFOAM/OpenFOAM-1.4/wmake yes yes yes
$FOAMX_PATH ...ations/utilities/preProcessing/FoamX yes no yes
$CEI_HOME /usr/local/ensight/CEI no no
$JAVA_PATH .../lucertola/OpenFOAM/linux/j2sdk1.4.2_05 yes yes no
$MICO_ARCH_PATH ...mico-2.3.12/platforms/linuxGcc4DPOpt yes no yes
$LAM_ARCH_PATH ...c/lam-7.1.2/platforms/linuxGcc4DPOpt yes yes yes
$MPICH_ARCH_PATH --------- env variable not set --------- no
-------------------------------------------------------------------------------
Checking the FOAM env variables set on the LD_LIBRARY_PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory Valid Path Crit
-------------------------------------------------------------------------------
$FOAM_LIBBIN ...FOAM/OpenFOAM-1.4/lib/linuxGcc4DPOpt yes yes yes
$FOAM_USER_LIBBIN ...enFOAM/lucertola-1.4/lib/linuxGcc4DPOpt yes yes no
$LAM_ARCH_PATH ...c/lam-7.1.2/platforms/linuxGcc4DPOpt yes yes yes
-------------------------------------------------------------------------------
Software versions
-------------------------------------------------------------------------------
Software Version Location
-------------------------------------------------------------------------------
gcc 4.1.2 /home/lucertola/OpenFOAM/linux/gcc-4.1.2/bin/gcc
java 1.4.2_05 /home/lucertola/OpenFOAM/linux/j2sdk1.4.2_05/bin/java
gzip 1.3.5 /bin/gzip
tar 1.3.5 /bin/tar
icoFoam ...M/OpenFOAM-1.4/applications/bin/linuxGcc4DPOpt/icoFoam
-------------------------------------------------------------------------------
Checking file/directory permissions...
-------------------------------------------------------------------------------
File/directory Set Reqd Crit
-------------------------------------------------------------------------------
Checking networking...
-------------------------------------------------------------------------------
Action Result Crit
-------------------------------------------------------------------------------
...localhost.localdomain Successful yes
Pinging_localHost Successful yes
Test_rsh: Unsuccessful_connection_refused* yes
Test_ssh: Successful yes
(*) Only one of rsh or ssh is required by the Foam enviroment.
-------------------------------------------------------------------------------
Base configuration ok.
Critical systems ok.
[lucertola@localhost OpenFOAM]$

che cosa c'è che non va? Grazie!

Scusa il ritardo...

Innanzitutto scusa, non so come mai il tuo commento è finito in black-list e quindi non l'ho visto subito, se non hai ancora risolto il problema è che non trova l'eseguibili nsd, quindi o non hai aggiornato i path o non hai installato tutto quello che ti serve. Da shell prova a dare:
sudo slocate -u
slocate nsd | grep \/bin\/nsd
e dicci se esce qualche cosa tipo:/home/simulation/OpenFOAM/OpenFOAM-1.3/src/mico-2.3.11/platforms/linuxGcc4SPOpt/bin/nsd se non lo ottieni vuol dire che non hai installato tutto i pacchetti che ti servivano, prova a controllare o eventualmente a reinstallare da capo (tanto ci si mette una mezz'oretta :D

Ciao

Foamx

Purtroppo ho letto tardi il tuo post, ma ho risolto da solo entrambi i problemi (con una buona dose di fortuna!!!). Ho modificato manualmente il file bashrc nella directory di OpenFoam in maniera tale da correggere il percorso di ricerca. Per la scheda video ho eseguito l'installazione dei driver da repository ed ora riesco ad eliminare gli errori che ottenevo in paraFoam.
Purtroppo FoamX mi restituisce ancora alcuni errori:Exec : FoamXHostBrowser
Date : Mar 28 2007
Time : 02:47:37
Host : KubuntuP4
PID : 20676
Root :
Case :
Nprocs : 1
HostBrowser running.....
Using jar /home/utente/OpenFOAM/OpenFOAM-1.3/applications/utilities/preProcessing/FoamX/lib/FoamX.jar
Using jar /home/utente/OpenFOAM/OpenFOAM-1.3/applications/utilities/preProcessing/FoamX/lib/jlfgr-1_0.jar
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
Killed
runFoamXHB : cleanup
runFoamXHB: Killing name server nsd(pid 20674).
Pur accettando il tuo consiglio sull'utilizzo di OpenFoam senza interfaccia grafica, penso che con un ultimo sforzo si riesca a portare a casa anche il FoamX.
Cosa ne pensi degli errori che ricevo?
Ti ringrazio per il prezioso aiuto.

Ciao

Ma il file esiste?

Da quello che vedo il problema è che non riesce a trovare il file libjava.so, probabilmente non esiste. Prova ad eseguire slocate javalibeventualemnte riaggiornando il database di slocate (man slocate per vedere come fare), questo comando permette di trovare il file in questione, se non ne esiste nessuno il problema è rilevante prova a reinstallare java, magari nella decompressione dsi è perso qualche file, nel caso in cui il file esiste ma ha nomi "strani" prova a creare un link simbolico nella stessa cartella in cui trovi il file:ln -s /usr/lib/libjava.so.1.4 /usr/lib/libjava.so(NB: ovviamente i percorsi non sono quelli indicati :D)
Strano che l'installazione di Java ti dia tutti questi problemi, appena ho tempo provo a rifare l'installazione su una macchina pulita...

Ciao
Mavimo

Errore jdk

Prima di tutto di ringrazio davvero per la celerità con cui mi hai risposto. Per fortuna avevo già risolto stamattina il problema relativo al bashrc..
Ora, purtroppo, avanzando con l'installazione i problemi continuano: ora ho problemi quando avvio FoamX. In risposta a questo comando ricevo in uscita:Cannot find JDK at /home/turbo04/OpenFOAM/linux/j2sdk1.4.2_05. Please set JAVA_PATH to the
JDK installation directory.
Come evidente è un problema relativo all'installazione java, che comunque, ho eseguito come da istruzioni.
Digitando, invece, il comando "parafoam . nomesimulazione", ottengo la corretta risposta dal programma (parte la visualizzazione ma ho problemi di tipo grafico, infatti, non riesco a visualizzare correttamente il plot3D). Nella shell compare il seguente messaggio di errore:
libGL warning: 3D driver claims to not support visual 0x4bRisolti questi potrò, spero, iniziare con i problemi relativi al vero e proprio programma...
Grazie
Ps. Nelle istruzioni riportate in questa pagina è presente un errore: il file java da scaricare è j2sdk1.4.2_05.linux.tgz, ma l'operazione riportata richiama il file come sdk1.4.2_05.linux.tgz. Scompare il j2 iniziale.

Imposta il JAVA_PATH

Per quanto riguarda il JAVA_PATH prova a configurarlo come variabile nel tuo sistema e vedi se risolvi in questo modo, ora sono un pò di fretta, comunque non preoccuparti, FoamX te lo sconsiglio caldamente, impara la struttura delle directory e lavora direttamente sui file di teto, molto più comodo, sicuro e flessibile. Capisco che un interfaccia grafica possa risultare confortante per chi è abbituato a usare Win, ma non è così indispensabile :D
Per quanto riguarda il problema di visualizzazione libGL è noto e risaputo, non dipende dal programma ma dalle schede grafiche dei PC, comunque non è un errore, solo una segnalazione che non preclude minimamente nessun tipo di elaborazione. Lo stesso "errore" lo si ottiene lanciando da shell quasiasi programma che utilizza le openGL, ma torno a ripetere non è un vero errore, quindi funziona tutto perfettamente.
Che tipi di problemi di tipo grafico hai? Come lavori con paraFoam? Che passaggi hai eseguito per ottenere il plottaggio? Sto preparando una guida sul suo (paraFoam) utilizzo da pubblicare in questo sito (insieme ad una nuova simulazione in ambito multifasico con OpenFOAM), ma il tempo scarseggia sempre, spero di finirle durante le vacanze di pasqua :D
Grazie 1000 per la segnalazione, provvedo a correggere quanto prima.

Ciao
Mavimo

~/.bashrc

Salve,
sono un utente principiante dei sistemi linux. Ho installato da un paio di giorni un SO KUbuntu e volevo utilizzare OpenFOAM. Durante la procedura di installazione (qui descritta in maniera molto meticolosa) riesco ad avanzare fino al punto in cui si chiede di modificare il file bashrc. Agendo dalla shell, infatti, compare bash: /home/nomeutente/.bashrc: Permesso negatoRibadendo che non sono assolutamente pratico di questo sistema operativo vorrei sapere cosa devo fare per risolvere questo problema.
Sono comunque l'amministratore del sistema, quindi sono da escludersi intoppi dovuti ai permessi.
Grazie anticipatamente per la risposta.
Saluti

Stesso utente?

Innanzitutto devi controlare che il .bashrc sia dell'utente in cui stai installando OpenFOAM, quindi se sei sicuro di questo prova a riportare il codice del comando ls -l .bashrc giusto per controllare il proprietario del file, dopo di che dai il comando ls -l ~ | tail -n 5 tanto per sapere con quale utente stai lavorando. Se i nomi non coincidono probabilmente stai installando OF ad un altro utente usato solo per le simulazioni (cosa buona e giusta), altrimenti il problema potrebbe esssere che non hai i permessi in scrittura sul file in questione (ma non credo). Inizia a postare i risultati dei comandi che ti ho indicato, poi vediamo il da farsi.

Ciao
Mavimo

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <table> <td> <tr> <img> <h2> <h3>
  • Lines and paragraphs break automatically.

More information about formatting options

Syndicate content