Seconda simulzione con OpenFOAM

 

Riprendiamo il modello realizzato nello scorso articolo, dove abbiamo un condotto cilindrico che confluisce all'interno di una camera rettangolare; a sua volta il fluido fuoriesce da essa tramite una condotta a sezione rettangolare e di dimensioni variabili.
Per poter effettuare una simulazione per lo meno verosimile è necessario modificare la densità della griglia all'interno del modello realizzato; per fare questo dobbiamo modificare il file esempio5.geo cambiando il parametro di Lunghezza Caratteristica dei vari nodi del modello, possiamo quindi aprire tramite un comune editor di testo il file e cambiare (utilizzando lo strumento Cerca o Sostituisci) tutte le righe che definiscono un nuovo punto da:
Point(1) = { 0.0, 0.0, 0.0, 0.1};
a
Point(1) = { 0.0, 0.0, 0.0, 0.02};
Potete trovare scaricare direttamente il file modificato modello.geo. Effettuata questa operazione dobbiamo rigenerare la mesh (vi ricordate come fare?), non preoccupatevi se la CPU schizza al 100% per qualche minuto, al termine ricordatevi di salvare il risultato ottenuto (File -> Save Mesh).
Per importare il file di mesh così generato dobbiamo utilizzare l'utility gmshToFoam fornita con OpenFOAM, quindi iniziamo a creare la directory principale e le accessorie per la simulazione tramite i comandi:

cd ~/OpenFOAM/numeutente-1.3/run/
mkdir esempio2
mkdir esempio2/system
mkdir esempio2/constant
mkdir esempio2/constant/polyMesh
mkdir esempio2/0

e realizziamo i file per la gestione della simulazione, in particolare:
gedit esempio2/sytem/controlDict
che deve contenere il seguente codice (per il significato vi rimando allo scorso articolo e alla guida di OpenFOAM):

FoamFile
{
    version         2.0;
    format          ascii;
    root            "";
    case            "";
    instance        "";
    local           "";
    class           dictionary;
    object          controlDict;
}
application turbFoam;
startFrom       startTime;
startTime       0;
stopAt          endTime;
endTime         0.2;
deltaT          0.005;
writeControl    timeStep;
writeInterval   10;
purgeWrite      0;
writeFormat     ascii;
writePrecision  6;
writeCompression uncompressed;
timeFormat      general;
timePrecision   6;
runTimeModifiable yes;

Dopo di che dobbiamo impostare il file:
gedit esempio2/system/fvSchemes
che conterrà:

ddtSchemes
{
    default         Euler;
}
gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
}
divSchemes
{
    default         Gauss linear;
    div(phi,U)      Gauss linear;
}
laplacianSchemes
{
    default         Gauss linear corrected;
    laplacian(nu,U) Gauss linear corrected;
    laplacian(1|A(U),p) Gauss linear corrected;
}
interpolationSchemes
{
    default         linear;
    interpolate(HbyA) linear;
}
snGradSchemes
{
    default         corrected;
}
fluxRequired
{
    default         no;
    p;
}

e
gedit esempio2/system/fvSolution
che a sua volta conterrà:

solvers
{
    p               ICCG 1e-06 0.01;
    U               BICCG 1e-05 0.1;
    k               BICCG 1e-05 0.1;
    epsilon         BICCG 1e-05 0.1;
    R               BICCG 1e-05 0.1;
    nuTilda         BICCG 1e-05 0.1;
}
SIMPLE
{
    nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
    p               0.3;
    U               0.7;
    k               0.7;
    epsilon         0.7;
    R               0.7;
    nuTilda         0.7;
}

Questi file li potete trovare direttamente alegati a questo articolo con il nome fvFiles, decomprimeteli e posizionateli nella cartella opportuna.

Ora generiamo il nostro dominio di calcolo con il comando:
gmshToFoam . esempio2 percorso/del/file/mesh.msh
con questo comando il programma genera tutte le informazioni necessarie della griglia che ci permetteranno, poi, di impostare le condizioni al contorno per il nostro problema. Al termine dell'operazione di conversione (non dovremmo avere nessun errore), proviamo a visualizzare il nostro modello e come è stato convertito. Per fare questo ci affidiamo al programma paraview (o meglio alla sua versione modificata paraFoam):
paraFoam . esempio2
L'interfaccia che ci si presenterà sarà simile a quella rappresentata dalla seguente figura:

