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

Type for the Fast Diagonalization connected with the schwarz overlapping solves.

Data Types

type  fdm_t
 
interface  sygv
 

Functions/Subroutines

subroutine fdm_init (this, xh, dof, gs_h)
 
subroutine swap_lengths (this, x, y, z, nelv, gdim)
 
subroutine plane_space (lr, ls, lt, i1, i2, w, x, y, z, nx, nxn, nz0, nzn, nelv, gdim)
 Here, spacing is based on harmonic mean. pff 2/10/07 We no longer base this on the finest grid, but rather the dofmap we are working with, Karp 210112.
 
subroutine fdm_setup_fast (this, ah, bh, nl, n)
 Setup the arrays s, d needed for the fast evaluation of the system.
 
subroutine fdm_setup_fast1d (s, lam, nl, lbc, rbc, ll, lm, lr, ah, bh, n)
 
subroutine generalev (a, b, lam, n, lx)
 Solve the generalized eigenvalue problem /$ A x = lam B x/$ A – symm. B – symm., pos. definite.
 
subroutine sp_sygv (a, b, lam, n, lx, bw, lbw)
 
subroutine dp_sygv (a, b, lam, n, lx, bw, lbw)
 
subroutine qp_sygv (a, b, lam, n, lx, bw, lbw)
 
subroutine fdm_setup_fast1d_a (a, lbc, rbc, ll, lm, lr, ah, n)
 
subroutine fdm_setup_fast1d_b (b, lbc, rbc, ll, lm, lr, bh, n)
 
subroutine fdm_free (this)
 
subroutine fdm_compute (this, e, r, stream)
 

Function/Subroutine Documentation

◆ dp_sygv()

subroutine fdm::dp_sygv ( real(kind=dp), dimension(n,n), intent(inout a,
real(kind=dp), dimension(n,n), intent(inout b,
real(kind=dp), dimension(n), intent(inout lam,
integer, intent(in n,
integer, intent(in lx,
real(kind=dp), dimension(4*(lx+2)**3)  bw,
integer, intent(in lbw 
)
private

Definition at line 451 of file fdm.f90.

◆ fdm_compute()

subroutine fdm::fdm_compute ( class(fdm_t), intent(inout this,
real(kind=rp), dimension((this%xh%lx+2)**3, this%msh%nelv), intent(inout e,
real(kind=rp), dimension((this%xh%lx+2)**3, this%msh%nelv), intent(inout r,
type(c_ptr), optional  stream 
)
private

Definition at line 624 of file fdm.f90.

◆ fdm_free()

subroutine fdm::fdm_free ( class(fdm_t), intent(inout this)
private

Definition at line 566 of file fdm.f90.

Here is the caller graph for this function:

◆ fdm_init()

subroutine fdm::fdm_init ( class(fdm_t), intent(inout this,
type(space_t), intent(inout), target  xh,
type(dofmap_t), intent(in), target  dof,
type(gs_t), intent(inout), target  gs_h 
)
private

Definition at line 109 of file fdm.f90.

Here is the call graph for this function:

◆ fdm_setup_fast()

subroutine fdm::fdm_setup_fast ( type(fdm_t), intent(inout this,
real(kind=rp), dimension(n+1,n+1), intent(inout ah,
real(kind=rp), dimension(n+1), intent(inout bh,
integer, intent(in nl,
integer, intent(in n 
)
private

Definition at line 336 of file fdm.f90.

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

◆ fdm_setup_fast1d()

subroutine fdm::fdm_setup_fast1d ( real(kind=rp), dimension(nl, nl, 2), intent(inout s,
real(kind=rp), dimension(nl), intent(inout lam,
integer, intent(in nl,
integer, intent(in lbc,
integer, intent(in rbc,
real(kind=rp), intent(inout ll,
real(kind=rp), intent(inout lm,
real(kind=rp), intent(inout lr,
real(kind=rp), dimension(0:n, 0:n), intent(inout ah,
real(kind=rp), dimension(0:n), intent(inout bh,
integer, intent(in n 
)
private

Definition at line 406 of file fdm.f90.

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

◆ fdm_setup_fast1d_a()

subroutine fdm::fdm_setup_fast1d_a ( real(kind=rp), dimension(0:n+2,0:n+2), intent(inout a,
integer, intent(in lbc,
integer, intent(in rbc,
real(kind=rp), intent(inout ll,
real(kind=rp), intent(inout lm,
real(kind=rp), intent(inout lr,
real(kind=rp), dimension(0:n,0:n), intent(inout ah,
integer, intent(in n 
)
private

Definition at line 480 of file fdm.f90.

Here is the caller graph for this function:

◆ fdm_setup_fast1d_b()

subroutine fdm::fdm_setup_fast1d_b ( real(kind=rp), dimension(0:n+2, 0:n+2), intent(inout b,
integer, intent(in lbc,
integer, intent(in rbc,
real(kind=rp), intent(inout ll,
real(kind=rp), intent(inout lm,
real(kind=rp), intent(inout lr,
real(kind=rp), dimension(0:n), intent(inout bh,
integer, intent(in n 
)
private

Definition at line 526 of file fdm.f90.

Here is the caller graph for this function:

◆ generalev()

subroutine fdm::generalev ( real(kind=rp), dimension(n,n), intent(inout a,
real(kind=rp), dimension(n,n), intent(inout b,
real(kind=rp), dimension(n), intent(inout lam,
integer, intent(in n,
integer, intent(in lx 
)
private

Definition at line 431 of file fdm.f90.

Here is the caller graph for this function:

◆ plane_space()

subroutine fdm::plane_space ( real(kind=rp), dimension(nelv), intent(inout lr,
real(kind=rp), dimension(nelv), intent(inout ls,
real(kind=rp), dimension(nelv), intent(inout lt,
integer, intent(in i1,
integer, intent(in i2,
real(kind=rp), dimension(nx), intent(inout w,
real(kind=rp), dimension(0:nxn,0:nxn,nz0:nzn,nelv), intent(in x,
real(kind=rp), dimension(0:nxn,0:nxn,nz0:nzn,nelv), intent(in y,
real(kind=rp), dimension(0:nxn,0:nxn,nz0:nzn,nelv), intent(in z,
integer, intent(in nx,
integer, intent(in nxn,
integer, intent(in nz0,
integer, intent(in nzn,
integer, intent(in nelv,
integer, intent(in gdim 
)
private

Definition at line 246 of file fdm.f90.

Here is the caller graph for this function:

◆ qp_sygv()

subroutine fdm::qp_sygv ( real(kind=qp), dimension(n,n), intent(inout a,
real(kind=qp), dimension(n,n), intent(inout b,
real(kind=qp), dimension(n), intent(inout lam,
integer, intent(in n,
integer, intent(in lx,
real(kind=qp), dimension(4*(lx+2)**3)  bw,
integer, intent(in lbw 
)
private

Definition at line 459 of file fdm.f90.

◆ sp_sygv()

subroutine fdm::sp_sygv ( real(kind=sp), dimension(n,n), intent(inout a,
real(kind=sp), dimension(n,n), intent(inout b,
real(kind=sp), dimension(n), intent(inout lam,
integer, intent(in n,
integer, intent(in lx,
real(kind=sp), dimension(4*(lx+2)**3)  bw,
integer, intent(in lbw 
)
private

Definition at line 443 of file fdm.f90.

◆ swap_lengths()

subroutine fdm::swap_lengths ( type(fdm_t), intent(inout this,
real(kind=rp), dimension(this%xh%lxyz,nelv), intent(in x,
real(kind=rp), dimension(this%xh%lxyz,nelv), intent(in y,
real(kind=rp), dimension(this%xh%lxyz,nelv), intent(in z,
integer, intent(in nelv,
integer, intent(in gdim 
)
private

Definition at line 160 of file fdm.f90.

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