Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
ax_helm_compr_sx::ax_helm_compr_sx_t Type Referenceabstract

SX matrix-vector product for a Helmholtz problem, reading the geometric factors \( G_{ij} \) from their compressed form in coef_t. More...

Inheritance diagram for ax_helm_compr_sx::ax_helm_compr_sx_t:
Collaboration diagram for ax_helm_compr_sx::ax_helm_compr_sx_t:

Public Member Functions

procedure, pass(this) compute (this, w, u, coef, msh, xh)
 
procedure, pass(this) compute (this, w, u, coef, msh, xh)
 
procedure(ax_compute), deferred, pass compute (this, w, u, coef, msh, xh)
 
procedure, pass(this) compute_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)
 
procedure, pass(this) free (this)
 Release resources held by a matrix-vector product.
 

Detailed Description

Element e reads the copy coefcompression_inds(e) of coefG11_compr etc. Without compressed factors, see coef_t::enable_geo_compression, the product is the one of ax_helm_sx_t.

Definition at line 52 of file ax_helm_compr_sx.f90.

Member Function/Subroutine Documentation

◆ compute() [1/3]

procedure(ax_compute), deferred, pass ax_product::ax_t::compute ( class(ax_t), intent(in)  this,
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 
)
pure virtualinherited

Definition at line 46 of file ax.f90.

◆ compute() [2/3]

procedure, pass(this) ax_helm_compr_sx::ax_helm_compr_sx_t::compute ( class(ax_helm_compr_sx_t), intent(in)  this,
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 
)

Definition at line 54 of file ax_helm_compr_sx.f90.

◆ compute() [3/3]

procedure, pass(this) ax_helm_sx::ax_helm_sx_t::compute ( class(ax_helm_sx_t), intent(in)  this,
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 
)
inherited

Definition at line 45 of file ax_helm_sx.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 47 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.

◆ free()

procedure, pass(this) ax_product::ax_t::free ( class(ax_t), intent(inout)  this)
inherited

This default implementation permits resource-free operators to require no special handling. Descendants with pointer or allocatable components should override it.

Definition at line 48 of file ax.f90.


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