La parte che ora interessa a noi è quella visibile nella parte sinistra in basso, contrassegnata dalla dicitura Region, dove sono visibili una serie di pulsanti contrassegnati dalla dicitura patch0, partch1, etc . Questi indicano ognuno un pezzo delle pareti che noi abbiamo disegnato con il nostro programma; disattiviamo il pulsante Internal Mesh che visualizza la mesh e premiano il pulsante Accept (posizionato a destra nela parte superiore); in questo modo visualizzeremo il nostro modello. Anche in questo caso utilizzando il mouse (in maniera abbastanza simile a gmsh) per ruotare, traslare e zoommare il modello.

Ora spuntiamo tutte le superfici (patch1, patch2, ...) e, attivandole una per volta (aggiornando premendo il pulsante Accept), determiniamo quali sono le superfici attraverso cui il nostro fluido entrerà (patch4) e uscirà (patch12); le rimanenti saranno le pareti. Appurato questo possiamo chiudere il programma.
Poiché le pareti del modello sono tutte uguali (escluse le pareti di ingresso e uscita del fluido) non è necessario mantenerle separate; l'operazione di accorpamento è abbastanza complessa, per modificarla dovremmo andare a modificare il file esempio2/constant/polyMesh/boundary:
gedit esempio2/constant/polyMesh/boundary
ora il file si presenterà in modo che ogni parete sia rappresentata da:

patch0
{
    type patch;
    nFaces 342;
    startFace 226445;
}

dove avremo l'indicazione del nome della superficie (patch0), della tipologia della superficie (type patch), del numero di facce da cui è composta la superficie (nFaces 342) ed infine dalla faccia di partenza (startFace 226445). In pratica ogni faccia delle celle della griglia di calcolo che realizziamo è indicata da un numero (progressivo) e quindi in questo modo sappiamo che la superficie patch0 è formato da tutte le superfici delle celle che partono dalla 226445 e arrivano alla 226445+342. Raggruppando le varie superfici otteniamo:

TUBO
{
    type patch;
    nFaces 1360;
    startFace 226445;
}
INLET
{
    type patch;
    nFaces 158;
    startFace 227805;
}
CAMERA1
{
    type patch;
    nFaces 4264;
    startFace 227963;
}
OUTLET
{
    type patch;
    nFaces 228;
    startFace 232227;
}
CAMERA2
{
    type patch;
    nFaces 4620;
    startFace 232455;
}
defaultFaces
{
    type patch;
    nFaces 0;
    startFace 237075;
}

