Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Functions/Subroutines
dssum.F90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine setupds (gs_handle, nx, ny, nz, nel, melg, vertex, glo_num)
 setup data structures for direct stiffness operations More...
 
subroutine dssum (u)
 Direct stiffness sum. More...
 
subroutine dsop (u, op)
 generalization of dssum to other reducers. More...
 
subroutine vec_dssum (u, v, w)
 Direct stiffness summation of the face data, for field U. More...
 
subroutine vec_dsop (u, v, w, op)
 Direct stiffness summation of the face data, for field U. Boundary condition data corresponds to component IFIELD of the CBC array. More...
 

Function/Subroutine Documentation

subroutine dsop ( real(dp), dimension(1)  u,
character(3)  op 
)

generalization of dssum to other reducers.

o gs recognized operations: o "+" ==> addition. o "*" ==> multiplication. o "M" ==> maximum. o "m" ==> minimum. o "A" ==> (fabs(x)>fabs(y)) ? (x) : (y), ident=0.0. o "a" ==> (fabs(x)<fabs(y)) ? (x) : (y), ident=MAX_DBL o "e" ==> ((x)==0.0) ? (y) : (x), ident=0.0. o note: a binary function pointer flavor exists.

o gs level: o level=0 ==> pure tree o level>=num_nodes-1 ==> pure pairwise o level = 1,...num_nodes-2 ==> mix tree/pairwise.

Definition at line 134 of file dssum.F90.

References gs_op, and nekgsync().

Referenced by bcdirsc(), bcmask(), and vrdsmsh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine dssum ( real(dp), dimension(*), intent(inout)  u)

Direct stiffness sum.

Definition at line 54 of file dssum.F90.

References ctimer::dnekclock(), gs_op, and nekgsync().

Referenced by ax(), cggo(), ctolspl(), dsavg(), gammam1(), gengeom(), helmholtz::hconj(), hmholtz(), helmholtz::hsolve(), makeq(), plan4(), helmholtz::projh(), setics(), setinvm(), setprec(), setup_topo(), poisson::spectral_solve(), startx1(), swap_lengths(), and vrdsmsh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine setupds ( integer  gs_handle,
integer  nx,
integer  ny,
integer  nz,
integer  nel,
integer  melg,
integer, dimension(1)  vertex,
integer(i8), dimension(1)  glo_num 
)

setup data structures for direct stiffness operations

Definition at line 3 of file dssum.F90.

References ctimer::dnekclock(), gs_setup, np, and set_vert().

Referenced by hsmg_routines::h1mg_setup_dssum(), hsmg_routines::hsmg_setup_dssum(), and setup_topo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine vec_dsop ( real(dp), dimension(1)  u,
real(dp), dimension(1)  v,
real(dp), dimension(1)  w,
character(3)  op 
)

Direct stiffness summation of the face data, for field U. Boundary condition data corresponds to component IFIELD of the CBC array.

Definition at line 228 of file dssum.F90.

References nekgsync().

Referenced by opdsop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine vec_dssum ( real(dp), dimension(1)  u,
real(dp), dimension(1)  v,
real(dp), dimension(1)  w 
)

Direct stiffness summation of the face data, for field U.

Boundary condition data corresponds to component IFIELD of the CBC array.

Definition at line 180 of file dssum.F90.

References ctimer::dnekclock(), and nekgsync().

Referenced by opdssum().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: