Se sei già registrato           oppure    

Orario: 08/05/2024 03:51:45  

 

Energia Alternativa ed Energia Fai Da Te > Acqua: come utilizzarla, generarla e sfruttarla

VISUALIZZA L'ALBUM

Pagine: (6)   1   2   3   [4]   5   6    (Ultimo Msg)


ram pump theory, teoria esimulazioni
FinePagina

qqcreafis

Avatar
PetaWatt


Gruppo:Utente
Messaggi:10029

Stato:



Inviato il: 05/02/2015 19:59:54

ho testato il girotondo e come supponevo diverge sulla posizione dell'ultima particella il mio sembra giusto in quanto con P=0

sia l'ultima particella che la prima viaggiano a v =costante


http://www.energialternativa.info/public/newforum/ForumEA/D/errore2.png

Scarica allegato

errore2.png ( Numero download: 208 )



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo !
In un mondo dove tutto SEMBRA uguale a tutto.
In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti.
In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”.
Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto.
Xyz ci da una SPERANZA.
Xyz non ha seguito le falsità che ci circondano.
Xyz si è impegnato ed è riuscito nel suo intento.

 

qqcreafis

Avatar
PetaWatt


Gruppo:Utente
Messaggi:10029

Stato:



Inviato il: 05/02/2015 20:02:04

rimando il programma che sembra corretto con il girotondo


REM  *****  BASIC  *****

Sub Main

dim psi(999,9999) As Double ' matricetempo lunghezza

dim AAA(9999) As Double ' buffer
dim BBB(9999) As Double ' buffer
dim CCC(9999) As Double ' buffer

dim Rho As Double ' densità fluido

dim V0 As Double ' velocità iniziale colonna

dim deltat As Double ' intervallo di tempo

dim N As Integer ' numero di interazioni tra due visualizzazioni

dim tot As Double 'tempo totale simulazione

dim tintermedio As Double 'tempo N*deltat

dim ltot As Double ' lunghezza ariete

dim L0 As Double ' distanza tra segmenti L0=ltot/10000

dim B As Double ' compressibilità 

dim Vfase As Double ' velocità sperimentale

dim D As Double ' diametro ariete

dim P As Double ' pressione contraria

dim F As Double ' forza contraria

dim A As Double ' area sezione

dim I,J,K,nitertemp As Integer ' contatori

Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object

'Valori 

'Rho=1000 'densità kg/m^3

'ltot = 2 'lunghezza ariete metri

' Vfase = 30 'velocita fase onda sperimentale m/s

'V0 = 5.5 'velocità ariete m/s


 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
Cell = Sheet.getCellByPosition(0, 1)
Rho=Cell.Value 

Cell = Sheet.getCellByPosition(2, 1)
Vfase=Cell.Value 

Cell = Sheet.getCellByPosition(4, 1)
V0=Cell.Value 

Cell = Sheet.getCellByPosition(6, 1)
ltot = Cell.Value 

Cell = Sheet.getCellByPosition(7, 1)
D = Cell.Value 

Cell = Sheet.getCellByPosition(9, 1)
deltat = Cell.Value 

Cell = Sheet.getCellByPosition(10, 1)
N = Cell.Value 

Cell = Sheet.getCellByPosition(11, 1)
P =10000*Cell.Value 

Cell = Sheet.getCellByPosition(16, 1)
nitertemp=Cell.Value 

A=3.14*D^2/4
F=P*A 

Cell = Sheet.getCellByPosition(15, 1)
 Cell.Value = F

tot = deltat*nitertemp

Cell = Sheet.getCellByPosition(12, 1)
 Cell.Value =tot

B=Vfase*Vfase*Rho
 
Cell = Sheet.getCellByPosition(14, 1)
Cell.Value = B

L0=ltot/10000
 
Cell = Sheet.getCellByPosition(13, 1)
Cell.Value =L0

'inizializzazione
Cell = Sheet.getCellByPosition(3, 3)
Cell.String = "inizio"
psi(0,0)= 0
AAA(0)=psi(0,0)
for I=1 to 9999

	psi(0,I)= L0+psi(0,I-1) 'prima colonna nel foglio "A"
