• Non ci sono risultati.

Per tale componente si è adottato un approccio a efficienza costante, in cui il valore di efficienza è stato calibrato sulla base dei dati sperimentali, come descritto nel paragrafo

5.2 Approccio numerico

5.2.4 La funzione ‘derivatestati’

La funzione ‘derivetastati’ permette di calcolare le derivate di tutte le grandezze tempo varianti e di integrarle per mezzo di un risolutore di equazioni differenziali: ‘ode15s’; tale funzione richiama un’ulteriore funzione definita al suo interno, come verrà descritto in seguito. La funzione presenta dodici input e sei output :

- input :

‘t0’, lo scalare rappresentante il tempo di inizio integrazione, il quale partirà da un valore preimpostato dall’utente all’inizio della simulazione e ad ogni passo assumerà il valore del tempo di fine integrazione del passo precedente, ovvero l’istante di tempo in cui si è verificato un evento per il quale si è arrestata l’integrazione;

‘t1’, scalare che indica il tempo massimo di integrazione, necessario per il funzionamento della funzione preimpostata ‘ode15s’. Esso viene definito nello script principale come ‘t0’+’n’, dove ‘n’ è un numero abbastanza alto per garantire che l’integrazione si interrompa qualora si verifichi un evento e non a causa del raggiungimento del tempo limite di integrazione;

‘X’, il vettore dei quarantatré stati, che funge da condizione al contorno per la funzione di integrazione. L’integrazione partirà dai valori contenuti in questo vettore e successivamente lo aggiornerà;

‘S’, il vettore dei segnali di controllo composto da 0 o 1, i cui valori andranno a moltiplicarsi alle derivate degli stati per annullarle o meno a seconda della fase del processo che si sta verificando;

‘nX’, lo scalare rappresentante il numero delle variabili che definiscono gli stati e svolge una funzione di inizializzazione del vettore che contiene al suo interno i valori delle derivate;

56

‘pasint', vettore che registra i passi di integrazione effettuati ad ogni fase di processo, ovvero tra il verificarsi di un evento e quello successivo. Tale vettore in principio è inizializzato come vettore vuoto;

‘M4max’, scalare che indica la massa di mosto elaborata nella singola cotta; dato contenuto nel file ‘Microsoft Excel’ caricato inizialmente nello script;  ‘Qevap’, scalare che indica la potenza istantanea da fornire al mosto in caldaia

durante il processo di ebollizione in modo tale che la fase di processo in esame produca la corretta percentuale di evaporato nella tempo reale di processo;  ‘cpm’, scalare rappresentativo del calore specifico del mosto. Tale valore è

stato ipotizzato pari a quello dell’acqua ovvero a 4,186 kJ/(kg K). Si è deciso di considerare tale input in modo tale che se si volesse eseguire un’analisi fine sulle caratteristiche termofisiche dei fluidi in esame sarebbe sufficiente modificare il valore della variabile in un unico punto dello script principale, senza dover modificarlo in ogni espressione in cui viene richiamato;

‘m_m_pre’, scalare indicativo della portata di mosto elaborata dallo scambiatore di calore atto al preriscaldamento. Valore che andrà a moltiplicare l’elemento corrispondente del vettore contenente i segnali di controllo;

‘m_w_pre’, scalare indicativo della portata di acqua elaborata dallo scambiatore di calore atto al preriscaldamento. Valore che andrà a moltiplicare l’elemento corrispondente del vettore contenente i segnali di controllo;

‘Qris’, scalare che rappresenta la potenza istantanea da fornire al mosto in caldaia durante il processo di riscaldamento per raggiungere la temperatura di 100 °C in modo tale che se il mosto entrasse in caldaia con una temperatura pari a quella reale la fase di processo in esame durerebbe esattamente come le tempistiche reali di processo;

‘m4’, scalare indicativo della portata di mosto elaborata dallo scambiatore di calore atto al raffreddamento. Valore che andrà a moltiplicare l’elemento corrispondente del vettore contenente i segnali di controllo;

‘m5’, scalare indicativo della portata di acqua elaborata dallo scambiatore di calore atto al raffreddamento. Valore che andrà a moltiplicare l’elemento corrispondente del vettore contenente i segnali di controllo;

Modello

57 - output:

‘Xnew’, il vettore degli stati aggiornato al valore da essi assunto nell’istante in cui si è verificato un evento e dunque si è arrestata l’integrazione;

‘tf’, scalare che rappresenta il valore temporale, espresso in secondi, al quale l’integrazione si è interrotta; il valore assunto da tale variabile verrà utilizzato al passo successivo come tempo iniziale di integrazione;

‘i_f’, scalare che svolge la funzione di indice che esplica quale evento è responsabile dell’interruzione del processo di calcolo del risolutore e permette di stabilire che fase del processo di produzione si è raggiunta. Tale scalare può assumere valori compresi tra 0 e 4 ciascuno relativo ad una specifica fase. La rilevanza del seguente output sta nel fatto che verrà dato in pasto alla funzione ‘aggiornacontrolli’ la quale vorrà l’indice in posizione di input per svolgere le successive e intrinseche rielaborazioni;

‘yi’, matrice di quarantatré colonne e ‘n’ righe che racchiude tutti i valori assunti dagli stati durante l’integrazione. Il numero ‘n’ varia a seconda della durata della fase del processo che si sta simulando e rappresenta il numero di passi di integrazione della singola fase;

