PDA

View Full Version : Problema [HELP] Codice per calcolo numerico, 32bit vs 64 bit



FuckAuthority
19-03-2010, 09:35
Ho un problemino che magari qualche ingegnere un pò esperto in calcolo numerico sa meglio di me :D

Sto sviluppando un codice in python che calcola pressioni, portate e wss in una rete vascolare (generalmente del braccio) dato come ingresso un segnale di un flusso pulsatile modellato con una serie di Fourier. Come condizioni al contorno impongo pressioni transmurali dei vasi nulli, e ogni vaso è modellato come un circuito RCL (womersley model).

Il mio problema è che facendo girare il codice su pc a 32 bit e su pc a 64 bit ottengo risultati leggermente diversi. Le medie sono praticamente molto simili, ma i valori cambiano (soprattutto nei picchi).
E' un problema di "rumore numerico" dovuto alle diverse architetture, ma sto impazzendo e non so come gestirlo.
Il calcolo numerico risolve semplicemente un sistema differenziale matriciale con 3 matrici (ordine zero, uno, due) tramite il metodo del trapezio del primo ordine ( o equivalentemente con Newmark, non cambia nulla...)

help, per anubi!

Salciccia dura
19-03-2010, 17:20
Te stai male

FuckAuthority
19-03-2010, 17:44
si porcaputtana sto schizzando a cercare di venirne fuori da sta cosa :asd:

Milton
19-03-2010, 18:34
ma il rumore dove e quando interviene?

Salciccia dura
19-03-2010, 18:44
ma il rumore dove e quando interviene?

Cicago, 0:07


vyu2jHwMEfU

FuckAuthority
19-03-2010, 20:46
ma il rumore dove e quando interviene?

faccio 20 cicli che rappresentano ognuno un ciclo cardiaco di 1 secondo.
In ognuno di essi ho un timestep da 0.005 (200 iterazioni)

Sui sistemi a 64 bit a 14' ciclo sbarella tutto e il grafico esce cosi "tremolante"

probabilmente c'è qualcosa che dovrebbe essere azzerato da ciclo a ciclo,
ma che invece contiene numeri praticamente nulli ma non proprio. Mentre a 32 bit sono troncati a zero,
a 64 bit l'integrale comincia a diventare non trascurabile dopo un certo ciclo.

FuckAuthority
23-03-2010, 18:39
ho risolto vaffanculo chiudete. ho reimplementato un nuovo metodo risolutivo (newmark)
l'algoritmo che mi han passato i miei colleghi di maastricht era bacato. troppe canne si fanno imho