<br />
<b>Warning</b>:  session_id(): Cannot change session id when session is active in <b>/var/www/html/wiki/includes/Setup.php</b> on line <b>775</b><br />
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://e6.ijs.si/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gkosec</id>
		<title>Medusa: Coordinate Free Mehless Method implementation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://e6.ijs.si/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gkosec"/>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Special:Contributions/Gkosec"/>
		<updated>2026-05-13T20:47:26Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Electromagnetic_scattering&amp;diff=2893</id>
		<title>Electromagnetic scattering</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Electromagnetic_scattering&amp;diff=2893"/>
				<updated>2019-10-29T09:41:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Anisotropic cylinder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
In this example we will show how to solve an electromagnetic scattering problem in Medusa. The example uses both complex numbers as well as domain coupling, so we recommend firstly reading tutorials on [[Coupled domains]] and [[Complex-valued problems]].&lt;br /&gt;
&lt;br /&gt;
== Anisotropic cylinder ==&lt;br /&gt;
Let us first quickly derive the problem we are about to solve. Beginning with the electromagnetic wave equation in anisotropic media&lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
\label{eq:frekaniwave}&lt;br /&gt;
\nabla \times \left( \underline{\varepsilon}^{-1} \nabla \times \boldsymbol{H} \right) = \omega^2 \mu_0 \varepsilon_0 \underline{\mu} \boldsymbol{H},&lt;br /&gt;
\]&lt;br /&gt;
where &amp;lt;math&amp;gt;\underline{\varepsilon}&amp;lt;/math&amp;gt; is the relative dielectric tensor, and &amp;lt;math&amp;gt;\underline{\mu}&amp;lt;/math&amp;gt; is the magnetic permeability tensor of the anisotropic material&lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
\label{eq:relepsmi}&lt;br /&gt;
\underline{\varepsilon} =&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\varepsilon_{xx} &amp;amp; \varepsilon_{xy} &amp;amp;  \varepsilon_{xz}  \\&lt;br /&gt;
\varepsilon_{yx} &amp;amp; \varepsilon_{yy} &amp;amp;  \varepsilon_{yz}  \\&lt;br /&gt;
\varepsilon_{zx} &amp;amp;  \varepsilon_{zy} &amp;amp; \varepsilon_{zz}&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
, \qquad&lt;br /&gt;
\underline{\mu} =&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
\mu_{xx} &amp;amp; \mu_{xy} &amp;amp; \mu_{xz} \\&lt;br /&gt;
\mu_{yx} &amp;amp; \mu_{yy} &amp;amp; \mu_{yz} \\&lt;br /&gt;
\mu_{zx} &amp;amp; \mu_{zy} &amp;amp; \mu_{zz}&lt;br /&gt;
\end{pmatrix}.&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Let $D \subset \R^2$ be the cross section of an infinitely long anisotropic&lt;br /&gt;
dielectric cylindrical scatterer with its axis alligned with the $z$-axis, surrounded by a free space, with an outward&lt;br /&gt;
normal $n$ on boundary $\partial D$. The cylinder is isotropic along its axis, and is excited by an $e^{i \omega t}$ time-harmonic plane wave with&lt;br /&gt;
$\b{TM}^z$ polarization, with $\omega$ standing for its angular frequency. Let $v \in C^2(\C)$&lt;br /&gt;
denote the complex valued field inside the scatterer and $u \in C^2(\C)$ the field&lt;br /&gt;
outside of the scatterer. Field $u$ can be further decomposed into the incident $u^i$ and&lt;br /&gt;
the scattered field $u^s$. &lt;br /&gt;
&lt;br /&gt;
[[File:ScatteringDiagram.png|center|300px]]&lt;br /&gt;
&lt;br /&gt;
The fields $u^s$ and $v$ must satisfy the set of PDE&lt;br /&gt;
\begin{align*}&lt;br /&gt;
  \nabla \cdot A \nabla v + \epsilon_r k^2 \thinspace v = 0 \qquad &amp;amp;\text{in} \quad D  \label{eq:inner} \\&lt;br /&gt;
  \nabla^2 u^s + k^2 \thinspace u^s  = 0 \qquad &amp;amp;\text{in} \quad \Omega \setminus D  \label{eq:outer}&lt;br /&gt;
\end{align*}&lt;br /&gt;
with boundary conditions&lt;br /&gt;
\begin{align*}&lt;br /&gt;
  v - u^s =u^i  \qquad &amp;amp;\text{on} \quad \partial D \label{eq:BC1} \\&lt;br /&gt;
  \frac{\partial v}{\partial n_A\!\!\!} - \frac{\partial u^s}{\partial n} = \frac{\partial u^i}{\partial n}  \qquad &amp;amp;\text{on} \quad  \partial D \label{eq:BC2} \\&lt;br /&gt;
  \frac{\partial u^s}{\partial n} + \left( ik + \frac{1}{2r_2} \right)u^s = 0 \quad &amp;amp;\text{on} \quad \partial \Omega&lt;br /&gt;
\end{align*}&lt;br /&gt;
where $k = \omega \sqrt{\mu_0 \epsilon_0} = \frac{2 \pi}{\lambda}$ is the wave&lt;br /&gt;
number of free space, $\mu_0$ and $\epsilon_0$ are magnetic permeability and&lt;br /&gt;
electric permittivity of free space, while $\epsilon_r$ is the relative electric&lt;br /&gt;
permittivity of the scatterer. Relative magnetic permeability matrix $A$ is of&lt;br /&gt;
the following form&lt;br /&gt;
\begin{equation*}&lt;br /&gt;
  A = \frac{1}{\mu_{xx}\mu_{yy} - \mu_{xy}^2}&lt;br /&gt;
  \begin{pmatrix}&lt;br /&gt;
  \mu_{xx} &amp;amp; \mu_{xy} \\&lt;br /&gt;
  \mu_{xy} &amp;amp; \mu_{yy}&lt;br /&gt;
  \end{pmatrix}&lt;br /&gt;
\end{equation*}&lt;br /&gt;
and the anisotropic normal derivative is calculated as&lt;br /&gt;
\begin{equation*}&lt;br /&gt;
  \frac{\partial v}{\partial n_A\!\!\!} = n \cdot A \nabla {v}.&lt;br /&gt;
\end{equation*}&lt;br /&gt;
&lt;br /&gt;
The system is implemented below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
    for (int i : inner.interior()) {&lt;br /&gt;
        //Eq on the inner circle&lt;br /&gt;
        mxx * op_inner.der2(i, 0, 0) + myy * op_inner.der2(i, 1, 1) +&lt;br /&gt;
        (mxy + myx) * op_inner.der2(i, 0, 1)&lt;br /&gt;
        + k0 * k0 * er * op_inner.value(i) = 0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : inner.boundary()) {&lt;br /&gt;
        //dirichlet, u_inside - u_scattered = u_incident &amp;lt;- incoming wave from t0 angle&lt;br /&gt;
        double x = inner.pos(i, 0);&lt;br /&gt;
        double y = inner.pos(i, 1);&lt;br /&gt;
        double theta = atan2(y, x); // get phase&lt;br /&gt;
&lt;br /&gt;
        // in the upper side of the matrix&lt;br /&gt;
        std::complex&amp;lt;double&amp;gt; incident = std::exp(1.0i * k0 * (x * std::cos(t0) + y * std::sin(t0)));&lt;br /&gt;
        op_inner.value(i) + (-1) * op_outer.value(inner_bnd[i], N_outer + i) = incident;&lt;br /&gt;
&lt;br /&gt;
        // Neumann boundary condition on the inside circle&lt;br /&gt;
        auto norm = inner.normal(i);&lt;br /&gt;
        double n0 = norm[0];&lt;br /&gt;
        double n1 = norm[1];&lt;br /&gt;
&lt;br /&gt;
        // Anisotropic normal derivative&lt;br /&gt;
        // (n0*mxx+n1*myx)*v_x + (n0*mxy+n1*myy)*v_y + du/dn = d(incident)/dn&lt;br /&gt;
        op_outer.neumann(inner_bnd[i], outer.normal(inner_bnd[i]))&lt;br /&gt;
        + (n0 * mxx + n1 * myx) * op_inner.der1(i, 0, -N_outer + inner_bnd[i])&lt;br /&gt;
        + (n0 * mxy + n1 * myy) * op_inner.der1(i, 1, -N_outer + inner_bnd[i])&lt;br /&gt;
                = 1.0i * k0 * std::cos(theta - t0) *&lt;br /&gt;
                  std::exp(1.0i * k0 * (x * std::cos(t0) + y * std::sin(t0)));&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : outer.interior()) {&lt;br /&gt;
        // wave equation for the outer region&lt;br /&gt;
        op_outer.lap(i) + k0 * k0 * op_outer.value(i) = 0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : outer_bnd) {&lt;br /&gt;
        // Sommerfeld boundary condition&lt;br /&gt;
        op_outer.neumann(i, outer.normal(i)) + (k0 * 1.0i + 1 / (2 * r2)) * op_outer.value(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solving the system gives the complex valued solution to both fields. The solution is plotted below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery class=&amp;quot;centered&amp;quot; mode=packed heights=500px&amp;gt;&lt;br /&gt;
File:InsideField.png&lt;br /&gt;
File:RealInsideField.png&lt;br /&gt;
File:ImagInsideField.png&lt;br /&gt;
File:OutsideField.png&lt;br /&gt;
File:RealOutsideField.png&lt;br /&gt;
File:ImagOutsideField.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The example can be found here [https://gitlab.com/e62Lab/medusa/blob/dev/examples/electromagnetic_scattering/anisotropic_cylinder.cpp anisotropic_cylinder.cpp], and the matlab plot script can be found here [https://gitlab.com/e62Lab/medusa/blob/dev/examples/electromagnetic_scattering/anisotropic_cylinder.m anisotropic_cylinder.m]. A more comprehensive description of thre problem can be found in the paper &amp;lt;ref name=&amp;quot;StojanovicRef&amp;quot;&amp;gt;Stojanovič, B., &amp;amp; Slak, J., &amp;amp; Kosec, G. (2019). RBF-FD Solution of Electromagnetic Scattering Problem. MIPRO 2019 : 42nd International Convention, May 20 -24, 2019, Opatija, Croatia : proceedings.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2892</id>
		<title>Linear elasticity</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2892"/>
				<updated>2019-10-29T08:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Cantilever beam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
On this page we showcase some basic examples from linear elasticity. To read more about the governing equations, refer to the [[Solid Mechanics]] page&lt;br /&gt;
and examples therein, which are considered in more detail.&lt;br /&gt;
&lt;br /&gt;
All examples here will be the solutions of the Cauchy-Navier equation&lt;br /&gt;
$$ (\lambda + \mu) \nabla(\nabla \cdot \vec{u}) + \mu \nabla^2 \vec{u} = 0. $$&lt;br /&gt;
&lt;br /&gt;
== Cantilever beam ==&lt;br /&gt;
&lt;br /&gt;
Consider a beam of dimensions $L \times D$ having a narrow rectangular cross section. The beam occupies a region of $[0, L] \times [-D/2, D/2]$. The beam is bent by a force $P$ applied at the end $x = 0$ and the other end of the beam is fixed at $x = L$, as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam_case.png|500px]]&lt;br /&gt;
&lt;br /&gt;
The stresses in such a beam are given as:&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\sigma_{xx} = -\frac{Pxy}{I},&lt;br /&gt;
\sigma_{yy} = 0,&lt;br /&gt;
\sigma_{xy} = -\frac{P}{2I}\left(\frac{D^2}{4} - y^2 \right),&lt;br /&gt;
\label{eq:sxy}&lt;br /&gt;
\end{equation}&lt;br /&gt;
where $I = D^3/12$ is the moment of inertia.&lt;br /&gt;
&lt;br /&gt;
The exact solution in terms of the displacements in $x$ and $y$ direction is&lt;br /&gt;
\begin{align}\label{eq:beam_a1}&lt;br /&gt;
u_x(x,y) = u(x, y) &amp;amp;= -\frac{Py}{6EI}\left(3(x^2-L^2) -(2+\nu)y^2 + 6 (1+\nu) \frac{D^2}{4}\right) \\ \label{eq:beam_a2}&lt;br /&gt;
u_y(x,y) = v(x, y) &amp;amp;= \frac{P}{6EI}\left(3\nu x y^2 + x^3 - 3L^2 x + 2L^3\right)&lt;br /&gt;
\end{align}&lt;br /&gt;
where $E$ is Young's modulus and $\nu$ is the Poisson ratio. More details can be found in [[File:Cantilever_beam.nb]].&lt;br /&gt;
&lt;br /&gt;
The solution of the cantilever beam problem is illustrated in the &amp;lt;code&amp;gt;cantilever_beam.cpp&amp;lt;/code&amp;gt; file. The problem is defined by the following pyhsical parameters:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    const double E = 72.1e9;&lt;br /&gt;
    const double nu = 0.33;&lt;br /&gt;
    const double P = 1000;&lt;br /&gt;
    const double D = 5;&lt;br /&gt;
    const double L = 30;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the problem itself is specified as follows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == RIGHT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.value(i) = {(P*y*(3*D*D*(1+nu) - 4*(2+nu)*y*y)) / (24.*E*I), -(L*nu*P*y*y) / (2.*E*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == LEFT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.traction(i, lam, mu, {-1, 0}) = {0, -P*(D*D - 4*y*y) / (8.*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == TOP) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, 1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == BOTTOM) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, -1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plot of the numerical solution produced by the accompanying &amp;lt;code&amp;gt;cantilever_beam.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam.png|582px]]&lt;br /&gt;
&lt;br /&gt;
== Point contact 2D ==&lt;br /&gt;
&lt;br /&gt;
Next we consider the point contact in 2D with the known analytical solution&lt;br /&gt;
$$\vec{u}(x, y) = \left[-\frac{P}{4 \pi  \mu } \left(\frac{2 \mu}{\lambda +\mu }  \text{atan2}(y, x)+\frac{2 x y}{x^2+y^2}\right),-\frac{P}{4 \pi  \mu } \left(\frac{y^2-x^2}{x^2+y^2}-\frac{(\lambda +2 \mu ) \log \left(x^2+y^2\right)}{\lambda +\mu}\right)\right]$$&lt;br /&gt;
&lt;br /&gt;
More details can be found in [[File:Point_contact2d.nb]] and on the [[Point contact]] page.&lt;br /&gt;
&lt;br /&gt;
The problem is solved numerically on the domain $\Omega = [-1, -1] \times [1, -0.1]$ with Dirichlet boundary conditions on a scattered node set.&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact2d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact2d_example.png|719px]]&lt;br /&gt;
&lt;br /&gt;
== Point contact 3D ==&lt;br /&gt;
We also present a 3-D example of linear elasticity point contact solved on a scattered node set with variable density. Due to singularity at the origin, we choose the domain $\Omega = [-a, -b]^3$&lt;br /&gt;
with $a=1$ and $b=0.1$. The problem details are available in [[File:Point_contact3d.nb]].&lt;br /&gt;
&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
The assembly of the matrix looks exactly the same as is 2-D.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The computation of stresses also follows mathematical definition $\sigma = \lambda \operatorname{tr}(\varepsilon) I +  2\mu \varepsilon, \varepsilon = \frac12 (\nabla \vec{u} + (\nabla \vec{u}^\mathrm{T}))$.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    VectorField&amp;lt;double, 6&amp;gt; stress(N);&lt;br /&gt;
    for (int i = 0; i &amp;lt; N; ++i) {&lt;br /&gt;
        Eigen::Matrix3d grad = eop.grad(u, i);&lt;br /&gt;
        Eigen::Matrix3d eps = 0.5*(grad + grad.transpose());&lt;br /&gt;
        Eigen::Matrix3d s = lam * eps.trace() * Eigen::Matrix3d::Identity(3, 3) + 2*mu*eps;&lt;br /&gt;
        stress[i][0] = s(0, 0);&lt;br /&gt;
        stress[i][1] = s(1, 1);&lt;br /&gt;
        stress[i][2] = s(2, 2);&lt;br /&gt;
        stress[i][3] = s(0, 1);&lt;br /&gt;
        stress[i][4] = s(0, 2);&lt;br /&gt;
        stress[i][5] = s(1, 2);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact3d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact_3d.png|607px]]&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2891</id>
		<title>Linear elasticity</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2891"/>
				<updated>2019-10-29T08:17:49Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Cantilever beam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
On this page we showcase some basic examples from linear elasticity. To read more about the governing equations, refer to the [[Solid Mechanics]] page&lt;br /&gt;
and examples therein, which are considered in more detail.&lt;br /&gt;
&lt;br /&gt;
All examples here will be the solutions of the Cauchy-Navier equation&lt;br /&gt;
$$ (\lambda + \mu) \nabla(\nabla \cdot \vec{u}) + \mu \nabla^2 \vec{u} = 0. $$&lt;br /&gt;
&lt;br /&gt;
== Cantilever beam ==&lt;br /&gt;
&lt;br /&gt;
Consider a beam of dimensions $L \times D$ having a narrow rectangular cross section. The beam occupies a region of $[0, L] \times [-D/2, D/2]$. The beam is bent by a force $P$ applied at the end $x = 0$ and the other end of the beam is fixed at $x = L$, as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam_case.png|500px]]&lt;br /&gt;
&lt;br /&gt;
The stresses in such a beam are given as:&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\sigma_{xx} = -\frac{Pxy}{I},&lt;br /&gt;
\sigma_{yy} = 0,&lt;br /&gt;
\sigma_{xy} = -\frac{P}{2I}\left(\frac{D^2}{4} - y^2 \right),&lt;br /&gt;
\label{eq:sxy}&lt;br /&gt;
\end{equation}&lt;br /&gt;
where $I = D^3/12$ is the moment of inertia.&lt;br /&gt;
&lt;br /&gt;
The exact solution in terms of the displacements in $x$ and $y$ direction is&lt;br /&gt;
\begin{align}\label{eq:beam_a1}&lt;br /&gt;
u_x(x,y) = u(x, y) &amp;amp;= -\frac{Py}{6EI}\left(3(x^2-L^2) -(2+\nu)y^2 + 6 (1+\nu) \frac{D^2}{4}\right) \\ \label{eq:beam_a2}&lt;br /&gt;
u_y(x,y) = v(x, y) &amp;amp;= \frac{P}{6EI}\left(3\nu x y^2 + x^3 - 3L^2 x + 2L^3\right)&lt;br /&gt;
\end{align}&lt;br /&gt;
where $E$ is Young's modulus and $\nu$ is the Poisson ratio. More details can be found in [[File:Cantilever_beam.nb]].&lt;br /&gt;
&lt;br /&gt;
The solution of the cantilever beam problem is illustrated in the &amp;lt;code&amp;gt;cantilever_beam.cpp&amp;lt;/code&amp;gt; file. The problem is defined by the following pyhsical parameters:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    const double E = 72.1e9;&lt;br /&gt;
    const double nu = 0.33;&lt;br /&gt;
    const double P = 1000;&lt;br /&gt;
    const double D = 5;&lt;br /&gt;
    const double L = 30;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the problem itself is specified as follows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == RIGHT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.value(i) = {(P*y*(3*D*D*(1+nu) - 4*(2+nu)*y*y)) / (24.*E*I), -(L*nu*P*y*y) / (2.*E*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == LEFT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.traction(i, lam, mu, {-1, 0}) = {0, -P*(D*D - 4*y*y) / (8.*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == TOP) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, 1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == BOTTOM) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, -1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plot of the numerical solution produced by the accompanying &amp;lt;code&amp;gt;cantilever_beam.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam.png|582px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    BoxShape&amp;lt;vec_t&amp;gt; box(0.0, 1.0);&lt;br /&gt;
    DomainDiscretization&amp;lt;vec_t&amp;gt; domain = box.discretizeBoundaryWithStep(dx);&lt;br /&gt;
&lt;br /&gt;
    for (auto i=0; i&amp;lt;o_t.size() ; ++i) {&lt;br /&gt;
        BallShape&amp;lt;vec_t&amp;gt; ball(o_c[i], o_r[i]);&lt;br /&gt;
        DomainDiscretization&amp;lt;vec_t&amp;gt; obstacle = ball.discretizeBoundaryWithStep(dx);&lt;br /&gt;
        obstacle.types() = o_t[i];&lt;br /&gt;
        domain.subtract(obstacle);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fill(domain, dx);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point contact 2D ==&lt;br /&gt;
&lt;br /&gt;
Next we consider the point contact in 2D with the known analytical solution&lt;br /&gt;
$$\vec{u}(x, y) = \left[-\frac{P}{4 \pi  \mu } \left(\frac{2 \mu}{\lambda +\mu }  \text{atan2}(y, x)+\frac{2 x y}{x^2+y^2}\right),-\frac{P}{4 \pi  \mu } \left(\frac{y^2-x^2}{x^2+y^2}-\frac{(\lambda +2 \mu ) \log \left(x^2+y^2\right)}{\lambda +\mu}\right)\right]$$&lt;br /&gt;
&lt;br /&gt;
More details can be found in [[File:Point_contact2d.nb]] and on the [[Point contact]] page.&lt;br /&gt;
&lt;br /&gt;
The problem is solved numerically on the domain $\Omega = [-1, -1] \times [1, -0.1]$ with Dirichlet boundary conditions on a scattered node set.&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact2d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact2d_example.png|719px]]&lt;br /&gt;
&lt;br /&gt;
== Point contact 3D ==&lt;br /&gt;
We also present a 3-D example of linear elasticity point contact solved on a scattered node set with variable density. Due to singularity at the origin, we choose the domain $\Omega = [-a, -b]^3$&lt;br /&gt;
with $a=1$ and $b=0.1$. The problem details are available in [[File:Point_contact3d.nb]].&lt;br /&gt;
&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
The assembly of the matrix looks exactly the same as is 2-D.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The computation of stresses also follows mathematical definition $\sigma = \lambda \operatorname{tr}(\varepsilon) I +  2\mu \varepsilon, \varepsilon = \frac12 (\nabla \vec{u} + (\nabla \vec{u}^\mathrm{T}))$.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    VectorField&amp;lt;double, 6&amp;gt; stress(N);&lt;br /&gt;
    for (int i = 0; i &amp;lt; N; ++i) {&lt;br /&gt;
        Eigen::Matrix3d grad = eop.grad(u, i);&lt;br /&gt;
        Eigen::Matrix3d eps = 0.5*(grad + grad.transpose());&lt;br /&gt;
        Eigen::Matrix3d s = lam * eps.trace() * Eigen::Matrix3d::Identity(3, 3) + 2*mu*eps;&lt;br /&gt;
        stress[i][0] = s(0, 0);&lt;br /&gt;
        stress[i][1] = s(1, 1);&lt;br /&gt;
        stress[i][2] = s(2, 2);&lt;br /&gt;
        stress[i][3] = s(0, 1);&lt;br /&gt;
        stress[i][4] = s(0, 2);&lt;br /&gt;
        stress[i][5] = s(1, 2);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact3d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact_3d.png|607px]]&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2890</id>
		<title>Linear elasticity</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Linear_elasticity&amp;diff=2890"/>
				<updated>2019-10-29T08:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Cantilever beam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
