Contains serial implementations of following algorithms:
- 2D vorticity transfer equation solver
- 2D thermal conductivity equation solver
- 2D combined fluid and thermal solver
Note that present implementations are intended for academic purposes, as such they are not meant to be used in any sort of high-performance production code.
- Recommended compiler: Intel C++ Compiler
- Requires C++17 support
- Eigen 3.4 (Sparse, Dense)
Two dimensional formulation:
$$\vec{V} = \vec{V}(x, y, t) = (u, v, 0)^{T}, \quad \vec{W} = \nabla \times \vec{V} = (0, 0, \omega), \quad \omega = \frac{\partial v}{\partial x} - \frac{\partial u}{\partial y}.$$
Vorticity transfer equation:
$$\frac{\partial \omega}{\partial t} + (\vec{V} \cdot \nabla)\omega = \nu \Delta \omega + \text{Ra} \frac{\partial T}{\partial x}, $$
$$\omega = -\Delta \psi, \quad u = \frac{\partial \psi}{\partial y}, \quad v = -\frac{\partial \psi}{\partial x},$$
where
$T$ - temperature field, Ra - Rayleigh number, $\nu$ - kinematic viscosity, $\psi$ - fluid potential.
Thermal conductivity equation:
$$\frac{\partial T}{\partial t} + (\vec{V} \cdot \nabla)T = \varkappa \Delta T, $$
$$T_{y = 0} = T_{bot}, \quad T_{y = H} = T_{top}, \quad \vec{n} \cdot \vec{q}|_{x = 0 \cup x = L} = 0, \quad \vec{q} = - \lambda \nabla T, $$
where
$\varkappa = \lambda / c \rho$ - thermal diffusivity coefficient, $\lambda$ - thermal conductivity, $\vec{q}$ - heat flow vector.