Equazione del calore
Oggi, per la prima volta ho scritto un programma in C, che sarà il linguaggio con cui simulerò equazioni differenziali alle derivate parziali per i prossimi due anni. Per iniziare, stamattina, ho pensato subito all'equazione del calore in una barretta monodimensionale. La variabile t indica il tempo, mentre la x è la posizione sulla barretta... la superficie descrive la temperatura al variare del tempo e dello spazio. Se si taglia una fetta a t costante si ha l'idea di come varia la temperatura lungo la barra... visto che il calore dissipa?
Nella figura di sopra sono rappresentate le curve della temperatura nella barretta a diversi istanti. La barretta si estende per x tra 0 ed 1. All'istante t=0 la temperatura è abbastanza "svergolata" (guardate la figura e cercate t=0). Col passare del tempo, però, la temperatura si appiattisce sempre di più. Se mandassi avanti la simulazione ancora nel tempo, vedreste alla fine la temperatura essere costante e nulla su tutta la barretta. Ovviamente, nulla, non significa zero assoluto... Le curve della prima figura sono appunto delle fette della superficie della seconda figura a t costante. Spero di essere stato più chiaro.
Se, per inciso, guardate bene le due figure (cliccateci sopra per espanderle), noterete che in alto a destra c'è, sul mio desktop, la temperatura esterna (la temperatura di Guildford, la barretta non c'entra nulla). Ieri sera erano otto gradi centigradi e pioveva. Stamattina, invece, siamo ad 1 grado sopra lo zero. Quando sono entrato in ufficio erano -2.
10 Comments:
Non capisco lo "svergolamento" del grafico. Non é che lo puoi rifare mettendo l'origine degli assi t ed x di fronte, cosí da "vedere" l'andamento, invece di "immaginarselo" (passami il termine) visto che t ed x decrescono invece di crescere (ovvero, per x, piú ti allontani dal "davanti", piú scorri lungo la barretta monodimensionale).
I colori presuppongo indichino la temperatura - piú scuri per quelle minori?
Scusa la pignoleria della domanda, ma dovrebbe essere una cosa semplice da capire, ma mi sono perso nel grafico...O sono io che sono vecchio e non mi ricordo niente, oppure sono semplicemente un po' addormentato.
By Anonimo, at 9:17 AM
Daniele,
grazie per le ulteriori spiegazioni! ora il "rintronato" (ovvero io) ci ha capito qualche cosa! Sará perché stanotte era -8C ed adesso sono 0C, ed ha nevicato tutta la notte...(ma qui é normale e non ha ancora raggiunto le vere minime, l'anno scorso intorno a -22C). Anzi - altro che basse temperature - sono proprio e semplicemente "rintronato"!!!
PS: Mi é stato detto che oggi ha nevicato a Firenze....
By Anonimo, at 11:39 AM
Figurati, un dovere ed un piacere...
Neve a Firenze? E come hai mai potuto fare a vivere a -22?? Io sto già distrutto a -5!!
By Daniele Avitabile, at 1:03 PM
Beh...qui i pinguini hanno vita difficile in casa, ma fanno un macello e lasciano sempre neve dappertutto fuori. Sono dei veri casinisti.
Vai a vedere qua il vero significato di "fa freddo".
L'omino in bicicletta era vero, non di cartone od aggiunto con Photoshop.
By Anonimo, at 3:05 PM
Seguite il link di Paolo, le foto sono bellissime!!
By Daniele Avitabile, at 3:10 PM
ciao blogger,
forse questi programmi/librerie li conosci già, ma te li indico lo stesso:
http://scilabsoft.inria.fr/ ( Scilab is a scientific software package for numerical computation)
http://www.ma.utexas.edu/maxima.html (calcolo simbolico)
http://www.geuz.org/getdp/ (GetDP: a General Environment for the Treatment of Discrete Problems)
http://www.geuz.org/gmsh/ (Gmsh: a three-dimensional finite element mesh generator)
http://www-users.cs.umn.edu/~saad/software/SPARSKIT/sparskit.html (libreria per mat sparse, meglio ancora le PETSc http://www-unix.mcs.anl.gov/petsc/petsc-as/)
http://www.gnu.org/software/gsl/ (gnu scientific library..)
http://felyx.sourceforge.net/ (finite element library experiment)
http://www.tau.ac.il/~stoledo/taucs/ (altro solutore di s. lineari a matrici sparse, molto efficiente)
altro tool che ho usato 'piacevolmente' eclipse+il plugin CDT (per il c++)
z
ps: scusa il post sterile.
By Anonimo, at 8:52 PM
Ah! ma allora c'hai le mani in pasta pure tu!! Non avevo letto questo post quando ho risposto all'altro, quello sulla corsa e le domande. (Ari)benvenuto. Che dire: anche tu frequentatore del mondo Open Source e coinvolto in questioni di numerica, dunque. Terrò presenti tutti i tuoi link. Il fatto è che tanta flessibilità e abbondanza di strumenti per il c e c++ mi disorienta... sai, per uno che ha programmato sempre in Fortran o Fortran 90... mi sto convertendo per necessità. Che cosa fai nella vita?
By Daniele Avitabile, at 9:50 AM
Macché mani in pasta (magari)!
Ho solo le mani sulla tastiera: nella vita faccio +/- il programmatore, anche se con poco slancio...non simulo equazioni alle derivate parziali, non in questo momento storico almeno, facendo il consulente cerco di fare quello che mi chiedono.
Sono un amico di pakitt ed ho trovato il tuo blog nei link consigliati.
Ho una laurea in ingegneria, ma probabilmente l'ho lasciata in soffitta (assieme al mio blog che aggiorno solo per le pulizie di Pasqua).
Fra i vari link che ti ho dato mi sono scordato delle boost (www.boost.org): sono delle librerie general purpose in c++, veramente molto efficienti. Molto probabilmente saranno integrate nel prossimo standard del c++ (assieme alle standard template library [STL]).
z
By Anonimo, at 11:16 PM
Reclamiamo a gran voce il link al tuo blog... non importa quanto aggiornato sia! Forse, allora, prima o poi ci potremo sentire o vedere tramite Pakitt. Terrò presente tutti i link.
By Daniele Avitabile, at 1:02 AM
caro blogger ecco il mio link.
By ventoneicapelli, at 9:56 PM
Posta un commento
<< Home