dove sono stati dati dei nomi più significativi alle varie superfici e sono state raggruppate in modo da averne un numero minore, quindi più facilmente gestibile; i file completo lo trovate allegato con il nome bounduary.
L'impostazione delle condizioni iniziali vengono fatte configurando i file opportuni all'interno della cartella 0 (tempo di partenza). Vi evito la realizzazione manuale di questi file, li potete trovare nel file compresso Condizioni Iniziali, decomprimetelo e ponete questi file nella cartella indicata.
La nostra simulazione prevederebbe l'utilizzo di un calcolo che considera anche la turbolenza del fluido, ovvero turbFoam. Poiché questo programma è particolarmente sensibile a condizioni particolari, quali sono quelle iniziali in cui tutto il fluido è fermo e si imprime un moto (di conseguenza è facile che si abbia divergenza delle equazioni) si preferisce iniziare a effettuare una simulazione tramite un programma meno preciso, ma che sopporta meglio queste condizioni limite, avvieremo a nostra simulazione tramite il comando:
simpleFoam . esempio2
Al termine dell'esecuzione si avrà una prima approssimazione di come si è comportato il fluido (tralasciando i fenomeni turbolenti). Ora dobbiamo avviare la simulazione che fornirà informazioni più dettagliate sul comportamento del fluido, ma prima di fare questo va modificata la cartella contenete le condizioni iniziali, spostando i file risultati della prima simulazione (al tempo 0.2) nella cartella contenete i dati di partenza (cartella 0), quindi:
mv esempio2/0.2/* esempio2/0
e di seguito eliminiamo le cartelle contenenti i risultati della prima simulazione:
rm -r esempio2/0?*
Dobbiamo anche modificare il file che indica il metodo di risoluzione utilizzato, sostituiamo quindi il file esempio2/system/fvSolution con quello allegato con il nome fvSolution (Turbolento). Ora possiamo avviare la simulazione con moto turbolento tramite il comando:
turbFoam . esempio2
Al termine della simulazione avremmo quanto visibile nella seguente immagine, rappresentante l'andamento dei filetti di fluido nel nostro modello; è evidente il fenomeno di ricircolazione che si instaura negli angoli del recipiente di dimensioni maggiori.

AllegatoDimensione
modello.geo3.14 KB
fvSolution1.19 KB
fvFiles940 byte
Condizioni Iniziali903 byte
boundary1.32 KB
transportProperties2.18 KB

Altri contenuti che potrebbero interessarti

  • Questa è una prima introduzione necessarie a chi si avvicina per la prima volta alla modellazione di Fuel Cell, si tratta di alcune notizie estratte da diversi articoli pubblicati nell'ultimo decennio, la fonte principale delle notizie riportate è stato Fundamental Models for Fuel Cell Engineering...
  • In questo articolo vedremo come è possibile ottimizzare le prestazioni per il calcolo di una semplice geometria utilizzando delle griglie appropriate ed in particolare come varia la velocità di calcolo per griglie costituite da triangoli o quadrangoli, oltre che in base alla densit...
  • Per realizzare un modello di cui poter effettuare una simulazione CFD si possono utilizzare molti programmi sia open source che closed source. Fra tutti quelli disponibili soffermeremo un pò la nostra attenzione sul programma gmsh, che potete installare da sorgente o tramite un semplice sudo...
  • 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...

Commenti

Ritratto di Andrea

andrea@andrea-pc:~$

andrea@andrea-pc:~$ gmshToFoam modello.msh

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.1.0-0bc225064152
Exec   : gmshToFoam modello.msh
Date   : Feb 29 2012
Time   : 15:25:33
Host   : "andrea-pc"
PID    : 3497
Case   : /home/andrea
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2  Uninterpreted:
#3 
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/gmshToFoam"
#4  __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#5 
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/gmshToFoam"

Errore di segmentazione

Come si può risolvere questo problema?

Ritratto di mavimo

La guida era riferita ad una

La guida era riferita ad una vecchia versione di OpenFOAM, per la nuova versione potrebbero essere necessari dei cambiamenti nel file di mesh, appena riesco provo a vedere cosa deve essere modificato.

Ritratto di s&m

errore con openfoam

Ciao scusa, ho seguito passo dopo passo tutto il tutorial, solamente che quando inserisco il comando

gmshToFoam . esempio2 modello.msh

(il file .msh è nella stessa cartella)
mi compare:

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.5                                   |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

Usage: gmshToFoam <.msh file> [-case dir] [-keepOrientation]  [-help] [-doc] [-srcDoc]

Wrong number of arguments, expected 1 found 3

FOAM exiting

premetto che il programma OpenFoam è installato correttamente, ed è la versione 1.5

qualche suggerimento?

Ritratto di mavimo

La guida era riferita ad una

La guida era riferita ad una versione di OpenFOAM precedente, con la versione 1.5 hanno cambiato le informazioni da passare, il nuovo comando è (come indicato nell'errore che stai riportando):

gmshToFoam modello.msh -case esempio2

Se stai usando gmsh2 ti ricordo che ti conviene usare gmsh2ToFoam che però devi compilarti a mano prendendolo dal wiki.

Ritratto di s&amp;m

thx, non avevo notato questo

thx, non avevo notato questo dettaglio..
ora però compare un'altra cosa..

silvia-mario:~/OpenFOAM/silvia-mario-1.5/tutorials$ gmshToFoam modello.msh -case esempio2
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.5                                   |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Exec   : gmshToFoam modello.msh -case esempio2
Date   : Apr 27 2009
Time   : 00:01:34
Host   : silvia-mario
PID    : 8310
Case   : ./esempio2
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

--> FOAM Warning :
    From function boundBox::boundBox(const pointField& points)
    in file meshes/boundBox/boundBox.C at line 52
    Cannot find bounding box for zero sized pointField, returning zero
#0  Foam::error::printStack(Foam::Ostream&) in "/home/silvia-mario/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/home/silvia-mario/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#2  Uninterpreted: [0xb7fde400]
#3  main in "/home/silvia-mario/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/gmshToFoam"
#4  __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#5  __gxx_personality_v0 in "/home/silvia-mario/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/gmshToFoam"
Segmentation fault

che vuol dire? è dovuto al fatto che devo usare gmsh2ToFoam? Ho usato la versione del Gmsh 2.2.6
grazie nuovamente

Ritratto di S-&amp;-M

ok ho capito che devo

ok ho capito che devo installare questo aggiornamento.. ma come?
che comando devo scrivere? wmakeall "percorsocartella"?

Ritratto di s&amp;m

ok ho capito che devo

ok ho capito che devo installare l'aggiornamento...
solo che boh.. non so cme si fa! e tieni conto che ho ubuntu da poco..
ho scaricato l'ultima versione.. e poi?
come faccio il wmake?

Ritratto di s&amp;m

ok ho capito che devo

ok ho capito che devo installare l'aggiornamento...
solo che boh.. non so cme si fa! e tieni conto che ho ubuntu da poco..
ho scaricato l'ultima versione.. e poi?
come faccio il wmake?

Ritratto di valeria

Roughness

Avrei bisogno di capire come fare per considerare un rough wall. Esiste in OpenFoam qualcosa come nutWallFunctions ma non riesco ad usarla. Aiuto!

Ritratto di Marzio

Patch unica dopo importazione

Salve!
Complimenti per il sito... sono da poco utente OpenFOAM su macchina linux (ho usato per un po' il port su cygwin su macchina Windows ma è un po' limitato) e sono molto interessato alla possibilità di importare mesh. Grazie per le istruzioni esaurienti su gmsh e l'importazione. L'unico problema che ho riscontrato (che però è un po' limitante...) è che dopo l'importazione tutte le facce esterne sono salvate in un'unica patch. La release di OpenFOAM che uso è la 1.4.1, mentre per gmsh è la 2.0.8. Non sai dirmi se tu o qualcun altro avete riscontrato lo stesso problema? Forse è nella creazione della mesh la differenza.
Ringrazio ancora e saluto,
Marzio

Ritratto di mavimo

Ciao Marzio..

..no, le path sono differenti in funzione di come sono create in gmsh, per esempio se guardi l'articolo gmsh per generare mesh, quando vuoi generare superfici differenti devi creare superfici diverse in fase di realizzazione del dominio di calcolo, quindi prima metti le superfici inlet, outlet, wall e dopo generi il volume e la mesh, non dovrebbero esserci problemi, se per caso non ti è chiaro come fare chiedi pure, in ogni caso nell'articolo che ti ho linkato spero di essere stato abbastanza chiaro.

Ritratto di Marzio

Grazie..

Grazie, in effetti sono partito dal tuo articolo per utilizzare gmsh ma mi era sfuggito questo particolare. In ogni caso importando il tuo file .geo e utilizzando gmshToFoam il problema rimane. Utilizzando una versione precedente all'ultimo aggiornamento (che è 2.0.8) di gmesh (la 1.6.5), il comportamento è esattamente quello descritto nel tuo articolo e compaioni tutte le patch. Poi sul message board di OpenFOAM mi hanno risposto copiosamente, suggerendomi tra l'altro di utilizzare i physical group, ma per una ragione o per l'altra qualche superficie mancava sempre... Se si ha la pazienza di scaricare e installare gmsh2ToFoam (il che vuol dire -lo scrivo per chi come me è un po' perso nel mondo linux: scaricare la patch da OpenFOAM wiki, decomprimere quanto scaricato in una cartella decente, fare wmake come descritto nell'user manual di OpenFOAM e rifare il sourcing con cshrc o bashrc a seconda della shell che usate), il medesimo comportamento si ha anche con gmsh-2.0.8.
Scusami se approfitto di questo spazio, ma suppongo che se uno cerca gmsh con OpenFOAM in italiano è facile che finisca qui e mi spiacerebbe che altri perdessero lo stesso tempo che ci ho perso io...
Segnalo anche il progetto gmshFoam: mi pare che sia doveroso fargli un po' di pubblicità... si tratta di un progetto volto a integrare meglio gmsh e OpenFOAM ed è in pratica un pacchetto di utilities.
Grazie ancora, spero che queste informazioni siano utili agli altri visitatori, complimenti per il tuo ottimo lavoro e saluti.
Marzio

Ritratto di mavimo

Grazie a te..

...per aver sollevato il problema, vediamo di chiarire un attimo le idee (anche ai futuri utenti). Premetto che tutto quello di cui parlo è stato testato con gmsh 2.0.7 e non ho mai provato il 2.0.8 (ma non credo le cose cambino sostanzialmente, nel qual caso potete smentirmi apertamente).

Il mi comporto nel seguente modo con la versione due, genero il domino di calcolo, usando i phiscal creo tutte le superfici assegnandogli i nomi che ritengo più opportuni, per essere sicuro di non dimenticarmi nessun pezzo vado a nascondere tutti gli elementi e visualizzo solo i phisical, se nel mio dominio vedo buchi li "tappo". fatta questa operazione salvo e chiudo il file geo. Lo apro con un editor di testo e aggiungo il volume fisico per la generazione della mesh (non fatelo con gmsh ma con editor di testo, come spiegato nell'altra guida), a questo punto da console (o riaprendo gmsh) creo la mesh e la salvo.

Usando gmsh2ToFoam preso dal wiki e compilato sulla mia macchina (ti garantisco che sono 30 sec), converto il tutto (mesh e BC) in modo che ci sia tutto. Per controllare lancio paraFoam e, dopo aver disabilitato lo step 0 e aver abilitato solo il constant (altrimenti crasha), vado a visualizzare le superfici per essere sicuro che siano presenti tutte. Fatte queste operazioni posso andare a sistemare il caso di proova e iniziare a simularci i fenomeni che mi interessano.

Ritratto di Anonimo

Ciao, ho seguito le tue

Ciao, ho seguito le tue istruzioni e ho generato il dominio di calcolo con il comando: gmshToFoam . esempio ~/Desktop/modello.mshessendo il file .msh collocato nel desktop...premesso che sono alle prime armi e potrei aver fatto un errore maccheronico, così facendo ottengo il seguente :

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.4                                   |
|   \\  /    A nd           | Web:      http://www.openfoam.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Exec   : gmshToFoam . esempio /home/simulation1/Desktop/modello.msh
Date   : Nov 07 2007
Time   : 17:45:31
Host   : mattia-laptop
PID    : 24712
Root   : /home/simulation1/OpenFOAM/simulation1-1.4/run
Case   : esempio
Nprocs : 1
Create time
#0  Foam::error::printStack(Foam::Ostream&)
#1  Foam::sigSegv::sigSegvHandler(int)
#2  Uninterpreted: [0xffffe420]
#3  main
#4  __libc_start_main
#5  __gxx_personality_v0 at /usr/src/packages/BUILD/glibc-2.3/csu/../sysdeps/i386/elf/start.S:122
Segmentation fault (core dumped)

che è evidentemente un errore confermato dal fatto che poi non riesco a far partire paraView:

FOAM FATAL ERROR : Cannot find file "boundary" in directory "constant/polyMesh"
    From function Time::findInstance(const word& dir, const word& name)
    in file db/Time/findInstance.C at line 133.
FOAM exiting

grazie e scusa se dovessi aver scritto delle bestialità:-)

Ritratto di Enrico

Ciao,
ho eseguito pure la

Ciao,
ho eseguito pure la procedura spiegata nel sito e mi compare il medesimo messaggio d'errore.Sò che il tuo post è parecchio vecchio però ti chiedo lo stesso se mi puoi spiegare come hai risolto il problema..
grazie mille

Ritratto di mavimo

Ciao Mattia,

Innanzi tutto credo che il problema principale che hai è dovuto al fatto che hai usato gmsh 2.0.X, quindi il comando che dovrai dare non è più gmshToFoam, ma gmsh2ToFoam, purtroppo non mi pare sia inclusi di default in OpenFOAM, ma devi compilartelo a manina, in ogni caso lo trovi sul wiki di OpenFOAM, a giorni aggiornerò tutta la sezione OpenFOAM passando alla 1.4.1 e gmsh 2.0.8, se hai tempo di aspettare....

Ritratto di Simone

turbolenceProperties

Ciao. Grazie intanto per quello che hai già mandato. Ora il problema si è spostato sul turbolenceProperties che non ho. Riusciresti a risolvere anche questo?
Mi spiace disturbarti così; ma tu, dove hai trovato la sintassi e la struttura che devono avere i programmi? Perchè io ho i user e programmer manuals ma sono molto lacunosi.
Grazie

Ritratto di mavimo

Manuali

Si, i manuali sono molto lacunosi (ma credo che sia fatto di proposito, altrimenti nessuno chiederebbe la loro consulenza a pagamento ;) ), in ogni caso trovi molte informazioni sul forum, il wiki e ovviamente nei tutorial. Ora non ho il file che ti serve sottomano, ma se cerchi nei tutorial nella cartella simpleFoam dovresti trovare il file che ti serve, se così non riesci prova a dare da un terminale slocalte turbolenceProperties | grep simpleFoam in questo modo dovrebbe indicarti i file che ti serve e copiandolo nella directory dovresti essere a posto.

Ciao

PS: vedo che ci sono sempre più italiani interessati a questo progetto, molto bene ;)

Ritratto di Simone Bianchi

transportProperties

Salve,
ho provato a riprodurre la seconda simulazione ma vedo che non esiste il file TransportProperties all'interno del quale dev'esser anche definito il TransportModel del quale inoltre non conosco la sintassi.
La ringrazio per l'attenzione sperando mi possa dare un aiuto.

Ritratto di mavimo

Ciao Simone,

dammi pure del tu ;)
Per quanto riguarda il file, hai perfettamente ragione, non lo ho inserito, lo aggiungo subito.

Invia nuovo commento





  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <h2> <h3> <h4> <table> <thead> <tbody> <tr> <th> <td>
  • 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