In this work, we present some improvements of algorithms for the initialization procedure of the phase equilibria calculus or \textit{PT Flash} calculation. The PT Flash calculus consists basically in determining, for a mixture at fixed pressure and temperature, the number of phases at equilibrium and their compositions, in terms of mole numbers and mole fractions. The classical approach for the phase equilibria calculation consists in minimizing the Gibbs free energy under mass balance constraints. A pre-processing analysis of the problem is needed to obtain a good estimate of the initial point from which an algorithm starts its research, in order to converge to the global optimum. First, we focus our attention on the study of several good estimates for an initial point. This leads us to obtain an efficient algorithm for mixtures in which more than two non-concurrent phases appear. Afterwards, we study an approximation method to reduce the computational cost of the initialization procedure, using a sparse grid model. The last part of this work introduces a method for the reduction of variables, named null-space method, which permits to reformulate the Gibbs free energy problem.

Il presente lavoro nasce da un'esperienza di tirocinio, durata sei mesi, presso \textit{IFP \'{E}nergies nouvelles} in collaborazione con il \textit{Politecnico di Milano}. \\ L'obiettivo principale consisteva nello sviluppo e l'ottimizzazione di algoritmi dediti alla risoluzione del problema termodinamico detto calcolo \textit{Flash PT}. Quest'ultimo consiste nel calcolare, data una miscela di un certo numero di componenti a pressione e temperatura fissate, il numero di fasi termodinamiche all'equilibrio e la loro percentuale, in termini di numero di moli e frazione molare. Il calcolo Flash PT è una procedura di base, essenziale per l'ottimizzazione e la simulazione di processi chimici, il quale ha svariate applicazioni come, ad esempio, simulazione di bacini, sintesi di farmaci, modellistica molecolare e trattamenti delle acque reflue industriali. \\ L'approccio classico per il calcolo Flash PT consiste nella minimizzazione dell'energia libera di Gibbs sotto vincoli di bilancio di massa (si veda per esempio~\cite{Michelsen}). Dato un certo numero di componenti, l'equilibrio di una miscela può presentare una sola fase oppure più fasi. In particolare, considerando \textit{calcoli Flash bifasici} ovvero dove a priori è noto che possano coesistere al massimo due fasi (che chiameremo \textit{vapore} ($v$) e \textit{liquido} ($l$) per semplicità), la formulazione del problema diventa (si consulti~\cite{Duchene}) \begin{equation} \label{eqn:problema} \begin{cases} \displaystyle\min_{\underline{n}^v,\underline{n}^l,V^v,V^l}\hspace{0.3cm}G^v(\underline{n}^v,P^0(V^v,V^l),T^0)+G^l(\underline{n}^l,P^0(V^v,V^l),T^0) \\ \hspace{0.5cm} s.t. \hspace{1cm} \underline{n}^v + \underline{n}^l - \underline{n}^0 = 0, \hspace{0.6cm} 0 \leq V^v\hspace{0.2cm}, \hspace{0.6cm} 0 \leq V^l \end{cases} \end{equation} dove $P^0$ e $T^0$ sono rispettivamente la pressione e la temperatura e $\underline{n} \in \mathbb{R}^{nc}$ è il vettore del numero di moli dei vari componenti (con $nc$ il numero di componenti). Infine, $G$ e $V$ rappresentano rispettivamente l'energia libera di Gibbs e il volume di sostanza. \\ Dal punto di vista matematico, (\ref{eqn:problema}) rappresenta un problema di ottimizzazione non lineare, vincolato. La sua risoluzione richiede un elevato costo computazionale. Inoltre, la convergenza degli algoritmi di ricerca ad una corretta soluzione è legata fortemente al punto iniziale da cui parte il solutore: l'inizializzazione del calcolo Flash PT rappresenta il ruolo più importante e delicato di questo processo. \\ Il seguente operato analizza tecniche matematiche specifiche atte a migliorare i processi di inizializzazione usati per risolvere (\ref{eqn:problema}). Esso può essere considerato diviso in tre sezioni principali. \\ Nella prima parte, composta dal secondo, terzo e quarto capitolo, vengono introdotti i miglioramenti apportati al processo di inizializzazione tramite l'utilizzo di opportune stime fisiche. Il risultato principale di questa sezione sta nel fatto di aver sviluppato, partendo da queste stime, un algoritmo euristico capace di fornire corretti punti inziali per miscele contenenti più di due fasi non concomitanti (per esempio vapore-liquido o liquido-liquido), non risolte dagli algoritmi precedenti. \\ La seconda parte, che corrisponde al quinto capitolo, mostra come sia possibile accelerare il processo di inizializzazione tramite una modellizzazione numerica di tipo sparse grid. Infatti, la valutazione dell'energia libera di Gibbs in un punto, richiede un elevato numero di operazioni poiché è necessaria la risoluzione dell'equazione di stato della miscela. L'introduzione di una funzione approssimante riduce notevolmente i tempi di calcolo mantenendo nel contempo una discreta precisione numerica. \\ Infine, il sesto capitolo, introduce un opportuno metodo di riduzione di variabili per problemi di ottimizzazione. Quest'ultima sezione si distacca dalle precedenti poiché non è legata all'inizializzazione del calcolo Flash PT ma fornisce gli strumenti per cambiare direttamente la formulazione del problema (\ref{eqn:problema}). Dapprima, viene esposto quest'approccio per problemi quadratici (di particolare interesse per \textit{IFP \'{E}nergies nouvelles}); segue poi la descrizione dettagliata della libreria \textit{C++} sviluppata per operare questa trasformazione su problemi generici. \\ Riassumendo, il nostro lavoro si è focalizzato prevalentemente sull'inizializzazione del calcolo Flash PT migliorando, dal punto di vista delle prestazioni, i codici precedentemente sviluppati da \textit{IFP \'{E}nergies nouvelles} sia tramite algoritmi di ricerca locale che con l'utilizzo di metodi di approssimazione numerica. Un'ultima parte del tirocinio ha previsto lo sviluppo di una libreria di codici per una riformulazione più performante di (\ref{eqn:problema}).

Improvements of algorithms in PT flash using the TPD function, sparse grid models and the null space method

BONALLI, RICCARDO
2013/2014

Abstract

In this work, we present some improvements of algorithms for the initialization procedure of the phase equilibria calculus or \textit{PT Flash} calculation. The PT Flash calculus consists basically in determining, for a mixture at fixed pressure and temperature, the number of phases at equilibrium and their compositions, in terms of mole numbers and mole fractions. The classical approach for the phase equilibria calculation consists in minimizing the Gibbs free energy under mass balance constraints. A pre-processing analysis of the problem is needed to obtain a good estimate of the initial point from which an algorithm starts its research, in order to converge to the global optimum. First, we focus our attention on the study of several good estimates for an initial point. This leads us to obtain an efficient algorithm for mixtures in which more than two non-concurrent phases appear. Afterwards, we study an approximation method to reduce the computational cost of the initialization procedure, using a sparse grid model. The last part of this work introduces a method for the reduction of variables, named null-space method, which permits to reformulate the Gibbs free energy problem.
DELBOS, FREDERIC
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2014
2013/2014
Il presente lavoro nasce da un'esperienza di tirocinio, durata sei mesi, presso \textit{IFP \'{E}nergies nouvelles} in collaborazione con il \textit{Politecnico di Milano}. \\ L'obiettivo principale consisteva nello sviluppo e l'ottimizzazione di algoritmi dediti alla risoluzione del problema termodinamico detto calcolo \textit{Flash PT}. Quest'ultimo consiste nel calcolare, data una miscela di un certo numero di componenti a pressione e temperatura fissate, il numero di fasi termodinamiche all'equilibrio e la loro percentuale, in termini di numero di moli e frazione molare. Il calcolo Flash PT è una procedura di base, essenziale per l'ottimizzazione e la simulazione di processi chimici, il quale ha svariate applicazioni come, ad esempio, simulazione di bacini, sintesi di farmaci, modellistica molecolare e trattamenti delle acque reflue industriali. \\ L'approccio classico per il calcolo Flash PT consiste nella minimizzazione dell'energia libera di Gibbs sotto vincoli di bilancio di massa (si veda per esempio~\cite{Michelsen}). Dato un certo numero di componenti, l'equilibrio di una miscela può presentare una sola fase oppure più fasi. In particolare, considerando \textit{calcoli Flash bifasici} ovvero dove a priori è noto che possano coesistere al massimo due fasi (che chiameremo \textit{vapore} ($v$) e \textit{liquido} ($l$) per semplicità), la formulazione del problema diventa (si consulti~\cite{Duchene}) \begin{equation} \label{eqn:problema} \begin{cases} \displaystyle\min_{\underline{n}^v,\underline{n}^l,V^v,V^l}\hspace{0.3cm}G^v(\underline{n}^v,P^0(V^v,V^l),T^0)+G^l(\underline{n}^l,P^0(V^v,V^l),T^0) \\ \hspace{0.5cm} s.t. \hspace{1cm} \underline{n}^v + \underline{n}^l - \underline{n}^0 = 0, \hspace{0.6cm} 0 \leq V^v\hspace{0.2cm}, \hspace{0.6cm} 0 \leq V^l \end{cases} \end{equation} dove $P^0$ e $T^0$ sono rispettivamente la pressione e la temperatura e $\underline{n} \in \mathbb{R}^{nc}$ è il vettore del numero di moli dei vari componenti (con $nc$ il numero di componenti). Infine, $G$ e $V$ rappresentano rispettivamente l'energia libera di Gibbs e il volume di sostanza. \\ Dal punto di vista matematico, (\ref{eqn:problema}) rappresenta un problema di ottimizzazione non lineare, vincolato. La sua risoluzione richiede un elevato costo computazionale. Inoltre, la convergenza degli algoritmi di ricerca ad una corretta soluzione è legata fortemente al punto iniziale da cui parte il solutore: l'inizializzazione del calcolo Flash PT rappresenta il ruolo più importante e delicato di questo processo. \\ Il seguente operato analizza tecniche matematiche specifiche atte a migliorare i processi di inizializzazione usati per risolvere (\ref{eqn:problema}). Esso può essere considerato diviso in tre sezioni principali. \\ Nella prima parte, composta dal secondo, terzo e quarto capitolo, vengono introdotti i miglioramenti apportati al processo di inizializzazione tramite l'utilizzo di opportune stime fisiche. Il risultato principale di questa sezione sta nel fatto di aver sviluppato, partendo da queste stime, un algoritmo euristico capace di fornire corretti punti inziali per miscele contenenti più di due fasi non concomitanti (per esempio vapore-liquido o liquido-liquido), non risolte dagli algoritmi precedenti. \\ La seconda parte, che corrisponde al quinto capitolo, mostra come sia possibile accelerare il processo di inizializzazione tramite una modellizzazione numerica di tipo sparse grid. Infatti, la valutazione dell'energia libera di Gibbs in un punto, richiede un elevato numero di operazioni poiché è necessaria la risoluzione dell'equazione di stato della miscela. L'introduzione di una funzione approssimante riduce notevolmente i tempi di calcolo mantenendo nel contempo una discreta precisione numerica. \\ Infine, il sesto capitolo, introduce un opportuno metodo di riduzione di variabili per problemi di ottimizzazione. Quest'ultima sezione si distacca dalle precedenti poiché non è legata all'inizializzazione del calcolo Flash PT ma fornisce gli strumenti per cambiare direttamente la formulazione del problema (\ref{eqn:problema}). Dapprima, viene esposto quest'approccio per problemi quadratici (di particolare interesse per \textit{IFP \'{E}nergies nouvelles}); segue poi la descrizione dettagliata della libreria \textit{C++} sviluppata per operare questa trasformazione su problemi generici. \\ Riassumendo, il nostro lavoro si è focalizzato prevalentemente sull'inizializzazione del calcolo Flash PT migliorando, dal punto di vista delle prestazioni, i codici precedentemente sviluppati da \textit{IFP \'{E}nergies nouvelles} sia tramite algoritmi di ricerca locale che con l'utilizzo di metodi di approssimazione numerica. Un'ultima parte del tirocinio ha previsto lo sviluppo di una libreria di codici per una riformulazione più performante di (\ref{eqn:problema}).
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2014_12_Bonalli.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 1.16 MB
Formato Adobe PDF
1.16 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/102209