AAA(I)=psi(0,I)
next I



'primo spostamento V0*deltat +psi precedente



for I=0 to 9999

'	psi(1,I)= psi(0,I)-V0*deltat  '   seconda colonna "B"

	BBB(I)= AAA(I)-V0*deltat

next I




'girotondo 0


'psi(j,0) = 2*psi(j-1,0)-psi(j-2,0)+1/Rho*(deltat/L0)^2*(P*L0+B*(psi(j-1,1)-psi(j-1,0)-L0))  

CCC(0) = 2*BBB(0)-AAA(0)+1/Rho*(deltat/L0)^2*(P*L0+B*(BBB(1)-BBB(0)-L0))

for I=1 to 9998
CCC(I) = 2*BBB(I)-AAA(I)+B/Rho*(deltat/L0)^2*(BBB(I+1)-2*BBB(I)+BBB(I-1))
next I
'psi(j,9999) = 2*psi(j-1,9999)-psi(j-2,9999)+B/Rho*(deltat/L0)^2*(psi(j-1,9999)-psi(j-1,9998)-L0)

CCC(9999) = 2*BBB(9999)-AAA(9999)+B/Rho*(deltat/L0)^2*(BBB(9999)-BBB(9998)-L0) 


for j=1 to nitertemp
'girotondo 1

For K = 0 to N-2
Cell = Sheet.getCellByPosition(6, 6)
Cell.Value = k
AAA(0) = 2*CCC(0)-BBB(0)+1/Rho*(deltat/L0)^2*(P*L0+B*(CCC(1)-CCC(0)-L0))

for I=1 to 9998
AAA(I) = 2*CCC(I)-BBB(I)+B/Rho*(deltat/L0)^2*(CCC(I+1)-2*CCC(I)+CCC(I-1))
next I

AAA(9999) = 2*CCC(9999)-BBB(9999)+B/Rho*(deltat/L0)^2*(CCC(9999)-CCC(9998)-L0) 

'girotondo 2

BBB(0) = 2*AAA(0)-CCC(0)+1/Rho*(deltat/L0)^2*(P*L0+B*(AAA(1)-AAA(0)-L0))

for I=1 to 9998
BBB(I) = 2*AAA(I)-CCC(I)+B/Rho*(deltat/L0)^2*(AAA(I+1)-2*AAA(I)+AAA(I-1))
next I
'girotondo extra
BBB(9999) = 2*AAA(9999)-CCC(9999)+B/Rho*(deltat/L0)^2*(AAA(9999)-AAA(9998)-L0) 

CCC(0) = 2*BBB(0)-AAA(0)+1/Rho*(deltat/L0)^2*(P*L0+B*(BBB(1)-BBB(0)-L0))

for I=1 to 9998
CCC(I) = 2*BBB(I)-AAA(I)+B/Rho*(deltat/L0)^2*(BBB(I+1)-2*BBB(I)+BBB(I-1))
next I
'psi(j,9999) = 2*psi(j-1,9999)-psi(j-2,9999)+B/Rho*(deltat/L0)^2*(psi(j-1,9999)-psi(j-1,9998)-L0)

CCC(9999) = 2*BBB(9999)-AAA(9999)+B/Rho*(deltat/L0)^2*(BBB(9999)-BBB(9998)-L0) 


next k 

for I=0 to 9999

	
psi(j,I)=CCC(I)

next I

If j=1 Then N=N+1
 




Cell = Sheet.getCellByPosition(5, 6)
Cell.Value = j

Cell = Sheet.getCellByPosition(j,10)
Cell.Value =psi(j,0)
Cell = Sheet.getCellByPosition(j,14)
Cell.Value =psi(j,9999)

'Cell = Sheet.getCellByPosition(j,12)
'Cell.Value =psi(j,2)
'Cell = Sheet.getCellByPosition(j,13)
'Cell.Value =psi(j,3)

next j

'for I=0 to 999

'Cell = Sheet.getCellByPosition(I,10)
'Cell.Value =psi(I,0)

'next I


'Cell = Sheet.getCellByPosition(5, 5)
'Cell.String = "o"

'for I=0 to 9999

