Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
ax_helm_svv_one_sided_full_cpu Module Reference

CPU implementation of the full-stress one-sided SVV Helmholtz operator.

Data Types

type  ax_helm_svv_one_sided_full_cpu_t
 CPU matrix-vector product for a Helmholtz problem. More...
 

Functions/Subroutines

subroutine ax_helm_svv_one_sided_full_compute_vector (this, au, av, aw, u, v, w, coef, msh, xh)
 Compute \( Ax \) inside a Krylov method, taking 3 components of a vector field in a coupled manner.
 
subroutine ax_helm_svv_one_sided_full_lx (au, av, aw, u, v, w, dx, dy, dz, dxt, dyt, dzt, h1, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, svv_h1, svv_q, svv_qt, svv_direction, ident, n, lx)
 Generic CPU kernel for the full-stress one-sided SVV product.
 

Function/Subroutine Documentation

◆ ax_helm_svv_one_sided_full_compute_vector()

subroutine ax_helm_svv_one_sided_full_cpu::ax_helm_svv_one_sided_full_compute_vector ( class(ax_helm_svv_one_sided_full_cpu_t), intent(in this,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout au,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout av,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout aw,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(in u,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(in v,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(in w,
type(coef_t), intent(in coef,
type(mesh_t), intent(in msh,
type(space_t), intent(in xh 
)
Parameters
auResult for the first component of the vector.
avResult for the second component of the vector.
awResult for the third component of the vector.
uThe first component of the vector.
vThe second component of the vector.
wThe third component of the vector.
coefCoefficients.
mshMesh.
XhFunction space \( X_h \).

Definition at line 67 of file ax_helm_svv_one_sided_full_cpu.f90.

Here is the call graph for this function:

◆ ax_helm_svv_one_sided_full_lx()

subroutine ax_helm_svv_one_sided_full_cpu::ax_helm_svv_one_sided_full_lx ( real(kind=rp), dimension(lx, lx, lx, n), intent(inout au,
real(kind=rp), dimension(lx, lx, lx, n), intent(inout av,
real(kind=rp), dimension(lx, lx, lx, n), intent(inout aw,
real(kind=rp), dimension(lx, lx, lx, n), intent(in u,
real(kind=rp), dimension(lx, lx, lx, n), intent(in v,
real(kind=rp), dimension(lx, lx, lx, n), intent(in w,
real(kind=rp), dimension(lx,lx), intent(in dx,
real(kind=rp), dimension(lx,lx), intent(in dy,
real(kind=rp), dimension(lx,lx), intent(in dz,
real(kind=rp), dimension(lx,lx), intent(in dxt,
real(kind=rp), dimension(lx,lx), intent(in dyt,
real(kind=rp), dimension(lx,lx), intent(in dzt,
real(kind=rp), dimension(lx, lx, lx, n), intent(in h1,
real(kind=rp), dimension(lx, lx, lx, n), intent(in drdx,
real(kind=rp), dimension(lx, lx, lx, n), intent(in drdy,
real(kind=rp), dimension(lx, lx, lx, n), intent(in drdz,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dsdx,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dsdy,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dsdz,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dtdx,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dtdy,
real(kind=rp), dimension(lx, lx, lx, n), intent(in dtdz,
real(kind=rp), dimension(lx, lx, lx, n), intent(in jacinv,
real(kind=rp), dimension(lx, lx, lx), intent(in weights3,
real(kind=rp), dimension(lx, lx, lx, n), intent(in svv_h1,
real(kind=rp), dimension(lx, lx), intent(in svv_q,
real(kind=rp), dimension(lx, lx), intent(in svv_qt,
character(len=*), intent(in svv_direction,
real(kind=rp), dimension(lx, lx), intent(in ident,
integer, intent(in n,
integer, intent(in lx 
)
private
Parameters
auResult for the first vector component.
avResult for the second vector component.
awResult for the third vector component.
uFirst input vector component.
vSecond input vector component.
wThird input vector component.
DxDerivative in the first reference direction.
DyDerivative in the second reference direction.
DzDerivative in the third reference direction.
DxtTranspose derivative in the first reference direction.
DytTranspose derivative in the second reference direction.
DztTranspose derivative in the third reference direction.
h1Ordinary diffusion coefficient.
drdxGeometric derivative factor.
drdyGeometric derivative factor.
drdzGeometric derivative factor.
dsdxGeometric derivative factor.
dsdyGeometric derivative factor.
dsdzGeometric derivative factor.
dtdxGeometric derivative factor.
dtdyGeometric derivative factor.
dtdzGeometric derivative factor.
jacinvInverse Jacobian determinant.
weights3Tensor-product quadrature weights.
svv_h1Density-weighted SVV viscosity.
svv_QOne-dimensional modal filter.
svv_QtTranspose one-dimensional modal filter.
svv_directionFiltered reference directions.
identIdentity matrix.
nNumber of elements.
lxNumber of points in one element direction.

Definition at line 129 of file ax_helm_svv_one_sided_full_cpu.f90.

Here is the call graph for this function:
Here is the caller graph for this function: