diff --git a/Presentation/IceMelting_Final_Habscheid_2025.pdf b/Presentation/IceMelting_Final_Habscheid_2025.pdf index befc5e346918c60663824fa43d9bf20d95d3f8df..f21a8c3fb7a952a65824f6a8501ce26ee9a0c4ba 100644 Binary files a/Presentation/IceMelting_Final_Habscheid_2025.pdf and b/Presentation/IceMelting_Final_Habscheid_2025.pdf differ diff --git a/Presentation/IceMelting_Final_Habscheid_2025.tex b/Presentation/IceMelting_Final_Habscheid_2025.tex index 8c90da0be34bba50b1601f97790a83839e068c94..3efa1f9fc05654d6f4d39293c6ae4b9b52641254 100644 --- a/Presentation/IceMelting_Final_Habscheid_2025.tex +++ b/Presentation/IceMelting_Final_Habscheid_2025.tex @@ -11,6 +11,8 @@ \usepackage{soul} % for strike through \usepackage{tcolorbox} % for colored boxes \usepackage{xcolor} +% \usepackage{MnSymbol,wasysym} +\usepackage{tikzsymbols} % for smileys % Define colors based on Metropolis \definecolor{mblue}{rgb}{0.0, 0.45, 0.7} % Metropolis primary color @@ -104,8 +106,9 @@ \begin{frame}{Computational Setup} \begin{figure} \centering - \foreach \n in {4,...,9} { - \pgfmathtruncatemacro{\nnow}{\n-3} % Define a new variable \nnow = \n - 11 + % \foreach \n in {4,...,9} { + \foreach \n in {6,...,9} { + \pgfmathtruncatemacro{\nnow}{\n-5} % Define a new variable \only<\nnow>{\includegraphics[width=\textwidth,page=\n]{Figures/CryobotConceptual.pdf}} } \end{figure} @@ -134,21 +137,29 @@ \begin{Infobox}{Dimensionless Variables:} \begin{equation*} \begin{aligned} - \Theta &= \frac{T - T_{\text{ICE,min}}}{T_{\text{MELTING}} - T_{\text{ICE,min}}}, \quad \xi = \frac{x}{L}, \quad \tau = \frac{t}{t_\text{ref}}, \quad t_\text{ref} = \frac{\rho_\text{ref}c_{p,\text{ref}}L^2}{\lambda_\text{ref}} \approx \colorbox{orange}{5.95 \text{days}} + \onslide<1->{ + \Theta &= \frac{T - T_{\text{ICE,min}}}{T_{\text{MELTING}} - T_{\text{ICE,min}}}, \quad \xi = \frac{x}{L}, \quad \tau = \frac{t}{t_\text{ref}}, \quad t_\text{ref} = \frac{\rho_\text{ref}c_{p,\text{ref}}L^2}{\lambda_\text{ref}} \approx \colorbox{orange}{5.95 \text{days}} + } \\ - \lambda^* &= \frac{\lambda}{\lambda(T_\text{ref})}, \quad \rho^* = \frac{\rho}{\rho(T_\text{ref})}, \quad c_p^* = \frac{c_p}{c_p(T_\text{ref})} + \onslide<2->{ + \lambda^* &= \frac{\lambda}{\lambda(T_\text{ref})}, \quad \rho^* = \frac{\rho}{\rho(T_\text{ref})}, \quad c_p^* = \frac{c_p}{c_p(T_\text{ref})} + } \\ - &\text{with: }T_\text{ICE,min} = T_\text{ref} = 100 \text{K}, \quad T_\text{MELTING} = 273.15 \text{K}, \quad L = 2 \text{m} + \onslide<3->{ + &\text{with: }T_\text{ICE,min} = T_\text{ref} = 100 \text{K}, \quad T_\text{MELTING} = 273.15 \text{K}, \quad L = 2 \text{m} + } \end{aligned} \end{equation*} \end{Infobox} - \textbf{Dimensionless Heat Equation:} - \begin{equation*} - \begin{aligned} - \rho^*(\Theta) c_p^*(\Theta) \frac{\partial \Theta}{\partial \tau} &= \frac{\partial}{\partial \xi} \left( \lambda^*(\Theta) \frac{\partial \Theta}{\partial \xi} \right)\quad \text{in } \Omega^* =[0,1] \\ - \text{with: }\Theta(\xi=0,\tau) &= \Theta_\text{ICE}, \Theta(\xi=1,\tau)=1, \Theta(\xi,\tau=0)=\Theta_\text{ICE} \\ - \end{aligned} - \end{equation*} + \onslide<4->{ + \textbf{Dimensionless Heat Equation:} + \begin{equation*} + \begin{aligned} + \rho^*(\Theta) c_p^*(\Theta) \frac{\partial \Theta}{\partial \tau} &= \frac{\partial}{\partial \xi} \left( \lambda^*(\Theta) \frac{\partial \Theta}{\partial \xi} \right)\quad \text{in } \Omega^* =[0,1] \\ + \text{with: }\Theta(\xi=0,\tau) &= \Theta_\text{ICE}, \Theta(\xi=1,\tau)=1, \Theta(\xi,\tau=0)=\Theta_\text{ICE} \\ + \end{aligned} + \end{equation*} + } \end{frame} % Trans Behavior @@ -174,7 +185,7 @@ % Workflow % Todo: Change to dimensionless -% ? Do I want this really? +% ? Do I really want this? \begin{frame}{Surrogate Modeling Workflow} \begin{figure} \centering @@ -198,38 +209,38 @@ }; \end{tikzpicture} - % \begin{tikzpicture} - % \node[anchor=north east, yshift=-5pt] { - % \includegraphics[width=3cm]{Figures/Schematic_DataSplitting.jpg} - % }; - % \end{tikzpicture} - - % \textbf{Setup:} \begin{equation*} \begin{aligned} - \text{Data Splitting:} - &\begin{cases} - \underbrace{samples_\text{train,test} = 120, samples_\text{validate} = 20}_{\text{random ICE temperature}} - \end{cases}\\ - \text{Numerical Properties} - &\begin{cases} - \Theta(\xi=0) \in [\Theta_\text{min},\Theta_\text{max}] - \\ - \text{with: } \Theta_\text{min} = \Theta(100K) = 0.0, \Theta_\text{max} = \Theta(200\text{K}) = 0.5775 - \\ - \tau \in [0,1], \Delta t = 0.0004, n_x = 2048 - % \\ - \end{cases} + \onslide<1->{ + \text{Data Splitting:} + &\begin{cases} + \underbrace{samples_\text{train,test} = 120, samples_\text{validate} = 20}_{\text{random ICE temperature}} + \end{cases} + } + \\ + \onslide<2->{ + \text{Numerical Properties} + &\begin{cases} + \Theta(\xi=0) \in [\Theta_\text{min},\Theta_\text{max}] + \\ + \text{with: } \Theta_\text{min} = \Theta(100K) = 0.0, \Theta_\text{max} = \Theta(200\text{K}) = 0.5775 + \\ + \tau \in [0,1], \Delta t = 0.0004, n_x = 2048 + % \\ + \end{cases} + } \end{aligned} \end{equation*} - \onslide<2->{\textbf{Data Splitting:} - \begin{itemize} - \item Train and test data is splitted randomly (80/20) \Warning - \end{itemize}} - \onslide<5->{ + \onslide<3->{ + \textbf{Data Splitting:} + \begin{itemize} + \item Train and test data is splitted randomly (80/20) \Warning + \end{itemize} + } + \onslide<4->{ \textbf{Extrapolate:}\\ \begin{itemize} - \onslide<6->\item 10 uniformly spaced Ice temperatures: $\Theta(\xi =0) \in [\Theta_\text{max}, 1]$ \Warning + \item 10 uniformly spaced Ice temperatures: $\Theta(\xi =0) \in [\Theta_\text{max}, 1]$ \Warning \end{itemize} } \end{frame} @@ -239,10 +250,91 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}{ANN - Forward Neural Network} \begin{figure} - \includegraphics[height=0.5\textheight,page=41]{Figures/CryobotConceptual.pdf} + % \includegraphics[height=0.5\textheight,page=41]{Figures/CryobotConceptual.pdf} + \begin{tikzpicture}[scale=0.8, transform shape] + % Define the number of neurons in each layer + \def\inputnum{2} + \def\hiddennum{5} + \def\outputnum{1} + + % Input Layer + \foreach \i in {1,...,\inputnum} + { + \node[circle, + minimum size = 9mm, + fill=orange!30] (Input-\i) at (0,-\i) {}; + } + + % Hidden Layer + \foreach \i in {1,...,\hiddennum} + { + \node[circle, + minimum size = 6mm, + fill=teal!50, + yshift=(\hiddennum-\inputnum)*5 mm + ] (Hidden1-\i) at (2.5,-\i) {}; + } + + % Hidden Layer + \foreach \i in {1,...,\hiddennum} + { + \node[circle, + minimum size = 6mm, + fill=teal!50, + yshift=(\hiddennum-\inputnum)*5 mm + ] (Hidden2-\i) at (5,-\i) {}; + } + + % Output Layer + \foreach \i in {1,...,\outputnum} + { + \node[circle, + minimum size = 9mm, + fill=purple!50, + yshift=(\outputnum-\inputnum)*5 mm + ] (Output-\i) at (7.5,-\i) {}; + } + + % Connect neurons In-Hidden + \foreach \i in {1,...,\inputnum} + { + \foreach \j in {1,...,\hiddennum} + { + \draw[->, shorten >=1pt] (Input-\i) -- (Hidden1-\j); + } + } + + % Connect neurons Hidden-Hidden + \foreach \i in {1,...,\hiddennum} + { + \foreach \j in {1,...,\hiddennum} + { + \draw[->, shorten >=1pt] (Hidden1-\i) -- (Hidden2-\j); + } + } + + % Connect neurons Hidden-Out + \foreach \i in {1,...,\hiddennum} + { + \foreach \j in {1,...,\outputnum} + { + \draw[->, shorten >=1pt] (Hidden2-\i) -- (Output-\j); + } + } + + % Inputs + \draw[<-, shorten >=1pt] (Input-1) -- ++(-1,0) + node[left]{\Large$\Theta_\text{ICE}$}; + \draw[<-, shorten >=1pt] (Input-2) -- ++(-1,0) + node[left]{\Large$\tau$}; + + % Outputs + \draw[->, shorten >=1pt] (Output-1) -- ++(1,0) + node[right]{\Large$q(\xi=1)$}; + \end{tikzpicture} \end{figure} \onslide<2->{\textbf{ - Questions:} + Questions:}\\ \onslide<3->{Number of layers?} \onslide<4->{Number of neurons per layer?} \onslide<5->{Activation function?} @@ -263,24 +355,27 @@ \end{figure} \end{column} \begin{column}{0.4\textwidth} - \begin{Infobox}{Optimal Hyperparameter:} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - % \toprule - Layer & 3 \\ - Neurons & 149 \\ - Activation & \texttt{tanh} \\ - Batch size & 34 \\ - % \bottomrule - \end{tabular} - \end{table} - \end{Infobox} - \textbf{Further Information:} + \onslide<2->{ + \begin{Infobox}{Optimal Hyperparameter:} + \begin{table}[ht] + \centering + \begin{tabular}{ll} + % \toprule + Layer & 3 \\ + Neurons & 149 \\ + Activation & \texttt{tanh} \\ + Batch size & 34 \\ + % \bottomrule + \end{tabular} + \end{table} + \end{Infobox} + } + \onslide<3->{ + \textbf{Further Information:} + } \begin{itemize} - \onslide<2->\item No scaling (dimensionless variables) - \onslide<3->\item Reducing Learning Rate on Plateau - % \onslide<4->\item Early Stopping + \onslide<3->\item No scaling (dimensionless variables) + \onslide<4->\item Reducing Learning Rate on Plateau \end{itemize} \end{column} \end{columns} @@ -294,19 +389,21 @@ \end{figure} \end{column} \begin{column}{0.3\textwidth} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - \toprule - \textbf{Measure} & \textbf{Value} \\ - \midrule - MAE & $6.137e-3$ \\ - MAPE & $7.560e-3$ \\ - MSE & $8.090e-5$ \\ - RMSE & $8.425e-3$ \\ - \bottomrule - \end{tabular} - \end{table} + \onslide<2->{ + \begin{table}[ht] + \centering + \begin{tabular}{ll} + \toprule + \textbf{Measure} & \textbf{Value} \\ + \midrule + MAE & $6.137e-3$ \\ + MAPE & $7.560e-3$ \\ + MSE & $8.090e-5$ \\ + RMSE & $8.425e-3$ \\ + \bottomrule + \end{tabular} + \end{table} + } \end{column} \end{columns} \end{frame} @@ -316,23 +413,25 @@ \begin{column}{0.7\textwidth} \begin{figure} \includegraphics[height=0.43\textheight]{Figures/ANN/HeatFluxError_Abs_Rel_Extrapolation_Zoom.pdf} - \includegraphics[height=0.43\textheight]{Figures/ANN/HeatFluxPrediction_3DPlot_Extrapolation.pdf} + \onslide<2->\includegraphics[height=0.43\textheight]{Figures/ANN/HeatFluxPrediction_3DPlot_Extrapolation.pdf} \end{figure} \end{column} \begin{column}{0.3\textwidth} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - \toprule - \textbf{Measure} & \textbf{Value} \\ - \midrule - MAE & $1.504e-1$ \\ - MAPE & $6.574e-1$ \\ - MSE & $1.210e-1$ \\ - RMSE & $2.788e-1$ \\ - \bottomrule - \end{tabular} - \end{table} + \onslide<3->{ + \begin{table}[ht] + \centering + \begin{tabular}{ll} + \toprule + \textbf{Measure} & \textbf{Value} \\ + \midrule + MAE & $1.504e-1$ \\ + MAPE & $6.574e-1$ \\ + MSE & $1.210e-1$ \\ + RMSE & $2.788e-1$ \\ + \bottomrule + \end{tabular} + \end{table} + } \end{column} \end{columns} \end{frame} @@ -376,10 +475,12 @@ \onslide<1->\item Loss Function % \onslide<3->\item Initialization time for discontinuities \end{itemize} - \onslide<2->\begin{figure} - \centering - \includegraphics[width=0.75\textwidth]{Figures/PINN/BCS/SoftBCS.pdf} - \end{figure} + \onslide<2->{ + \begin{figure} + \centering + \includegraphics[width=0.75\textwidth]{Figures/PINN/BCS/SoftBCS.pdf} + \end{figure} + } \end{Infobox} \end{column} \begin{column}{.5\textwidth} @@ -388,10 +489,12 @@ \onslide<3->\item Guaranteed (Output Transformation) % \onslide<6->\item Oscillatory behavior for $\Theta$ \end{itemize} - \onslide<4->\begin{figure} - \centering - \includegraphics[width=0.75\textwidth]{Figures/PINN/BCS/HardBCS.pdf} - \end{figure} + \onslide<4->{ + \begin{figure} + \centering + \includegraphics[width=0.75\textwidth]{Figures/PINN/BCS/HardBCS.pdf} + \end{figure} + } \end{Infobox} \end{column} \end{columns} @@ -402,27 +505,29 @@ \onslide<2->{Discretizing the time} \begin{columns} \begin{column}{0.6\textwidth} - \begin{Infobox}{Discretized Time Treatment} - \begin{equation*} - \begin{aligned} - \onslide<3->{ - \rho^{*,i+1} &c_p^{*,i+1} \frac{\Theta^{i+1} - \Theta^i}{\Delta t} = \frac{\partial}{\partial \xi} \left( \lambda^{*,i+1} \frac{\partial \Theta^{i+1}}{\partial \xi} \right) - \\ - } - \onslide<4->{ - \tilde{\mathcal{L}} &= \tilde{\mathcal{L}}_{\text{PDE}} + w_{\text{BCS}}\tilde{\mathcal{L}}_{\text{BCS}} - \\ - } - \onslide<5->{ - \tilde{\mathcal{L}}_\text{PDE} &= \frac{1}{N_{\text{PDE}}}\sum_{i=1}^{N_{\text{PDE}}} \bigg| \rho^{*,i+1} c_p^{*,i+1} \frac{\Theta^{i+1} - \Theta^i}{\Delta t} - \\ - &- \frac{\partial}{\partial \xi} \left( \lambda^{*,i+1} \frac{\partial \Theta^{i+1}}{\partial \xi} \right) \bigg|^2 - } - \end{aligned} - \end{equation*} - \end{Infobox} + \onslide<2->{ + \begin{Infobox}{Discretized Time Treatment} + \begin{equation*} + \begin{aligned} + \onslide<2->{ + \rho^{*,i+1} &c_p^{*,i+1} \frac{\Theta^{i+1} - \Theta^i}{\Delta t} = \frac{\partial}{\partial \xi} \left( \lambda^{*,i+1} \frac{\partial \Theta^{i+1}}{\partial \xi} \right) + \\ + } + \onslide<3->{ + \tilde{\mathcal{L}} &= \tilde{\mathcal{L}}_{\text{PDE}} + w_{\text{BCS}}\tilde{\mathcal{L}}_{\text{BCS}} + \\ + } + \onslide<3->{ + \tilde{\mathcal{L}}_\text{PDE} &= \frac{1}{N_{\text{PDE}}}\sum_{i=1}^{N_{\text{PDE}}} \bigg| \rho^{*,i+1} c_p^{*,i+1} \frac{\Theta^{i+1} - \Theta^i}{\Delta t} + \\ + &- \frac{\partial}{\partial \xi} \left( \lambda^{*,i+1} \frac{\partial \Theta^{i+1}}{\partial \xi} \right) \bigg|^2 + } + \end{aligned} + \end{equation*} + \end{Infobox} + } \end{column} - \onslide<6->\begin{column}{0.5\textwidth} + \onslide<4->\begin{column}{0.5\textwidth} \begin{figure} \centering \includegraphics[width=.8\textwidth]{Figures/PINN/BCS/Discretized_BCS.pdf} @@ -439,23 +544,27 @@ \end{figure} \end{column} \begin{column}{0.4\textwidth} - \begin{Infobox}{Optimal Hyperparameter:} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - % \toprule - Layer & 5 \\ - Neurons & 35 \\ - Activation & \texttt{tanh} \\ - % \bottomrule - \end{tabular} - \end{table} - \end{Infobox} - \textbf{Further Information:} - \begin{itemize} - \onslide<2->\item No scaling due to dimensionless variables - \onslide<3->\item Tuner: (10 time steps), Training: (100 time steps) - \end{itemize} + \onslide<2->{ + \begin{Infobox}{Optimal Hyperparameter:} + \begin{table}[ht] + \centering + \begin{tabular}{ll} + % \toprule + Layer & 5 \\ + Neurons & 35 \\ + Activation & \texttt{tanh} \\ + % \bottomrule + \end{tabular} + \end{table} + \end{Infobox} + } + \onslide<3->{ + \textbf{Further Information:} + \begin{itemize} + \item No scaling due to dimensionless variables + \item Tuner: (10 time steps), Training: (100 time steps) + \end{itemize} + } \end{column} \end{columns} \end{frame} @@ -471,19 +580,21 @@ \end{figure} \end{column} \begin{column}{0.3\textwidth} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - \toprule - \textbf{Measure} & \textbf{Value} \\ - \midrule - MAE & $4.346e-3$ \\ - MAPE & $5.366e-3$ \\ - MSE & $5.379e-5$ \\ - RMSE & $4.695e-3$ \\ - \bottomrule - \end{tabular} - \end{table} + \onslide<2->{ + \begin{table}[ht] + \centering + \begin{tabular}{ll} + \toprule + \textbf{Measure} & \textbf{Value} \\ + \midrule + MAE & $4.346e-3$ \\ + MAPE & $5.366e-3$ \\ + MSE & $5.379e-5$ \\ + RMSE & $4.695e-3$ \\ + \bottomrule + \end{tabular} + \end{table} + } \end{column} \end{columns} \end{frame} @@ -499,19 +610,21 @@ \end{figure} \end{column} \begin{column}{0.3\textwidth} - \begin{table}[ht] - \centering - \begin{tabular}{ll} - \toprule - \textbf{Measure} & \textbf{Value} \\ - \midrule - MAE & $3.560e-2$ \\ - MAPE & $2.938e-1$ \\ - MSE & $4.223e-3$ \\ - RMSE & $4.226e-2$ \\ - \bottomrule - \end{tabular} - \end{table} + \onslide<2->{ + \begin{table}[ht] + \centering + \begin{tabular}{ll} + \toprule + \textbf{Measure} & \textbf{Value} \\ + \midrule + MAE & $3.560e-2$ \\ + MAPE & $2.938e-1$ \\ + MSE & $4.223e-3$ \\ + RMSE & $4.226e-2$ \\ + \bottomrule + \end{tabular} + \end{table} + } \end{column} \end{columns} \end{frame} @@ -529,10 +642,16 @@ \textbf{Method} & \textbf{Training} & \textbf{Tuning} & \textbf{Evaluation} \\ \midrule \textbf{FEM} & $4787.26$s & - & $32$s \\ - \textbf{ANN} & $9628.32$s & $12487.74$s & $2.58e-5$s \\ + \onslide<2->{ + \textbf{ANN} & $9628.32$s & $12487.74$s & $2.58e-5$s + } + \\ % PINN (Continuous) & $190.48$s & $945.75$s & $1.83e-05$s \\ - \textbf{PINN} & $ - 2390.81$s (100 steps) & $6265.00$s (10 steps) & $2.53e-03$s \\ + \onslide<3->{ + \textbf{PINN} & $ + 2390.81$s (100 steps) & $6265.00$s (10 steps) & $2.53e-03$s + } + \\ % \bottomrule \end{tabular} \end{table} @@ -542,31 +661,66 @@ % Conclusion \begin{frame}{Conclusions} - \begin{columns} - \begin{column}{0.5\textwidth} - \begin{Infobox}{ANN} - \begin{itemize} - \item[--] Accuracy - \item[+] Fast evaluation - \item[+] Easy to implement and to tune - \item[--] Poor extrapolation - \end{itemize} - \end{Infobox} - \end{column} - \begin{column}{0.5\textwidth} - \begin{Infobox}{PINN} - \begin{itemize} - \item[+] Accuracy - \item Fast evaluation - \item[--] More complex to implement and tune - \begin{itemize} - \item Be careful with the output! - \end{itemize} - \item[+] Extrapolation - \end{itemize} - \end{Infobox} - \end{column} - \end{columns} + \begin{Infobox}{Lets sum it up} + \begin{table}[ht] + \centering + \begin{tabular}{l|cc} + % \toprule + \textbf{Category} & \textbf{ANN} & \textbf{PINN} \\ + \midrule + \onslide<2->{ + \textbf{Accuracy} & \Huge\Neutrey & \Huge\Smiley + } + \\ + \onslide<3->{ + \textbf{Evaluation time} & \Huge\Smiley & \Huge\Neutrey + } + \\ + \onslide<4->{ + \textbf{Training/Tuning time} & \Huge\Neutrey & \Huge\Smiley + } + \\ + \onslide<5->{ + \textbf{Usability} & \Huge\Smiley & \Huge\Sadey + } + \\ + \onslide<6->{ + \textbf{Extrapolation} & \Huge\Sadey & \Huge\Smiley + } + \\ + % \bottomrule + % \textbf{Overall} & 3/5 & 3.5/5 \\ + \end{tabular} + \end{table} + % \vspace{-.5cm} + \end{Infobox} + % \begin{columns} + % \begin{column}{0.5\textwidth} + % \begin{Infobox}{ANN} + % \begin{itemize} + % \onslide<2->{\item[--] Accuracy} + % \item \Smiley \Sadey, \Neutrey + % \onslide<3->{\item[+] Fast evaluation} + % \onslide<4->{\item[+] Easy to implement and to tune} + % \onslide<5->{\item[--] Poor extrapolation} + % \end{itemize} + % \end{Infobox} + % \end{column} + % \begin{column}{0.5\textwidth} + % \begin{Infobox}{PINN} + % \begin{itemize} + % \onslide<2->{\item[+] Accuracy} + % \onslide<3->{\item Fast evaluation} + % \onslide<4->{\item[--] More complex to implement and tune + % \begin{itemize} + % \item Be careful with the output! + % \end{itemize} + % } + % \onslide<5->{\item[+] Extrapolation} + % \end{itemize} + % \end{Infobox} + % \end{column} + % \end{columns} \end{frame} % Questions