'Cell = Sheet.getCellByPosition(0, I+10)
'Cell.Value =psi(0,I)

'next I

'for I=0 to 9999

'Cell = Sheet.getCellByPosition(1, I+10)
'Cell.Value =psi(1,I)

'next I

'for I=0 to 9999

'Cell = Sheet.getCellByPosition(2, I+10)
'Cell.Value =psi(2,I)

'next I


Cell = Sheet.getCellByPosition(6, 6)
Cell.String = "fine"

'Doc = StarDesktop.CurrentComponent
'Sheet = Doc.Sheets(0)
 
'Cell = Sheet.getCellByPosition(2, 0)
'Cell.String = "Test"
 
MsgBox Cell.Value










'
'
'
'
'
'
'
'







End Sub

Sub Macro1

End Sub



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo !
In un mondo dove tutto SEMBRA uguale a tutto.
In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti.
In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”.
Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto.
Xyz ci da una SPERANZA.
Xyz non ha seguito le falsità che ci circondano.
Xyz si è impegnato ed è riuscito nel suo intento.

 

qqcreafis

Avatar
PetaWatt


Gruppo:Utente
Messaggi:10029

Stato:



Inviato il: 05/02/2015 20:03:00

il double sembra appena accettabile ma mi devo informare meglio

il file in excel non viene creato e mi da errore la precisione matematica non funziona

il double fa 16 cifre excel fa i calcoli con 15 (così si dice)



Modificato da qqcreafis - 05/02/2015, 21:48:09


---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo !
In un mondo dove tutto SEMBRA uguale a tutto.
In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti.
In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”.
Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto.
Xyz ci da una SPERANZA.
Xyz non ha seguito le falsità che ci circondano.
Xyz si è impegnato ed è riuscito nel suo intento.

 

qqcreafis

Avatar
PetaWatt


Gruppo:Utente
Messaggi:10029

Stato:



Inviato il: 05/02/2015 21:45:59

posso vedere la sorgente dell'ultima versione?


comunque se funziona il girotondo si può iniziare a vedere se da risultati coerenti con la realtà



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo !
In un mondo dove tutto SEMBRA uguale a tutto.
In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti.
In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”.
Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto.
Xyz ci da una SPERANZA.
Xyz non ha seguito le falsità che ci circondano.
Xyz si è impegnato ed è riuscito nel suo intento.

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 21:54:55

CITAZIONE (qqcreafis, 05/02/2015 21:45:59 ) Discussione.php?212316&4#MSG52

posso vedere la sorgente dell'ultima versione?


Eccolo, http://www.energialternativa.info/public/newforum/ForumEA/D/RamPumpV1.6.bas
se hai la piattaforma ti allego il progetto.



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 22:04:17

CITAZIONE (qqcreafis, 05/02/2015 21:54:55 ) Discussione.php?212316&4#MSG51

il double sembra appena accettabile ma mi devo informare meglio

1.Tutti i tool microsoft utilizzano un double del ciufolo...
Double (double-precision floating-point) 8 bytes +/-1.79769313486231E308
2.In altri ambienti/piattaforme il double va oltre con l'esponente (se vuoi ne parliamo ma non è importante)
3.C'è un problema grave legato alla matematica della piattaforma visual 6...non vorrei dirlo ma fa cagare. Il problema ormai mi è chiaro e la spiegazione è molto lunga...ma con un esempio pratico diventa tutto chiaro...lo preparo!

Le differenze si notano già con i valori tra il foglio excel ed il file, questa cosa è disarmante ma si scoprirà se la tolleranza sarà tollerabile e se gli esponenti saranno sufficienti ...



Modificato da NonSoloBolleDiAcqua - 06/02/2015, 00:25:00


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 22:07:14

CITAZIONE (qqcreafis, 05/02/2015 22:04:17 ) Discussione.php?212316&4#MSG49

ho testato il girotondo e come supponevo diverge sulla posizione dell'ultima particella il mio sembra giusto in quanto con P=0


CITAZIONE
rimando il programma che sembra corretto con il girotondo

Ok, aspè che ricontrollo il codice...metto a letto tutti e mi tuffo!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 22:42:09

