.. include:: /images.rst .. _append_a: Manufactured Solution Mathematical Forms ======================================== (Note: All solution variables are in SI units.) .. Baseline 3D Manufactured Solutions .. ---------------------------------- The baseline manufactured solution selected for the verification study is a combination of sine and cosine functions and takes the following general form :cite:Roy2003, :cite:Banks2008 .. math:: :label: a1eq1 \phi\left( x,y,z \right) = \phi_{0}& + \phi_{x}f_{\text{ϕx}}\left( \frac{a_{\text{ϕx}}\text{πx}}{L} \right) + \phi_{y}f_{\text{ϕy}}\left( \frac{a_{\text{ϕy}}\text{πy}}{L} \right) + \phi_{z}f_{\text{ϕz}}\left( \frac{a_{\text{ϕz}}\text{πz}}{L} \right)\\ & + \phi_{\text{xy}}f_{\text{ϕxy}}\left( \frac{a_{\text{ϕxy}}\text{πxy}}{L^{2}} \right) + \phi_{\text{yz}}f_{\text{ϕyz}}\left( \frac{a_{\text{ϕyz}}\text{πyz}}{L^{2}} \right) + \phi_{\text{zx}}f_{\text{ϕzx}}\left( \frac{a_{\text{ϕzx}}\text{πzx}}{L^{2}} \right) where, :math:L is a characteristic length (herein, selected equal to the domain length or :math:L = 1), and :math:\phi = \left\lbrack P_{g},u_{g},v_{g},w_{g},u_{s},v_{s},w_{s},T_{g},T_{s} \right\rbrack^{T} represents the set of primitive variables being tested for order of accuracy. The sinusoidal functions (:math:f_{\text{ϕx}}, :math:f_{\text{ϕy}}, etc.) selected are shown in :numref:tableA1 .. _tableA1: .. csv-table:: Functions in baseline manufactured solutions. :widths: auto :header: "Variable, :math:ϕ", ":math:f_{ϕx}", ":math:f_{ϕy}", ":math:f_{ϕz}", ":math:f_{ϕxy}", ":math:f_{ϕyz}", ":math:f_{ϕzx}" ":math:u_{g}", "sin", "cos", "cos", "cos", "sin", "cos" ":math:v_{g}", "sin", "cos", "cos", "cos", "sin", "cos" ":math:w_{g}", "cos", "sin", "cos", "sin", "sin", "cos" ":math:u_{s}", "sin", "cos", "cos", "cos", "sin", "cos" ":math:v_{s}", "sin", "cos", "cos", "cos", "sin", "cos" ":math:w_{s}", "cos", "sin", "cos", "sin", "sin", "cos" ":math:P_{g}", "cos", "cos", "sin", "cos", "sin", "cos" ":math:T_{g}", "cos", "cos", "sin", "cos", "sin", "cos" ":math:T_{s}", "cos", "cos", "sin", "cos", "sin", "cos" ":math:\varepsilon_{s}", "cos", "cos", "sin", "--", "--", "--" The frequency constants (:math:a_{\phi x}, :math:a_{\phi y}, :math:a_{\phi xy}, etc.) and the amplitude constants (:math:\phi_{0}, :math:\phi_{x}, :math:\phi_{\text{xy}}, etc.) are selected to ensure functions that are smooth but show reasonable periodicity and magnitude within the domain. The frequency constants selected are shown in :numref:tableA2. .. _tableA2: .. csv-table:: Frequencies in baseline manufactured solutions. :widths: auto :header: "Variable, :math:ϕ", ":math:a_{ϕx}", ":math:a_{ϕy}", ":math:a_{ϕz}", ":math:a_{ϕxy}", ":math:a_{ϕyz}", ":math:a_{ϕzx}" ":math:u_{g}", "0.5", "0.85", "0.4", "0.6", "0.8", "0.9" ":math:v_{g}", "0.8", "0.8", "0.5", "0.9", "0.4", "0.6" ":math:w_{g}", "0.85", "0.9", "0.5", "0.4", "0.8", "0.75" ":math:u_{s}", "0.5", "0.85", "0.4", "0.6", "0.8", "0.9" ":math:v_{s}", "0.8", "0.8", "0.5", "0.9", "0.4", "0.6" ":math:w_{s}", "0.85", "0.9", "0.5", "0.4", "0.8", "0.75" ":math:P_{g}", "0.4", "0.45", "0.85", "0.75", "0.7", "0.8" ":math:T_{g}", "0.75", "1.25", "0.8", "0.65", "0.5", "0.6" ":math:T_{s}", "0.5", "0.9", "0.8", "0.5", "0.65", "0.4" ":math:\varepsilon_{s}", "0.4", "0.5", "0.5", "--", "--", "--" The amplitude constants selected are shown :numref:tableA3. .. _tableA3: .. csv-table:: Amplitudes in baseline manufactured solutions. :widths: auto :header: "Variable, :math:ϕ", ":math:ϕ_{0}", ":math:ϕ_{x}", ":math:ϕ_{y}", ":math:ϕ_{z}", ":math:ϕ_{xy}", ":math:ϕ_{yz}", ":math:ϕ_{zx}" ":math:u_{g}", "7", "3", "-4", "-3", "2", "1.5", "2" ":math:v_{g}", "9", "-5", "4", "5", "-3", "2.5", "3.5" ":math:w_{g}", "8", "-4", "3.5", "4.2", "-2.2", "2.1", "2.5" ":math:u_{s}", "7", "3", "-4", "-3", "2", "1.5", "2" ":math:v_{s}", "9", "-5", "4", "5", "-3", "2.5", "3.5" ":math:w_{s}", "8", "-4", "3.5", "4.2", "-2.2", "2.1", "2.5" ":math:P_{g}", "100", "20", "-50", "20", "-25", "-10", "10" ":math:T_{g}", "350", "10", "-30", "20", "-12", "10", "8" ":math:T_{s}", "300", "15", "-20", "15", "-10", "12", "10" ":math:\varepsilon_{s}", "0.3", "0.06", "0.1", "0.06", "--", "--", "--" .. Two-Phase, 3D, Manufactured Solutions .. ------------------------------------- The baseline manufactured solutions presented above are used to generate manufactured solutions for the two-phase flow test cases. As an example, the manufactured solution for the test case presented in :numref:sec-2p6 is provided next. The manufactured solutions for the scalar variables (:math:P_{g}, :math:T_{g}, and :math:T_{s}) are simply obtained from :eq:a1eq1 and by substituting the appropriate functions and constants described above. For example, for the pressure variable (:math:P_{g}), this function is as follow: .. math:: :label: a1eq2 P_{g} = 100& + 20\cos\left( 0.4\pi x \right) - 50\cos\left( 0.45\pi y \right) + 20\sin\left( 0.85\pi z \right) \\ & - 25\cos\left( 0.75\pi xy \right) - 10\sin\left( 0.7\pi yz \right) + 10\cos\left( 0.8\pi zx \right) The manufactured solutions for velocity components of the gas phase are obtained by taking the curl of the baseline velocity vector field, i.e., .. math:: {\overrightarrow{V}}_{g} = u_{g}\widehat{i} + v_{g}\widehat{j} + w_{g}\widehat{k}\ = \left| \begin{matrix} \widehat{i} & \widehat{j} & \widehat{k} \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial y} \\ \phi(u_{g}) & \phi(v_{g}) & \phi(w_{g}) \\ \end{matrix} \right| :label: a1eq3 where, for example, :math:\phi\left( u_{g} \right) is the baseline manufactured solution obtained from :eq:a1eq1, the functions, and the constants described above for the variable :math:u_{g}. This results in a divergence free velocity field because :math:\nabla \cdot (\nabla \times \overrightarrow{H}) is identically zero for any vector field, :math:\overrightarrow{H}. Thus, the manufactured solution for :math:u_{g} is given as: .. math:: :label: a1eq4 u_{g} =& - \pi y\cos\left( 0.4\pi yz \right) + 2.5\pi\sin\left( 0.5\pi z \right) + 2.1\pi x\sin\left( 0.6\pi zx \right) \\ & - \ 0.88\pi x\cos\left( 0.4\pi xy \right) + \ 3.15\pi\cos\left( 0.9\pi y \right) + 0.68\pi z\cos\left( 0.8\pi yz \right) Similarly, the manufactured solution for :math:v_{g} and :math:w_{g} can be derived. Finally, the manufactured solution for velocity components of the solids phase is selected as simply the following divergence free field: .. math:: u_{s} = 5\operatorname{}\left( 0.5\pi\left( x + y + z \right) \right) :label: a1eq5 .. math:: v_{s} = 5\operatorname{}\left( 0.5\pi\left( x + y + z \right) \right) :label: a1eq6 .. math:: w_{s} = 5 :label: a1eq7 Manufactured solutions for other MMS test cases presented are derived using the baseline manufactured solutions and appropriate constraints (divergence free field, boundary conditions, etc.). For a complete look at the MMS function and MMS source terms, please see the MMS_MOD.f file under the respective test case of the MFIX distribution. .. toctree:: :caption: MMS expressions :maxdepth: 2 appendix_a2 appendix_a3 appendix_a4 appendix_a5 .. image57 .. .. image58\ **Charles Zeh** .. .. Acting Executive Director .. .. Technology Development & Integration Center .. .. National Energy Technology Laboratory .. .. U.S. Department of Energy .. .. **Randall Gentry** .. .. Deputy Director .. .. Science & Technology Strategic Plans & Programs .. .. National Energy Technology Laboratory .. .. U.S. Department of Energy .. .. **Technology Manager** .. .. Strategic Planning .. .. Science & Technology Strategic Plans & Programs .. .. National Energy Technology Laboratory .. .. U.S. Department of Energy .. .. image59 .. .. **Bryan Morreale** .. .. Executive Director .. .. Research & Innovation Center .. .. National Energy Technology Laboratory .. .. U.S. Department of Energy