Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
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(inout u,
type(coef_t), intent(inout coef,
type(mesh_t), intent(inout msh,
type(space_t), intent(inout 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(inout u,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout v,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout w,
type(coef_t), intent(inout coef,
type(mesh_t), intent(inout msh,
type(space_t), intent(inout 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(inout u,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout v,
real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, msh%nelv), intent(inout w,
type(coef_t), intent(inout coef,
type(mesh_t), intent(inout msh,
type(space_t), intent(inout xh 
)
inherited

Definition at line 47 of file ax_helm.f90.


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