SNS n.4 2024

Area riservata alla discussione dei problemi teorici di fisica
Pigkappa
Messaggi: 2118
Iscritto il: 11 gen 2009, 14:58
Località: Londra

Re: SNS n.4 2024

Messaggio da Pigkappa » 5 feb 2025, 1:08

Qua il codice per creare l'ultimo di quei grafici

Codice: Seleziona tutto

import numpy as np; np.random.seed(2)
import matplotlib.pyplot as plt

v = 1e-9; d = 1e-9; dt = d / v    # dt = 1 secondo
l = 15 * d; p = 0.002;  ratio = l*p/d;
T = 1e3; num_particles = int(1e4);
N = int(T / dt) 

positions = np.zeros((num_particles, N, 2))
angles = np.random.uniform(0, 2 * np.pi, (num_particles, N))

for i in range(1, N):
    x_new = positions[:, i - 1, 0] + d * np.cos(angles[:, i])
    y_new = positions[:, i - 1, 1] + d * np.sin(angles[:, i])

    x_cross = np.abs(x_new - np.round(x_new / l) * l) < d/2
    y_cross = np.abs(y_new - np.round(y_new / l) * l) < d/2
    
    transmit_x = np.random.rand(num_particles) < p
    transmit_y = np.random.rand(num_particles) < p

    x_new[x_cross & ~transmit_x] = positions[x_cross & ~transmit_x, i - 1, 0] - d * np.cos(angles[x_cross & ~transmit_x, i])
    y_new[y_cross & ~transmit_y] = positions[y_cross & ~transmit_y, i - 1, 1] - d * np.sin(angles[y_cross & ~transmit_y, i])

    positions[:, i, 0] = x_new
    positions[:, i, 1] = y_new
    
msd = np.mean(positions[:, :, 0]**2 + positions[:, :, 1]**2, axis=0)
times = np.arange(N) * dt

plt.plot(times, msd * 1e12)  
plt.xlabel("Time (s)"); plt.ylabel("Mean Squared Displacement (μm²)")  
plt.text(times[-1] * 0.05, max(msd * 1e12) * 0.95, f"Ratio l*p/d = {ratio:.2f}", 
         fontsize=12, bbox=dict(facecolor='white', alpha=0.8))
plt.title("Mean Squared Displacement vs Time")
plt.grid()
plt.show()
"Per un laser, si passa da temperature positive a temperature negative non passando attraverso 0 K, ma passando attraverso l'infinito!" (cit.)
"Perché dovremmo pagare uno scienziato quando facciamo le migliori scarpe del mondo?" (cit.)

Pigkappa
Messaggi: 2118
Iscritto il: 11 gen 2009, 14:58
Località: Londra

Re: SNS n.4 2024

Messaggio da Pigkappa » 5 feb 2025, 1:27

Non posto le immagini ma ho anche fatto grafici con una retta che ha la pendenza che avevo suggerito nel terzo caso:



Dove scelgo in modo da combaciare bene con la pendenza della prima parte di salita rapida del grafico. Purtroppo, la pendenza della mia retta non è tale da renderla davvero parallela a quella per il moto per tempi lunghi. La mia funziona qua sopra ha il comportamento giusto in termini di ma non rappresenta esattamente quel che succede.
"Per un laser, si passa da temperature positive a temperature negative non passando attraverso 0 K, ma passando attraverso l'infinito!" (cit.)
"Perché dovremmo pagare uno scienziato quando facciamo le migliori scarpe del mondo?" (cit.)

Higgs
Messaggi: 245
Iscritto il: 29 mar 2023, 11:26

Re: SNS n.4 2024

Messaggio da Higgs » 6 feb 2025, 18:15

Faccio un commento sul tuo confronto fra le nostre soluzioni.
1. Giustamente su questo punto niente da dire.

2. Ho controllato la mia soluzione con la trattazione del moto Browniano su Wikipedia e dovrei confermare quanto ho scritto. Infatti vengono considerate due forze: la forza di attrito cui è soggetta la particella e la forza dovuta agli urti disordinati del solvente isotropa e scorrelata per cui confermo l'equazione differenziale scritta con la soluzione data valida per cioè
, si integra la velocità e si trova e quindi dovre
è la diffusività che è esattamente la mia.

Per i punti 3. e 4. ho sfruttato i suggerimenti di Byron. Premetto che la mia imprecisione ti ha giustamente indotto a rimarcare che non ha le dimensioni di una probabilità. Perché ho omesso di sottolineare che p è una probabilità per unità di tempo cioè rappresenta la probabilità che la particella superi la barriera in un secondo o un microsecondo se questa è l'unità usata nel caso. Quindi non c'è nessuna contraddizione dimensionale. Pertanto confermo il procedimento e i risultati ottenuti. Il grafico del moto inizialmente rettilineo , via via che incontra barriere da superare costringe la particella a rallentare come se il solvente fosse più denso e quindi il coefficiente angolare diminuisce. le due situazioni sono congiunte da un transiente e in definitiva si ottiene il grafico di Fig.4B.

Rispondi