View Single Post
Old 28-05-2007, 17:47   #8
Warlord
Senior Member
 
L'Avatar di Warlord
 
Iscritto dal: Dec 2002
Cittā: Padova
Messaggi: 1513
grazie millissimissime davvero !!!

Ho sistemato sto schifo di lavoro che avevo fatto ( molto incasinato per alcuni punti ) e sostituito la formula di kumar con 1 altra (koo) dopo che mi hai aperto il cervello realmente con la tua traduzione

uso compaq visual fortran 6.6 pure io ... cmq qui hai prprio ragione , 1 belfoglio di excel sarebbe bastato
per esempio ho scorporato la parte finale in :
-------------------------------------------------
program FormulaPrasher
implicit none
real reynolds ! Numero di Reynolds
real bolz ! Costante di Boltzman
integer t ! temperatura
real pi ! PiGreco
real p ! densita' nanoparticelle
real dp ! diametro medio nanoparticelle
real v ! viscositā dinamica fluido
real prasher
real kp ! conduttivitā nanoparticelle
real kb ! conduttivitā fluido base
real f ! frazione volumetrica
real m ! costante eq prasher dipendente dal liquido
real a ! cost eq prasher dipendente nanopart e fluido
real pr ! numero di Prandtl
integer nanoparticella
integer fluidobase

a = 4.0*(10**4)
pi = 3.1416
bolz = 1.38*(10**(-23))


write (*,*) 'Calcolo il valore della conduttivitā termica normalizzata del nanofluido'&
'usando la formula di Prasher'


! scelgo se usare acqua o EG
write (*,*) 'Desideri usare acqua o glicoletilenico?'&
'1) Acqua Demineralizzata'&
'2) Glicol Etilenico'
read (*,*) fluidobase

! scelgo il tipo di nanoparticella
write (*,*) 'Scegli il tipo di nanoparticellato da utilizzare'&
'1) Allumina'&
'2) Rame'&
'3) Ossido di rame'
read (*,*) nanoparticella

! richiedo il diametro medio delle nanoparticelle adoperate
write (*,*) 'Inserisci il diametro medio delle nanoparticelle in soluzione'
read (*,*) dp

! richiedo la temperatura a cui vogliamo operare (in gradi kelvin)
write (*,*) 'Inserisci la temperatura T a cui operare'
read (*,*) t

! richiedo la frazione volumetrica delle nanoparticelle presenti in soluzione
write (*,*) 'inserisci la frazione volumetrica delle nanoparticelle presenti in soluzione'
read (*,*) f

! implemento le caratteristiche a seconda del tipo di fluido scelto
if ( fluidobase == 1 ) then
kb = 0.613
v = 10.0**(-3)
m = 2.5
pr = 6.8
else
kb = 0.253
v = 21*(10**(-3))
m = 1.6
pr = 205.0
endif

! implemento le caratteristiche a seconda del tipo di nanoparticella scelta
if ( nanoparticella == 1 ) then
kp = 40.0
p = 3940.0
elseif( nanoparticella == 2 ) then
kp = 401.0
p = 8920.0
else
kp = 76.5
p = 6480
endif

! calcolo il numero di reynolds
reynolds =(1/v)*sqrt((18*bolz*t)/(pi*p*dp))

! calcolo coefficiente conduttivitā termica normalizzato secondo Prasher
prasher = ((kp+(2*kb)+2*(kp-kb)*f)/(kp+(2*kb)-(kp-kb)*f))*(1 + (a*reynolds**m)*(pr**0.333)*f)

write (*,*) 'la conducibilitā termica della miscela nanofluidica scelta secondo la Formula di Prasher č' , prasher

end
-----------------------------------------

Ho messo implicit none perche' mi era piu' facile scovare l'errore
adesso vorrei implementare un ultima ultimissima cosa :
- funzione ( che ho scoperto essere "DO" in fortran ) per la frazione volumetrica f .... con 0 < f < 2
- che come output ci fosse 1 file di txt o 1 altro formato ( magari xls cosi' lo vado a pescare direttamente con excel , nn sapendo fare grafici con Visual Fortran ) o in generale un array con scritti a f scelto , il valore corrispondente trovato ( a partita ovviamente degli altri valori )

il DO penso di saperlo implementare con un po' di lavoro ma non saprei come dirgli "PRINT/WRITE su 1 caxxo di file "


grazie millissime ancora a2000.1 mi hai aperto le porte a un nuovo mondo !!!
__________________
CPU: E8400 cold by 7700 Cu (Ybris A.C.S. on work) M/B: Asus P5K-E WiFi GPU: POV 8800GT (Modding in progress) HD : 2x Raptor 74GB 16mb cache + 2x WD 500GB 32mb cache ALI: Enermax EG565AX-VE DXX
E8400 : 4050 [email protected]@SPi 1M : 11.562s / Air Cooling - My Ex GirlFriend : [email protected]@1.5V by Lunasio AV-TEC - My SuperPi 1M record@E2180 : 16.578s @ 3700 mhz @ 1.584V
NetBook: AsusEEE 1000HE@2gb
Warlord č offline   Rispondi citando il messaggio o parte di esso