‘tempi’, vettore colonna di ‘n’ righe che rappresenta i valori di tempo, espresso in secondi, assunti durante l’integrazione. Il numero ‘n’ varia a seconda della durata della fase del processo che si sta simulando e rappresenta il numero di passi di integrazione della singola fase;

‘pasint’, vettore riga che registra i passi di integrazione effettuati ad ogni fase di processo, ovvero tra il verificarsi di un evento e quello successivo. Tale vettore in principio è inizializzato come vettore vuoto e continua ad aggiornarsi registrando i progressivi valori sulla stessa riga ma spostandosi seguendo il numero di colonne progressivo. Ad ogni integrazione il vettore si riaggiornerà per mezzo della seguente relazione :

La variabile ‘n’ rappresenta il numero di passi di integrazione della singola fase e parte da zero ad ogni inizio integrazione.

58

La funzione dunque assume la seguente forma:

Dove gli input sono posti tra parentesi tonde e gli output tra parentesi quadre. All’interno della funzione, inizialmente, vengono definiti i parametri termici e geometrici e successivamente vengono dichiarate le portate in gioco opportunamente moltiplicate per il segnale di controllo così da permettere una regolazione di tipo on/off su di esse. Infine vengono impostate delle masse fittizie necessarie alla chiusura dei bilanci negli scambiatori di calore. Dopo il settaggio dei parametri generali nello script della funzione ‘derivatestati’ viene impostato il risolutore. La funzione ‘ode15s’ presenta la seguente forma:

Questa funzione svolge il compito di integrare nel tempo, dal valore iniziale di ‘t0’ ogni dieci secondi fino al valore finale ‘t1’, la funzione ‘@derivate’ la quale calcola nel tempo le derivate dei valori assunti dagli stati contenuti nel vettore ‘X’ che rappresenta una delle tre condizioni al contorno ovvero quella indicativa dei parametri iniziali. Il parametro ‘options’ contiene al suo interno un’ulteriore funzione eventi che arresta l’integrazione al verificarsi di uno degli eventi contenuti in essa, dunque l’integrazione non raggiungerà mai il tempo ‘t1’ qualora si dovesse verificare una di queste situazioni.

Nello specifico di seguito si presentano gli input e gli output del risolutore integrale. - input:

‘@derivate’, la handle function nella quale vengono definite le derivate temporali dei quarantatré stati che verranno integrate dal risolutore al cui interno vengono modellizzati tutti gli scambiatori e i serbatoi presenti nel processo;

‘[t0:10:t1]’, il vettore con gli istanti temporali di inizio, fine integrazione e gli istanti intermedi; il valore da essi assunto è stato definito precedentemente nella parte in cui si assegnano gli input della funzione ‘derivatastati’. Con tale sintassi non si permette al risolutore ‘ode15s’ di decidere autonomamente il passo di integrazione in quanto lo si forza ad agire seguendo un passo di dieci secondi imposto dall’utente. La ragione per cui si è adottata questa logica risiede nella scelta di utilizzare un tempo di simulazione sufficientemente fitto per avere un riscontro immediato sulle possibili variazioni degli stati. Un intervallo inferiore

Modello

59 avrebbe prodotto una mole difficilmente trattabile di dati mentre con un intervallo maggiore si sarebbe potuto correre il rischio di perdere sensibilità sulle velocità di variazione delle variabili simulate;

‘X’, il vettore dei quarantatré stati, che viene preso come vettore dei valori di partenza per l’integrazione rispettando dunque la condizione al contorno;

‘options’, un comando caratteristico del risolutore ‘ode’. Tale comando serve ad impostare determinate funzionalità del risolutore ed in questo caso viene sfruttata la possibilità di impostare una funzione eventi in grado di arrestare l’integrazione qualora si verifichi uno di questi eventi, evitando quindi al risolutore di procedere con l’integrazione fino all’ultimo istante temporale ‘t1’ precedentemente impostato dall’utente. Tale comando deve essere impostato esternamente e presenta la seguente sintassi:

- output:

‘t’, il vettore colonna di ‘n’ righe che contiene gli istanti temporali nei quali il risolutore ha prodotto dei risultati svolgendo l’integrazione. Il numero ‘n’ varia a seconda della durata della fase del processo in quanto rappresenta il numero di passi di integrazione;

‘y’, una matrice di quarantatré colonne e ‘n’ righe che racchiude tutti i valori assunti dagli stai durante l’integrazione;

‘te’, scalare che rappresenta il valore temporale, espresso in secondi, al quale l’integrazione si è interrotta; il valore assunto da tale variabile verrà utilizzato al passo successivo come tempo iniziale di integrazione;

‘ye’, vettore riga di quarantatré colonne che rappresenta i valori degli stati nel momento in cui si è arrestata l’integrazione a causa del verificarsi di un evento;  ‘ie’, scalare che svolge la funzione di indice che esplica quale evento è responsabile dell’interruzione del processo di calcolo del risolutore e permette di stabilire che fase del processo di produzione si è raggiunta. Tale scalare può assumere valori compresi tra 0 e 4 ciascuno relativo ad una specifica fase.

60

Documenti correlati