Salta al contenuto principale
Working from scratch, following simplicity

Fognatura_bianca_0_9_3 released!

Ultimo aggiornamento del programma per il dimensionamento di una rete bianca con una migliore e più realistica schematizzazione della rete e finalmente piena compatibilità Linux. Ho aggiunto un livello ulteriore di ramificazione, permettendo di ridurre quasi a zero la scomposizione e l'analisi per parti del sistema. Inoltre il file di input iniziale viene automaticamente salvato per una successiva analisi o modifica.

La cartella compressa contiene:

  • il codice sorgente fognatura_bianca.bas (si può compilare con FreeBASIC o con qualsiasi altro compatibile con QBasic);
  • gli eseguibili (testati in Windows XP e Ubuntu 10.10);
  • i due file indispensabili per il funzionamento, condotto_circolare.dat (tabella adimensionale per tubazioni circolari) e input_rete.dat (i dati idrologici e geometrici della rete);
  • i file di esempio presenti nell'articolo.

Ed è liberamente scaricabile da qui: Fognatura_bianca_0_9_3.zip.
(10/10/2012) Inizia la conversione di fognatura bianca in applicazione web, per vedere come funzionerà e lo stato di avanzamento di questo progetto, consulta Fognatura bianca applicazione web: concept.

Questa nuova versione corregge molte limitazioni e difetti, ora è possibile dimensionare con un solo file di input, reti costituite da più tratti esterni, tutte però confluenti in un tratto principale che andrà chiaramente a scaricare la portata raccolta verso valle. Per una maggiore comprensione mostro uno schema di rete costituito da 15 tronchi che può essere trattato dal programma:

Esempio di rete che può essere dimensionata da fognatura_bianca.exe

Nel disegno si vede anche come stabilire il tipo di tratto scegliendo tra esterno, interno e principale e l'ordine con cui devono essere definiti nel file di input. Ovviamente si parte dai tratti a monte, il primo sempre esterno ed il o i successivo/i interno/i confluenti nella linea principale che può avere anche successive linee entranti seguendo la numerazione crescente rappresentata nell'immagine. L'idea che sta alla base del dimensionamento e quindi di un corretto file di input è comunque quella di far confluire la corretta portata dai tratti di monte a quello finale di restituzione. Per ramificazioni più articolate si deve ricorrerre al solito trucchetto di suddivisione e ricomposizione spiegato nell'articolo precedente.

Altra novità di rilievo è la piena compatibilità Linux, l'ho compilato e testato con Ubuntu 10.10 e l'unica dipendenza che ho dovuto soddisfare è stata l'installazione dele librerie ncurses-dev e ovviamente del pacchetto FreeBASIC. Entrambi comunque si trovano nei repository ufficiali.

Infine ho anche aggiunto il salvataggio automatico del file di input con l'aggiunta di un suffisso analogo a quello creato per la relazione finale dei calcoli. Ciò permette di avere una copia di backup per tutte le reti dimensionate, con la possibilità di successive elaborazioni o variazioni dei dati di input, basta togliere il suffisso e darlo in pasto al programma!

Esempio

Utilizzerò la stessa rete dell'articolo Fognatura bianca con velocità assegnata che qui riporto:

Schematizzazione della rete usata come esempio

TroncoLunghezzaAreaΦ
-mha-
AC500,290,4
BB1250,200,5
B1C450,300,5
CC1250,200,6
C1D600,450,6

Per prima cosa si modifica il file input_rete.dat che in questo caso sarà:

"|dati di input della rete|"
"|sulla sinitra i valori sulla destra la descrizione|"
75	"|KS di Gauckler-Strickler in m^(1/3)/s|"
51.40	"|a dell'equazione pluviometrica [mm ora^-n]|"
0.375	"|n dell'equazione pluviometrica [-]|"
1	"|1 se deve essere amplificata per 4/3 o mettere 0|"
40	"|VO in m^3/ha|"
0.005	"|tolleranza|"
5	"|numero di tronchi da dimensionare|"
"|descrizione dei singoli tronchi|"
"A_"	"|etichetta a monte tra virgolette|"
2900	"|superficie in m^2|"
50	"|lunghezza del tratto in m|"
0.4	"|coefficiente di deflusso|"
0	"|tratto esterno [0], interno [1], o principale [2]|"
"B_"	"|etichetta a monte tra virgolette|"
2000	"|superficie in m^2|"
25	"|lunghezza del tratto in m|"
0.5	"|coefficiente di deflusso|"
0	"|tratto esterno [0], interno [1], o principale [2]|"
"B1"	"|etichetta a monte tra virgolette|"
3000	"|superficie in m^2|"
45	"|lunghezza del tratto in m|"
0.50	"|coefficiente di deflusso|"
1	"|tratto esterno [0], interno [1], o principale [2]|"
"C_"	"|etichetta a monte tra virgolette|"
2000	"|superficie in m^2|"
25	"|lunghezza del tratto in m|"
0.60	"|coefficiente di deflusso|"
2	"|tratto esterno [0], interno [1], o principale [2]|"
"C1"	"|etichetta a monte tra virgolette|"
4500	"|superficie in m^2|"
60	"|lunghezza del tratto in m|"
0.60	"|coefficiente di deflusso|"
2	"|tratto esterno [0], interno [1], o principale [2]|"

Si lancia l'eseguibile: fognatura_bianca.exe (in Windows, meglio da "Prompt dei Comandi" all'interno della directory con il programma) o fognatura_bianca (in Linux, meglio dal "Terminale" sempre dalla directory con il programma) presenti nella cartella o si può ricompilare il sorgente (con il comando "fbc fognatura_bianca.bas") ed i passaggi a video sono sempre gli stessi visibili nell'articolo citato, così come la scelta della variabile di riferimento (velocità di 1 m/s).

Una volta concluso il dimensionamento, il programma restituirà il file di backup input_rete_da_A__a_C1.dat della rete e la relazione di calcolo sia a video sia in un file di testo tratto_da_A__a_C1.txt. Riporto la tabella riassuntiva che è molto simile a quella fornita nella dispensa del prof. Salandin Calcolo_Condotte.pdf da cui ho preso la rete per l'esempio:

___________________________________________________________________________
                         Tabella riepilogativa
 
Tratto da   L           ST      D      y/D      v      Q       i      TAU
    -       m          m^2      m       -      m/s    l/s      -     N/m^2
    A_     50.00     2900.00  0.300    0.45   1.000  30.62  0.00617  4.233
    B_     25.00     2000.00  0.300    0.48   1.000  33.79  0.00582  4.172
    B1     45.00     5000.00  0.400    0.59   1.000  76.87  0.00337  3.639
    C_     25.00     9900.00  0.500    0.69   1.000 143.96  0.00228  3.302
    C1     60.00    14400.00  0.600    0.71   1.000 213.88  0.00177  3.097

Aggiungi un commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Aggiungi un commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Sponsored Links
Pubblicità

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.