public recursive subroutine deriveWSS3D(fun, varSys, elempos, time, tree, nElems, nDofs, res)

Calculate the wall shear stress (WSS) of a given element with the given
input

The wall shear stress is shear stress exerted on the wall. Since it is well
known that shear stress gets its maximum value on the wall, here we can
directly calculate the principle stress of the stress tensor instead of
multiplying the stress tensor by normal vector of the plane.
The principle stresses are just the eigenvalues of the stress tensor. To
get those eigenvalues, we need solve the characteristic equation:\n
where
. Here Einstein notation is used.

Description of the method to obtain the variables, here some preset
values might be stored, like the space time function to use or the
required variables.

Number of values to obtain for this variable (vectorized access).

integer,

intent(in)

::

nDofs

Number of degrees of freedom within an element.

real(kind=rk),

intent(out)

::

res(:)

Resulting values for the requested variable.

Linearized array dimension:
(n requested entries) x (nComponents of this variable)
x (nDegrees of freedom)
Access: (iElem-1)fun%nComponentsnDofs +
(iDof-1)*fun%nComponents + iComp

Nodes of different colours represent the following:

Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.