Re: Espansione libera acollisionale: simulazione.

From: Tetis <ljetog_at_yahoo.it>
Date: Wed, 16 Apr 2008 16:37:09 GMT

Il 15 Apr 2008, 19:41, ljetog_at_yahoo.it (Tetis) ha scritto:

Ora mi piacerebbe
> costruire un'applet che illustra graficamente l'evoluzione temporale
> della densit� spaziale. Il problema � quello di andare ad integrare
> quelle espressioni ottengo una serie di termini erfc che per fissati
> L, m, T dipende dal tempo e da x. Esistono delle routine che evitano
> di dovere utilizzare questa espansione analitica in modo numericamente
> efficiente?
>
> Quale programma pronto � pi� conveniente utilizzare per costruire
> questa animazione? Grazie a chi volesse cimentarsi.

Intanto che aspetto suggerimenti per migliorare la resa grafica e
numerica, vi dico cosa ho ottenuto con Mathematica.ll problema
era dunque sommare:

Int N( v_x * sqrt(m / k T)) ( 1 + Sign ( cos( pi ((x - v_x t)/2L)) Chi(x/2L)
sqrt( m/kT) d v_x

con chi funzione caratteristica in [0,1]
[ si vede dallo studio della funzione sommanda che per ogni
x lo spettro delle velocit� � strutturato in bande ed � asimmetrico,
nei punti pi� lontani dal setto le velocit� cominciano da (x - L/2)/t
e specie per tempi piccoli le bande pi� estreme, dovute alle riflessioni
sono praticamente vuote (nelle code estreme della gaussiana ]

Ho scelto unit� arbitrarie in modo che m/kT = 1 ed L = 1.
Mathematica fornisce un risultato grafico molto leggibile con due
righe di codice, tuttavia corre l'obbligo di un'avvertenza:
provando ad integrare direttamente il risultato
� molto irregolare per via delle approssimazioni numeriche del
programma, usando la funzione Erf ,che � implementata, il risultato
migliora notevolmente. Si tratta di tradurre tutto in una serie , ma in
effetti per tempi non troppo esagerati (dell'ordine di quelli richiesti
a raggiungere l'equilibrio) basta sommare pochi termini: io ne ho
sommati venti.

Ad ogni modo non occorre esagerare:
aumentando il numero dei termini sommati, ad
esempio volendo sommarne qualche migliaio, il programma
si preoccupa che i numerini piccoletti che � costretto ad approssimare
per valori elevati della variabile possano dare un contributo non
trascurabile e non potendo stimare l'ordine dell'errore
si rifiuta di fornire un risultato, con venti termini, che per t fino ad 1
non sono piccoli, invece non ci sono difficolt�.

Il risultato che ottengo � molto regolare, ha una forma che somiglia
strettamente, specie a tempi brevi ad un tratto della funzione d'errore
centrata
dove inizialmente � presente il setto, dove si mantiene costante a tutti i
tempi ed assume sempre, rigorosamente, il valore 1/2, come si pu�
dimostrare guardando la funzione integranda in quel punto. Si pu� anche
dimostrare che la funzione � somma della funzione costante 1/2 pi�
una funzione dispari rispetto alla posizione del setto. Un fatto che
mi ha un poco meravigliato, l� per l�, � che le riflessioni alle pareti non
alterano in nessun momento il carattere mono-t�no della densit�, densit�
che converge abbastanza rapidamente a met� del valore iniziale. Invece,
come mi aspettavo dalle stime analitiche, quello che si nota � che facendo
una
scansione a tempi .1, .2 , .3 lo spessore della curva nel lato inizialmente
vuoto cresce linearmente, cos� se dopo il tempo (in unit� arbitrarie) di .1
abbiamo un 10% di gas nella met� inizialmente vuota, dopo un tempo 1
la curva di densit� � gi� praticamente costante in tutta la scatola.

Appena mi riesce di mettere un filmato con un numero ragionevole di
fotogrammi on line vi mando il link. Intanto, per chi avesse Mathematica e
volesse divertirsi a vedere cosa risulta il programma � questo:

f[x_, t_] := NSum[Erf[(x - 2z - 1/2)/t, (x - 2z + 1/2)/t], {z, -10, 10}]/2
Plot[{f[x, .1], f[x, .35], f[x, .5], f[x, 1], f[x, 2]}, {x, 0, 1}]


--------------------------------
Inviato via http://arianna.libero.it/usenet/
Received on Wed Apr 16 2008 - 18:37:09 CEST

This archive was generated by hypermail 2.3.0 : Fri Nov 08 2024 - 05:10:07 CET