Vectorized computation of basis functions gradientsΒΆ

By construction, the gradients of basis functions are constants on each element T_k. So, we denote, \forall \il\in\ENS{1}{4}, by \vecb{G}^\il the 3 \times \nme array defined, \forall k\in\ENS{1}{\nme}, by

\vecb{G}^\il(:,k)= \GRAD\BasisFunc_{\me(\il,k)}(\q),\ \forall \q\in T_k.

On T_k tetrahedra we set

\begin{array}{lcllcl}
\vecb{D}^{12}&=&\q^{\me(1,k)}-\q^{\me(2,k)},\ & \vecb{D}^{23}&=&\q^{\me(2,k)}-\q^{\me(3,k)}\\
\vecb{D}^{13}&=&\q^{\me(1,k)}-\q^{\me(3,k)},\ & \vecb{D}^{24}&=&\q^{\me(2,k)}-\q^{\me(4,k)}\\
\vecb{D}^{14}&=&\q^{\me(1,k)}-\q^{\me(4,k)},\ & \vecb{D}^{34}&=&\q^{\me(3,k)}-\q^{\me(4,k)}
\end{array}

Then, we have

\begin{array}{ll}
  \GRAD\BasisFunc_{1}^k(\q)=\frac{1}{6|T_k|}
  \begin{pmatrix}
  -\vecb{D}^{23}_y \vecb{D}^{24}_z + \vecb{D}^{23}_z \vecb{D}^{24}_y\\
        \vecb{D}^{23}_x \vecb{D}^{24}_z - \vecb{D}^{23}_z \vecb{D}^{24}_x\\
        -\vecb{D}^{23}_x \vecb{D}^{24}_y + \vecb{D}^{23}_y \vecb{D}^{24}_x
  \end{pmatrix},&\GRAD\BasisFunc_{2}^k(\q)=\frac{1}{6|T_k|}
  \begin{pmatrix} \vecb{D}^{13}_y \vecb{D}^{14}_z - \vecb{D}^{13}_z \vecb{D}^{14}_y\\
        -\vecb{D}^{13}_x \vecb{D}^{14}_z + \vecb{D}^{13}_z \vecb{D}^{14}_x\\
        \vecb{D}^{13}_x \vecb{D}^{14}_y - \vecb{D}^{13}_y \vecb{D}^{14}_x
  \end{pmatrix}\\
  \GRAD\BasisFunc_{3}^k(\q)=\frac{1}{6|T_k|}
  \begin{pmatrix} -\vecb{D}^{12}_y \vecb{D}^{14}_z + \vecb{D}^{12}_z \vecb{D}^{14}_y\\
        \vecb{D}^{12}_x \vecb{D}^{14}_z - \vecb{D}^{12}_z \vecb{D}^{14}_x\\
        -\vecb{D}^{12}_x \vecb{D}^{14}_y + \vecb{D}^{12}_y \vecb{D}^{14}_x
  \end{pmatrix},&
  \GRAD\BasisFunc_{4}^k(\q)=\frac{1}{6|T_k|}
  \begin{pmatrix}
  \vecb{D}^{12}_y \vecb{D}^{13}_z - \vecb{D}^{12}_z \vecb{D}^{13}_y\\
        -\vecb{D}^{12}_x \vecb{D}^{13}_z + \vecb{D}^{12}_z \vecb{D}^{13}_x\\
        \vecb{D}^{12}_x \vecb{D}^{13}_y - \vecb{D}^{12}_y \vecb{D}^{13}_x
  \end{pmatrix}
  \end{array}

With these formulas, we obtain the vectorized algorithm given in Algorithm 26.

Algorithm 26

_images/GradientVec3D_algo.png

Figure 26: Vectorized algorithm for computation of basis functions gradients in 3d

This Page