From d53d90bee3d6e4be0c95e2f9cc249b54736a9c52 Mon Sep 17 00:00:00 2001 From: Pierre-Clement Simon Date: Wed, 22 Jan 2025 11:37:17 -0700 Subject: [PATCH] MMS documentation: step 1: Add description of weak form derivation for case ver-1dc: (Close. #232) --- .../verification_and_validation/ver-1dc.md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/doc/content/verification_and_validation/ver-1dc.md b/doc/content/verification_and_validation/ver-1dc.md index 979362e4..b3f7dcab 100644 --- a/doc/content/verification_and_validation/ver-1dc.md +++ b/doc/content/verification_and_validation/ver-1dc.md @@ -90,6 +90,90 @@ The analytical solution for the permeation transient is compared with TMAP8 resu id=ver-1dc_comparison_diffusion caption=Comparison of TMAP8 calculation with the analytical solution for the permeation transient from [!cite](ambrosek2008verification). +## Further verification using the method of manufactured solution (MMS) + +Although the flux and breakthrough time can be verified using analytical solutions as presented above, the [MMS](mms.md) approach is a powerful method to verify complex system of PDEs such as the one studied in this case. +Here, we apply the [MMS](mms.md) approach available in the [MOOSE framework](https://mooseframework.inl.gov) to verify TMAP8's predictions for ver-1dc. + +Below, we (1) describe how to derive the weak form of the equation, which is necessary to apply the MMS, detail how we apply the MMS approach to this case, and (3) discuss the results. + +### Derivation of the weak forms of the equations + +#### Step 1: Define and rearrange the strong form of the equations + +The strong form of the governing equations is provided in [eqn:diffusion_mobile] and [eqn:trapped_rate], and can be slightly rearranged as: + +\begin{equation} \label{eqn:diffusion_mobile_step1} + \frac{\partial C_M}{\partial t} - \nabla \cdot \left( D \nabla C_M \right) + \text{trap\_per\_free} \cdot \sum_{i=1}^{3} \frac{\partial C_{T_i}}{\partial t} = 0, +\end{equation} +and, for $i=1$, $i=2$, and $i=3$: +\begin{equation} \label{eqn:trapped_rate_step1} + \frac{\partial C_{T_i}}{\partial t} - \alpha_t^i \frac{C_{T_i}^{\text{empty}} C_M}{N \cdot \text{trap\_per\_free}} + \alpha_r^i C_{T_i} = 0, +\end{equation} +respectively. + +#### Step 2: Multiply every term by a test function + +Multiply each term of the equations by an appropriate test function $\psi$ (or $\psi_i$ for $C_{T_i}$): + +[eqn:diffusion_mobile_step1] becomes +\begin{equation} \label{eqn:diffusion_mobile_step2} + \psi \frac{\partial C_M}{\partial t} - \psi \nabla \cdot \left( D \nabla C_M \right) + \psi \text{trap\_per\_free} \cdot \sum_{i=1}^{3} \frac{\partial C_{T_i}}{\partial t} = 0, +\end{equation} +and, for $i=1$, $i=2$, and $i=3$, [eqn:trapped_rate_step1] becomes +\begin{equation} \label{eqn:trapped_rate_step2} + \psi_i \left( \frac{\partial C_{T_i}}{\partial t} - \alpha_t^i \frac{C_{T_i}^{\text{empty}} C_M}{N \cdot \text{trap\_per\_free}} + \alpha_r^i C_{T_i} \right) = 0. +\end{equation} + +#### Step 3: Integrate over the domain $\Omega$ + +After integration over the domain, we obtain: + +\begin{equation} \label{eqn:diffusion_mobile_step3} + \int_\Omega \psi \frac{\partial C_M}{\partial t} \, d\Omega - \int_\Omega \psi \nabla \cdot \left( D \nabla C_M \right) \, d\Omega + \int_\Omega \psi \text{trap\_per\_free} \cdot \sum_{i=1}^{3} \frac{\partial C_{T_i}}{\partial t} \, d\Omega = 0, +\end{equation} + +and, for $i=1$, $i=2$, and $i=3$, +\begin{equation} \label{eqn:trapped_rate_step3} + \int_\Omega \psi_i \frac{\partial C_{T_i}}{\partial t} \, d\Omega - \int_\Omega \psi_i \alpha_t^i \frac{C_{T_i}^{\text{empty}} C_M}{N \cdot \text{trap\_per\_free}} \, d\Omega + \int_\Omega \psi_i \alpha_r^i C_{T_i} \, d\Omega = 0. +\end{equation} + +#### Step 4: Integrate by parts and apply the divergence theorem + +For the divergence term in [eqn:diffusion_mobile_step3], applying integration by parts and the divergence theorem provides +\begin{equation} + \int_\Omega \psi \nabla \cdot \left( D \nabla C_M \right) \, d\Omega = - \int_\Omega \nabla \psi \cdot \left( D \nabla C_M \right) \, d\Omega + \oint\limits_{\partial \Omega} \psi \left( D \nabla C_M \right) \cdot \mathbf{n} \, d\partial \Omega, +\end{equation} +where $\partial \Omega$ is the boundary of the domain and $\mathbf{n}$ is the outward normal vector. + +This update term is then substituted back into [eqn:diffusion_mobile_step3], which leads to: +\begin{equation} \label{eqn:diffusion_mobile_step4} + \int_\Omega \psi \frac{\partial C_M}{\partial t} \, d\Omega + \int_\Omega \nabla \psi \cdot \left( D \nabla C_M \right) \, d\Omega - \oint\limits_{\partial \Omega} \psi \left( D \nabla C_M \right) \cdot \mathbf{n} \, d\partial \Omega + \int_\Omega \psi \text{trap\_per\_free} \cdot \sum_{i=1}^{3} \frac{\partial C_{T_i}}{\partial t} \, d\Omega = 0. +\end{equation} + +Since no divergence terms exist in [eqn:trapped_rate_step3], no integration by parts is needed. + +#### Step 5: Derive the final weak form in inner product notation + +[eqn:diffusion_mobile_step4] and [eqn:trapped_rate_step3] can be expressed in inner product notation, where $\langle a, b \rangle = \int_\Omega a b \, d\Omega$: + +[eqn:diffusion_mobile_step4] becomes +\begin{equation} + \langle \psi, \frac{\partial C_M}{\partial t} \rangle + \langle \nabla \psi, D \nabla C_M \rangle - \langle \psi, \text{trap\_per\_free} \cdot \sum_{i=1}^{3} \frac{\partial C_{T_i}}{\partial t} \rangle + \int_{\partial \Omega} \psi \left( D \nabla C_M \right) \cdot \mathbf{n} \, d\Gamma = 0, +\end{equation} +and, for $i=1$, $i=2$, and $i=3$, [eqn:trapped_rate_step3] becomes +\begin{equation} + \langle \psi_i, \frac{\partial C_{T_i}}{\partial t} \rangle - \langle \psi_i, \alpha_t^i \frac{C_{T_i}^{\text{empty}} C_M}{N \cdot \text{trap\_per\_free}} \rangle + \langle \psi_i, \alpha_r^i C_{T_i} \rangle = 0. +\end{equation} +These weak forms of the equations can now be used for finite element analysis and MMS. + +### Application of the MMS + +TBD + +### Results + +TBD ## Input files