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

Chebyshev preconditioner.

Data Types

type  cheby_device_t
 Defines a Chebyshev preconditioner. More...
 
interface  hip_cheby_device_part1
 
interface  hip_cheby_device_part2
 

Functions/Subroutines

subroutine cheby_device_part1 (d_d, x_d, inv_tha, n)
 
subroutine cheby_device_part2 (d_d, w_d, x_d, tmp1, tmp2, n)
 
subroutine cheby_device_init (this, n, max_iter, m, rel_tol, abs_tol, monitor)
 Initialise a standard solver.
 
subroutine cheby_device_free (this)
 
subroutine cheby_device_power (this, ax, x, n, coef, blst, gs_h)
 
type(ksp_monitor_t) function cheby_device_solve (this, ax, x, f, n, coef, blst, gs_h, niter)
 A chebyshev preconditioner.
 
type(ksp_monitor_t) function cheby_device_impl (this, ax, x, f, n, coef, blst, gs_h, niter)
 A chebyshev preconditioner.
 
type(ksp_monitor_t) function, dimension(3) cheby_device_solve_coupled (this, ax, x, y, z, fx, fy, fz, n, coef, blstx, blsty, blstz, gs_h, niter)
 Standard Cheby_Deviceshev coupled solve.
 

Function/Subroutine Documentation

◆ cheby_device_free()

subroutine cheby_device::cheby_device_free ( class(cheby_device_t), intent(inout this)
private

Definition at line 203 of file cheby_device.F90.

Here is the call graph for this function:

◆ cheby_device_impl()

type(ksp_monitor_t) function cheby_device::cheby_device_impl ( class(cheby_device_t), intent(inout this,
class(ax_t), intent(in ax,
type(field_t), intent(inout x,
real(kind=rp), dimension(n), intent(in f,
integer, intent(in n,
type(coef_t), intent(inout coef,
type(bc_list_t), intent(inout blst,
type(gs_t), intent(inout gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 397 of file cheby_device.F90.

Here is the call graph for this function:

◆ cheby_device_init()

subroutine cheby_device::cheby_device_init ( class(cheby_device_t), intent(inout), target  this,
integer, intent(in n,
integer, intent(in max_iter,
class(pc_t), intent(in), optional, target  m,
real(kind=rp), intent(in), optional  rel_tol,
real(kind=rp), intent(in), optional  abs_tol,
logical, intent(in), optional  monitor 
)
private

Definition at line 159 of file cheby_device.F90.

Here is the call graph for this function:

◆ cheby_device_part1()

subroutine cheby_device::cheby_device_part1 ( type(c_ptr)  d_d,
type(c_ptr)  x_d,
real(c_rp)  inv_tha,
integer(c_int)  n 
)
private

Definition at line 127 of file cheby_device.F90.

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

◆ cheby_device_part2()

subroutine cheby_device::cheby_device_part2 ( type(c_ptr)  d_d,
type(c_ptr)  w_d,
type(c_ptr)  x_d,
real(c_rp)  tmp1,
real(c_rp)  tmp2,
integer(c_int)  n 
)
private

Definition at line 143 of file cheby_device.F90.

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

◆ cheby_device_power()

subroutine cheby_device::cheby_device_power ( class(cheby_device_t), intent(inout this,
class(ax_t), intent(in ax,
type(field_t), intent(inout x,
integer, intent(in n,
type(coef_t), intent(inout coef,
type(bc_list_t), intent(inout blst,
type(gs_t), intent(inout gs_h 
)
private

Definition at line 240 of file cheby_device.F90.

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

◆ cheby_device_solve()

type(ksp_monitor_t) function cheby_device::cheby_device_solve ( class(cheby_device_t), intent(inout this,
class(ax_t), intent(in ax,
type(field_t), intent(inout x,
real(kind=rp), dimension(n), intent(in f,
integer, intent(in n,
type(coef_t), intent(inout coef,
type(bc_list_t), intent(inout blst,
type(gs_t), intent(inout gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 308 of file cheby_device.F90.

Here is the call graph for this function:

◆ cheby_device_solve_coupled()

type(ksp_monitor_t) function, dimension(3) cheby_device::cheby_device_solve_coupled ( class(cheby_device_t), intent(inout this,
class(ax_t), intent(in ax,
type(field_t), intent(inout x,
type(field_t), intent(inout y,
type(field_t), intent(inout z,
real(kind=rp), dimension(n), intent(in fx,
real(kind=rp), dimension(n), intent(in fy,
real(kind=rp), dimension(n), intent(in fz,
integer, intent(in n,
type(coef_t), intent(inout coef,
type(bc_list_t), intent(inout blstx,
type(bc_list_t), intent(inout blsty,
type(bc_list_t), intent(inout blstz,
type(gs_t), intent(inout gs_h,
integer, intent(in), optional  niter 
)
private

Definition at line 479 of file cheby_device.F90.