Neko  0.8.1
A portable framework for high-order spectral element flow simulations
schwarz Module Reference

Overlapping schwarz solves. More...

Data Types

type  schwarz_t
 

Functions/Subroutines

subroutine schwarz_init (this, Xh, dm, gs_h, bclst, msh)
 
subroutine schwarz_free (this)
 
subroutine schwarz_setup_wt (this)
 setup weights More...
 
subroutine schwarz_setup_schwarz_wt2d_2 (wt, ie, n, work, nelv)
 Setup schwarz weights, 2d, second step. More...
 
subroutine schwarz_setup_schwarz_wt3d_2 (wt, ie, n, work, nelv)
 Setup schwarz weights, 3d, second step. More...
 
subroutine schwarz_toreg3d (b, a, n, nelv)
 convert array a from extended size to regular More...
 
subroutine schwarz_toext3d (a, b, n, nelv)
 convert array a from original size to size extended array with border More...
 
subroutine schwarz_extrude (arr1, l1, f1, arr2, l2, f2, nx, ny, nz, nelv)
 Sum values along rows l1, l2 with weights f1, f2 and store along row l1. Helps us avoid complicated communcation to get neighbor values. Simply copy interesting values to the boundary and then do gs_op on extended array. More...
 
subroutine schwarz_compute (this, e, r)
 
subroutine schwarz_wt3d (e, wt, n, nelv)
 

Detailed Description

Overlapping schwarz solves.

Function/Subroutine Documentation

◆ schwarz_compute()

subroutine schwarz::schwarz_compute ( class(schwarz_t), intent(inout)  this,
real(kind=rp), dimension(this%dm%size()), intent(inout)  e,
real(kind=rp), dimension(this%dm%size()), intent(inout)  r 
)
private

Definition at line 378 of file schwarz.f90.

Here is the call graph for this function:

◆ schwarz_extrude()

subroutine schwarz::schwarz_extrude ( real(kind=rp), dimension(nx,ny,nz,nelv), intent(inout)  arr1,
integer, intent(in)  l1,
real(kind=rp), intent(in)  f1,
real(kind=rp), dimension(nx,ny,nz,nelv), intent(inout)  arr2,
integer, intent(in)  l2,
real(kind=rp), intent(in)  f2,
integer, intent(in)  nx,
integer, intent(in)  ny,
integer, intent(in)  nz,
integer, intent(in)  nelv 
)
private

Sum values along rows l1, l2 with weights f1, f2 and store along row l1. Helps us avoid complicated communcation to get neighbor values. Simply copy interesting values to the boundary and then do gs_op on extended array.

Definition at line 325 of file schwarz.f90.

Here is the caller graph for this function:

◆ schwarz_free()

subroutine schwarz::schwarz_free ( class(schwarz_t), intent(inout)  this)
private

Definition at line 146 of file schwarz.f90.

◆ schwarz_init()

subroutine schwarz::schwarz_init ( class(schwarz_t), intent(inout), target  this,
type(space_t), intent(inout), target  Xh,
type(dofmap_t), intent(inout), target  dm,
type(gs_t), intent(inout), target  gs_h,
type(bc_list_t), intent(inout), target  bclst,
type(mesh_t), intent(inout), target  msh 
)

Definition at line 103 of file schwarz.f90.

Here is the call graph for this function:

◆ schwarz_setup_schwarz_wt2d_2()

subroutine schwarz::schwarz_setup_schwarz_wt2d_2 ( real(kind=rp), dimension(n,4,2,nelv), intent(inout)  wt,
integer  ie,
integer, intent(in)  n,
real(kind=rp), dimension(n,n), intent(inout)  work,
integer, intent(in)  nelv 
)
private

Setup schwarz weights, 2d, second step.

Definition at line 230 of file schwarz.f90.

Here is the caller graph for this function:

◆ schwarz_setup_schwarz_wt3d_2()

subroutine schwarz::schwarz_setup_schwarz_wt3d_2 ( real(kind=rp), dimension(n,n,4,3,nelv), intent(inout)  wt,
integer, intent(in)  ie,
integer, intent(in)  n,
real(kind=rp), dimension(n,n,n), intent(inout)  work,
integer, intent(in)  nelv 
)
private

Setup schwarz weights, 3d, second step.

Definition at line 252 of file schwarz.f90.

Here is the caller graph for this function:

◆ schwarz_setup_wt()

subroutine schwarz::schwarz_setup_wt ( class(schwarz_t), intent(inout)  this)
private

setup weights

Definition at line 166 of file schwarz.f90.

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

◆ schwarz_toext3d()

subroutine schwarz::schwarz_toext3d ( real (kind=rp), dimension(0:n+1,0:n+1,0:n+1,nelv), intent(inout)  a,
real (kind=rp), dimension(n,n,n,nelv), intent(inout)  b,
integer, intent(in)  n,
integer, intent(in)  nelv 
)
private

convert array a from original size to size extended array with border

Definition at line 305 of file schwarz.f90.

Here is the caller graph for this function:

◆ schwarz_toreg3d()

subroutine schwarz::schwarz_toreg3d ( real(kind=rp), dimension(n,n,n,nelv), intent(inout)  b,
real(kind=rp), dimension(0:n+1, 0:n+1, 0:n+1, nelv), intent(inout)  a,
integer, intent(in)  n,
integer, intent(in)  nelv 
)
private

convert array a from extended size to regular

Definition at line 288 of file schwarz.f90.

Here is the caller graph for this function:

◆ schwarz_wt3d()

subroutine schwarz::schwarz_wt3d ( real(kind=rp), dimension(n,n,n,nelv), intent(inout)  e,
real(kind=rp), dimension(n,n,4,3,nelv), intent(inout)  wt,
integer, intent(in)  n,
integer, intent(in)  nelv 
)
private

Definition at line 465 of file schwarz.f90.

Here is the caller graph for this function: