Skip to main content
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

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
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

A civil geotechnical engineer with the ambition to facilitate own work with free software for a knowledge and collective sharing. Also, I deal with green energy and in particular shallow geothermal energy. I have always been involved in web design and 3D modelling.