On this page we showcase some basic examples from linear elasticity. To read more about the governing equations, refer to the [[Solid Mechanics]] page&lt;br /&gt;
and examples therein, which are considered in more detail.&lt;br /&gt;
&lt;br /&gt;
All examples here will be the solutions of the Cauchy-Navier equation&lt;br /&gt;
$$ (\lambda + \mu) \nabla(\nabla \cdot \vec{u}) + \mu \nabla^2 \vec{u} = 0. $$&lt;br /&gt;
&lt;br /&gt;
== Cantilever beam ==&lt;br /&gt;
&lt;br /&gt;
Consider a beam of dimensions $L \times D$ having a narrow rectangular cross section. The beam occupies a region of $[0, L] \times [-D/2, D/2]$. The beam is bent by a force $P$ applied at the end $x = 0$ and the other end of the beam is fixed at $x = L$, as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam_case.png|500px]]&lt;br /&gt;
&lt;br /&gt;
The stresses in such a beam are given as:&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\sigma_{xx} = -\frac{Pxy}{I},&lt;br /&gt;
\sigma_{yy} = 0,&lt;br /&gt;
\sigma_{xy} = -\frac{P}{2I}\left(\frac{D^2}{4} - y^2 \right),&lt;br /&gt;
\label{eq:sxy}&lt;br /&gt;
\end{equation}&lt;br /&gt;
where $I = D^3/12$ is the moment of inertia.&lt;br /&gt;
&lt;br /&gt;
The exact solution in terms of the displacements in $x$ and $y$ direction is&lt;br /&gt;
\begin{align}\label{eq:beam_a1}&lt;br /&gt;
u_x(x,y) = u(x, y) &amp;amp;= -\frac{Py}{6EI}\left(3(x^2-L^2) -(2+\nu)y^2 + 6 (1+\nu) \frac{D^2}{4}\right) \\ \label{eq:beam_a2}&lt;br /&gt;
u_y(x,y) = v(x, y) &amp;amp;= \frac{P}{6EI}\left(3\nu x y^2 + x^3 - 3L^2 x + 2L^3\right)&lt;br /&gt;
\end{align}&lt;br /&gt;
where $E$ is Young's modulus and $\nu$ is the Poisson ratio. More details can be found in [[File:Cantilever_beam.nb]].&lt;br /&gt;
&lt;br /&gt;
The solution of the cantilever beam problem is illustrated in the &amp;lt;code&amp;gt;cantilever_beam.cpp&amp;lt;/code&amp;gt; file. The problem is defined by the following pyhsical parameters:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    const double E = 72.1e9;&lt;br /&gt;
    const double nu = 0.33;&lt;br /&gt;
    const double P = 1000;&lt;br /&gt;
    const double D = 5;&lt;br /&gt;
    const double L = 30;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the problem itself is specified as follows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == RIGHT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.value(i) = {(P*y*(3*D*D*(1+nu) - 4*(2+nu)*y*y)) / (24.*E*I), -(L*nu*P*y*y) / (2.*E*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == LEFT) {&lt;br /&gt;
        double y = domain.pos(i, 1);&lt;br /&gt;
        op.traction(i, lam, mu, {-1, 0}) = {0, -P*(D*D - 4*y*y) / (8.*I)};&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == TOP) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, 1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.types() == BOTTOM) {&lt;br /&gt;
        op.traction(i, lam, mu, {0, -1}) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plot of the numerical solution produced by the accompanying &amp;lt;code&amp;gt;cantilever_beam.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:cantilever_beam.png|582px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (auto i=0; i&amp;lt;o_t.size() ; ++i) {&lt;br /&gt;
        BallShape&amp;lt;vec_t&amp;gt; ball(o_c[i], o_r[i]);&lt;br /&gt;
        DomainDiscretization&amp;lt;vec_t&amp;gt; obstacle = ball.discretizeBoundaryWithStep(dx);&lt;br /&gt;
        obstacle.types() = o_t[i];&lt;br /&gt;
        domain.subtract(obstacle);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point contact 2D ==&lt;br /&gt;
&lt;br /&gt;
Next we consider the point contact in 2D with the known analytical solution&lt;br /&gt;
$$\vec{u}(x, y) = \left[-\frac{P}{4 \pi  \mu } \left(\frac{2 \mu}{\lambda +\mu }  \text{atan2}(y, x)+\frac{2 x y}{x^2+y^2}\right),-\frac{P}{4 \pi  \mu } \left(\frac{y^2-x^2}{x^2+y^2}-\frac{(\lambda +2 \mu ) \log \left(x^2+y^2\right)}{\lambda +\mu}\right)\right]$$&lt;br /&gt;
&lt;br /&gt;
More details can be found in [[File:Point_contact2d.nb]] and on the [[Point contact]] page.&lt;br /&gt;
&lt;br /&gt;
The problem is solved numerically on the domain $\Omega = [-1, -1] \times [1, -0.1]$ with Dirichlet boundary conditions on a scattered node set.&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact2d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact2d_example.png|719px]]&lt;br /&gt;
&lt;br /&gt;
== Point contact 3D ==&lt;br /&gt;
We also present a 3-D example of linear elasticity point contact solved on a scattered node set with variable density. Due to singularity at the origin, we choose the domain $\Omega = [-a, -b]^3$&lt;br /&gt;
with $a=1$ and $b=0.1$. The problem details are available in [[File:Point_contact3d.nb]].&lt;br /&gt;
&lt;br /&gt;
See the &amp;lt;code&amp;gt;point_contact2d.cpp&amp;lt;/code&amp;gt; file for reference.&lt;br /&gt;
&lt;br /&gt;
The assembly of the matrix looks exactly the same as is 2-D.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    for (int i : domain.interior()) {&lt;br /&gt;
        (lam+mu)*op.graddiv(i) + mu*op.lap(i) = 0.0;&lt;br /&gt;
    }&lt;br /&gt;
    for (int i : domain.boundary()) {&lt;br /&gt;
        op.value(i) = analytical(domain.pos(i));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The computation of stresses also follows mathematical definition $\sigma = \lambda \operatorname{tr}(\varepsilon) I +  2\mu \varepsilon, \varepsilon = \frac12 (\nabla \vec{u} + (\nabla \vec{u}^\mathrm{T}))$.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
    VectorField&amp;lt;double, 6&amp;gt; stress(N);&lt;br /&gt;
    for (int i = 0; i &amp;lt; N; ++i) {&lt;br /&gt;
        Eigen::Matrix3d grad = eop.grad(u, i);&lt;br /&gt;
        Eigen::Matrix3d eps = 0.5*(grad + grad.transpose());&lt;br /&gt;
        Eigen::Matrix3d s = lam * eps.trace() * Eigen::Matrix3d::Identity(3, 3) + 2*mu*eps;&lt;br /&gt;
        stress[i][0] = s(0, 0);&lt;br /&gt;
        stress[i][1] = s(1, 1);&lt;br /&gt;
        stress[i][2] = s(2, 2);&lt;br /&gt;
        stress[i][3] = s(0, 1);&lt;br /&gt;
        stress[i][4] = s(0, 2);&lt;br /&gt;
        stress[i][5] = s(1, 2);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The obtained solution plotted with &amp;lt;code&amp;gt;point_contact3d.m&amp;lt;/code&amp;gt; is shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:point_contact_3d.png|607px]]&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=De_Vahl_Davis_natural_convection_test&amp;diff=2889</id>
		<title>De Vahl Davis natural convection test</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=De_Vahl_Davis_natural_convection_test&amp;diff=2889"/>
				<updated>2019-10-28T21:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Explicit pressure correction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Click here to return back to [[Fluid Mechanics]]&lt;br /&gt;