Controllato, è tutto ok l'unica cosa che varia è
tot = deltat*nitertemp
mentre nel codice in vb6 è
tot = deltat*nitertemp*n

ma è un dettaglio ...
passo a vedere il caso che hai postato...forse da li emerge qualcosa...



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 23:18:15

E' tutto ok...i conti tornano...il problema è legato all'indice ...occorre mettere 9999 ..,domani posto la versione v1.7 dove sistemo e aggiungo il salvataggio dei parametri su registro.
Fai così con la stessa versione tornano i conti ( che ho già verificato ) puoi modificare il campo...anche se non sembra puoi modificarlo:


http://www.energialternativa.info/public/newforum/ForumEA/D/IndiceErrato.jpg






Modificato da NonSoloBolleDiAcqua - 05/02/2015, 23:25:22


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 05/02/2015 23:37:19

Non ce l'ho fatta ad aspettare...V1.7

Scarica allegato

RamPumpv1.7.zip ( Numero download: 221 )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 06/02/2015 11:03:29

Due righe di spiega sulla modalità di salvataggio/caricamento configurazione:

http://www.energialternativa.info/public/newforum/ForumEA/D/RamPumpTheoryV1.7.jpg



http://www.energialternativa.info/public/newforum/ForumEA/D/RamPumpTheoryV1.7FileSave.jpg



I parametri vengono salvati e caricati mediante i dei file di configurazione...il vantaggio è quello di evitare di cambiare i dati a mano...le operazioni dovrebbero essere intuitive. I file salvati devono avere estensione cnf, altrimenti non appaiono nella finestra!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 06/02/2015 11:20:53

CITAZIONE (qqcreafis, 06/02/2015 11:03:29 ) Discussione.php?212316&4#MSG51


il file in excel non viene creato e mi da errore la precisione matematica non funziona

... devo fare un setup facendo puntare direttamente le dll...a quel punto metto il problema all'angolo...



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 06/02/2015 12:06:44

Si va di Setup Ram Pump Theory V1.8 (download)

Per fare l'istallazione automatica occorre:
1.Scaricare il file RamPumpTheorySetupV1.8.zip
2.Decomprimerlo dentro una cartella
3.Lanciare il file Setup.exe
4.Attendere le fasi di check (potrebbe richiedere il riavvio del pc)

http://www.energialternativa.info/public/newforum/ForumEA/D/Setup1.jpg



5.Premere i pulsanti come indicati dalle immagini


http://www.energialternativa.info/public/newforum/ForumEA/D/Setup2.jpg



http://www.energialternativa.info/public/newforum/ForumEA/D/Setup3.jpg



http://www.energialternativa.info/public/newforum/ForumEA/D/Setup4.jpg



http://www.energialternativa.info/public/newforum/ForumEA/D/Setup5.jpg



http://www.energialternativa.info/public/newforum/ForumEA/D/Setup6.jpg



6.Dovrebbe apparire nella barra dei programmi il programma RamPumpThery.

http://www.energialternativa.info/public/newforum/ForumEA/D/Setup7.jpg



Vediamo se continuano a verificarsi gli errori sul foglio excel/precisione matematica...



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

qqcreafis

Avatar
PetaWatt


Gruppo:Utente
Messaggi:10029

Stato:



Inviato il: 06/02/2015 19:22:57

il test a P=0 funziona


ora occorre provare a P=<>0



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo !
In un mondo dove tutto SEMBRA uguale a tutto.
In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti.
In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”.
Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto.
Xyz ci da una SPERANZA.
Xyz non ha seguito le falsità che ci circondano.
Xyz si è impegnato ed è riuscito nel suo intento.

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 07/02/2015 00:51:26

bene bene...
ti genera il foglio excel con il setup?

per quanto riguarda il cad, ti serve per la stampante 3d oppure anche per altro?
quiquoqua cè un bell'articolo...io ho una preferenza...ma non è ne semplice ne veloce , è sicuramente ostico e potente...il grande vantaggio potrebbe essere quello di condividere le stesso tool e quindi eventuali problematiche si risolverebbero rapidamente ...



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 
 InizioPagina
 

Pagine: (6)   1   2   3   [4]   5   6    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum