×
📐 Trattazione dell'Oscillatore Smorzato
1. Equazione Differenziale del Moto
Equazione del Moto Completa
Seconda legge di Newton:
m·a = Σ F = F_elastica + F_smorzamento + F_attrito
In forma esplicita:
m · d²x/dt² = -k·x - c·(dx/dt) + F_attrito
Forze in gioco:
•
Forza elastica (Legge di Hooke): F_elastica = -k·x
→ Proporzionale allo spostamento, sempre diretta verso l'equilibrio (x=0)
•
Forza di smorzamento viscoso: F_smorzamento = -c·v = -c·(dx/dt)
→ Proporzionale alla velocità, sempre opposta al moto (dissipativa)
•
Forza di attrito radente: F_attrito (vedi sezione 2)
→ Dipende dalla condizione di moto (statico/dinamico)
2. Modelli di Attrito
2.1 Attrito Statico (μₛ)
Definizione: L'attrito statico agisce quando la massa è ferma (v = 0) e previene il
moto fino a che le forze motrici non superano una soglia massima.
Forza massima di attrito statico:
F_s_max = μₛ · N = μₛ · m · g
Comportamento:
• Se |F_motrice| ≤ F_s_max → F_attrito = -F_motrice (bilancia perfettamente)
→ La massa rimane ferma: a = 0, v = 0
• Se |F_motrice| > F_s_max → L'attrito statico viene "vinto"
→ La massa inizia a muoversi, si passa all'attrito dinamico
Valore tipico: μₛ = 0.3 (es. legno su legno)
2.2 Attrito Dinamico (μₖ)
Definizione: L'attrito dinamico (o cinetico) agisce quando la massa è in movimento (v ≠
0).
Forza di attrito dinamico:
F_k = μₖ · N = μₖ · m · g
F_attrito = -F_k · sign(v) = -μₖ · m · g · sign(v)
Caratteristiche:
• Modulo costante: |F_attrito| = μₖ · m · g
• Direzione: sempre opposta alla velocità
• Dissipa energia meccanica (la converte in calore)
Valore tipico: μₖ = 0.2 (generalmente μₖ < μₛ)
Relazione tra μₛ e μₖ:
In natura, sempre μₖ ≤ μₛ (vincolo fisico)
• μₛ > μₖ: La forza per mantenere il moto è minore di quella per iniziarlo
• μₖ/μₛ ≈ 0.6-0.8 per molti materiali comuni
• In questa simulazione: il vincolo μₖ ≤ μₛ è automaticamente enforced
2.3 Smorzamento Viscoso (c)
Definizione: Modella forze dissipative proporzionali alla velocità, come la resistenza
dell'aria o fluidi viscosi.
Legge:
F_smorzamento = -c · v
Differenze con l'attrito radente:
• Attrito radente: modulo costante, dipende da μ e peso
• Smorzamento viscoso: modulo variabile, proporzionale a v
• Attrito: discontinuo (statico/dinamico)
• Smorzamento: continuo e derivabile
Fattore di smorzamento: ζ = c / (2√(km))
• ζ < 1: sottosmorzato (oscillazioni smorzate)
• ζ = 1: critico (ritorno senza oscillazioni, tempo minimo)
• ζ > 1: sovrasmorzato (ritorno lento senza oscillazioni)
3. Sistema di Equazioni Implementato
Algoritmo di Calcolo dell'Accelerazione
Input: x(t), v(t) al tempo t
Output: a(t) = d²x/dt²
Pseudocodice:
FUNZIONE acceleration(x, v):
// Forze sempre presenti
F_molla = -k · x
F_smorzamento = -c · v
F_motrice = F_molla + F_smorzamento
// Determina attrito in base allo stato
SE |v| > soglia_velocità (es. 1e-6 m/s):
// Massa in movimento → attrito dinamico
F_attrito = -μₖ · m · g · sign(v)
ALTRIMENTI:
// Massa ferma → verifica attrito statico
F_s_max = μₛ · m · g
SE |F_motrice| ≤ F_s_max:
// Attrito statico bilancia le forze
F_attrito = -F_motrice
RITORNA 0 // a = 0, massa rimane ferma
ALTRIMENTI:
// Attrito statico superato → passa a dinamico
F_attrito = -μₖ · m · g · sign(F_motrice)
// Calcola accelerazione totale
F_totale = F_molla + F_smorzamento + F_attrito
RITORNA F_totale / m
4. Metodo Numerico: Eulero-Cromer
Algoritmo di Integrazione Semi-Implicito
Perché Eulero-Cromer invece di Eulero standard o RK4?
•
Eulero standard: instabile per oscillatori, accumula errore in energia
•
Runge-Kutta 4 (RK4): accurato ma costoso, non simplettico
•
Eulero-Cromer: simplettico → conserva l'energia a lungo termine per
oscillatori
Schema di integrazione (ad ogni passo Δt):
// 1. Calcola accelerazione allo stato corrente
a(t) = acceleration(x(t), v(t))
// 2. Aggiorna velocità (schema esplicito)
v(t+Δt) = v(t) + a(t) · Δt
// 3. Aggiorna posizione usando la NUOVA velocità (schema implicito)
x(t+Δt) = x(t) + v(t+Δt) · Δt ← Questo rende il metodo simplettico
// 4. Incrementa tempo
t = t + Δt
Proprietà del metodo:
•
Simplettico: conserva l'energia media nei sistemi Hamiltoniani
•
Stabile: l'errore in energia non diverge nel tempo
•
Efficiente: richiede solo 1 valutazione di a(t) per step
•
Ordine 1: errore locale O(Δt²), globale O(Δt)
Confronto energetico (oscillatore ideale):
• Eulero standard: E(t) cresce linearmente → instabile
• Eulero-Cromer: E(t) oscilla attorno a E₀ con ampiezza O(Δt) → stabile
• RK4: E(t) decresce lentamente O(Δt⁴) ma non è simplettico
5. Condizioni di Arresto Automatico
Prevenzione del Rumore Numerico
Problema: Quando il sistema è quasi fermo, gli errori numerici possono generare
oscillazioni spurie nei grafici di v(t).
Soluzione: Soglie di arresto automatico
SOGLIE:
vel_threshold = 0.0001 m/s (0.1 mm/s)
acc_threshold = 0.0001 m/s²
CONDIZIONE DI ARRESTO:
SE |v| < vel_threshold E
(|a| < acc_threshold O |F_motrice| ≤ F_s_max):
// Sistema effettivamente fermo
v = 0 (imposta velocità esattamente a zero)
FERMA simulazione
CAMBIA stato a "Fermato"
Logica:
•
|v| < 0.0001 m/s: velocità trascurabile
•
|a| < 0.0001 m/s²: sistema in equilibrio (tutte le forze bilanciate)
•
|F_motrice| ≤ F_s_max: attrito statico può tenere ferma la
massa
Esempio fisico:
Massa ferma a x = 0.085 m con μₛ = 0.3, m = 1 kg, k = 10 N/m:
• F_molla = -10 · 0.085 = -0.85 N
• F_s_max = 0.3 · 1 · 9.81 = 2.94 N
• |F_molla| < F_s_max → attrito statico blocca la massa
• Simulazione si ferma automaticamente, evitando rumore
Vantaggi:
• Grafici puliti e realistici
• Comportamento fisicamente corretto
• Evita simulazioni inutilmente lunghe quando E_tot ≈ 0
6. Energie del Sistema
Bilancio Energetico
Energia Cinetica: E_k = ½·m·v²
Energia Potenziale Elastica: E_p = ½·k·x²
Energia Meccanica Totale: E_tot = E_k + E_p
Energia Dissipata: E_diss = E_iniziale - E_tot
Conservazione:
• Caso ideale (c=0, μₛ=0, μₖ=0): E_tot ≈ costante (piccole deviazioni da errori O(Δt))
• Con smorzamento viscoso: dE_tot/dt = -c·v² (dissipazione continua)
• Con attrito radente: ΔE = -μₖ·m·g·Δs ogni volta che la massa si muove
• L'energia dissipata diventa calore (non modellato esplicitamente)
7. Parametri Caratteristici
Grandezze Fondamentali
Pulsazione naturale: ω₀ = √(k/m) rad/s
Periodo (non smorzato): T₀ = 2π/ω₀ = 2π√(m/k) s
Frequenza: f₀ = 1/T₀ = (1/2π)√(k/m) Hz
Fattore di smorzamento: ζ = c / (2√(km)) = c / (2mω₀)
• ζ < 1: sottosmorzato (ω_d=ω₀√(1-ζ²), oscillazioni smorzate)
• ζ = 1: critico (c_critico = 2√(km))
• ζ > 1: sovrasmorzato (ritorno esponenziale, nessuna oscillazione)
Costanti fisiche:
Accelerazione di gravità: g = 9.81 m/s²
📝 Note Finali
Stabilità numerica: La scelta di Δt è cruciale. Per molle rigide (k alto) o smorzamenti
elevati, usare Δt ≤ 0.01 s. Il metodo Eulero-Cromer garantisce che l'errore in energia non cresca
indefinitamente, ma passi temporali troppo grandi possono comunque causare instabilità.
Realismo fisico: Il modello di attrito implementato cattura la distinzione
statico/dinamico e la possibilità che la massa si fermi a x ≠ 0. Questo è fondamentale per rappresentare
correttamente sistemi reali con attriti asciutti.
Limitazioni: Il modello assume:
• Molla ideale (lineare, senza massa)
• Attrito di Coulomb (indipendente dalla velocità, quando v ≠ 0)
• Smorzamento viscoso lineare
• Moto unidimensionale su superficie orizzontale
• Nessuna deformazione permanente
Applicazioni didattiche: Questa simulazione è ideale per esplorare:
• Differenze tra attrito statico/dinamico e smorzamento viscoso
• Comportamento energetico di sistemi dissipativi
• Effetti del passo temporale sulla precisione numerica
• Regimi di smorzamento (sotto/critico/sovra-smorzato)
• Posizioni di arresto non banali (x ≠ 0) con attrito