&lt;br /&gt;
=Intro=&lt;br /&gt;
The classical de Vahl Davis benchmark test is defined for the natural convection of the air ($\Pr =0.71$) in the square closed cavity (${{\text{A}}_{\text{R}}}=1$). The only physical free parameter of the test remains the thermal Rayleigh number. In the original paper [1] de Vahl Davis tested the problem up to the Rayleigh number ${{10}^{6}}$, however in the latter publications, the results of more intense simulations were presented with the Rayleigh number up to ${{10}^{8}}$. Lage and Bejan [2] showed that the laminar domain of the closed cavity natural convection problem is roughly below $\text{Gr1}{{\text{0}}^{9}}$. It was reported [3, 4] that the natural convection becomes unsteady for $\text{Ra}=2\cdot {{10}^5}$. Here we present a MLSM solution of the case.&lt;br /&gt;
&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\text{Ra}\text{=}\,\frac{\left| \mathbf{g} \right|{{\beta }_{T}}\left( {{T}_{H}}-{{T}_{C}} \right){{\Omega }_{H}}^{3}{{\rho }^{2}}{{c}_{p}}}{\lambda \mu }&lt;br /&gt;
\end{equation}&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\text{Pr}=\frac{\mu {{c}_{p}}}{\lambda }&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
[1] de Vahl Davis G. Natural convection of air in a square cavity: a bench mark numerical solution. Int J Numer Meth Fl. 1983;3:249-64. &lt;br /&gt;
&lt;br /&gt;
[2] Lage JL, Bejan A. The Ra-Pr domain of laminar natural convection in an enclosure heated from the side. Numer Heat Transfer. 1991;A19:21-41. &lt;br /&gt;
&lt;br /&gt;
[3] Janssen RJA, Henkes RAWM. Accuracy of finite-volume disretizations for the bifurcating natural-convection flow in a square cavity. Numer Heat Transfer. 1993;B24:191-207. &lt;br /&gt;
&lt;br /&gt;
[4] Nobile E. Simulation of time-dependent flow in cavities with the additive-correction multigrid method, part II: Apllications. Numer Heat Transfer. 1996;B30:341-50.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;figure id=&amp;quot;fig:devahl_scheme&amp;quot;&amp;gt;&lt;br /&gt;
[[File:image.png]].&lt;br /&gt;
&amp;lt;caption&amp;gt;Scheme of the de Vahl Davis benchmark test &amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Code=&lt;br /&gt;
Full examples can be found under the examples in the code repository [[Main Page]]).&lt;br /&gt;
&lt;br /&gt;
==Explicit ACM method with CBS looks==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
    v2[boundary] = vec_t{0.0, 0.0};&lt;br /&gt;
    T2[left] = O.T_cold;&lt;br /&gt;
    T2[right] = O.T_hot;&lt;br /&gt;
    //Time stepping&lt;br /&gt;
    for (int step = 0; step &amp;lt;= O.t_steps; ++step) {&lt;br /&gt;
        for (int i_count = 1; i_count &amp;lt; _MAX_ITER_; ++i_count) {&lt;br /&gt;
            // Navier Stokes&lt;br /&gt;
            for (auto c : interior) {&lt;br /&gt;
                v2[c] = v1[c] + O.dt * (-1 / O.rho * op.grad(P1, c)&lt;br /&gt;
                                        + O.mu / O.rho * op.lap(v1, c)&lt;br /&gt;
                                        - op.grad(v1, c) * v1[c]&lt;br /&gt;
                                        + O.g * (1 - O.beta * (T1[c] - O.T_ref)));&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            //Speed of sound&lt;br /&gt;
            Range&amp;lt;scal_t&amp;gt; norm = v2.map([](const vec_t&amp;amp; p) { return p.norm(); });&lt;br /&gt;
            scal_t C = O.dl * std::max(*std::max_element(norm.begin(), norm.end()), O.v_ref);&lt;br /&gt;
            // Mass continuity&lt;br /&gt;
            Range&amp;lt;scal_t&amp;gt; div_v;&lt;br /&gt;
            for (auto c:all) {&lt;br /&gt;
                div_v[c] = op.div(v2, c);&lt;br /&gt;
                P2[c] = P1[c] - C * C * O.dt * O.rho * div_v[c] +&lt;br /&gt;
                        O.dl2 * C * C * O.dt * O.dt * op.lap(P1, c);&lt;br /&gt;
            }&lt;br /&gt;
            P1.swap(P2);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //heat transport&lt;br /&gt;
        for (auto c : interior) {&lt;br /&gt;
            T2[c] = T1[c] + O.dt * O.lam / O.rho / O.c_p * op.lap(T1, c) -&lt;br /&gt;
                    O.dt * v1[c].transpose() * op.grad(T1, c);&lt;br /&gt;
        }&lt;br /&gt;
        for (auto c : top) T2[c] = op.neumann(T2, c, vec_t{0, -1}, 0.0);&lt;br /&gt;
        for (auto c : bottom) T2[c] = op.neumann(T2, c, vec_t{0, 1}, 0.0);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicit pressure correction ==&lt;br /&gt;
The solution of heat equation is the same as in above example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
    for (int step = 0; step &amp;lt;= O.t_steps; ++step) {&lt;br /&gt;
        // Explicit Navier-Stokes computed on whole domain, including boundaries&lt;br /&gt;
        // without pressure&lt;br /&gt;
        for (int c:all) {&lt;br /&gt;
            v_2[c] = v_1[c] + O.dt (&lt;br /&gt;
                                   O.mu / O.rho * op.lap(v_1, c)&lt;br /&gt;
                                    - op.grad(v_1, c) * v_1[c]&lt;br /&gt;
                                    + O.g * (1 - O.beta * (T_1[c] - O.T_ref)));&lt;br /&gt;
        }&lt;br /&gt;
        // Pressure correction&lt;br /&gt;
        VecXd rhs_pressure(N + 1, 0); //Note N+1, +1 stands for regularization equation&lt;br /&gt;
        rhs_pressure(N) = 0; // = 0 part of the regularization equation&lt;br /&gt;
        for (int i:interior) rhs_pressure(c) = O.rho / O.dt * op.div(v_2, c);&lt;br /&gt;
        for (int i: boundary) rhs_pressure(c) = O.rho / O.dt * v_2[c].dot(domain.normal(c));&lt;br /&gt;
        VecXd solution = solver_p.solve(rhs_pressure);&lt;br /&gt;
        alpha = solution[N];&lt;br /&gt;
        VecXd P_c = solution.head(N);&lt;br /&gt;
        for ( int i = interior) v_2[c] -=  O.dt / O.rho * op.grad(P_c, c);&lt;br /&gt;
        v_2[boundary] = 0; // force boundary conditions&lt;br /&gt;
        //heat transport&lt;br /&gt;
        for (auto c : interior) {&lt;br /&gt;
            T2[c] = T1[c] + O.dt * O.lam / O.rho / O.c_p * op.lap(T1, c) -&lt;br /&gt;
                    O.dt * v1[c].transpose() * op.grad(T1, c);&lt;br /&gt;
        }&lt;br /&gt;
        for (auto c : top) T2[c] = op.neumann(T2, c, vec_t{0, -1}, 0.0);&lt;br /&gt;
        for (auto c : bottom) T2[c] = op.neumann(T2, c, vec_t{0, 1}, 0.0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implicit ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
for (int step = 0; step &amp;lt;= O.t_steps_i; ++step) {&lt;br /&gt;
        time_1 = std::chrono::high_resolution_clock::now();&lt;br /&gt;
        // NAVIER STOKES&lt;br /&gt;
        M_velocity = mat_t(2 * N, 2 * N);&lt;br /&gt;
        // system&lt;br /&gt;
        M_velocity.reserve(Range&amp;lt;int&amp;gt;(2 * N, O.n));&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            op.valuevec(M_velocity, i, 1 / O.dt_i);&lt;br /&gt;
            op.lapvec(M_velocity, i, -O.mu / O.rho);&lt;br /&gt;
            op.gradvec(M_velocity, i, v_1[i]);&lt;br /&gt;
        }&lt;br /&gt;
        for (int i : boundary) op.valuevec(M_velocity, i, 1); //sets velocity to 0&lt;br /&gt;
&lt;br /&gt;
        M_velocity.makeCompressed();&lt;br /&gt;
        solver_v.compute(M_velocity);&lt;br /&gt;
        // solution&lt;br /&gt;
        Range &amp;lt;vec_t&amp;gt; rhs_vec(domain.size(), 0);&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            rhs_vec[i] = -1 / O.rho * op.grad(P, i) +&lt;br /&gt;
                         v_1[i] / O.dt_i&lt;br /&gt;
                         + O.g * (1 - O.beta * (T[i] - O.T_ref));&lt;br /&gt;
        }&lt;br /&gt;
        // for (int i:top) rhs_vec[i] = vec_t{0,1};&lt;br /&gt;
&lt;br /&gt;
        v_2 = reshape&amp;lt;2&amp;gt;(solver_v.solveWithGuess(reshape(rhs_vec), reshape(v_1)));&lt;br /&gt;
        // END OF NAVIER STOKES&lt;br /&gt;
&lt;br /&gt;
        // PRESSURE CORRECTION&lt;br /&gt;
        VecXd rhs_pressure(N + 1, 0); //Note N+1, +1 stands for regularization equation&lt;br /&gt;
        rhs_pressure(N) = 0; // = 0 part of the regularization equation&lt;br /&gt;
        double alpha;&lt;br /&gt;
        for (int i : interior) rhs_pressure(i) = O.rho / O.dt_i * op.div(v_2, i);&lt;br /&gt;
        for (int i : boundary) rhs_pressure(i) = O.rho / O.dt * v_2[i].dot(domain.normal(i));&lt;br /&gt;
&lt;br /&gt;
        VecXd solution = solver_p.solve(rhs_pressure);&lt;br /&gt;
        alpha = solution[N];&lt;br /&gt;
        VecXd P_c = solution.head(N);&lt;br /&gt;
        // apply velocity correction&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            v_2[i] -= O.dl * O.dt_i / O.rho * op.grad(P_c, i);&lt;br /&gt;
        }&lt;br /&gt;
        P += O.dl * P_c;&lt;br /&gt;
        // enforce velocity BC&lt;br /&gt;
        // v_2[boundary] = 0;&lt;br /&gt;
        // END OF PRESSURE CORRECTION&lt;br /&gt;
&lt;br /&gt;
        // HEAT TRANSPORT&lt;br /&gt;
        M_temperature = mat_t(N, N);&lt;br /&gt;
        Range&amp;lt;int&amp;gt; per_row(N, O.n);&lt;br /&gt;
        M_temperature.reserve(per_row);&lt;br /&gt;
        // outer boundary dirichlet BC&lt;br /&gt;
        for (int i : top) op.neumann_implicit(M_temperature, i, domain.normal(i), 1);&lt;br /&gt;
        for (int i : bottom) op.neumann_implicit(M_temperature, i, domain.normal(i), 1);&lt;br /&gt;
        for (int i : left) op.value(M_temperature, i, 1.0);&lt;br /&gt;
        for (int i : right) op.value(M_temperature, i, 1.0);&lt;br /&gt;
        // heat transport in air&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            op.value(M_temperature, i, 1.0);                          // time dependency&lt;br /&gt;
            op.lap(M_temperature, i, -O.dt_i * O.lam / O.rho / O.c_p);  //laplace in interior&lt;br /&gt;
            op.grad(M_temperature, i, O.dt * v_2[i]);&lt;br /&gt;
        }&lt;br /&gt;
        M_temperature.makeCompressed();&lt;br /&gt;
        solver_T.compute(M_temperature);&lt;br /&gt;
&lt;br /&gt;
        VectorXd rhs = VectorXd::Zero(N);&lt;br /&gt;
        for (int i : interior) rhs(i) = T(i);&lt;br /&gt;
        for (int i : top) rhs(i) = 0;&lt;br /&gt;
        for (int i : bottom) rhs(i) = 0;&lt;br /&gt;
        for (int i : left) rhs(i) = O.T_hot;&lt;br /&gt;
        for (int i : right) rhs(i) = O.T_cold;&lt;br /&gt;
        T = solver_T.solveWithGuess(rhs, T);&lt;br /&gt;
        // END OF HEAT TRANSPORT&lt;br /&gt;
        v_1.swap(v_2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Results=&lt;br /&gt;
== Comparison of MLSM solution with reference data  ==&lt;br /&gt;
Following video shows evolution of temperature and velocity magnitude for the $Ra=10^8$ case. &lt;br /&gt;
&lt;br /&gt;
[[File:DeVahlDavisRa1e8.mp4|640px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In below galley you can find temperature contour plots, velocity magnitude contour plots, v_max and average hot side Nusselt number convergence behavior. The reference values are from:&lt;br /&gt;
*[a] de Vahl Davis G. Natural convection of air in a square cavity: a bench mark numerical solution. Int J Numer Meth Fl. 1983;3:249-64. &lt;br /&gt;
*[b]  Sadat H, Couturier S. Performance and accuracy of a meshless method for laminar natural convection. Numer Heat Transfer. 2000;B37:455-67. &lt;br /&gt;
*[c] Wan DC, Patnaik BSV, Wei GW. A new benchmark quality solution for the buoyancy-driven cavity by discrete singular convolution. Numer Heat Transfer. 2001;B40:199-228. &lt;br /&gt;
*[d] Šarler B. A radial basis function collocation approach in computational fluid dynamics. CMES-Comp Model Eng. 2005;7:185-93. &lt;br /&gt;
*[e] Kosec G, Šarler B. Solution of thermo-fluid problems by collocation with local pressure correction. Int J Numer Method H. 2008;18:868-82. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DVD_cont_T_Ra3.png&lt;br /&gt;
File:DVD_cont_T_Ra4.png&lt;br /&gt;
File:DVD_cont_T_Ra5.png&lt;br /&gt;
File:DVD_cont_T_Ra6.png&lt;br /&gt;
File:DVD_cont_T_Ra7.png&lt;br /&gt;
File:DVD_cont_T_Ra8.png&lt;br /&gt;
File:DVD_cont_v_Ra3.png&lt;br /&gt;
File:DVD_cont_v_Ra4.png&lt;br /&gt;
File:DVD_cont_v_Ra5.png&lt;br /&gt;
File:DVD_cont_v_Ra6.png&lt;br /&gt;
File:DVD_cont_v_Ra7.png&lt;br /&gt;
File:DVD_cont_v_Ra8.png&lt;br /&gt;
File:DVD_Nu_convRa3.png&lt;br /&gt;
File:DVD_Nu_convRa4.png&lt;br /&gt;
File:DVD_Nu_convRa5.png&lt;br /&gt;
File:DVD_Nu_convRa6.png&lt;br /&gt;
File:DVD_Nu_convRa7.png&lt;br /&gt;
File:DVD_Nu_convRa8.png&lt;br /&gt;
File:DVD_vMax_convRa3.png&lt;br /&gt;
File:DVD_vMax_convRa4.png&lt;br /&gt;
File:DVD_vMax_convRa5.png&lt;br /&gt;
File:DVD_vMax_convRa6.png&lt;br /&gt;
File:DVD_vMax_convRa7.png&lt;br /&gt;
File:DVD_vMax_convRa8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=De_Vahl_Davis_natural_convection_test&amp;diff=2888</id>
		<title>De Vahl Davis natural convection test</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=De_Vahl_Davis_natural_convection_test&amp;diff=2888"/>
				<updated>2019-10-28T21:41:12Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Explicit pressure correction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Click here to return back to [[Fluid Mechanics]]&lt;br /&gt;
&lt;br /&gt;
=Intro=&lt;br /&gt;
The classical de Vahl Davis benchmark test is defined for the natural convection of the air ($\Pr =0.71$) in the square closed cavity (${{\text{A}}_{\text{R}}}=1$). The only physical free parameter of the test remains the thermal Rayleigh number. In the original paper [1] de Vahl Davis tested the problem up to the Rayleigh number ${{10}^{6}}$, however in the latter publications, the results of more intense simulations were presented with the Rayleigh number up to ${{10}^{8}}$. Lage and Bejan [2] showed that the laminar domain of the closed cavity natural convection problem is roughly below $\text{Gr1}{{\text{0}}^{9}}$. It was reported [3, 4] that the natural convection becomes unsteady for $\text{Ra}=2\cdot {{10}^5}$. Here we present a MLSM solution of the case.&lt;br /&gt;
&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\text{Ra}\text{=}\,\frac{\left| \mathbf{g} \right|{{\beta }_{T}}\left( {{T}_{H}}-{{T}_{C}} \right){{\Omega }_{H}}^{3}{{\rho }^{2}}{{c}_{p}}}{\lambda \mu }&lt;br /&gt;
\end{equation}&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\text{Pr}=\frac{\mu {{c}_{p}}}{\lambda }&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
[1] de Vahl Davis G. Natural convection of air in a square cavity: a bench mark numerical solution. Int J Numer Meth Fl. 1983;3:249-64. &lt;br /&gt;
&lt;br /&gt;
[2] Lage JL, Bejan A. The Ra-Pr domain of laminar natural convection in an enclosure heated from the side. Numer Heat Transfer. 1991;A19:21-41. &lt;br /&gt;
&lt;br /&gt;
[3] Janssen RJA, Henkes RAWM. Accuracy of finite-volume disretizations for the bifurcating natural-convection flow in a square cavity. Numer Heat Transfer. 1993;B24:191-207. &lt;br /&gt;
&lt;br /&gt;
[4] Nobile E. Simulation of time-dependent flow in cavities with the additive-correction multigrid method, part II: Apllications. Numer Heat Transfer. 1996;B30:341-50.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;figure id=&amp;quot;fig:devahl_scheme&amp;quot;&amp;gt;&lt;br /&gt;
[[File:image.png]].&lt;br /&gt;
&amp;lt;caption&amp;gt;Scheme of the de Vahl Davis benchmark test &amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Code=&lt;br /&gt;
Full examples can be found under the examples in the code repository [[Main Page]]).&lt;br /&gt;
&lt;br /&gt;
==Explicit ACM method with CBS looks==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
    v2[boundary] = vec_t{0.0, 0.0};&lt;br /&gt;
    T2[left] = O.T_cold;&lt;br /&gt;
    T2[right] = O.T_hot;&lt;br /&gt;
    //Time stepping&lt;br /&gt;
    for (int step = 0; step &amp;lt;= O.t_steps; ++step) {&lt;br /&gt;
        for (int i_count = 1; i_count &amp;lt; _MAX_ITER_; ++i_count) {&lt;br /&gt;
            // Navier Stokes&lt;br /&gt;
            for (auto c : interior) {&lt;br /&gt;
                v2[c] = v1[c] + O.dt * (-1 / O.rho * op.grad(P1, c)&lt;br /&gt;
                                        + O.mu / O.rho * op.lap(v1, c)&lt;br /&gt;
                                        - op.grad(v1, c) * v1[c]&lt;br /&gt;
                                        + O.g * (1 - O.beta * (T1[c] - O.T_ref)));&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            //Speed of sound&lt;br /&gt;
            Range&amp;lt;scal_t&amp;gt; norm = v2.map([](const vec_t&amp;amp; p) { return p.norm(); });&lt;br /&gt;
            scal_t C = O.dl * std::max(*std::max_element(norm.begin(), norm.end()), O.v_ref);&lt;br /&gt;
            // Mass continuity&lt;br /&gt;
            Range&amp;lt;scal_t&amp;gt; div_v;&lt;br /&gt;
            for (auto c:all) {&lt;br /&gt;
                div_v[c] = op.div(v2, c);&lt;br /&gt;
                P2[c] = P1[c] - C * C * O.dt * O.rho * div_v[c] +&lt;br /&gt;
                        O.dl2 * C * C * O.dt * O.dt * op.lap(P1, c);&lt;br /&gt;
            }&lt;br /&gt;
            P1.swap(P2);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //heat transport&lt;br /&gt;
        for (auto c : interior) {&lt;br /&gt;
            T2[c] = T1[c] + O.dt * O.lam / O.rho / O.c_p * op.lap(T1, c) -&lt;br /&gt;
                    O.dt * v1[c].transpose() * op.grad(T1, c);&lt;br /&gt;
        }&lt;br /&gt;
        for (auto c : top) T2[c] = op.neumann(T2, c, vec_t{0, -1}, 0.0);&lt;br /&gt;
        for (auto c : bottom) T2[c] = op.neumann(T2, c, vec_t{0, 1}, 0.0);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicit pressure correction ==&lt;br /&gt;
The solution of heat equation is the same as in above example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
    for (int step = 0; step &amp;lt;= O.t_steps; ++step) {&lt;br /&gt;
&lt;br /&gt;
        // Explicit Navier-Stokes computed on whole domain, including boundaries&lt;br /&gt;
        // without pressure&lt;br /&gt;
        for (int c:all) {&lt;br /&gt;
            v_2[c] = v_1[c] + O.dt (&lt;br /&gt;
                                   O.mu / O.rho * op.lap(v_1, c)&lt;br /&gt;
                                    - op.grad(v_1, c) * v_1[c]&lt;br /&gt;
                                    + O.g * (1 - O.beta * (T_1[c] - O.T_ref)));&lt;br /&gt;
        }&lt;br /&gt;
        // Pressure correction&lt;br /&gt;
        VecXd rhs_pressure(N + 1, 0); //Note N+1, +1 stands for regularization equation&lt;br /&gt;
        rhs_pressure(N) = 0; // = 0 part of the regularization equation&lt;br /&gt;
        for (int i:interior) rhs_pressure(c) = O.rho / O.dt * op.div(v_2, c);&lt;br /&gt;
        &lt;br /&gt;
        for (int i: boundary) rhs_pressure(c) = O.rho / O.dt * v_2[c].dot(domain.normal(c));&lt;br /&gt;
        VecXd solution = solver_p.solve(rhs_pressure);&lt;br /&gt;
        alpha = solution[N];&lt;br /&gt;
        VecXd P_c = solution.head(N);&lt;br /&gt;
        for ( int i = interior) v_2[c] -=  O.dt / O.rho * op.grad(P_c, c);&lt;br /&gt;
        &lt;br /&gt;
        v_2[boundary] = 0; // force boundary conditions&lt;br /&gt;
&lt;br /&gt;
        //heat transport&lt;br /&gt;
        for (auto c : interior) {&lt;br /&gt;
            T2[c] = T1[c] + O.dt * O.lam / O.rho / O.c_p * op.lap(T1, c) -&lt;br /&gt;
                    O.dt * v1[c].transpose() * op.grad(T1, c);&lt;br /&gt;
        }&lt;br /&gt;
        for (auto c : top) T2[c] = op.neumann(T2, c, vec_t{0, -1}, 0.0);&lt;br /&gt;
        for (auto c : bottom) T2[c] = op.neumann(T2, c, vec_t{0, 1}, 0.0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implicit ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
for (int step = 0; step &amp;lt;= O.t_steps_i; ++step) {&lt;br /&gt;
        time_1 = std::chrono::high_resolution_clock::now();&lt;br /&gt;
        // NAVIER STOKES&lt;br /&gt;
        M_velocity = mat_t(2 * N, 2 * N);&lt;br /&gt;
        // system&lt;br /&gt;
        M_velocity.reserve(Range&amp;lt;int&amp;gt;(2 * N, O.n));&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            op.valuevec(M_velocity, i, 1 / O.dt_i);&lt;br /&gt;
            op.lapvec(M_velocity, i, -O.mu / O.rho);&lt;br /&gt;
            op.gradvec(M_velocity, i, v_1[i]);&lt;br /&gt;
        }&lt;br /&gt;
        for (int i : boundary) op.valuevec(M_velocity, i, 1); //sets velocity to 0&lt;br /&gt;
&lt;br /&gt;
        M_velocity.makeCompressed();&lt;br /&gt;
        solver_v.compute(M_velocity);&lt;br /&gt;
        // solution&lt;br /&gt;
        Range &amp;lt;vec_t&amp;gt; rhs_vec(domain.size(), 0);&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            rhs_vec[i] = -1 / O.rho * op.grad(P, i) +&lt;br /&gt;
                         v_1[i] / O.dt_i&lt;br /&gt;
                         + O.g * (1 - O.beta * (T[i] - O.T_ref));&lt;br /&gt;
        }&lt;br /&gt;
        // for (int i:top) rhs_vec[i] = vec_t{0,1};&lt;br /&gt;
&lt;br /&gt;
        v_2 = reshape&amp;lt;2&amp;gt;(solver_v.solveWithGuess(reshape(rhs_vec), reshape(v_1)));&lt;br /&gt;
        // END OF NAVIER STOKES&lt;br /&gt;
&lt;br /&gt;
        // PRESSURE CORRECTION&lt;br /&gt;
        VecXd rhs_pressure(N + 1, 0); //Note N+1, +1 stands for regularization equation&lt;br /&gt;
        rhs_pressure(N) = 0; // = 0 part of the regularization equation&lt;br /&gt;
        double alpha;&lt;br /&gt;
        for (int i : interior) rhs_pressure(i) = O.rho / O.dt_i * op.div(v_2, i);&lt;br /&gt;
        for (int i : boundary) rhs_pressure(i) = O.rho / O.dt * v_2[i].dot(domain.normal(i));&lt;br /&gt;
&lt;br /&gt;
        VecXd solution = solver_p.solve(rhs_pressure);&lt;br /&gt;
        alpha = solution[N];&lt;br /&gt;
        VecXd P_c = solution.head(N);&lt;br /&gt;
        // apply velocity correction&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            v_2[i] -= O.dl * O.dt_i / O.rho * op.grad(P_c, i);&lt;br /&gt;
        }&lt;br /&gt;
        P += O.dl * P_c;&lt;br /&gt;
        // enforce velocity BC&lt;br /&gt;
        // v_2[boundary] = 0;&lt;br /&gt;
        // END OF PRESSURE CORRECTION&lt;br /&gt;
&lt;br /&gt;
        // HEAT TRANSPORT&lt;br /&gt;
        M_temperature = mat_t(N, N);&lt;br /&gt;
        Range&amp;lt;int&amp;gt; per_row(N, O.n);&lt;br /&gt;
        M_temperature.reserve(per_row);&lt;br /&gt;
        // outer boundary dirichlet BC&lt;br /&gt;
        for (int i : top) op.neumann_implicit(M_temperature, i, domain.normal(i), 1);&lt;br /&gt;
        for (int i : bottom) op.neumann_implicit(M_temperature, i, domain.normal(i), 1);&lt;br /&gt;
        for (int i : left) op.value(M_temperature, i, 1.0);&lt;br /&gt;
        for (int i : right) op.value(M_temperature, i, 1.0);&lt;br /&gt;
        // heat transport in air&lt;br /&gt;
        for (int i : interior) {&lt;br /&gt;
            op.value(M_temperature, i, 1.0);                          // time dependency&lt;br /&gt;
            op.lap(M_temperature, i, -O.dt_i * O.lam / O.rho / O.c_p);  //laplace in interior&lt;br /&gt;
            op.grad(M_temperature, i, O.dt * v_2[i]);&lt;br /&gt;
        }&lt;br /&gt;
        M_temperature.makeCompressed();&lt;br /&gt;
        solver_T.compute(M_temperature);&lt;br /&gt;
&lt;br /&gt;
        VectorXd rhs = VectorXd::Zero(N);&lt;br /&gt;
        for (int i : interior) rhs(i) = T(i);&lt;br /&gt;
        for (int i : top) rhs(i) = 0;&lt;br /&gt;
        for (int i : bottom) rhs(i) = 0;&lt;br /&gt;
        for (int i : left) rhs(i) = O.T_hot;&lt;br /&gt;
        for (int i : right) rhs(i) = O.T_cold;&lt;br /&gt;
        T = solver_T.solveWithGuess(rhs, T);&lt;br /&gt;
        // END OF HEAT TRANSPORT&lt;br /&gt;
        v_1.swap(v_2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Results=&lt;br /&gt;
== Comparison of MLSM solution with reference data  ==&lt;br /&gt;
Following video shows evolution of temperature and velocity magnitude for the $Ra=10^8$ case. &lt;br /&gt;
&lt;br /&gt;
[[File:DeVahlDavisRa1e8.mp4|640px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In below galley you can find temperature contour plots, velocity magnitude contour plots, v_max and average hot side Nusselt number convergence behavior. The reference values are from:&lt;br /&gt;
*[a] de Vahl Davis G. Natural convection of air in a square cavity: a bench mark numerical solution. Int J Numer Meth Fl. 1983;3:249-64. &lt;br /&gt;
*[b]  Sadat H, Couturier S. Performance and accuracy of a meshless method for laminar natural convection. Numer Heat Transfer. 2000;B37:455-67. &lt;br /&gt;
*[c] Wan DC, Patnaik BSV, Wei GW. A new benchmark quality solution for the buoyancy-driven cavity by discrete singular convolution. Numer Heat Transfer. 2001;B40:199-228. &lt;br /&gt;
*[d] Šarler B. A radial basis function collocation approach in computational fluid dynamics. CMES-Comp Model Eng. 2005;7:185-93. &lt;br /&gt;
*[e] Kosec G, Šarler B. Solution of thermo-fluid problems by collocation with local pressure correction. Int J Numer Method H. 2008;18:868-82. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:DVD_cont_T_Ra3.png&lt;br /&gt;
File:DVD_cont_T_Ra4.png&lt;br /&gt;
File:DVD_cont_T_Ra5.png&lt;br /&gt;
File:DVD_cont_T_Ra6.png&lt;br /&gt;
File:DVD_cont_T_Ra7.png&lt;br /&gt;
File:DVD_cont_T_Ra8.png&lt;br /&gt;
File:DVD_cont_v_Ra3.png&lt;br /&gt;
File:DVD_cont_v_Ra4.png&lt;br /&gt;
File:DVD_cont_v_Ra5.png&lt;br /&gt;
File:DVD_cont_v_Ra6.png&lt;br /&gt;
File:DVD_cont_v_Ra7.png&lt;br /&gt;
File:DVD_cont_v_Ra8.png&lt;br /&gt;
File:DVD_Nu_convRa3.png&lt;br /&gt;
File:DVD_Nu_convRa4.png&lt;br /&gt;
File:DVD_Nu_convRa5.png&lt;br /&gt;
File:DVD_Nu_convRa6.png&lt;br /&gt;
File:DVD_Nu_convRa7.png&lt;br /&gt;
File:DVD_Nu_convRa8.png&lt;br /&gt;
File:DVD_vMax_convRa3.png&lt;br /&gt;
File:DVD_vMax_convRa4.png&lt;br /&gt;
File:DVD_vMax_convRa5.png&lt;br /&gt;
File:DVD_vMax_convRa6.png&lt;br /&gt;
File:DVD_vMax_convRa7.png&lt;br /&gt;
File:DVD_vMax_convRa8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Computation_of_shape_functions&amp;diff=2887</id>
		<title>Computation of shape functions</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Computation_of_shape_functions&amp;diff=2887"/>
				<updated>2019-10-28T17:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Another view on derivation of shape functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shape functions, often called stencil weights, are functionals, approximating linear partial differential operators at a chosen point. &lt;br /&gt;
A shape function $\b{\chi}_{\mathcal{L}} (\vec{p})$ for a linear parial differential operator $\mathcal{L}$&lt;br /&gt;
in a point $p$ is a vector of stencil weights, such that&lt;br /&gt;
\[&lt;br /&gt;
(\mathcal{L} u)(\vec{p}) \approx \b{\chi}_{\mathcal{L}}(\vec{p})^\T \b{u},&lt;br /&gt;
\]&lt;br /&gt;
where $\b{u}$ is a vector of function values $u(x_i)$ evaluated in the support of $\vec{p}$.&lt;br /&gt;
For usage examples see the section on [[Meshless Local Strong Form Method (MLSM)]] or some [[ Poisson's equation | examples ]].&lt;br /&gt;
&lt;br /&gt;
For computation of shape functions augmented with monomials, see the [[ Radial basis function-generated finite differences (RBF-FD) ]].&lt;br /&gt;
&lt;br /&gt;
== Derivation ==&lt;br /&gt;
Let $\mathcal{L}$ be a linear partial differential operator.&lt;br /&gt;
We wish to approximate $(\mathcal{L}u)(\vec{p})$ using only values of $u$ in support of $p$. To do so, we construct a &lt;br /&gt;
WLS approximation (see [[Weighted Least Squares (WLS)]]) and compute the coefficients $\b{\alpha}$, such that $\hat{u}(\vec{p}) = \b{b}(\vec{p})^\T \b{\alpha}$.&lt;br /&gt;
The coefficients are computed by solving a least-squares system $WB \b{\alpha} = W\b{u}$, (see [[Solving overdetermined systems]])&lt;br /&gt;
writing&lt;br /&gt;
\[ \b{\alpha} = (B^\T W^2 B^\T)^{-1} B^\T W^2 \b{u}. \]&lt;br /&gt;
Writing down the approximation function $\hat{u}$ we get&lt;br /&gt;
\[&lt;br /&gt;
\hat u (\vec{p}) = \b{b}(\vec{p})^\T \b{\alpha} = \b{b}(\vec{p})^\T (WB)^+W\b{u} &lt;br /&gt;
\]&lt;br /&gt;
and applying operator $\mathcal{L}$ we get &lt;br /&gt;
\[&lt;br /&gt;
    \hat u (\vec{p}) = (\mathcal{L}\b{b})(\vec{p})^\T \b{\alpha} = &lt;br /&gt;
(\mathcal{L}\b{b})(\vec{p})^\T (B^\T W^2 B)^{-1} B^\T W^2 \b{u} &lt;br /&gt;
= \b{\chi}_{\mathcal{L}}(\vec{p})^\T \b{u}&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Depending on what data we have available, we can either compute $\b \alpha$ and obtain a continuous approximation $\hat{u}$,&lt;br /&gt;
to which $\mathcal{L}$ can be applied at any point, or, if function values $\b u$ are unknown, we can choose to compute&lt;br /&gt;
$\b \chi_{\mathcal{L}}$ at a point $\vec p$ and approximate the operator for ''any'' set of function values. &lt;br /&gt;
the operator $\mathcal{L}$ at $\vec p$ is approximated as &lt;br /&gt;
\[&lt;br /&gt;
  (\mathcal{L}u)(\vec{p}) \approx (\mathcal{L} \hat{u})(p) = \b{\chi}_{\mathcal{L}}(\vec{p})^\T \b{u}.&lt;br /&gt;
\]&lt;br /&gt;
Vector $\b{\chi}$ is a vector of stencil weights, also called a ''shape function''. The name comes historically from FEM, and it incorporates the idea of being able to take all the information&lt;br /&gt;
about shape of the local domain and choice of approximation and store it in a single vector, being able to approximate&lt;br /&gt;
a function value from given support values $\b{u}$ with a single dot product. For any values $\b{u}$, value $\b{\chi}(p) \b{u}$&lt;br /&gt;
gives us the approximation of $(\mathcal{L}u)(\vec{p})$.&lt;br /&gt;
Mathematically speaking, $\b{\chi}(\vec{p})$ is a Riesz representation of a functional, $\b{\chi}(\vec{p})\colon \R^n \to \R$, mapping $n$-tuples of known function values to&lt;br /&gt;
approximations of $\mathcal{L}$ in point $\vec{p}$.&lt;br /&gt;
&lt;br /&gt;
For example, take a $1$-dimensional case for approximation of derivatives with weight equal to $1$ and $n=m=3$, with equally spaced support values at distances $h$.&lt;br /&gt;
We wish to approximate $u''$ in the middle support point, just by making a weighted sum of the values, something like the finite difference&lt;br /&gt;
\[ u'' \approx \frac{u_1 - 2u_2 + u_3}{h^2}. \]&lt;br /&gt;
This is exactly the same formula as we would have come to by computing $\b{\chi}$, except that our approach is a lot more general. But one should think about&lt;br /&gt;
$\b{\chi}$ as one would about the finite difference scheme, it is a rule, telling us how to compute the derivative.&lt;br /&gt;
\[ u''(s_2) \approx \underbrace{\begin{bmatrix} \frac{1}{h^2} &amp;amp; \frac{-2}{h^2} &amp;amp; \frac{1}{h^2} \end{bmatrix}}_{\b{\chi}^\T} \begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix}  \]&lt;br /&gt;
&lt;br /&gt;
The fact that $\b{\chi}$ is independent of the function values $\b{u}$ but depend only on domain geometry means that&lt;br /&gt;
'''we can just compute the shape functions $\b{\chi}$ for points of interest and then approximate any linear operator&lt;br /&gt;
of any function, given its values, very fast, using only a single dot product.'''&lt;br /&gt;
&lt;br /&gt;
== Special case when $B$ is square and invertible ==&lt;br /&gt;
The expression&lt;br /&gt;
\[ \b{\chi}_{\mathcal{L}}(\vec{p})^\T = (\mathcal{L}\b{b})(\vec{p})^\T (B^\T W^2 B)^{-1} B^\T W^2 \]&lt;br /&gt;
can be simplified to &lt;br /&gt;
\[&lt;br /&gt;
  \b \chi_{\mathcal{L}}(\vec{p})^\T = (\mathcal{L}\b{b})(\vec{p})^\T B^{-1}.&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
This gives the approximation as $(\mathcal{L} \hat{u})(p) = (\mathcal{L}\b{b})(\vec{p})^\T B^{-1} \b u$. &lt;br /&gt;
&lt;br /&gt;
Coefficients $\b \alpha$ are the solutions of $B\b \alpha = \b u$. Shape function $\b{\chi}_{\mathcal{L}}(\vec{p})$ is defined as&lt;br /&gt;
$$ &lt;br /&gt;
\b{\chi}_{\mathcal{L}}(\vec{p})^\T = (\mathcal{L}\b{b})(\vec{p})^\T B^{-1},&lt;br /&gt;
$$&lt;br /&gt;
which can be rewritten as a solution of &lt;br /&gt;
$$ B^\T \b{\chi}_{\mathcal{L}}(\vec{p}) =  (\mathcal{L}\b{b})(\vec{p}). $$&lt;br /&gt;
&lt;br /&gt;
This formulation is more suitable for numerical solving and also has a deeper interpretation, as presented in the next section.&lt;br /&gt;
&lt;br /&gt;
== Another view on derivation of shape functions ==&lt;br /&gt;
Solving the system $B^\T \b{\chi}_{\mathcal{L}} (\vec{p})^\T = (\mathcal{L}\b{b})(\vec p)$ can be interpreted as using the method of undetermined coefficients.&lt;br /&gt;
&lt;br /&gt;
We wish to find such a combination of function values evaluated in support points $\vec s_i$ that approximates the value of an operator $(\mathcal{L}u)(\vec p)$, i.e., we are looking for coefficients $\chi_{\mathcal{L}, i}$, such that&lt;br /&gt;
\[ \sum_{i=1}^n \chi_{\mathcal{L}, i} u_i \approx (\mathcal{L}u)(p). \]&lt;br /&gt;
&lt;br /&gt;
We require that $\chi_{\mathcal{L}, i}$ be such, that above approximations holds for a certain space of functions, spanned by the basis $\{b_j\}_{j=1}^m$.&lt;br /&gt;
By choosing the basis functions $b_j$ we decide for which functions the aproximation $\b{\chi}_{\mathcal{L}, \vec{p}} \b{u} \approx (\mathcal{L}u)(\vec p)$ should be exact and we write the equations &lt;br /&gt;
$\sum_{i=1}^n \chi_{\mathcal{L}, i} b_j(\vec s_i) = (\mathcal{L}b_j)(\vec p)$ in a system:&lt;br /&gt;
\[&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
  b_1(\vec s_1) &amp;amp; \cdots &amp;amp; b_1(\vec s_n) \\&lt;br /&gt;
  \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
  b_m(\vec s_1) &amp;amp; \cdots &amp;amp; b_m(\vec s_n) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
 \chi_{\mathcal{L}, 1} \\ \vdots \\ \chi_{\mathcal{L}, n}&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
  (\mathcal{L} b_1)(\vec{p}) \\ \vdots \\ (\mathcal{L} b_m)(\vec{p})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\]&lt;br /&gt;
Note that the matrix above is precisely the transpose of the matrix $B$ from the [[Weighted Least Squares (WLS) ]] approximation. In this sense, the computation of &lt;br /&gt;
shape functions is dual to computation of basis coefficients. The system is written in matrix form as $B^\T \b{\chi}_{\mathcal{L}} (\vec{p})^\T = (\mathcal{L}\b{b})(\vec p)$. &lt;br /&gt;
&lt;br /&gt;
For $n=m$ case as in the previous section, the solution is the sought shape function $\b{\chi}_{\mathcal L}$.&lt;br /&gt;
&lt;br /&gt;
If we do not specify enough functions $b_j$, the system above is underdetermined.&lt;br /&gt;
A common solution is to minimize the weighted norm of $\b \chi_{\mathcal L}$.&lt;br /&gt;
This gives us a minimization problem&lt;br /&gt;
$$&lt;br /&gt;
 \min_{\b \chi_{\mathcal L}} \sum_{i=1}^n (\chi_{\mathcal{L}, i}/w_i)^2, \text{ such that } B^\T \b{\chi}_{\mathcal{L}} (\vec{p})^\T = (\mathcal{L}\b{b})(\vec p).&lt;br /&gt;
$$&lt;br /&gt;
If the central weights are bigger, this also forces the central coefficients to be larger.&lt;br /&gt;
&lt;br /&gt;
Using the solution derived in [[Solving underdetermined systems]] and substituting inverse weights $W = W^{-1}$ and matrix $A = B^\T$, we get the solution&lt;br /&gt;
$$&lt;br /&gt;
\b{\chi}_{\mathcal{L}} (\vec{p}) = (W^{-1})^{-2} (B^\T)^\T (B^\T (W^{-1})^{-2}(B^\T)^\T) (\mathcal{L}\b{b})(\vec p) = W^2 B (B^\T W^2 B) (\mathcal{L}\b{b})(\vec p).&lt;br /&gt;
$$&lt;br /&gt;
After transposing, we get&lt;br /&gt;
$$&lt;br /&gt;
\b{\chi}_{\mathcal{L}} (\vec{p})^\T = (\mathcal{L}\b{b})(\vec p)^\T (B^\T W^2 B) B^\T W^2,&lt;br /&gt;
$$&lt;br /&gt;
which is exactly the same formula as derived using [[ Weighted Least Squares (WLS) ]] approximation.&lt;br /&gt;
&lt;br /&gt;
Just as we get the same stencil weights using interpolation and the method of undetermined coefficients, we get the same result using &lt;br /&gt;
WLS approximation or weighted norm minimization of shape functions.&lt;br /&gt;
&lt;br /&gt;
== Numerical calculation of the shape functions ==&lt;br /&gt;
Numerically cheaper and more stable way is to translate the problem of inverting the matrix to solving a linear system of equations.&lt;br /&gt;
The alternative view above is useful in this aspect.&lt;br /&gt;
&lt;br /&gt;
=== Invertible $B$ ===&lt;br /&gt;
&lt;br /&gt;
If $B$ is invertible, then $\b{\chi}_{\mathcal{L}}(\vec{p})$ can be thought as a solution of a system $B^\T\b{\chi}_{\mathcal{L}}(\vec{p}) = (\mathcal{L}\b{b})(\vec p)$, which can be solved using LU or Cholesky decomposition for example.&lt;br /&gt;
For more on this, see [[Solving linear systems]].&lt;br /&gt;
&lt;br /&gt;
=== General case ===&lt;br /&gt;
In general, the system $B^\T\b{\chi}_{\mathcal{L}}(\vec{p}) = (\mathcal{L}\b{b})(\vec p)$ is underdetermined and must be solved in the least-weighted-norm sense.&lt;br /&gt;
This means solving the underdetermined system $B^\T W y =  (\mathcal{L}\b{b})(\vec p)$ and computing $\b{\chi}_{\mathcal{L}}(\vec{p}) = Wy$.&lt;br /&gt;
For more details on this, see [[Solving underdetermined systems]]. &lt;br /&gt;
&lt;br /&gt;
Depending on our knowledge of the &lt;br /&gt;
problem, we can use Cholesky ($B^\T W$ is positive definite), $LDL^\T$ if it is symmetric, $LU$ for a general square matrix, $QR$ for full rank overdetermined system and SVD for a general system.&lt;br /&gt;
&lt;br /&gt;
If more shapes need to be calculated using the same matrix $B^\T W$ and only different right hand sides (as is often the case, if shapes for more than one operator are computed), &lt;br /&gt;
it can be done efficiently by storing the decomposition of $B^\T W$.&lt;br /&gt;
&lt;br /&gt;
== Linearity and reduction to only computing the shapes of the operator space basis ==&lt;br /&gt;
Observe that the expression for the shape functions&lt;br /&gt;
\[ \b{\chi}_{\mathcal{L}}(\vec{p}) = (\mathcal{L}\b{b})(\vec{p})^\T (WB)^+W \]&lt;br /&gt;
is linear in $\mathcal{L}$. This follows from the fact that if $\mathcal{L} = \mathcal{L}_1 + \mathcal{L}_2$, the vector of&lt;br /&gt;
derivative values $(\mathcal{L}\b{b})(\vec{p}) = ((\mathcal{L}_1 + \mathcal{L}_2)\b{b})(\vec{p}) = &lt;br /&gt;
 (\mathcal{L}_1\b{b} + \mathcal{L}_2\b{b})(\vec{p}) =  (\mathcal{L}_1\b{b})(\vec p) +  (\mathcal{L}_2\b{b})(\vec p)$ &lt;br /&gt;
and consequently&lt;br /&gt;
$$\b{\chi}_{\mathcal{L}}(\vec{p}) = \b{\chi}_{\mathcal{L}_1}(\vec{p}) + \b{\chi}_{\mathcal{L}_2}(\vec{p}).$$&lt;br /&gt;
&lt;br /&gt;
Say that your equation constitutes of operators up to a certain $k$-th order.&lt;br /&gt;
Then it is sufficient to compute only shape functions for the basis of that operator space, namely&lt;br /&gt;
\[&lt;br /&gt;
\{\b{\chi}_{\frac{\partial}{\partial x^\alpha}, p}, 1 \leq |\alpha| \leq k \}, \text{ where } \frac{\partial}{\partial x^\alpha} = \frac{\partial^{|\alpha|}}{\partial x_1^{\alpha_1}\cdots \partial x_d^{\alpha_d}} \text{ and } |\alpha| = \sum_{i=1}^d \alpha_i.&lt;br /&gt;
\]&lt;br /&gt;
Having the shape functions $\b{\chi}_{\frac{\partial}{\partial x^\alpha}, p}$ available, we write $\mathcal{L}$ in the above basis in point $p$, $\mathcal{L} = \displaystyle \sum_{1 \leq |\alpha| \leq k} a_\alpha(p) \frac{\partial}{\partial x^\alpha}$&lt;br /&gt;
and evaluate it's shape function as &lt;br /&gt;
\[&lt;br /&gt;
  \b{\chi}_{\mathcal{L}, \vec{p}} = \sum_{1 \leq |\alpha| \leq k}  a_\alpha(p) \b{\chi}_{\frac{\partial}{\partial x^\alpha}, p}.&lt;br /&gt;
\]&lt;br /&gt;
This saves us space and gives certain elegance to the implementation.&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2886</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2886"/>
				<updated>2019-10-02T13:30:45Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Effect of sigma and weight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|600px]]&lt;br /&gt;
[[File:different_sigma_3.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|600px]]&lt;br /&gt;
[[File:different_weights_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|600px]]&lt;br /&gt;
[[File:heat_trasfer_2.png|600px]]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2885</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2885"/>
				<updated>2019-10-02T13:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Effect of sigma and weight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|600px]]&lt;br /&gt;
[[File:different_sigma_3.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|600px]]&lt;br /&gt;
[[File:different_weights_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|600px]]&lt;br /&gt;
[[File:heat_trasfer_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2884</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2884"/>
				<updated>2019-10-02T13:30:01Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Weighted Least Squares (WLS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|600px]]&lt;br /&gt;
[[File:different_sigma_3.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|600px]]&lt;br /&gt;
[[File:different_weights_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Same simulation with smaller dx value gives us.&lt;br /&gt;
[[File:heat_trasfer_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2883</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2883"/>
				<updated>2019-10-02T13:29:46Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Effect of sigma and weight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|600px]]&lt;br /&gt;
[[File:different_sigma_3.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|600px]]&lt;br /&gt;
[[File:different_weights_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Same simulation with smaller dx value gives us.&lt;br /&gt;
[[File:heat_trasfer_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2882</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2882"/>
				<updated>2019-10-02T13:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Heat transfer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|800px]]&lt;br /&gt;
[[File:different_sigma_3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|800px]]&lt;br /&gt;
[[File:different_weights_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Same simulation with smaller dx value gives us.&lt;br /&gt;
[[File:heat_trasfer_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2881</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2881"/>
				<updated>2019-10-02T13:29:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Effect of sigma and weight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|800px]]&lt;br /&gt;
[[File:different_sigma_3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|800px]]&lt;br /&gt;
[[File:different_weights_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==Heat transfer==&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Same simulation with smaller dx value gives us.&lt;br /&gt;
[[File:heat_trasfer_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2880</id>
		<title>Heat equation</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Heat_equation&amp;diff=2880"/>
				<updated>2019-10-02T13:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Finding steady state */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go back to [[Medusa#Examples|Examples]].&lt;br /&gt;
&lt;br /&gt;
This example shows how explicit method of solving partial differential equations is used within the Medusa library. Firstly, this example compares explicit solutions to analytical, then it shows how it can be used to solve heat transfer equation.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Domain==&lt;br /&gt;
&lt;br /&gt;
In this example, a square domain with a cut-out hole in the middle is used. The hole has radius equal to 1/3 of length of a square. Domain nodes are placed randomly with about dx length distance between them. Domain boundary is separated in to 5 areas: up, down, left, right and center. The idea is to have Dirichlet boundary condition on the square (up, down, left and right) and Neumann boundary conditions in the middle (center). &lt;br /&gt;
&lt;br /&gt;
==Fuction==&lt;br /&gt;
&lt;br /&gt;
The function used for this example is $u(x,y) = \sin(\pi x)\sin(\pi y)$. Laplace operator of this function is $\Delta u(x,y)=-2\pi^2\sin(\pi x)\sin(\pi y)$. &lt;br /&gt;
For comparing explicit solution to analytical, we solve function for each node and save solution to $u\_analytic$. With this we also calculate Dirichlet boundary conditions. Then we set domain interior and nodes with Neumann bondary conditions to arbitrary value, in this case 0. We proceed to explicitly solve the domain. In the domain interior we are solving the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         u (x,y,t+1) = dt*\bigg(\Delta u(x,y,t) + 2\pi^2\sin(\pi x)\sin(\pi y)\bigg)+u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Neumann bondary conditions we set $u(x,y,t+1)$ in a way that it satisfies the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial u(x,y,t+1)}{\partial n}=n_x \pi \cos(\pi x) \sin(\pi y)+n_y \pi \sin(\pi x) \cos(\pi y)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the simulation is finished, we can easily calculate relative error. Values of nodes are saved in a vector $u1$, so we can use norm of $|u1 - u\_analytic|$ to calculate error, then divide it by norm of $u1$ to calculate relative error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
           relative\_error = \frac{\sqrt{\sum{|u1-u\_analytic|^2}}}{\sqrt{\sum{|u1|^2}}}&lt;br /&gt;
           \end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weighted Least Squares (WLS)==&lt;br /&gt;
&lt;br /&gt;
In this simulation, we use Gaussians for our WLS. Because of scattred nodes in our domain, we have to use 9 basis. The support size we chose is 27. For weight we have chosen 1.0 and for Gaussian weight (sigma) 75. Later we will look how change of sigma and weight effects relative error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line&amp;gt;&lt;br /&gt;
WLS&amp;lt;Gaussians&amp;lt;Vec2d&amp;gt;, GaussianWeight&amp;lt;Vec2d&amp;gt;, ScaleToClosest&amp;gt; wls({9, 75.0}, 1.0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Effect of sigma and weight==&lt;br /&gt;
&lt;br /&gt;
To see the effect of sigma, we ran the same simulation twice and got following graphs:&lt;br /&gt;
&lt;br /&gt;
[[File:different_sigma_1.png|800px]]&lt;br /&gt;
[[File:different_sigma_3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Graphs aren't identical. This is probably due to a slightly different domain. This happens because domain is generated with a bit of randomness.&lt;br /&gt;
&lt;br /&gt;
We can see is that value of sigma has a big effect on relative error. &lt;br /&gt;
&lt;br /&gt;
Weight has simmilar effect on simulation as well.&lt;br /&gt;
&lt;br /&gt;
[[File:different_weights_1.png|800px]]&lt;br /&gt;
[[File:different_weights_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Heat transfer==&lt;br /&gt;
&lt;br /&gt;
Now we use sigma 75 and weight 1.0 to solve heat transfer problem. In this case, we don't have analytical sollution. For our boundary condition, we will set up to 0.0, down to 1.0, right to 0.35 and left to 0.75. For the center hole we will use Neumann boundary conditions. We are solving following equations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial t} = \Delta u(x,y,t)&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the domain interior and for domain center we use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align*}&lt;br /&gt;
         \frac{\partial u (x,y,t)}{\partial n} = 0&lt;br /&gt;
	\end{align*}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We get the following picture.&lt;br /&gt;
&lt;br /&gt;
[[File:heat_trasfer.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Same simulation with smaller dx value gives us.&lt;br /&gt;
[[File:heat_trasfer_2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
We can expect this to have the same error as the simulation with previous function. We can evaluate this by checking what the maximum value is within the domain. Doing so at different numbers of nodes gives us next graph. &lt;br /&gt;
&lt;br /&gt;
[[File:maximum_value.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Maximum value does't exceed 1.0, which it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Go back to [[Medusa#Examples|Examples]].&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Fluid_Mechanics&amp;diff=2711</id>
		<title>Fluid Mechanics</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Fluid_Mechanics&amp;diff=2711"/>
				<updated>2019-08-27T09:23:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Computational fluid dynamics (CFD) is a field of a great interest among researchers in many fields of science, e.g. studying mathematical fundaments of numerical methods, developing novel physical models, improving computer implementations, and many others. Pushing the limits of all involved fields of science helps community to deepen the understanding of several natural and technological phenomena. Weather forecast, ocean dynamics, water transport, casting, various energetic studies, etc., are just few examples where fluid dynamics plays a crucial role. The core problem of the CFD is solving the Navier-Stokes Equation or its variants, e.g. Darcy or Brinkman equation for flow in porous media. Here, we discuss basic algorithms for solving CFD problems. Check reference list on the [[Medusa|main page]] for more details about related work.&lt;br /&gt;
&lt;br /&gt;
Long story short, we want to solve&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\frac{\partial \b{v}}{\partial t}+\nabla \cdot ( \rho \b{vv}) = -\nabla p+ \nabla(\mu \nabla\b{v})+\b{f}&lt;br /&gt;
\label{NavierStokes}&lt;br /&gt;
\end{equation}&lt;br /&gt;
also known as a Navier-Stokes equation. &lt;br /&gt;
&lt;br /&gt;
Note that the $\b{v}\b{v}$ stands for the tensor or dyadic product \[ \b{v}\b{v} = \b{v}\otimes\b{v} = \b{v}\b{v}^\T = \left[ \begin{matrix}&lt;br /&gt;
   {{v}_{1}}{{v}_{1}} &amp;amp; \cdots &amp;amp; {{v}_{1}}{{v}_{n}}  \\&lt;br /&gt;
   \vdots &amp;amp; \ddots &amp;amp; \vdots  \\&lt;br /&gt;
   {{v}_{n}}{{v}_{1}} &amp;amp; \cdots &amp;amp; {{v}_{n}}{{v}_{n}}  \\&lt;br /&gt;
\end{matrix} \right]\]&lt;br /&gt;
&lt;br /&gt;
Combining equation \ref{NavierStokes} and mass contiunity equation&lt;br /&gt;
\begin{equation}&lt;br /&gt;
  \frac{\partial \rho }{\partial t} + \nabla  \cdot (\rho {\bf{u}}) = 0.&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
simplifies advection term into (see [https://en.wikipedia.org/wiki/Derivation_of_the_Navier%E2%80%93Stokes_equations] for derivation)&lt;br /&gt;
&lt;br /&gt;
\[\frac{\partial \left( \rho \b{v} \right)}{\partial t}+\nabla \cdot \left( \rho \b{vv} \right)=\frac{\partial \left( \rho \b{v} \right)}{\partial t}+(\rho \b{v}\cdot \nabla )\cdot \b{v}. \]&lt;br /&gt;
&lt;br /&gt;
An example of advection term in 2D would therefore be&lt;br /&gt;
\[\left( \b{v}\cdot \nabla  \right)\b{v}=\left( \left( \begin{matrix}&lt;br /&gt;
   u  \\&lt;br /&gt;
   v  \\&lt;br /&gt;
\end{matrix} \right) \cdot \left( \begin{matrix}&lt;br /&gt;
   \frac{\partial }{\partial x}  \\&lt;br /&gt;
   \frac{\partial }{\partial y}  \\&lt;br /&gt;
\end{matrix} \right) \right)\left( \begin{matrix}&lt;br /&gt;
   u  \\&lt;br /&gt;
   v  \\&lt;br /&gt;
\end{matrix} \right)=\left( \begin{matrix}&lt;br /&gt;
   u\frac{\partial u}{\partial x}+v\frac{\partial u}{\partial y}  \\&lt;br /&gt;
   u\frac{\partial v}{\partial x}+v\frac{\partial v}{\partial y}  \\&lt;br /&gt;
\end{matrix} \right)\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In many cases we are interested in the incompressible fluids (Ma&amp;lt;0.3), reducing the continuity equation to&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\nabla \cdot \b{v}=0&lt;br /&gt;
\label{contuinity}&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The goal of CFD is to solve system \ref{NavierStokes} and \ref{contuinity}. It is obvious that a special treatment will be needed to couple both equations. In the following discussion we cover some basic approaches, how this can be accomplished.&lt;br /&gt;
&lt;br /&gt;
= Solutions algorithms =&lt;br /&gt;
== Artificial compressibility method ==&lt;br /&gt;
The simplest, completely explicit approach, is an artificial compressibility method (ACM), where a compressibility term is included in the mass continuity&lt;br /&gt;
\[\frac{\partial \b{v}}{\partial t}+(\b{v}\cdot\nabla )\b{v}=-\frac{1}{\rho }\nabla p+\nu {{\nabla }^{2}}\b{v}+\b{f}\]&lt;br /&gt;
\[\frac{ 1 }{ \rho } \frac{\partial \rho }{\partial t}+\nabla \cdot \b{v}=0\]&lt;br /&gt;
\[\frac{ 1 }{ \rho } \frac{\partial \rho }{\partial p}\frac{\partial p}{\partial t}+\nabla \cdot \b{v}=0\]&lt;br /&gt;
Now, the above system can be solved directly.&lt;br /&gt;
&lt;br /&gt;
The addition of the time derivative of the pressure term physically means that waves of finite speed (the propagation of which depends on the magnitude of the ACM)&lt;br /&gt;
are introduced into the flow field as a mean to distribute the pressure within the domain. In a true&lt;br /&gt;
incompressible flow, the pressure field is affected instantaneously throughout the whole domain. In ACM there is a time delay between the flow disturbance and its effect on the&lt;br /&gt;
pressure field. Upon rearranging the equation yields&lt;br /&gt;
\[\frac{\partial p}{\partial t}+\rho {{C}^{2}}\nabla \cdot \b{v}=0\]&lt;br /&gt;
where the continuity equation is perturbed by the quantity $\frac{\partial p}{\partial t}$ denominated herein&lt;br /&gt;
as the AC parameter/artificial sound speed recognized by&lt;br /&gt;
$C$ [m/s] - speed of sound&lt;br /&gt;
\[\frac{1}{C^2}=\frac{\partial \rho }{\partial p}\]&lt;br /&gt;
Or in other words&lt;br /&gt;
\[C^2=\left( \frac{\partial p}{\partial \rho}\right)_S\]&lt;br /&gt;
where $\rho$ is the density of the material. It follows, by replacing partial derivatives, that the isentropic compressibility can be expressed as:&lt;br /&gt;
\[\beta =\frac{1}{\rho {{C}^{2}}}\]&lt;br /&gt;
The evaluation of the local ACM parameter in incompressible flows is inspired by the&lt;br /&gt;
speed of sound computations in compressible flows (for instance, from the perfect gas law).&lt;br /&gt;
However, in the incompressible flow situation, employing such a relation is difficult, but an artificial&lt;br /&gt;
relation can be developed from the convective and diffusive velocities.&lt;br /&gt;
Reverting to the justification of continuity modification, it can be immediately seen that the&lt;br /&gt;
artificial sound speed must be sufficiently large to have a significant regularizing effect and at&lt;br /&gt;
the same time must be as small as possible to minimizing perturbations on the incompressibility&lt;br /&gt;
equation.  Therefore, $C$ influences the convergence rate and stability of the solution method. In other words,&lt;br /&gt;
assists in reducing large disparity in the eigenvalues, leading to a well-conditioned system. &lt;br /&gt;
The $C$ can be '''estimated''' with&lt;br /&gt;
&lt;br /&gt;
\[ C = \beta \max \left( \left|\b{v}\right|_2, \left|\b{v}_{ref}\right|_2 \right),\]&lt;br /&gt;
where $\b{v}_{ref}$ stands for a reference velocity. &lt;br /&gt;
Values for $\beta$ in the range of 1–10 are recommended for better convergence to the steady state at which the&lt;br /&gt;
mass conservation is enforced. In addition, Equation ensures that $C$ does not reach zero at stagnation points&lt;br /&gt;
that cause instabilities in pseudo-time, effecting convergence&lt;br /&gt;
&lt;br /&gt;
Note, that for more complex simulation an internal iteration loops is required before marching in time. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;figure id=&amp;quot;ACM&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ACM BlockDiagram.png|600px]]&lt;br /&gt;
&amp;lt;caption&amp;gt;Scheme of the ACM algorithm &amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicit/Implicit pressure calculation ==&lt;br /&gt;
&lt;br /&gt;
Applying divergence on \ref{NavierStokes} yields&lt;br /&gt;
\[\nabla \cdot \frac{\partial \b{v}}{\partial t}+\nabla \cdot (\b{v}\cdot \nabla )\b{v}=-\frac{1}{\rho }{{\nabla }^{2}}p+\nabla \cdot \nu {{\nabla }^{2}}\b{v}+\nabla \cdot \b{f}\]&lt;br /&gt;
&lt;br /&gt;
And since $\nabla \cdot \b{v}=0$ and we can change order in $\nabla \cdot \nabla^2$ and $ \nabla^2 \cdot \nabla$ equation simplifies to&lt;br /&gt;
\[\frac{1}{\rho }{{\nabla }^{2}}p=\nabla \cdot \b{f}-\nabla \cdot (\b{v}\cdot \nabla )\b{v}\]&lt;br /&gt;
Now, we need boundary conditions that can be obtained by multiplying the equation  with a boundary normal vector&lt;br /&gt;
\[\b{\hat{n}}\cdot \left( \frac{\partial \b{v}}{\partial t}+(\b{v}\cdot \nabla )\b{v} \right)=\b{\hat{n}}\cdot \left( -\frac{1}{\rho }\nabla p+\nu {{\nabla }^{2}}\b{v}+\b{f} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{n}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f}-\frac{\partial \b{v}}{\partial t}-(\b{v}\cdot\nabla ) \b{v} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
&lt;br /&gt;
Note that using tangential boundary vector gives equivalent BCs&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{t}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f}-\frac{\partial \b{v}}{\partial t}-(\b{v}\cdot\nabla ) \b{v} \right)\cdot \b{\hat{t}}\]&lt;br /&gt;
For no-slip boundaries BCs simplify to&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{n}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
Otherwise an appropriate expression regarding the velocity can be written, i.e. write full  and taken in account velocity BCs. For example, Neumann velocity $\frac{\partial u}{\partial x}=0$ in 2D&lt;br /&gt;
\[\frac{\partial p}{\partial x}=\left( \nu {{\nabla }^{2}}u + {{f}_{x}}-\frac{\partial u}{\partial t}+v\frac{\partial u}{\partial y} \right)\]&lt;br /&gt;
Note that you allready know everything about the velocity and thus you can compute all the terms explicitly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So the procedure is:&lt;br /&gt;
&lt;br /&gt;
* Compute Navier Stokes either explicitly or implicitly&lt;br /&gt;
* Solve pressure equations with  computed velocities&lt;br /&gt;
* March in time&lt;br /&gt;
&lt;br /&gt;
Basic boundary conditions&lt;br /&gt;
Wall:   $\b{v}=0$, \[\frac{\partial p}{\partial \hat{n}}=\left( \nabla \cdot \left( \nu \nabla \b{v} \right)+\b{f} \right)\cdot \hat{n}\]&lt;br /&gt;
Inlet:  $\b{v}=\b{a}$, \[\frac{\partial p}{\partial \hat{n}}=\left( \nabla \cdot \left( \nu \nabla \b{v} \right)+\b{f}-\nabla \cdot (\rho \b{v}\b{v})-\rho \frac{\partial \b{v}}{\partial t} \right)\cdot \hat{n}\]&lt;br /&gt;
&lt;br /&gt;
Above system can be linearized (advection term) and solved either explicitly or implicitly.&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
&lt;br /&gt;
W. D. Henshaw, A fourth-order accurate method for the incompressible Navier–Stokes equations on overlapping grids, J. Comput. Phys. 113, 13 (1994)&lt;br /&gt;
&lt;br /&gt;
J. C. Strikwerda, Finite difference methods for the Stokes and Navier–Stokes equations, SIAM J. Sci. Stat.&lt;br /&gt;
Comput. 5(1), 56 (1984)&lt;br /&gt;
&lt;br /&gt;
== Explicit Pressure correction ==&lt;br /&gt;
Another possibility is to solve pressure correction equation. Again Consider the momentum equation and mass continuity and discretize it explicitly&lt;br /&gt;
\[\frac{{{\b{v}}_{2}}-{{\b{v}}_{1}}}{\Delta t}=-\frac{1}{\rho }\nabla {{p}_{1}}-({{\b{v}}_{1}}\nabla )\cdot {{\b{v}}_{1}}+\nu {{\nabla }^{2}}{{\b{v}}_{1}}+\b{f}\]&lt;br /&gt;
Computed velocity obviously does not satisfy the mass contunity and therefore let’s call it intermediate velocity. Intermediate velocity is calculated from guessed pressure and old velocity values.&lt;br /&gt;
\[{{\b{v}}^{inter}}=\b{v}_1 + \Delta t\left( -\frac{1}{\rho }\nabla {{p}_{1}}-({{\b{v}}_{1}}\nabla )\cdot {{\b{v}}_{1}}+\nu {{\nabla }^{2}}{{\b{v}}_{1}}+\b{f} \right)\]&lt;br /&gt;
A correction term is added that drives velocity to divergence free field&lt;br /&gt;
\[\nabla \cdot ({{\b{v}}^{inter}}+{{\b{v}}^{corr}})=0 \qquad \to \qquad \nabla \cdot {{\b{v}}^{inter}}=-\nabla \cdot {{\b{v}}^{corr}}\]&lt;br /&gt;
&lt;br /&gt;
Velocity correction is affected only by effect of pressure correction. This fact is obvious due to all terms except gradient of pressure on the right side of equation  are constant.&lt;br /&gt;
\[{{\b{v}}^{corr}}=-\frac{\Delta t}{\rho }\nabla {{p}^{corr}} \]&lt;br /&gt;
&lt;br /&gt;
Note that corrected velocity also satisfies boundary conditions&lt;br /&gt;
\[\b{v}^{iter}+\b{v}^{corr}=\b{v}^{BC}\]&lt;br /&gt;
Applying divergence  and  we get '''pressure correction poisson equation'''.&lt;br /&gt;
\[\,{{\nabla }^{2}}{{p}^{corr}}\,=\frac{\rho }{\Delta t}\nabla \cdot {{\mathbf{v}}^{iter}}\,\]&lt;br /&gt;
&lt;br /&gt;
Boundary conditions can be obtained by mulitplying the equation with a unit normal vector $\b{\hat{n}}$&lt;br /&gt;
\[\frac{\Delta t}{\rho }\frac{\partial {p}^{corr}}{\partial \b{\hat{n}}} = \b{\hat{n}} \cdot \left(\b{v}^{iter} - \b{v}^{BC} \right) \]&lt;br /&gt;
The most straightforward approach, for dirichlet BCs, is to take into account velocity boundary condition in computation of intermediate velocity, and clearly in such cases, pressure boundary condition simplifies to &lt;br /&gt;
\[\frac{\partial p^{corr}}{\partial \b{\hat{n}}} = 0 \]&lt;br /&gt;
As ${{\b{v}}^{\operatorname{int}er}}={{\b{v}}^{BC}}$ . Another option is to explicitely compute intermediate velocity also on boundaries and then correct it through pressure correction.&lt;br /&gt;
&lt;br /&gt;
The pressure poisson equation is, at given boundary conditions, defined only up to a constant. One solution is to select a node and set it to a constant, e.g. p(0, 0) = 0, however much more stable approach is to enforce solution with additional condition, also referred to as a regularization&lt;br /&gt;
	\[\int_{\Omega }^{{}}{pd}\Omega =0\]&lt;br /&gt;
\[\,{{\nabla }^{2}}{{p}^{corr}}\,-\alpha =\frac{\rho }{\Delta t}\nabla \cdot {{\b{v}}^{iter}}\,\]&lt;br /&gt;
Where $\alpha $ stands for Lagrange multiplier. Or in discrete form&lt;br /&gt;
	\[\sum\limits_{i}{p\left( {{x}_{i}} \right)=0}\]&lt;br /&gt;
	\[\b{Mp}-\alpha \b{1}=\frac{\rho }{\Delta t}\nabla \cdot {{\b{v}}^{iter}}\]&lt;br /&gt;
&lt;br /&gt;
where $\b{M}$ holds Laplace shape functions, i.e. the discrete version of Laplace differential operator. &lt;br /&gt;
&lt;br /&gt;
Solution of a system&lt;br /&gt;
&lt;br /&gt;
	\[\left[ \begin{matrix}&lt;br /&gt;
   {{M}_{11}} &amp;amp; .. &amp;amp; {{M}_{1n}} &amp;amp; 1  \\&lt;br /&gt;
   .. &amp;amp; .. &amp;amp; .. &amp;amp; 1  \\&lt;br /&gt;
   {{M}_{n1}} &amp;amp; ... &amp;amp; {{M}_{nn}} &amp;amp; 1  \\&lt;br /&gt;
   1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0  \\&lt;br /&gt;
\end{matrix} \right]\left[ \begin{matrix}&lt;br /&gt;
   {{p}_{1}}  \\&lt;br /&gt;
   ...  \\&lt;br /&gt;
   {{p}_{n}}  \\&lt;br /&gt;
   \alpha   \\&lt;br /&gt;
\end{matrix} \right]=\frac{\rho }{\Delta t}\left[ \begin{matrix}&lt;br /&gt;
   \nabla \cdot \b{v}_{_{1}}^{\text{iter}}  \\&lt;br /&gt;
   ...  \\&lt;br /&gt;
   \nabla \cdot \b{v}_{n}^{\text{iter}}  \\&lt;br /&gt;
   0  \\&lt;br /&gt;
\end{matrix} \right]\]&lt;br /&gt;
Gives us a solution of pressure correction.&lt;br /&gt;
&lt;br /&gt;
== CBS Algorithm ==&lt;br /&gt;
With explicit temporal discretization problem is formulated as&lt;br /&gt;
\[\b{\hat{v}}={{\b{v}}_{0}}+\Delta t\left( -\nabla {{p}_{0}}+\frac{1}{Re}{{\nabla }^{2}}{{\b{v}}_{0}}-\nabla \cdot ({{\b{v}}_{0}}{{\b{v}}_{0}}) \right)\]&lt;br /&gt;
\[p={{p}_{0}}-\xi \Delta {{t}_{F}}\nabla \b{\hat{v}}+\xi \Delta {{t}_{F}}\Delta t{{\nabla }^{2}}{{\overset{\scriptscriptstyle\frown}{P}}_{0}},\]&lt;br /&gt;
where $\b{\hat{v}}$, $\Delta t$, $\xi$ and $\Delta t_F$ stand for intermediate velocity, time step, relaxation parameter, and artificial time step, respectively, and index 0 stands for previous time / iteration step. First, the intermediate velocity is computed from previous time step. Second, the velocity is driven towards solenoidal field by correcting the pressure. Note that no special boundary conditions for pressure are used, i.e., the pressure on boundaries is computed with the same approach as in the interior of the domain. In general, the internal iteration with an artificial time step is required until the divergence of the velocity field is not below required criteria. However, if one is interested only in a steady-state solution, the internal iteration can be skipped and $\Delta t$ equals $\Delta {{t}_{F}}$. Without internal stepping the transient of the solution is distorted by artificial compressibility effect. This approach is also known as ACM with Characteristics-based discretization of continuity equation, where the relaxation parameter relates to the artificial speed of sound [35].&lt;br /&gt;
&lt;br /&gt;
The relaxation parameter should be set between 1-10, lower number more stable solution.&lt;br /&gt;
&lt;br /&gt;
And also dimensional form&lt;br /&gt;
&lt;br /&gt;
\[p={{p}_{0}}-{{C}^{2}}\Delta {{t}_{F}}\rho \nabla \b{\hat{v}}+{{C}^{2}}\Delta {{t}_{F}}\Delta t{{\nabla }^{2}}{{p}_{0}},\]&lt;br /&gt;
&lt;br /&gt;
Where C is speed of sound [m/s]&lt;br /&gt;
&lt;br /&gt;
== The Stream Function - Vorticity Approach ==&lt;br /&gt;
&lt;br /&gt;
In two dimensions, the Navier–Stokes equations can be expressed using the&lt;br /&gt;
stream function $\psi$ and the vorticity $\omega$ in place of the primitive variables $u$, $v$, and&lt;br /&gt;
$p$. This involves the elimination of the pressure $p$, thus yielding one dependent&lt;br /&gt;
variable less. In three dimensions, however, this formulation leads to six unknowns&lt;br /&gt;
rather than four (in primitive variables), which makes this approach less attractive&lt;br /&gt;
for that case.&lt;br /&gt;
&lt;br /&gt;
In the following, we briefly derive the resulting two-dimensional equations for&lt;br /&gt;
$\psi$ and $\omega$. We begin by considering the momentum equations:&lt;br /&gt;
\begin{align}&lt;br /&gt;
\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y}&amp;amp; = -\frac{1}{\rho}\frac{\partial p}{\partial x} + \nu \left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) + g_x \\&lt;br /&gt;
\frac{\partial v}{\partial t} + u \frac{\partial v}{\partial x} + v \frac{\partial v}{\partial y}&amp;amp; = -\frac{1}{\rho}\frac{\partial p}{\partial y} + \nu \left(\frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2}\right) + g_y&lt;br /&gt;
\end{align}&lt;br /&gt;
from which we can eliminate the pressure by differentiating the first equation by $y$ and the second by $x$, subtracting the second from the first and then substituting the definition for the vorticity $\omega = \partial u / \partial y - \partial v / \partial x$. In this manner we obtain the equation:&lt;br /&gt;
\[\frac{\partial \omega}{\partial t} + \frac{\partial u}{\partial x} \omega + u \frac{\partial \omega}{\partial x} + \frac{\partial v}{\partial y}\omega + v \frac{\partial \omega}{\partial y} = \nu \left(\frac{\partial^2 \omega}{\partial x^2} + \frac{\partial^2 \omega}{\partial y^2}\right) + \left(\frac{\partial g_x}{\partial y} - \frac{\partial g_y}{\partial x}\right)\]&lt;br /&gt;
&lt;br /&gt;
We can get rid of the terms containing $\partial u / \partial x$ and $\partial v / \partial y$ by using the continuity equation \eqref{contuinity}. Finally using the definition for the stream function $\partial \psi / \partial y = u$ and $\partial \psi / \partial x = -v$ we can transform the above equation to what is known as the ''vorticity transport equation'':&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\frac{\partial \omega}{\partial t} + \frac{\partial \psi}{\partial y}\frac{\partial \omega}{\partial x} - \frac{\partial \psi}{\partial x}\frac{\partial \omega}{\partial y} = \nu \Delta \omega + \left(\frac{\partial g_x}{\partial y} - \frac{\partial g_y}{\partial x}\right)&lt;br /&gt;
\label{vorticity_transport}&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
Another equation is obtained by inserting the definition of the stream function into that of the vorticity:&lt;br /&gt;
\[\omega = \frac{\partial u}{\partial y} - \frac{\partial v}{\partial x} = \frac{\partial}{\partial y}\left(\frac{\partial \psi}{\partial y}\right) + \frac{\partial }{\partial x}\left(\frac{\partial \psi}{\partial x}\right) = \Delta \psi\]&lt;br /&gt;
leading to the ''Poisson equation for the stream function''&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\Delta \psi = \omega&lt;br /&gt;
\label{poisson_stream}&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
The two equations (\ref{vorticity_transport}) and (\ref{poisson_stream}) form a nonlinear coupled system of equations in which pressure has been eliminated and in which the continuity equation has been satisfied automatically.&lt;br /&gt;
&lt;br /&gt;
= Numerical examples =&lt;br /&gt;
* [[Lid driven cavity]] &lt;br /&gt;
* [[de Vahl Davis natural convection test]]&lt;br /&gt;
* [[Natural convection in 3D irregular domain]]&lt;br /&gt;
* [[Natural convection between concentric cylinders]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Ferziger JH, Perić M. Computational Methods for Fluid Dynamics. Berlin: Springer; 2002.&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
&lt;br /&gt;
'''This list might be incomplete, check also reference on the [[Main Page]].'''&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Fluid_Mechanics&amp;diff=2534</id>
		<title>Fluid Mechanics</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Fluid_Mechanics&amp;diff=2534"/>
				<updated>2019-05-18T15:05:04Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Numerical examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Computational fluid dynamics (CFD) is a field of a great interest among researchers in many fields of science, e.g. studying mathematical fundaments of numerical methods, developing novel physical models, improving computer implementations, and many others. Pushing the limits of all involved fields of science helps community to deepen the understanding of several natural and technological phenomena. Weather forecast, ocean dynamics, water transport, casting, various energetic studies, etc., are just few examples where fluid dynamics plays a crucial role. The core problem of the CFD is solving the Navier-Stokes Equation or its variants, e.g. Darcy or Brinkman equation for flow in porous media. Here, we discuss basic algorithms for solving CFD problems. Check reference list on the [[Medusa|main page]] for more details about related work.&lt;br /&gt;
&lt;br /&gt;
Long story short, we want to solve&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\frac{\partial \b{v}}{\partial t}+\nabla \cdot ( \rho \b{vv}) = -\nabla p+ \nabla(\mu \nabla\b{v})+\b{f}&lt;br /&gt;
\label{NavierStokes}&lt;br /&gt;
\end{equation}&lt;br /&gt;
also known as a Navier-Stokes equation. In many cases we are interested in the incompressible fluids (Ma&amp;lt;0.3), reducing the continuity equation to&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\nabla \cdot \b{v}=0&lt;br /&gt;
\label{contuinity}&lt;br /&gt;
\end{equation}&lt;br /&gt;
which implies a simplification&lt;br /&gt;
&lt;br /&gt;
\[\frac{\partial \left( \rho \b{v} \right)}{\partial t}+\nabla \cdot \left( \rho \b{vv} \right)=\frac{\partial \left( \rho \b{v} \right)}{\partial t}+(\rho \b{v}\cdot \nabla )\cdot \b{v}. \]&lt;br /&gt;
&lt;br /&gt;
Note that the $\b{v}\b{v}$ stands for the tensor or dyadic product \[ \b{v}\b{v} = \b{v}\otimes\b{v} = \b{v}\b{v}^\T = \left[ \begin{matrix}&lt;br /&gt;
   {{v}_{1}}{{v}_{1}} &amp;amp; \cdots &amp;amp; {{v}_{1}}{{v}_{n}}  \\&lt;br /&gt;
   \vdots &amp;amp; \ddots &amp;amp; \vdots  \\&lt;br /&gt;
   {{v}_{n}}{{v}_{1}} &amp;amp; \cdots &amp;amp; {{v}_{n}}{{v}_{n}}  \\&lt;br /&gt;
\end{matrix} \right]\]&lt;br /&gt;
An example of incompressible variant of advection term in 2D would therefore be&lt;br /&gt;
\[\left( \b{v}\cdot \nabla  \right)\b{v}=\left( \left( \begin{matrix}&lt;br /&gt;
   u  \\&lt;br /&gt;
   v  \\&lt;br /&gt;
\end{matrix} \right) \cdot \left( \begin{matrix}&lt;br /&gt;
   \frac{\partial }{\partial x}  \\&lt;br /&gt;
   \frac{\partial }{\partial y}  \\&lt;br /&gt;
\end{matrix} \right) \right)\left( \begin{matrix}&lt;br /&gt;
   u  \\&lt;br /&gt;
   v  \\&lt;br /&gt;
\end{matrix} \right)=\left( \begin{matrix}&lt;br /&gt;
   u\frac{\partial u}{\partial x}+v\frac{\partial u}{\partial y}  \\&lt;br /&gt;
   u\frac{\partial v}{\partial x}+v\frac{\partial v}{\partial y}  \\&lt;br /&gt;
\end{matrix} \right)\]&lt;br /&gt;
&lt;br /&gt;
The goal of CFD is to solve system \ref{NavierStokes} and \ref{contuinity}. It is obvious that a special treatment will be needed to couple both equations. In following discussion we cover some basic approaches, how this can be accomplished.&lt;br /&gt;
&lt;br /&gt;
= Solutions algorithms =&lt;br /&gt;
== Artificial compressibility method ==&lt;br /&gt;
The simplest, completely explicit approach, is an artificial compressibility method (ACM), where a compressibility term is included in the mass continuity&lt;br /&gt;
\[\frac{\partial \b{v}}{\partial t}+(\b{v}\cdot\nabla )\b{v}=-\frac{1}{\rho }\nabla p+\nu {{\nabla }^{2}}\b{v}+\b{f}\]&lt;br /&gt;
\[\frac{ 1 }{ \rho } \frac{\partial \rho }{\partial t}+\nabla \cdot \b{v}=0\]&lt;br /&gt;
\[\frac{ 1 }{ \rho } \frac{\partial \rho }{\partial p}\frac{\partial p}{\partial t}+\nabla \cdot \b{v}=0\]&lt;br /&gt;
Now, the above system can be solved directly.&lt;br /&gt;
&lt;br /&gt;
The addition of the time derivative of the pressure term physically means that waves of finite speed (the propagation of which depends on the magnitude of the ACM)&lt;br /&gt;
are introduced into the flow field as a mean to distribute the pressure within the domain. In a true&lt;br /&gt;
incompressible flow, the pressure field is affected instantaneously throughout the whole domain. In ACM there is a time delay between the flow disturbance and its effect on the&lt;br /&gt;
pressure field. Upon rearranging the equation yields&lt;br /&gt;
\[\frac{\partial p}{\partial t}+\rho {{C}^{2}}\nabla \cdot \b{v}=0\]&lt;br /&gt;
where the continuity equation is perturbed by the quantity $\frac{\partial p}{\partial t}$ denominated herein&lt;br /&gt;
as the AC parameter/artificial sound speed recognized by&lt;br /&gt;
$C$ [m/s] - speed of sound&lt;br /&gt;
\[\frac{1}{C^2}=\frac{\partial \rho }{\partial p}\]&lt;br /&gt;
Or in other words&lt;br /&gt;
\[C^2=\left( \frac{\partial p}{\partial \rho}\right)_S\]&lt;br /&gt;
where $\rho$ is the density of the material. It follows, by replacing partial derivatives, that the isentropic compressibility can be expressed as:&lt;br /&gt;
\[\beta =\frac{1}{\rho {{C}^{2}}}\]&lt;br /&gt;
The evaluation of the local ACM parameter in incompressible flows is inspired by the&lt;br /&gt;
speed of sound computations in compressible flows (for instance, from the perfect gas law).&lt;br /&gt;
However, in the incompressible flow situation, employing such a relation is difficult, but an artificial&lt;br /&gt;
relation can be developed from the convective and diffusive velocities.&lt;br /&gt;
Reverting to the justification of continuity modification, it can be immediately seen that the&lt;br /&gt;
artificial sound speed must be sufficiently large to have a significant regularizing effect and at&lt;br /&gt;
the same time must be as small as possible to minimizing perturbations on the incompressibility&lt;br /&gt;
equation.  Therefore, $C$ influences the convergence rate and stability of the solution method. In other words,&lt;br /&gt;
assists in reducing large disparity in the eigenvalues, leading to a well-conditioned system. &lt;br /&gt;
The $C$ can be '''estimated''' with&lt;br /&gt;
&lt;br /&gt;
\[ C = \beta \max \left( \left|\b{v}\right|_2, \left|\b{v}_{ref}\right|_2 \right),\]&lt;br /&gt;
where $\b{v}_{ref}$ stands for a reference velocity. &lt;br /&gt;
Values for $\beta$ in the range of 1–10 are recommended for better convergence to the steady state at which the&lt;br /&gt;
mass conservation is enforced. In addition, Equation ensures that $C$ does not reach zero at stagnation points&lt;br /&gt;
that cause instabilities in pseudo-time, effecting convergence&lt;br /&gt;
&lt;br /&gt;
Note, that for more complex simulation an internal iteration loops is required before marching in time. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;figure id=&amp;quot;ACM&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ACM BlockDiagram.png|600px]]&lt;br /&gt;
&amp;lt;caption&amp;gt;Scheme of the ACM algorithm &amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicit/Implicit pressure calculation ==&lt;br /&gt;
&lt;br /&gt;
Applying divergence on \ref{NavierStokes} yields&lt;br /&gt;
\[\nabla \cdot \frac{\partial \b{v}}{\partial t}+\nabla \cdot (\b{v}\cdot \nabla )\b{v}=-\frac{1}{\rho }{{\nabla }^{2}}p+\nabla \cdot \nu {{\nabla }^{2}}\b{v}+\nabla \cdot \b{f}\]&lt;br /&gt;
&lt;br /&gt;
And since $\nabla \cdot \b{v}=0$ and we can change order in $\nabla \cdot \nabla^2$ and $ \nabla^2 \cdot \nabla$ equation simplifies to&lt;br /&gt;
\[\frac{1}{\rho }{{\nabla }^{2}}p=\nabla \cdot \b{f}-\nabla \cdot (\b{v}\cdot \nabla )\b{v}\]&lt;br /&gt;
Now, we need boundary conditions that can be obtained by multiplying the equation  with a boundary normal vector&lt;br /&gt;
\[\b{\hat{n}}\cdot \left( \frac{\partial \b{v}}{\partial t}+(\b{v}\cdot \nabla )\b{v} \right)=\b{\hat{n}}\cdot \left( -\frac{1}{\rho }\nabla p+\nu {{\nabla }^{2}}\b{v}+\b{f} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{n}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f}-\frac{\partial \b{v}}{\partial t}-(\b{v}\cdot\nabla ) \b{v} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
&lt;br /&gt;
Note that using tangential boundary vector gives equivalent BCs&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{t}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f}-\frac{\partial \b{v}}{\partial t}-(\b{v}\cdot\nabla ) \b{v} \right)\cdot \b{\hat{t}}\]&lt;br /&gt;
For no-slip boundaries BCs simplify to&lt;br /&gt;
\[\frac{\partial p}{\partial \b{\hat{n}}}=\left( \nu {{\nabla }^{2}}\b{v}+\b{f} \right)\cdot \b{\hat{n}}\]&lt;br /&gt;
Otherwise an appropriate expression regarding the velocity can be written, i.e. write full  and taken in account velocity BCs. For example, Neumann velocity $\frac{\partial u}{\partial x}=0$ in 2D&lt;br /&gt;
\[\frac{\partial p}{\partial x}=\left( \nu {{\nabla }^{2}}u + {{f}_{x}}-\frac{\partial u}{\partial t}+v\frac{\partial u}{\partial y} \right)\]&lt;br /&gt;
Note that you allready know everything about the velocity and thus you can compute all the terms explicitly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So the procedure is:&lt;br /&gt;
&lt;br /&gt;
* Compute Navier Stokes either explicitly or implicitly&lt;br /&gt;
* Solve pressure equations with  computed velocities&lt;br /&gt;
* March in time&lt;br /&gt;
&lt;br /&gt;
Basic boundary conditions&lt;br /&gt;
Wall:   $\b{v}=0$, \[\frac{\partial p}{\partial \hat{n}}=\left( \nabla \cdot \left( \nu \nabla \b{v} \right)+\b{f} \right)\cdot \hat{n}\]&lt;br /&gt;
Inlet:  $\b{v}=\b{a}$, \[\frac{\partial p}{\partial \hat{n}}=\left( \nabla \cdot \left( \nu \nabla \b{v} \right)+\b{f}-\nabla \cdot (\rho \b{v}\b{v})-\rho \frac{\partial \b{v}}{\partial t} \right)\cdot \hat{n}\]&lt;br /&gt;
&lt;br /&gt;
Above system can be linearized (advection term) and solved either explicitly or implicitly.&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
&lt;br /&gt;
W. D. Henshaw, A fourth-order accurate method for the incompressible Navier–Stokes equations on overlapping grids, J. Comput. Phys. 113, 13 (1994)&lt;br /&gt;
&lt;br /&gt;
J. C. Strikwerda, Finite difference methods for the Stokes and Navier–Stokes equations, SIAM J. Sci. Stat.&lt;br /&gt;
Comput. 5(1), 56 (1984)&lt;br /&gt;
&lt;br /&gt;
== Explicit Pressure correction ==&lt;br /&gt;
Another possibility is to solve pressure correction equation. Again Consider the momentum equation and mass continuity and discretize it explicitly&lt;br /&gt;
\[\frac{{{\b{v}}_{2}}-{{\b{v}}_{1}}}{\Delta t}=-\frac{1}{\rho }\nabla {{p}_{1}}-({{\b{v}}_{1}}\nabla )\cdot {{\b{v}}_{1}}+\nu {{\nabla }^{2}}{{\b{v}}_{1}}+\b{f}\]&lt;br /&gt;
Computed velocity obviously does not satisfy the mass contunity and therefore let’s call it intermediate velocity. Intermediate velocity is calculated from guessed pressure and old velocity values.&lt;br /&gt;
\[{{\b{v}}^{inter}}=\b{v}_1 + \Delta t\left( -\frac{1}{\rho }\nabla {{p}_{1}}-({{\b{v}}_{1}}\nabla )\cdot {{\b{v}}_{1}}+\nu {{\nabla }^{2}}{{\b{v}}_{1}}+\b{f} \right)\]&lt;br /&gt;
A correction term is added that drives velocity to divergence free field&lt;br /&gt;
\[\nabla \cdot ({{\b{v}}^{inter}}+{{\b{v}}^{corr}})=0 \qquad \to \qquad \nabla \cdot {{\b{v}}^{inter}}=-\nabla \cdot {{\b{v}}^{corr}}\]&lt;br /&gt;
&lt;br /&gt;
Velocity correction is affected only by effect of pressure correction. This fact is obvious due to all terms except gradient of pressure on the right side of equation  are constant.&lt;br /&gt;
\[{{\b{v}}^{corr}}=-\frac{\Delta t}{\rho }\nabla {{p}^{corr}} \]&lt;br /&gt;
&lt;br /&gt;
Note that corrected velocity also satisfies boundary conditions&lt;br /&gt;
\[\b{v}^{iter}+\b{v}^{corr}=\b{v}^{BC}\]&lt;br /&gt;
Applying divergence  and  we get '''pressure correction poisson equation'''.&lt;br /&gt;
\[\,{{\nabla }^{2}}{{p}^{corr}}\,=\frac{\rho }{\Delta t}\nabla \cdot {{\mathbf{v}}^{iter}}\,\]&lt;br /&gt;
&lt;br /&gt;
Boundary conditions can be obtained by mulitplying the equation with a unit normal vector $\b{\hat{n}}$&lt;br /&gt;
\[\frac{\Delta t}{\rho }\frac{\partial {p}^{corr}}{\partial \b{\hat{n}}} = \b{\hat{n}} \cdot \left(\b{v}^{iter} - \b{v}^{BC} \right) \]&lt;br /&gt;
The most straightforward approach, for dirichlet BCs, is to take into account velocity boundary condition in computation of intermediate velocity, and clearly in such cases, pressure boundary condition simplifies to &lt;br /&gt;
\[\frac{\partial p^{corr}}{\partial \b{\hat{n}}} = 0 \]&lt;br /&gt;
As ${{\b{v}}^{\operatorname{int}er}}={{\b{v}}^{BC}}$ . Another option is to explicitely compute intermediate velocity also on boundaries and then correct it through pressure correction.&lt;br /&gt;
&lt;br /&gt;
The pressure poisson equation is, at given boundary conditions, defined only up to a constant. One solution is to select a node and set it to a constant, e.g. p(0, 0) = 0, however much more stable approach is to enforce solution with additional condition, also referred to as a regularization&lt;br /&gt;
	\[\int_{\Omega }^{{}}{pd}\Omega =0\]&lt;br /&gt;
\[\,{{\nabla }^{2}}{{p}^{corr}}\,-\alpha =\frac{\rho }{\Delta t}\nabla \cdot {{\b{v}}^{iter}}\,\]&lt;br /&gt;
Where $\alpha $ stands for Lagrange multiplier. Or in discrete form&lt;br /&gt;
	\[\sum\limits_{i}{p\left( {{x}_{i}} \right)=0}\]&lt;br /&gt;
	\[\b{Mp}-\alpha \b{1}=\frac{\rho }{\Delta t}\nabla \cdot {{\b{v}}^{iter}}\]&lt;br /&gt;
&lt;br /&gt;
where $\b{M}$ holds Laplace shape functions, i.e. the discrete version of Laplace differential operator. &lt;br /&gt;
&lt;br /&gt;
Solution of a system&lt;br /&gt;
&lt;br /&gt;
	\[\left[ \begin{matrix}&lt;br /&gt;
   {{M}_{11}} &amp;amp; .. &amp;amp; {{M}_{1n}} &amp;amp; 1  \\&lt;br /&gt;
   .. &amp;amp; .. &amp;amp; .. &amp;amp; 1  \\&lt;br /&gt;
   {{M}_{n1}} &amp;amp; ... &amp;amp; {{M}_{nn}} &amp;amp; 1  \\&lt;br /&gt;
   1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0  \\&lt;br /&gt;
\end{matrix} \right]\left[ \begin{matrix}&lt;br /&gt;
   {{p}_{1}}  \\&lt;br /&gt;
   ...  \\&lt;br /&gt;
   {{p}_{n}}  \\&lt;br /&gt;
   \alpha   \\&lt;br /&gt;
\end{matrix} \right]=\frac{\rho }{\Delta t}\left[ \begin{matrix}&lt;br /&gt;
   \nabla \cdot \b{v}_{_{1}}^{\text{iter}}  \\&lt;br /&gt;
   ...  \\&lt;br /&gt;
   \nabla \cdot \b{v}_{n}^{\text{iter}}  \\&lt;br /&gt;
   0  \\&lt;br /&gt;
\end{matrix} \right]\]&lt;br /&gt;
Gives us a solution of pressure correction.&lt;br /&gt;
&lt;br /&gt;
== CBS Algorithm ==&lt;br /&gt;
With explicit temporal discretization problem is formulated as&lt;br /&gt;
\[\b{\hat{v}}={{\b{v}}_{0}}+\Delta t\left( -\nabla {{p}_{0}}+\frac{1}{Re}{{\nabla }^{2}}{{\b{v}}_{0}}-\nabla \cdot ({{\b{v}}_{0}}{{\b{v}}_{0}}) \right)\]&lt;br /&gt;
\[p={{p}_{0}}-\xi \Delta {{t}_{F}}\nabla \b{\hat{v}}+\xi \Delta {{t}_{F}}\Delta t{{\nabla }^{2}}{{\overset{\scriptscriptstyle\frown}{P}}_{0}},\]&lt;br /&gt;
where $\b{\hat{v}}$, $\Delta t$, $\xi$ and $\Delta t_F$ stand for intermediate velocity, time step, relaxation parameter, and artificial time step, respectively, and index 0 stands for previous time / iteration step. First, the intermediate velocity is computed from previous time step. Second, the velocity is driven towards solenoidal field by correcting the pressure. Note that no special boundary conditions for pressure are used, i.e., the pressure on boundaries is computed with the same approach as in the interior of the domain. In general, the internal iteration with an artificial time step is required until the divergence of the velocity field is not below required criteria. However, if one is interested only in a steady-state solution, the internal iteration can be skipped and $\Delta t$ equals $\Delta {{t}_{F}}$. Without internal stepping the transient of the solution is distorted by artificial compressibility effect. This approach is also known as ACM with Characteristics-based discretization of continuity equation, where the relaxation parameter relates to the artificial speed of sound [35].&lt;br /&gt;
&lt;br /&gt;
The relaxation parameter should be set between 1-10, lower number more stable solution.&lt;br /&gt;
&lt;br /&gt;
And also dimensional form&lt;br /&gt;
&lt;br /&gt;
\[p={{p}_{0}}-{{C}^{2}}\Delta {{t}_{F}}\rho \nabla \b{\hat{v}}+{{C}^{2}}\Delta {{t}_{F}}\Delta t{{\nabla }^{2}}{{p}_{0}},\]&lt;br /&gt;
&lt;br /&gt;
Where C is speed of sound [m/s]&lt;br /&gt;
&lt;br /&gt;
== The Stream Function - Vorticity Approach ==&lt;br /&gt;
&lt;br /&gt;
In two dimensions, the Navier–Stokes equations can be expressed using the&lt;br /&gt;
stream function $\psi$ and the vorticity $\omega$ in place of the primitive variables $u$, $v$, and&lt;br /&gt;
$p$. This involves the elimination of the pressure $p$, thus yielding one dependent&lt;br /&gt;
variable less. In three dimensions, however, this formulation leads to six unknowns&lt;br /&gt;
rather than four (in primitive variables), which makes this approach less attractive&lt;br /&gt;
for that case.&lt;br /&gt;
&lt;br /&gt;
In the following, we briefly derive the resulting two-dimensional equations for&lt;br /&gt;
$\psi$ and $\omega$. We begin by considering the momentum equations:&lt;br /&gt;
\begin{align}&lt;br /&gt;
\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y}&amp;amp; = -\frac{1}{\rho}\frac{\partial p}{\partial x} + \nu \left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) + g_x \\&lt;br /&gt;
\frac{\partial v}{\partial t} + u \frac{\partial v}{\partial x} + v \frac{\partial v}{\partial y}&amp;amp; = -\frac{1}{\rho}\frac{\partial p}{\partial y} + \nu \left(\frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2}\right) + g_y&lt;br /&gt;
\end{align}&lt;br /&gt;
from which we can eliminate the pressure by differentiating the first equation by $y$ and the second by $x$, subtracting the second from the first and then substituting the definition for the vorticity $\omega = \partial u / \partial y - \partial v / \partial x$. In this manner we obtain the equation:&lt;br /&gt;
\[\frac{\partial \omega}{\partial t} + \frac{\partial u}{\partial x} \omega + u \frac{\partial \omega}{\partial x} + \frac{\partial v}{\partial y}\omega + v \frac{\partial \omega}{\partial y} = \nu \left(\frac{\partial^2 \omega}{\partial x^2} + \frac{\partial^2 \omega}{\partial y^2}\right) + \left(\frac{\partial g_x}{\partial y} - \frac{\partial g_y}{\partial x}\right)\]&lt;br /&gt;
&lt;br /&gt;
We can get rid of the terms containing $\partial u / \partial x$ and $\partial v / \partial y$ by using the continuity equation \eqref{contuinity}. Finally using the definition for the stream function $\partial \psi / \partial y = u$ and $\partial \psi / \partial x = -v$ we can transform the above equation to what is known as the ''vorticity transport equation'':&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\frac{\partial \omega}{\partial t} + \frac{\partial \psi}{\partial y}\frac{\partial \omega}{\partial x} - \frac{\partial \psi}{\partial x}\frac{\partial \omega}{\partial y} = \nu \Delta \omega + \left(\frac{\partial g_x}{\partial y} - \frac{\partial g_y}{\partial x}\right)&lt;br /&gt;
\label{vorticity_transport}&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
Another equation is obtained by inserting the definition of the stream function into that of the vorticity:&lt;br /&gt;
\[\omega = \frac{\partial u}{\partial y} - \frac{\partial v}{\partial x} = \frac{\partial}{\partial y}\left(\frac{\partial \psi}{\partial y}\right) + \frac{\partial }{\partial x}\left(\frac{\partial \psi}{\partial x}\right) = \Delta \psi\]&lt;br /&gt;
leading to the ''Poisson equation for the stream function''&lt;br /&gt;
\begin{equation}&lt;br /&gt;
\Delta \psi = \omega&lt;br /&gt;
\label{poisson_stream}&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
The two equations (\ref{vorticity_transport}) and (\ref{poisson_stream}) form a nonlinear coupled system of equations in which pressure has been eliminated and in which the continuity equation has been satisfied automatically.&lt;br /&gt;
&lt;br /&gt;
= Numerical examples =&lt;br /&gt;
* [[Lid driven cavity]] &lt;br /&gt;
* [[de Vahl Davis natural convection test]]&lt;br /&gt;
* [[Natural convection in 3D irregular domain]]&lt;br /&gt;
* [[Natural convection between concentric cylinders]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Ferziger JH, Perić M. Computational Methods for Fluid Dynamics. Berlin: Springer; 2002.&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
&lt;br /&gt;
'''This list might be incomplete, check also reference on the [[Main Page]].'''&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2533</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2533"/>
				<updated>2019-05-18T15:03:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] Couturier, H. &amp;amp; Sadat, S. Performance and accuracy of a meshless method for laminar natural convection Numerical Heat Transfer: Part B: Fundamentals, Taylor &amp;amp; Francis, 2000 , 37 , 455-467&lt;br /&gt;
&lt;br /&gt;
[ref b for 2D] Kosec, G. &amp;amp; Šarler, B. Solution of thermo-fluid problems by collocation with local pressure correction International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow, Emerald Group Publishing Limited, 2008 , 18 , 868-882&lt;br /&gt;
&lt;br /&gt;
[ref a for 3D] Wang, P.; Zhang, Y. &amp;amp; Guo, Z. Numerical study of three-dimensional natural convection in a cubical cavity at high Rayleigh numbers Int. J. Heat Mass Transfer, Elsevier, 2017 , 113 , 217-228&lt;br /&gt;
&lt;br /&gt;
[ref b for 3D] Fusegi, T.; Hyun, J. M.; Kuwahara, K. &amp;amp; Farouk, B. A numerical study of three-dimensional natural convection in a differentially heated cubical enclosure  Int. J. Heat Mass Transfer, Elsevier, 1991 , 34 , 1543-1557&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2532</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2532"/>
				<updated>2019-05-18T15:02:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] Couturier, H. &amp;amp; Sadat, S. Performance and accuracy of a meshless method for laminar natural convection Numerical Heat Transfer: Part B: Fundamentals, Taylor &amp;amp; Francis, 2000 , 37 , 455-467&lt;br /&gt;
&lt;br /&gt;
[ref b for 2D] Kosec, G. &amp;amp; Šarler, B. Solution of thermo-fluid problems by collocation with local pressure correction International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow, Emerald Group Publishing Limited, 2008 , 18 , 868-882&lt;br /&gt;
&lt;br /&gt;
[ref a for 3D] Wang, P.; Zhang, Y. &amp;amp; Guo, Z. Numerical study of three-dimensional natural convection in a cubical cavity at high Rayleigh numbers Int. J. Heat Mass Transfer, Elsevier, 2017 , 113 , 217-228&lt;br /&gt;
&lt;br /&gt;
[ref b for 3D] Fusegi, T.; Hyun, J. M.; Kuwahara, K. &amp;amp; Farouk, B. A numerical study of three-dimensional natural convection in a differentially heated cubical enclosure  Int. J. Heat Mass Transfer, Elsevier, 1991 , 34 , 1543-1557&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2531</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2531"/>
				<updated>2019-05-18T15:02:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] Couturier, H. &amp;amp; Sadat, S. Performance and accuracy of a meshless method for laminar natural convection Numerical Heat Transfer: Part B: Fundamentals, Taylor &amp;amp; Francis, 2000 , 37 , 455-467&lt;br /&gt;
&lt;br /&gt;
[ref b for 2D] Kosec, G. &amp;amp; Šarler, B. Solution of thermo-fluid problems by collocation with local pressure correction International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow, Emerald Group Publishing Limited, 2008 , 18 , 868-882&lt;br /&gt;
&lt;br /&gt;
[ref a for 3D] Wang, P.; Zhang, Y. &amp;amp; Guo, Z. Numerical study of three-dimensional natural convection in a cubical cavity at high Rayleigh numbers Int. J. Heat Mass Transfer, Elsevier, 2017 , 113 , 217-228&lt;br /&gt;
&lt;br /&gt;
[ref b for 3D] Fusegi, T.; Hyun, J. M.; Kuwahara, K. &amp;amp; Farouk, B. A numerical study of three-dimensional natural convection in a differentially heated cubical enclosure  Int. J. Heat Mass Transfer, Elsevier, 1991 , 34 , 1543-1557&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2530</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2530"/>
				<updated>2019-05-18T15:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] Couturier, H. &amp;amp; Sadat, S. Performance and accuracy of a meshless method for laminar natural convection Numerical Heat Transfer: Part B: Fundamentals, Taylor &amp;amp; Francis, 2000 , 37 , 455-467&lt;br /&gt;
[ref b for 2D] Kosec, G. &amp;amp; Šarler, B. Solution of thermo-fluid problems by collocation with local pressure correction International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow, Emerald Group Publishing Limited, 2008 , 18 , 868-882&lt;br /&gt;
[ref a for 3D] Wang, P.; Zhang, Y. &amp;amp; Guo, Z. Numerical study of three-dimensional natural convection in a cubical cavity at high Rayleigh numbers Int. J. Heat Mass Transfer, Elsevier, 2017 , 113 , 217-228&lt;br /&gt;
[ref b for 3D] Fusegi, T.; Hyun, J. M.; Kuwahara, K. &amp;amp; Farouk, B. A numerical study of three-dimensional natural convection in a differentially heated cubical enclosure  Int. J. Heat Mass Transfer, Elsevier, 1991 , 34 , 1543-1557&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2529</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2529"/>
				<updated>2019-05-18T14:50:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
  author    = {Wang, Peng and Zhang, Yonghao and Guo, Zhaoli},&lt;br /&gt;
  title     = {Numerical study of three-dimensional natural convection in a cubical cavity at high {R}ayleigh numbers},&lt;br /&gt;
  journal   = {Int. J. Heat Mass Transfer},&lt;br /&gt;
  year      = {2017},&lt;br /&gt;
  volume    = {113},&lt;br /&gt;
  pages     = {217--228},&lt;br /&gt;
  doi       = {10.1016/j.ijheatmasstransfer.2017.05.057},&lt;br /&gt;
  publisher = {Elsevier},&lt;br /&gt;
[ref b for 3D]&lt;br /&gt;
  author    = {Fusegi, T. and Hyun, Jae Min and Kuwahara, K. and Farouk, B.},&lt;br /&gt;
  title     = {A numerical study of three-dimensional natural convection in a differentially heated cubical enclosure},&lt;br /&gt;
  journal   = {Int. J. Heat Mass Transfer},&lt;br /&gt;
  year      = {1991},&lt;br /&gt;
  volume    = {34},&lt;br /&gt;
  number    = {6},&lt;br /&gt;
  pages     = {1543--1557},&lt;br /&gt;
  doi       = {10.1016/0017-9310(91)90295-p},&lt;br /&gt;
  publisher = {Elsevier},&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2528</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2528"/>
				<updated>2019-05-18T14:49:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in literature. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2527</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2527"/>
				<updated>2019-05-18T14:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2526</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2526"/>
				<updated>2019-05-18T14:48:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|fill algoritm]] with&lt;br /&gt;
Nodal distance $h=0.025$.. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2525</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2525"/>
				<updated>2019-05-18T14:47:57Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes|dfs]] with&lt;br /&gt;
Nodal distance $h=0.025$.. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2524</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2524"/>
				<updated>2019-05-18T14:46:02Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes][fill algorithm]] with&lt;br /&gt;
Nodal distance $h=0.025$.. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2523</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2523"/>
				<updated>2019-05-18T14:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [dfgfd[Positioning of computational nodes]] with&lt;br /&gt;
Nodal distance $h=0.025$.. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2522</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2522"/>
				<updated>2019-05-18T14:45:06Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Domain is discretized with our [[Positioning of computational nodes]] with&lt;br /&gt;
Nodal distance $h=0.025$.. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2521</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2521"/>
				<updated>2019-05-18T14:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
@Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
@Article{kosec2008solution,&lt;br /&gt;
  author    = {Kosec, Gregor and {\v{S}}arler, Bo{\v{z}}idar},&lt;br /&gt;
  title     = {Solution of thermo-fluid problems by collocation with local pressure correction},&lt;br /&gt;
  journal   = {International Journal of Numerical Methods for Heat \&amp;amp; Fluid Flow},&lt;br /&gt;
  year      = {2008},&lt;br /&gt;
  volume    = {18},&lt;br /&gt;
  number    = {7/8},&lt;br /&gt;
  pages     = {868--882},&lt;br /&gt;
  doi       = {10.1108/09615530810898999},&lt;br /&gt;
  publisher = {Emerald Group Publishing Limited},&lt;br /&gt;
}&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2520</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2520"/>
				<updated>2019-05-18T14:39:53Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[ref a for 2D] &lt;br /&gt;
[ref b for 2D]&lt;br /&gt;
[ref a for 3D]&lt;br /&gt;
[ref b for 3D]&lt;br /&gt;
 @Article{couturier2000performance,&lt;br /&gt;
  author    = {Couturier, H. and Sadat, S.},&lt;br /&gt;
  title     = {Performance and accuracy of a meshless method for laminar natural convection},&lt;br /&gt;
  journal   = {Numerical Heat Transfer: Part B: Fundamentals},&lt;br /&gt;
  year      = {2000},&lt;br /&gt;
  volume    = {37},&lt;br /&gt;
  number    = {4},&lt;br /&gt;
  pages     = {455--467},&lt;br /&gt;
  doi       = {10.1080/10407790050051146},&lt;br /&gt;
  publisher = {Taylor \&amp;amp; Francis},&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2519</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2519"/>
				<updated>2019-05-18T14:37:05Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely Ra$=10^6,10^7,10^8$ in 2D, and Ra$=10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in below table.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2518</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2518"/>
				<updated>2019-05-18T14:30:04Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely $\textup{Ra} = 10^6,10^7,10^8$ in 2D, and $\textup{Ra} = 10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in~\cref{tab:ff-data}.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Ra&lt;br /&gt;
! $v_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $x$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $u_{max}$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! $y$&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
| present&lt;br /&gt;
| ref a&lt;br /&gt;
| ref b&lt;br /&gt;
|-&lt;br /&gt;
| 2D&lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2628&lt;br /&gt;
| 0.2604&lt;br /&gt;
| 0.2627&lt;br /&gt;
| 0.0378&lt;br /&gt;
| 0.0380&lt;br /&gt;
| 0.0390&lt;br /&gt;
| 0.0781&lt;br /&gt;
| 0.0765&lt;br /&gt;
| 0.0782&lt;br /&gt;
| 0.8476&lt;br /&gt;
| 0.8510&lt;br /&gt;
| 0.0390&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^7$&lt;br /&gt;
| 0.2633&lt;br /&gt;
| 0.2580&lt;br /&gt;
| 0.2579&lt;br /&gt;
| 0.0226&lt;br /&gt;
| 0.0230&lt;br /&gt;
| 0.0210&lt;br /&gt;
| 0.0588&lt;br /&gt;
| 0.0547&lt;br /&gt;
| 0.0561&lt;br /&gt;
| 0.8705&lt;br /&gt;
| 0.8880&lt;br /&gt;
| 0.0210&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^8$&lt;br /&gt;
| 0.2557&lt;br /&gt;
| 0.2587&lt;br /&gt;
| 0.2487&lt;br /&gt;
| 0.0149&lt;br /&gt;
| 0.0110&lt;br /&gt;
| 0.0090&lt;br /&gt;
| 0.0314&lt;br /&gt;
| 0.0379&lt;br /&gt;
| 0.0331&lt;br /&gt;
| 0.9189&lt;br /&gt;
| 0.9430&lt;br /&gt;
| 0.0090&lt;br /&gt;
|-&lt;br /&gt;
| 3D&lt;br /&gt;
| $10^4$&lt;br /&gt;
| 0.2495&lt;br /&gt;
| 0.2218&lt;br /&gt;
| 0.2252&lt;br /&gt;
| 0.8500&lt;br /&gt;
| 0.8873&lt;br /&gt;
| 0.8833&lt;br /&gt;
| 0.2435&lt;br /&gt;
| 0.1968&lt;br /&gt;
| 0.2013&lt;br /&gt;
| 0.1611&lt;br /&gt;
| 0.1799&lt;br /&gt;
| 0.1833&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^5$&lt;br /&gt;
| 0.2545&lt;br /&gt;
| 0.2442&lt;br /&gt;
| 0.2471&lt;br /&gt;
| 0.9402&lt;br /&gt;
| 0.9317&lt;br /&gt;
| 0.9353&lt;br /&gt;
| 0.1564&lt;br /&gt;
| 0.1426&lt;br /&gt;
| 0.1468&lt;br /&gt;
| 0.1447&lt;br /&gt;
| 0.1493&lt;br /&gt;
| 0.1453&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| $10^6$&lt;br /&gt;
| 0.2564&lt;br /&gt;
| 0.2556&lt;br /&gt;
| 0.2588&lt;br /&gt;
| 0.9614&lt;br /&gt;
| 0.9653&lt;br /&gt;
| 0.9669&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.0816&lt;br /&gt;
| 0.0841&lt;br /&gt;
| 0.1435&lt;br /&gt;
| 0.1403&lt;br /&gt;
| 0.1443&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2517</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2517"/>
				<updated>2019-05-18T14:27:40Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely $\textup{Ra} = 10^6,10^7,10^8$ in 2D, and $\textup{Ra} = 10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in~\cref{tab:ff-data}.&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D.png|400px]]&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2516</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2516"/>
				<updated>2019-05-18T14:25:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for Ra$=10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{couturier2000performance, kosec2008solution,&lt;br /&gt;
wang2017numerical, fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely $\textup{Ra} = 10^6,10^7,10^8$ in 2D, and $\textup{Ra} = 10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in~\cref{tab:ff-data}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]][[File:DVD_3D.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{table}[h]&lt;br /&gt;
  \centering&lt;br /&gt;
  \caption{Comparison of results computed with RBF-FD on FF nodes and reference&lt;br /&gt;
  data. }&lt;br /&gt;
  \label{tab:ff-data}&lt;br /&gt;
  \renewcommand{\arraystretch}{1.2}&lt;br /&gt;
  \scalebox{0.68}{&lt;br /&gt;
  \begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}&lt;br /&gt;
    \cline{2-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$v_{max}(x, 0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, y)$} &amp;amp; \multicolumn{3}{c|}{$y$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}}&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{2D}} &amp;amp; $10^6$ &amp;amp; 0.2628    &amp;amp; 0.2604   &amp;amp;&lt;br /&gt;
      0.2627  &amp;amp; 0.037  &amp;amp; 0.038 &amp;amp; 0.039 &amp;amp; 0.0781    &amp;amp; 0.0765   &amp;amp; 0.0782  &amp;amp; 0.847&lt;br /&gt;
      &amp;amp; 0.851 &amp;amp; 0.861&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^7$ &amp;amp; 0.2633    &amp;amp; 0.2580   &amp;amp; 0.2579  &amp;amp; 0.022  &amp;amp; 0.023 &amp;amp; 0.021 &amp;amp; 0.0588&lt;br /&gt;
      &amp;amp; 0.0547   &amp;amp; 0.0561  &amp;amp; 0.870  &amp;amp; 0.888 &amp;amp; 0.900&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^8$ &amp;amp; 0.2557    &amp;amp; 0.2587   &amp;amp; 0.2487  &amp;amp; 0.010  &amp;amp; 0.011 &amp;amp; 0.009 &amp;amp; 0.0314&lt;br /&gt;
      &amp;amp; 0.0379   &amp;amp; 0.0331  &amp;amp; 0.918  &amp;amp; 0.943 &amp;amp; 0.930&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$w_{max}(x, 0.5,0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, 0.5, z)$} &amp;amp; \multicolumn{3}{c|}{$z$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{fusegi1991numerical}}&lt;br /&gt;
    \\  \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{3D}} &amp;amp; $10^4$ &amp;amp; 0.2295 &amp;amp; 0.2218   &amp;amp; 0.2252  &amp;amp; 0.850 &amp;amp; 0.887 &amp;amp; 0.883&lt;br /&gt;
      &amp;amp; 0.2135    &amp;amp; 0.1968   &amp;amp; 0.2013  &amp;amp; 0.168 &amp;amp; 0.179 &amp;amp; 0.183 \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^5$ &amp;amp; 0.2545    &amp;amp; 0.2442   &amp;amp; 0.2471  &amp;amp; 0.940  &amp;amp; 0.931 &amp;amp; 0.935 &amp;amp; 0.1564 &amp;amp; 0.1426 &amp;amp; 0.1468&lt;br /&gt;
      &amp;amp; 0.144  &amp;amp; 0.149 &amp;amp; 0.145&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^6$ &amp;amp; 0.2564 &amp;amp; 0.2556 &amp;amp; 0.2588 &amp;amp; 0.961  &amp;amp; 0.965 &amp;amp; 0.966 &amp;amp; 0.0841&lt;br /&gt;
      &amp;amp; 0.0816   &amp;amp; 0.0841 &amp;amp; 0.143 &amp;amp; 0.140 &amp;amp; 0.144&lt;br /&gt;
    \\ \hline&lt;br /&gt;
  \end{tabular}&lt;br /&gt;
  }&lt;br /&gt;
\end{table}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2515</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2515"/>
				<updated>2019-05-18T14:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D.&lt;br /&gt;
In below figures steady state temperature contour and velocity quiver plots&lt;br /&gt;
for $\textup{Ra} = 10^6$ case in 3D are presented. A more quantitative analysis is done by comparing characteristic values, i.e.\&lt;br /&gt;
peak positions and values of cross section velocities, with data available in&lt;br /&gt;
literature~\cite{couturier2000performance, kosec2008solution,&lt;br /&gt;
wang2017numerical, fusegi1991numerical}. We analyze six different cases,&lt;br /&gt;
namely $\textup{Ra} = 10^6,10^7,10^8$ in 2D, and $\textup{Ra} = 10^4,10^5,10^6$ in 3D.&lt;br /&gt;
The comparison in presented in~\cref{tab:ff-data}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]][[File:DVD_3D.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{table}[h]&lt;br /&gt;
  \centering&lt;br /&gt;
  \caption{Comparison of results computed with RBF-FD on FF nodes and reference&lt;br /&gt;
  data. }&lt;br /&gt;
  \label{tab:ff-data}&lt;br /&gt;
  \renewcommand{\arraystretch}{1.2}&lt;br /&gt;
  \scalebox{0.68}{&lt;br /&gt;
  \begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}&lt;br /&gt;
    \cline{2-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$v_{max}(x, 0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, y)$} &amp;amp; \multicolumn{3}{c|}{$y$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}}&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{2D}} &amp;amp; $10^6$ &amp;amp; 0.2628    &amp;amp; 0.2604   &amp;amp;&lt;br /&gt;
      0.2627  &amp;amp; 0.037  &amp;amp; 0.038 &amp;amp; 0.039 &amp;amp; 0.0781    &amp;amp; 0.0765   &amp;amp; 0.0782  &amp;amp; 0.847&lt;br /&gt;
      &amp;amp; 0.851 &amp;amp; 0.861&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^7$ &amp;amp; 0.2633    &amp;amp; 0.2580   &amp;amp; 0.2579  &amp;amp; 0.022  &amp;amp; 0.023 &amp;amp; 0.021 &amp;amp; 0.0588&lt;br /&gt;
      &amp;amp; 0.0547   &amp;amp; 0.0561  &amp;amp; 0.870  &amp;amp; 0.888 &amp;amp; 0.900&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^8$ &amp;amp; 0.2557    &amp;amp; 0.2587   &amp;amp; 0.2487  &amp;amp; 0.010  &amp;amp; 0.011 &amp;amp; 0.009 &amp;amp; 0.0314&lt;br /&gt;
      &amp;amp; 0.0379   &amp;amp; 0.0331  &amp;amp; 0.918  &amp;amp; 0.943 &amp;amp; 0.930&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$w_{max}(x, 0.5,0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, 0.5, z)$} &amp;amp; \multicolumn{3}{c|}{$z$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{fusegi1991numerical}}&lt;br /&gt;
    \\  \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{3D}} &amp;amp; $10^4$ &amp;amp; 0.2295 &amp;amp; 0.2218   &amp;amp; 0.2252  &amp;amp; 0.850 &amp;amp; 0.887 &amp;amp; 0.883&lt;br /&gt;
      &amp;amp; 0.2135    &amp;amp; 0.1968   &amp;amp; 0.2013  &amp;amp; 0.168 &amp;amp; 0.179 &amp;amp; 0.183 \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^5$ &amp;amp; 0.2545    &amp;amp; 0.2442   &amp;amp; 0.2471  &amp;amp; 0.940  &amp;amp; 0.931 &amp;amp; 0.935 &amp;amp; 0.1564 &amp;amp; 0.1426 &amp;amp; 0.1468&lt;br /&gt;
      &amp;amp; 0.144  &amp;amp; 0.149 &amp;amp; 0.145&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^6$ &amp;amp; 0.2564 &amp;amp; 0.2556 &amp;amp; 0.2588 &amp;amp; 0.961  &amp;amp; 0.965 &amp;amp; 0.966 &amp;amp; 0.0841&lt;br /&gt;
      &amp;amp; 0.0816   &amp;amp; 0.0841 &amp;amp; 0.143 &amp;amp; 0.140 &amp;amp; 0.144&lt;br /&gt;
    \\ \hline&lt;br /&gt;
  \end{tabular}&lt;br /&gt;
  }&lt;br /&gt;
\end{table}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2514</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2514"/>
				<updated>2019-05-18T14:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]][[File:DVD_3D.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{table}[h]&lt;br /&gt;
  \centering&lt;br /&gt;
  \caption{Comparison of results computed with RBF-FD on FF nodes and reference&lt;br /&gt;
  data. }&lt;br /&gt;
  \label{tab:ff-data}&lt;br /&gt;
  \renewcommand{\arraystretch}{1.2}&lt;br /&gt;
  \scalebox{0.68}{&lt;br /&gt;
  \begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}&lt;br /&gt;
    \cline{2-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$v_{max}(x, 0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, y)$} &amp;amp; \multicolumn{3}{c|}{$y$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{couturier2000performance}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{kosec2008solution}}&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{2D}} &amp;amp; $10^6$ &amp;amp; 0.2628    &amp;amp; 0.2604   &amp;amp;&lt;br /&gt;
      0.2627  &amp;amp; 0.037  &amp;amp; 0.038 &amp;amp; 0.039 &amp;amp; 0.0781    &amp;amp; 0.0765   &amp;amp; 0.0782  &amp;amp; 0.847&lt;br /&gt;
      &amp;amp; 0.851 &amp;amp; 0.861&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^7$ &amp;amp; 0.2633    &amp;amp; 0.2580   &amp;amp; 0.2579  &amp;amp; 0.022  &amp;amp; 0.023 &amp;amp; 0.021 &amp;amp; 0.0588&lt;br /&gt;
      &amp;amp; 0.0547   &amp;amp; 0.0561  &amp;amp; 0.870  &amp;amp; 0.888 &amp;amp; 0.900&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^8$ &amp;amp; 0.2557    &amp;amp; 0.2587   &amp;amp; 0.2487  &amp;amp; 0.010  &amp;amp; 0.011 &amp;amp; 0.009 &amp;amp; 0.0314&lt;br /&gt;
      &amp;amp; 0.0379   &amp;amp; 0.0331  &amp;amp; 0.918  &amp;amp; 0.943 &amp;amp; 0.930&lt;br /&gt;
    \\ \hline \hline&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multirow{2}{*}{\textbf{Ra}} &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$w_{max}(x, 0.5,0.5)$} &amp;amp; \multicolumn{3}{c|}{$x$}  &amp;amp;&lt;br /&gt;
      \multicolumn{3}{c|}{$u_{max}(0.5, 0.5, z)$} &amp;amp; \multicolumn{3}{c|}{$z$}&lt;br /&gt;
    \\ \cline{3-14}&lt;br /&gt;
      \multicolumn{1}{c|}{} &amp;amp; \multicolumn{1}{c|}{} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}}&lt;br /&gt;
      &amp;amp; \multicolumn{1}{c|}{\cite{fusegi1991numerical}} &amp;amp; present &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{wang2017numerical}} &amp;amp;&lt;br /&gt;
      \multicolumn{1}{c|}{\cite{fusegi1991numerical}}&lt;br /&gt;
    \\  \hline&lt;br /&gt;
      \multirow{3}{*}{\textbf{3D}} &amp;amp; $10^4$ &amp;amp; 0.2295 &amp;amp; 0.2218   &amp;amp; 0.2252  &amp;amp; 0.850 &amp;amp; 0.887 &amp;amp; 0.883&lt;br /&gt;
      &amp;amp; 0.2135    &amp;amp; 0.1968   &amp;amp; 0.2013  &amp;amp; 0.168 &amp;amp; 0.179 &amp;amp; 0.183 \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^5$ &amp;amp; 0.2545    &amp;amp; 0.2442   &amp;amp; 0.2471  &amp;amp; 0.940  &amp;amp; 0.931 &amp;amp; 0.935 &amp;amp; 0.1564 &amp;amp; 0.1426 &amp;amp; 0.1468&lt;br /&gt;
      &amp;amp; 0.144  &amp;amp; 0.149 &amp;amp; 0.145&lt;br /&gt;
    \\ \cline{2-14}&lt;br /&gt;
      &amp;amp; $10^6$ &amp;amp; 0.2564 &amp;amp; 0.2556 &amp;amp; 0.2588 &amp;amp; 0.961  &amp;amp; 0.965 &amp;amp; 0.966 &amp;amp; 0.0841&lt;br /&gt;
      &amp;amp; 0.0816   &amp;amp; 0.0841 &amp;amp; 0.143 &amp;amp; 0.140 &amp;amp; 0.144&lt;br /&gt;
    \\ \hline&lt;br /&gt;
  \end{tabular}&lt;br /&gt;
  }&lt;br /&gt;
\end{table}&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2513</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2513"/>
				<updated>2019-05-18T14:21:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The classical [[De Vahl Davis natural convection test]] can be extended to 3D &lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes [[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]][[File:DVD_3D.png|400px]]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2512</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2512"/>
				<updated>2019-05-18T14:20:43Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost nodes[[Ghost nodes (theory)]].&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|400px]][[File:DVD_3D.png|400px]]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2511</id>
		<title>Natural convection in 3D irregular domain</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Natural_convection_in_3D_irregular_domain&amp;diff=2511"/>
				<updated>2019-05-18T14:18:11Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: Created page with &amp;quot;All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis functions, augmented with monomials up to order $2$, with the closest $25$ nodes used as a stenc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All spatial operators are discretized using RBF-FD with $r^3$ PHS radial basis&lt;br /&gt;
functions, augmented with monomials up to order $2$, with the closest $25$&lt;br /&gt;
nodes used as a stencil. For the time discretization time step&lt;br /&gt;
$\Delta t=10^{-3}$ was used for all cases. Nodal distance $h=0.01$ is used for&lt;br /&gt;
simulations in 2D and $h=0.25$ for simulations in 3D. Boundaries with Neumann&lt;br /&gt;
boundary conditions are additionally treated with ghost&lt;br /&gt;
nodes~\cite{bayona2017augment}.&lt;br /&gt;
&lt;br /&gt;
[[File:DVD_3D_irreg.png|800px]][[File:DVD_3D.png|800px]]&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=File:DVD_3D.png&amp;diff=2510</id>
		<title>File:DVD 3D.png</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=File:DVD_3D.png&amp;diff=2510"/>
				<updated>2019-05-18T14:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=File:DVD_3D_irreg.png&amp;diff=2509</id>
		<title>File:DVD 3D irreg.png</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=File:DVD_3D_irreg.png&amp;diff=2509"/>
				<updated>2019-05-18T14:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2508</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2508"/>
				<updated>2019-05-18T14:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Discussions / Applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
