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

Go to the source code of this file.

Functions/Subroutines

subroutine genwz
 Generate derivative and interpolation operators. GENERATE. More...
 
subroutine geom1 ()
 Routine to generate all elemental geometric data for mesh 1. Velocity formulation : global-to-local mapping based on mesh 3 Stress formulation : global-to-local mapping based on mesh 1. More...
 
subroutine glmapm1 (XRM1, yrm1, zrm1, xsm1, ysm1, zsm1, xtm1, ytm1, ztm1)
 Routine to generate mapping data based on mesh 1 (Gauss-Legendre Lobatto meshes). More...
 
subroutine geodat1 (XRM1, yrm1, zrm1, xsm1, ysm1, zsm1, xtm1, ytm1, ztm1)
 Routine to generate elemental geometric matrices on mesh 1 (Gauss-Legendre Lobatto mesh). More...
 
subroutine geom2
 Routine to generate all elemental geometric data for mesh 2 (Gauss-Legendre mesh). RXM2, RYM2, RZM2 - dr/dx, dr/dy, dr/dz SXM2, SYM2, SZM2 - ds/dx, ds/dy, ds/dz TXM2, TYM2, TZM2 - dt/dx, dt/dy, dt/dz JACM2 - Jacobian BM2 - Mass matrix. More...
 
subroutine xyzrst (xrm1, yrm1, zrm1, xsm1, ysm1, zsm1, XTM1, YTM1, ZTM1, IFAXIS)
 Compute global-to-local derivatives on mesh 1. More...
 
subroutine chkjac (jac, n, iel, X, Y, Z, IERR)
 Check the array JAC for a change in sign. More...
 
subroutine volume
 Compute the volume based on mesh M1 and mesh M2. More...
 
subroutine setarea (xrm1, yrm1, zrm1, xsm1, ysm1, zsm1, xtm1, ytm1, ztm1)
 Compute surface data: areas, normals and tangents. More...
 
subroutine area3 (xrm1, yrm1, zrm1, xsm1, ysm1, zsm1, xtm1, ytm1, ztm1)
 Compute areas, normals and tangents (3D geom.) More...
 
subroutine lagmass ()
 Lag the mass matrix (matrices) More...
 
subroutine setinvm ()
 Invert the mass matrix. 1) Copy BM1 to BINVM1 2) Perform direct stiffness summation on BINVM1 3) Compute BINVM1 = 1/BINVM1 4) Two inverse mass matrices required because of difference in DSSUM routine for IMESH=1 and IMESH=2. More...
 

Function/Subroutine Documentation

subroutine area3 ( real(dp), dimension(lx1,ly1,lz1,*)  xrm1,
real(dp), dimension(lx1,ly1,lz1,*)  yrm1,
real(dp), dimension(lx1,ly1,lz1,*)  zrm1,
real(dp), dimension(lx1,ly1,lz1,*)  xsm1,
real(dp), dimension(lx1,ly1,lz1,*)  ysm1,
real(dp), dimension(lx1,ly1,lz1,*)  zsm1,
real(dp), dimension(lx1,ly1,lz1,*)  xtm1,
real(dp), dimension(lx1,ly1,lz1,*)  ytm1,
real(dp), dimension(lx1,ly1,lz1,*)  ztm1 
)

Compute areas, normals and tangents (3D geom.)

Definition at line 994 of file coef.F90.

References facexv(), unitvec(), and vcross().

