Ho un programma nel quale devo simulare la dinamica di una griglia di
punti. Ogni punto � soggetto ad una forza elastica e ad
una forza di attrito dipendente in modo lineare dalla velocit�.
Ho per� il vincolo di utilizzare una rappresentazione a virgola fissa
per la posizione e la velocit� dei punti. Dunque possiamo pensare che la
posizione dei punti � un numero intero, e la velocit� � pure un numero
intero. Il passo temporale � 1 e la massa 1, cosicch� una volta
calcolata la forza F_i a cui � soggetto il punto P_i, l'evoluzione del
sistema �:
v_i <- v_i + F_i
x_i <- x_i + v_i
L'evoluzione della griglia risulta verosimile. Se la eccito le onde si
propagano su di essa � si smorzano nel tempo. Solo che la griglia non si
ferma mai! Continua a fare piccole oscillazioni intorno alla posizione
di riposo. Questo � sicuramente dovuto all'utilizzo di variabili a
virgola fissa. Infatti, ad esempio, la forza di attrito diventa nulla
quando la velocit� scende sotto una certa soglia, in quanto la forza di
attrito � calcolata come F = - v / c dove v � la velocit�, c � una
costante (intera) e "/" � la divisione tra interi, dunque F=0 se v<c.
Sapete se questo fenomeno � studiato? Ha un nome?
Ho fatto diversi tentativi per risolvere la questione. Ho provato a
fermare forzatamente i punti che si trovano sotto una certa energia,
oppure ho provato ad aggiungere delle forze apposite... ma i punti non
si fermano. Il problema � probabilmente che dovrei guardare il problema
globalmente, non sul singolo punto, ma non so come fare...
E.
Received on Mon Feb 04 2008 - 10:31:50 CET
This archive was generated by hypermail 2.3.0
: Fri Nov 08 2024 - 05:10:08 CET