In this section we present exact examples. Each of the below solutions can be found also in in the repository under examples. More explanation about the physical background and solution procedure can be found in following sections.&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Complex-valued problems]]&lt;br /&gt;
* [[Coupled domains]]&lt;br /&gt;
* [[Ghost nodes]]&lt;br /&gt;
* [[Electromagnetic scattering]]&lt;br /&gt;
* [[Schrödinger equation]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
* [[Meshless Lattice Boltzmann method]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
Medusa is modular coordinate-free parallel implementation of a numerical framework designed, but not limited to, for solving PDEs. In this section we present main modules of the library that can be also used as a standalone tools. &lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Ghost nodes (theory)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
This section is meant for general discussion about the physical background of the examples, the solution procedures, various applications, etc. Note, that code snippets presented in discussion might not reflect the actual state of Medusa.  &lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection in 3D irregular domain]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
* FAQ  - [[Frequently asked questions]]. &lt;br /&gt;
* [[List of wiki contributors]]&lt;br /&gt;
* List of library contributors: [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981 [http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2401</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2401"/>
				<updated>2019-04-05T08:49:54Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Discussions / Applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
In this section we present exact examples. Each of the below solutions can be found also in in the repository under examples. More explanation about the physical background and solution procedure can be found in following sections.&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
* [[Meshless Lattice Boltzmann method]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
Medusa is modular coordinate-free parallel implementation of a numerical framework designed, but not limited to, for solving PDEs. In this section we present main modules of the library that can be also used as a standalone tools. &lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
This section is meant for general discussion about the physical background of the examples, the solution procedures, various applications, etc. Note, that code snippets presented in discussion might not reflect the actual state of Medusa.  &lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
* FAQ  - [[Frequently asked questions]]. &lt;br /&gt;
* [[List of wiki contributors]]&lt;br /&gt;
* List of library contributors: [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981 [http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2400</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2400"/>
				<updated>2019-04-05T08:47:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Building blocks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
In this section we present exact examples. Each of the below solutions can be found also in in the repository under examples. More explanation about the physical background and solution procedure can be found in following sections.&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
* [[Meshless Lattice Boltzmann method]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
Medusa is modular coordinate-free parallel implementation of a numerical framework designed, but not limited to, for solving PDEs. In this section we present main modules of the library that can be also used as a standalone tools. &lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
* FAQ  - [[Frequently asked questions]]. &lt;br /&gt;
* [[List of wiki contributors]]&lt;br /&gt;
* List of library contributors: [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981 [http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2399</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2399"/>
				<updated>2019-04-05T08:43:51Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
In this section we present exact examples. Each of the below solutions can be found also in in the repository under examples. More explanation about the physical background and solution procedure can be found in following sections.&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
* [[Meshless Lattice Boltzmann method]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
* FAQ  - [[Frequently asked questions]]. &lt;br /&gt;
* [[List of wiki contributors]]&lt;br /&gt;
* List of library contributors: [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981 [http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=List_of_wiki_contributors&amp;diff=2398</id>
		<title>List of wiki contributors</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=List_of_wiki_contributors&amp;diff=2398"/>
				<updated>2019-03-28T12:29:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* Active */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Active ==&lt;br /&gt;
* [http://comms.ijs.si/~gkosec/ Gregor Kosec ] (research associate at JSI)&lt;br /&gt;
* Jure Slak (young researcher at JSI, PhD student at FMF)&lt;br /&gt;
* Ivan Pribec (researcher at LBGT, PhD student at TUM) &lt;br /&gt;
* Jure Močnik - Berljavac (student researcher at JSI, student at FMF) &lt;br /&gt;
* Blaž Stojanovič (student researcher at JSI, student at FMF)&lt;br /&gt;
* Anja Pirnat (student researcher at JSI, student at FMF)&lt;br /&gt;
&lt;br /&gt;
== Felt bored and moved on ==&lt;br /&gt;
* Anja Petković (last seen as PhD student at FMF)&lt;br /&gt;
* Jure Lapajne (last seen working on master's thesis at FMF)&lt;br /&gt;
* Matjaž Ličar (last seen at Slovenian Environmental Agency)&lt;br /&gt;
* Maks Kolman (last seen at Google)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSI - Jozef Stefan Institute&lt;br /&gt;
&lt;br /&gt;
''FMF - Faculty of Mathematics and Physics, University of Ljubljana&lt;br /&gt;
&lt;br /&gt;
''LBGT - Lehrstuhl für Brau- und Getränketechnologie''&lt;br /&gt;
&lt;br /&gt;
''TUM - Technische Universität München''&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2391</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2391"/>
				<updated>2019-03-28T12:22:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MISC ==&lt;br /&gt;
* Also see FAQ  -[[Frequently asked questions]]. &lt;br /&gt;
* [[List of contributors]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981 [http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2390</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2390"/>
				<updated>2019-03-28T12:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MISC ==&lt;br /&gt;
* Also see FAQ  -[[Frequently asked questions]]. &lt;br /&gt;
* [[List of contributors]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981&lt;br /&gt;
[http://www-e6.ijs.si/ParallelAndDistributedSystems/pdf/32230439.pdf manuscript]&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2389</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2389"/>
				<updated>2019-03-28T12:21:37Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MISC ==&lt;br /&gt;
* Also see FAQ  -[[Frequently asked questions]]. &lt;br /&gt;
* [[List of contributors]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak J., Kosec G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	<entry>
		<id>https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2388</id>
		<title>Medusa</title>
		<link rel="alternate" type="text/html" href="https://e6.ijs.si/medusa/wiki/index.php?title=Medusa&amp;diff=2388"/>
				<updated>2019-03-28T12:21:12Z</updated>
		
		<summary type="html">&lt;p&gt;Gkosec: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--__NOTITLE__--&amp;gt;&lt;br /&gt;
In [http://e6.ijs.si/ParallelAndDistributedSystems/ Parallel and Distributed Systems Laboratory] we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project [http://e6.ijs.si/medusa/ '''Medusa: Coordinate Free Meshless Method implementation (MM)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical details about code, examples, and  can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa the code]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]]&lt;br /&gt;
&lt;br /&gt;
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc.&lt;br /&gt;
Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).  &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [https://gitlab.com/e62Lab/medusa Code on Gitlab]&lt;br /&gt;
* [[How to build | Installation and building]]&lt;br /&gt;
* [[Including this library in your project | Including this library in your project]]&lt;br /&gt;
* [[Testing | Running tests]]&lt;br /&gt;
* [http://e6.ijs.si/medusa/docs/ Technical documentation]&lt;br /&gt;
* [[Coding style | Coding style]]&lt;br /&gt;
* [[Wiki editing guide | Wiki editing and backup guide]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [[Philosophy of examples and how to run them]]&lt;br /&gt;
* [[Poisson's equation]]&lt;br /&gt;
* [[Linear elasticity]]&lt;br /&gt;
* [[Wave equation]]&lt;br /&gt;
* [[Complex numbers - Schrödinger equation]]&lt;br /&gt;
* [[Coupled domains - electromagnetic scattering]]&lt;br /&gt;
* [[Adaptivity]]&lt;br /&gt;
&lt;br /&gt;
== Building blocks ==&lt;br /&gt;
* [[Positioning of computational nodes]] &lt;br /&gt;
* [[k-d tree|''k''-d tree]] and other spatial search structures&lt;br /&gt;
* [[Moving Least Squares (MLS)]]&lt;br /&gt;
* [[Meshless Local Strong Form Method (MLSM)]]&lt;br /&gt;
* [[Radial basis function-generated finite differences (RBF-FD)]]&lt;br /&gt;
* [[Computation of shape functions]]&lt;br /&gt;
* [[Integrators for time stepping]]&lt;br /&gt;
&lt;br /&gt;
== Discussions / Applications ==&lt;br /&gt;
* Basic PDE solutions&lt;br /&gt;
** [[Convection Diffusion equation | Convection Diffusion equation]]&lt;br /&gt;
** [[Quantum Mechanics | Schrödinger equation]]&lt;br /&gt;
**[[Wave equation application]] &lt;br /&gt;
* [[Solid Mechanics]]&lt;br /&gt;
** [[Point contact]]&lt;br /&gt;
** [[Hertzian contact]]&lt;br /&gt;
** [[Cantilever beam]]&lt;br /&gt;
** [[FWO case]]&lt;br /&gt;
* [[Fluid Mechanics]]&lt;br /&gt;
** [[Lid driven cavity]]&lt;br /&gt;
** [[de Vahl Davis natural convection test]]&lt;br /&gt;
** [[Natural convection from heated cylinder]]&lt;br /&gt;
** [[Natural convection between concentric cylinders]]&lt;br /&gt;
* Other applications&lt;br /&gt;
** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]]&lt;br /&gt;
** [[Heart rate variability detection]]&lt;br /&gt;
&lt;br /&gt;
== Performance analyses ==&lt;br /&gt;
* [[Execution on Intel® Xeon Phi™ co-processor]]&lt;br /&gt;
* [[1D MLSM and FDM comparison]]&lt;br /&gt;
* [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]]&lt;br /&gt;
* [[Solving sparse systems]]&lt;br /&gt;
* [[Eigen paralelization]]&lt;br /&gt;
&lt;br /&gt;
== Last changes ==&lt;br /&gt;
&amp;lt;news unique=1 limit = 5&amp;gt;&lt;br /&gt;
*{{{timeanddate}}} :: {{{title}}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/news&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MISC ==&lt;br /&gt;
* Also see FAQ  -[[Frequently asked questions]]. &lt;br /&gt;
* [[List of contributors]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* [http://e6.ijs.si/medusa/about#about-contributors See the official website]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Slak, J., Kosec, G. Adaptive radial basis function-generated finite differences method for contact problems. International journal for numerical methods in engineering, ISSN 0029-5981&lt;br /&gt;
* Slak J., Kosec G.; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain. Engineering analysis with boundary elements. 2018;11 ; [http://comms.ijs.si/~gkosec/data/papers/31107623.pdf manuscript]&lt;br /&gt;
* Depolli, M., Kosec, G., Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method. Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692 ;[http://comms.ijs.si/~gkosec/data/papers/29639719.pdf manuscript]&lt;br /&gt;
* Kosec G., A local numerical solution of a fluid-flow problem on an irregular domain. Advances in engineering software. 2016;7 ; [29512743] ; [http://comms.ijs.si/~gkosec/data/papers/29512743.pdf manuscript]&lt;br /&gt;
* Kosec G., Trobec R., Simulation of semiconductor devices with a local numerical approach. Engineering analysis with boundary elements. 2015;69-75; [27912487] ; [http://comms.ijs.si/~gkosec/data/papers/27912487.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method. Engineering analysis with boundary elements. 2014;36-44; [http://comms.ijs.si/~gkosec/data/papers/3218939.pdf manuscript]&lt;br /&gt;
* Kosec G., Depolli M., Rashkovska A., Trobec R., Super linear speedup in a local parallel meshless solution of thermo-fluid problem. Computers &amp;amp; Structures. 2014;133:30-38; [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf manuscript]&lt;br /&gt;
* Kosec G., Zinterhof P., Local strong form meshless method on multiple Graphics Processing Units. Computer modeling in engineering &amp;amp; sciences. 2013;91:377-396; [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf manuscript]&lt;br /&gt;
* Kosec G., Šarler B., H-adaptive local radial basis function collocation meshless method. Computers, materials &amp;amp; continua. 2011;26:227-253; [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerBurgers.pdf manuscript]&lt;br /&gt;
* Trobec R., Kosec G., Šterk M., Šarler B., Comparison of local weak and strong form meshless methods for 2-D diffusion equation. Engineering analysis with boundary elements. 2012;36:310-321; [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf manuscript]&lt;br /&gt;
* Kosec G, Zaloznik M, Sarler B, Combeau H. A Meshless Approach Towards Solution of Macrosegregation Phenomena. CMC: Computers, Materials, &amp;amp; Continua. 2011;580:1-27 [http://comms.ijs.si/~gkosec/data/papers/KosecZaloznikSarlerCombeauSegregation.pdf manuscript]&lt;br /&gt;
* Kosec G, Sarler B. Solution of thermo-fluid problems by collocation with local pressure correction. International Journal of Numerical Methods for Heat &amp;amp; Fluid Flow. 2008;18:868-82 [http://comms.ijs.si/~gkosec/data/papers/KosecSarlerNS2008.pdf manuscript]&lt;br /&gt;
*  Trobec R., Kosec G., Parallel Scientific Computing, ISBN: 978-3-319-17072-5 (Print) 978-3-319-17073-2.&lt;br /&gt;
*  Slak, J., Kosec, G.. Detection of heart rate variability from a wearable differential ECG device., MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938, pp 450-455.&lt;br /&gt;
*  Kolman, M., Kosec, G. Correlation between attenuation of 20 GHz satellite communication link and liquid water content in the atmosphere. MIPRO 2016, 39th International Convention, 2016, Opatija, Croatia, ISSN 1847-3938. pp. 308-313.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NumericalMethods&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!utils&lt;br /&gt;
* http://e6.ijs.si/ParallelAndDistributedSystems/#!NUMA&lt;/div&gt;</summary>
		<author><name>Gkosec</name></author>	</entry>

	</feed>