Referenced by setarea().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine chkjac ( real(dp), dimension(n jac,
integer  n,
integer  iel,
real(dp), dimension(1)  X,
real(dp), dimension(1)  Y,
real(dp), dimension(1)  Z,
integer  IERR 
)

Check the array JAC for a change in sign.

Definition at line 872 of file coef.F90.

References parallel::lglel().

Referenced by glmapm1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine genwz ( )

Generate derivative and interpolation operators. GENERATE.

  • DERIVATIVE OPERATORS
  • INTERPOLATION OPERATORS
  • WEIGHTS
  • COLLOCATION POINTS ASSOCIATED WITH THE
  • GAUSS-LOBATTO LEGENDRE MESH (SUFFIX M1/M2/M3)
  • GAUSS LEGENDRE MESH (SUFFIX M2)
  • GAUSS-LOBATTO JACOBI MESH (SUFFIX M1/M2/M3)

Definition at line 13 of file coef.F90.

References copy(), speclib::dglj(), speclib::dgljgj(), speclib::dgll(), speclib::dgllgl(), speclib::igjm(), speclib::igljm(), speclib::igllm(), speclib::iglm(), mxm(), speclib::zwgj(), speclib::zwgl(), speclib::zwglj(), and speclib::zwgll().

Referenced by nek_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine geodat1 ( real(dp), dimension(lx1,ly1,lz1,lelt)  XRM1,
real(dp), dimension(lx1,ly1,lz1,lelt)  yrm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  zrm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  xsm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ysm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  zsm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  xtm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ytm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ztm1 
)

Routine to generate elemental geometric matrices on mesh 1 (Gauss-Legendre Lobatto mesh).

Definition at line 547 of file coef.F90.

References setarea().

Referenced by geom1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine geom1 ( )

Routine to generate all elemental geometric data for mesh 1. Velocity formulation : global-to-local mapping based on mesh 3 Stress formulation : global-to-local mapping based on mesh 1.

Definition at line 383 of file coef.F90.

References geodat1(), and glmapm1().

Referenced by gengeom(), and geom_reset().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine geom2 ( )

Routine to generate all elemental geometric data for mesh 2 (Gauss-Legendre mesh). RXM2, RYM2, RZM2 - dr/dx, dr/dy, dr/dz SXM2, SYM2, SZM2 - ds/dx, ds/dy, ds/dz TXM2, TYM2, TZM2 - dt/dx, dt/dy, dt/dz JACM2 - Jacobian BM2 - Mass matrix.

Definition at line 725 of file coef.F90.

References i.

Referenced by gengeom(), and geom_reset().

+ Here is the caller graph for this function:

subroutine glmapm1 ( real(dp), dimension(lx1,ly1,lz1,lelt)  XRM1,
real(dp), dimension(lx1,ly1,lz1,lelt)  yrm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  zrm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  xsm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ysm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  zsm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  xtm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ytm1,
real(dp), dimension(lx1,ly1,lz1,lelt)  ztm1 
)

Routine to generate mapping data based on mesh 1 (Gauss-Legendre Lobatto meshes).

XRM1, YRM1, ZRM1 - dx/dr, dy/dr, dz/dr XSM1, YSM1, ZSM1 - dx/ds, dy/ds, dz/ds XTM1, YTM1, ZTM1 - dx/dt, dy/dt, dz/dt RXM1, RYM1, RZM1 - dr/dx, dr/dy, dr/dz SXM1, SYM1, SZM1 - ds/dx, ds/dy, ds/dz TXM1, TYM1, TZM1 - dt/dx, dt/dy, dt/dz JACM1 - Jacobian

Definition at line 440 of file coef.F90.

References chkjac(), copy(), exitt(), outpost(), and xyzrst().

Referenced by geom1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine lagmass ( )

Lag the mass matrix (matrices)

Definition at line 1144 of file coef.F90.

References copy().

Referenced by gengeom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine setarea ( real(dp), dimension(lx1,ly1,lz1,*)  xrm1,
real(dp), dimension(lx1,ly1,lz1,*)  yrm1,
real(dp), dimension(lx1,ly1,lz1,*)  zrm1,
real(dp), dimension(lx1,ly1,lz1,*)  xsm1,
real(dp), dimension(lx1,ly1,lz1,*)  ysm1,
real(dp), dimension(lx1,ly1,lz1,*)  zsm1,
real(dp), dimension(lx1,ly1,lz1,*)  xtm1,
real(dp), dimension(lx1,ly1,lz1,*)  ytm1,
real(dp), dimension(lx1,ly1,lz1,*)  ztm1 
)

Compute surface data: areas, normals and tangents.

Definition at line 956 of file coef.F90.

References area3().

Referenced by geodat1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine setinvm ( )

Invert the mass matrix. 1) Copy BM1 to BINVM1 2) Perform direct stiffness summation on BINVM1 3) Compute BINVM1 = 1/BINVM1 4) Two inverse mass matrices required because of difference in DSSUM routine for IMESH=1 and IMESH=2.

Definition at line 1168 of file coef.F90.

References copy(), and dssum().

Referenced by gengeom(), and geom_reset().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine volume ( )

Compute the volume based on mesh M1 and mesh M2.

Definition at line 914 of file coef.F90.

References sum().

Referenced by gengeom(), and geom_reset().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine xyzrst ( real(dp), dimension(lx1,ly1,lz1,*)  xrm1,
real(dp), dimension(lx1,ly1,lz1,*)  yrm1,
real(dp), dimension(lx1,ly1,lz1,*)  zrm1,
real(dp), dimension(lx1,ly1,lz1,*)  xsm1,
real(dp), dimension(lx1,ly1,lz1,*)  ysm1,
real(dp), dimension(lx1,ly1,lz1,*)  zsm1,
real(dp), dimension(lx1,ly1,lz1,*)  XTM1,
real(dp), dimension(lx1,ly1,lz1,*)  YTM1,
real(dp), dimension(lx1,ly1,lz1,*)  ZTM1,
logical  IFAXIS 
)

Compute global-to-local derivatives on mesh 1.

Todo:
why this loop?

Definition at line 820 of file coef.F90.

References mxm().

Referenced by cumax(), and glmapm1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: