Loading [MathJax]/extensions/tex2jax.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
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: