Processing math: 100%
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
ax_helm_cpu::ax_helm_cpu_t Type Referenceabstract

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

Inheritance diagram for ax_helm_cpu::ax_helm_cpu_t:
Collaboration diagram for ax_helm_cpu::ax_helm_cpu_t:

Public Member Functions

procedure, pass(thiscompute_vector (this, au, av, aw, u, v, w, coef, msh, xh)
 
procedure(ax_compute_vector), deferred, pass compute_vector (this, au, av, aw, u, v, w, coef, msh, xh)
 

Static Public Member Functions

procedure, nopass compute (w, u, coef, msh, xh)
 Compute the product.
 

Detailed Description

Definition at line 44 of file ax_helm_cpu.f90.

Member Function/Subroutine Documentation

◆ compute()

procedure, nopass ax_helm_cpu::ax_helm_cpu_t::compute ( real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout w,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(in u,
type(coef_t), intent(in coef,
type(mesh_t), intent(in msh,
type(space_t), intent(in xh 
)
staticvirtual
Parameters
wVector of size (lx,ly,lz,nelv).
uVector of size (lx,ly,lz,nelv).
coefCoefficients.
mshMesh.
XhFunction space X_h .
Note
Since this is a performance-crtical routine, it is implemented in several kernels corresponding to different polynmial orders.

Implements ax_product::ax_t.

Definition at line 47 of file ax_helm_cpu.f90.

◆ compute_vector() [1/2]

procedure(ax_compute_vector), deferred, pass ax_product::ax_t::compute_vector ( class(ax_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 
)
pure virtualinherited

Definition at line 46 of file ax.f90.

◆ compute_vector() [2/2]

procedure, pass(this) ax_helm::ax_helm_t::compute_vector ( class(ax_helm_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 
)
inherited

Definition at line 47 of file ax_helm.f90.


The documentation for this type was generated from the following file: