Nek5000
SEM for Incompressible NS
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | ctolspl (tolspl, respr) |
Compute the pressure tolerance. More... | |
subroutine | ortho (respr) |
Orthogonalize the residual in the pressure solver with respect to (1,1,...,1)T (only if all Dirichlet b.c.). More... | |
subroutine | opgrad (out1, out2, out3, inp) |
Compute OUTi = Di*INP, i=1,2,3. the gradient of the scalar field INP. Note: OUTi is defined on the pressure mesh !!! More... | |
subroutine | cdtp (dtx, x, rm2, sm2, tm2, isd) |
Compute DT*X (entire field) More... | |
subroutine | multd (dx, x, rm2, sm2, tm2, isd, iflg) |
Compute D*X . X : input variable, defined on M1 DX : output variable, defined on M2 (note: D is rectangular) RM2 : RXM2, RYM2 or RZM2 SM2 : SXM2, SYM2 or SZM2 TM2 : TXM2, TYM2 or TZM2 ISD : spatial direction (x=1,y=2,z=3) IFLG: OPGRAD (iflg=0) or OPDIV (iflg=1) More... | |
subroutine | ophx (out1, out2, out3, inp1, inp2, inp3, h1, h2) |
OUT = (H1*A+H2*B) * INP. More... | |
subroutine | dudxyz (du, u, rm1, sm1, tm1, jm1, imsh, isd) |
Compute some derviatives? DU - dU/dx or dU/dy or dU/dz U - a field variable defined on mesh 1 RM1 - dr/dx or dr/dy or dr/dz SM1 - ds/dx or ds/dy or ds/dz TM1 - dt/dx or dt/dy or dt/dz JM1 - the Jacobian IMESH - topology: velocity (1) or temperature (2) mesh. More... | |
subroutine | makef |
Compute and add: (1) user specified forcing function (FX,FY,FZ) (2) driving force due to natural convection (3) convection term !! NOTE: Do not change the arrays BFX, BFY, BFZ until the current time step is completed. More... | |
subroutine | makeuf |
Compute and add: (1) user specified forcing function (FX,FY,FZ) More... | |
subroutine | nekuf (f1, f2, f3) |
subroutine | advab () |
Eulerian scheme, add convection term to forcing function at current time step. More... | |
subroutine | makebdf () |
Add contributions to F from lagged BD terms. More... | |
subroutine | makeabf |
Sum up contributions to kth order extrapolation scheme. NOTE: rho^{n+1} should multiply all the Sum_q{beta_q} term if rho is not constant! More... | |
subroutine | setabbd (ab, dtlag, nab, nbd) |
Compute Adams-Bashforth coefficients (order NAB, less or equal to 3). NBD .EQ. 1 Standard Adams-Bashforth coefficients NBD .GT. 1 Modified Adams-Bashforth coefficients to be used in con- junction with Backward Differentiation schemes (order NBD) More... | |
subroutine | setbd (bd, dtbd, nbd) |
Compute backwards-difference (BDF) coefficients, order NBD. More... | |
subroutine | bdsys (a, b, dt, nbd, ndim) |
Setup the linear system that defines BDF coefficients. More... | |
subroutine | tauinit (tau, ilag) |
Set initial time for subintegration. More... | |
subroutine | lagvel |
Keep old velocity field(s) More... | |
subroutine | setordbd |
Set up parameters for backward differentiation scheme. More... | |
subroutine | normsc (h1, semi, l2, linf, x, imesh) |
Compute error norms of a (scalar) field variable X defined on mesh 1 or mesh 2. The error norms are normalized with respect to the volume (except for Linf). More... | |
subroutine | normvc (h1, semi, l2, linf, x1, x2, x3) |
Compute error norms of a (vector) field variable (X1,X2,X3) More... | |
subroutine | opcolv (a1, a2, a3, c) |
subroutine | opcopy (a1, a2, a3, b1, b2, b3) |
subroutine | opdssum (a, b, c) |
subroutine | opdsop (a, b, c, op) |
subroutine | transpose (a, lda, b, ldb) |
subroutine | convop (conv, fi) |
Compute the convective term CONV for a passive scalar field FI. More... | |
subroutine | opdiv (outfld, inpx, inpy, inpz) |
Compute OUTFLD = SUMi Di*INPi. the divergence of the vector field (INPX,INPY,INPZ) More... | |
subroutine | wgradm1 (ux, uy, uz, u, nel) |
Compute gradient of T – mesh 1 to mesh 1 (vel. to vel.) More... | |
subroutine | wlaplacian (out, a, diff, ifld) |
compute weak form of the laplacian operator including the boundary contribution More... | |
subroutine advab | ( | ) |
Eulerian scheme, add convection term to forcing function at current time step.
Definition at line 778 of file navier1.F90.
References convop().
Referenced by makef().
subroutine bdsys | ( | real(dp), dimension(ndim,9) | a, |
real(dp), dimension(9) | b, | ||
real(dp), dimension(9) | dt, | ||
integer | nbd, | ||
integer | ndim | ||
) |
Setup the linear system that defines BDF coefficients.
Definition at line 1040 of file navier1.F90.
Referenced by setbd().
subroutine cdtp | ( | real(dp), dimension (lx1,ly1,lz1,lelv) | dtx, |
real(dp), dimension (lx2,ly2,lz2,lelv) | x, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | rm2, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | sm2, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | tm2, | ||
integer | isd | ||
) |
Compute DT*X (entire field)
Definition at line 173 of file navier1.F90.
References copy(), ctimer::dnekclock(), and mxm().
Referenced by crespsp().
subroutine convop | ( | real(dp), dimension (lx1,ly1,lz1,*) | conv, |
real(dp), dimension (lx1,ly1,lz1,*) | fi | ||
) |
Compute the convective term CONV for a passive scalar field FI.
Definition at line 1422 of file navier1.F90.
References convect_new(), and ctimer::dnekclock().
Referenced by advab(), and convab().
Compute the pressure tolerance.
Definition at line 3 of file navier1.F90.
References dssum().
Referenced by plan4().
subroutine dudxyz | ( | real(dp), dimension (lx1,ly1,lz1,*) | du, |
real(dp), dimension (lx1,ly1,lz1,*) | u, | ||
real(dp), dimension (lx1,ly1,lz1,*) | rm1, | ||
real(dp), dimension (lx1,ly1,lz1,*) | sm1, | ||
real(dp), dimension (lx1,ly1,lz1,*) | tm1, | ||
real(dp), dimension (lx1,ly1,lz1,*) | jm1, | ||
integer | imsh, | ||
integer | isd | ||
) |
Compute some derviatives? DU - dU/dx or dU/dy or dU/dz U - a field variable defined on mesh 1 RM1 - dr/dx or dr/dy or dr/dz SM1 - ds/dx or ds/dy or ds/dz TM1 - dt/dx or dt/dy or dt/dz JM1 - the Jacobian IMESH - topology: velocity (1) or temperature (2) mesh.
Definition at line 628 of file navier1.F90.
References mxm().
Referenced by op_curl().
subroutine lagvel | ( | ) |
subroutine makeabf | ( | ) |
Sum up contributions to kth order extrapolation scheme. NOTE: rho^{n+1} should multiply all the Sum_q{beta_q} term if rho is not constant!
Definition at line 847 of file navier1.F90.
References copy().
Referenced by makef().
subroutine makebdf | ( | ) |
Add contributions to F from lagged BD terms.
Definition at line 805 of file navier1.F90.
Referenced by makef().
subroutine makef | ( | ) |
Compute and add: (1) user specified forcing function (FX,FY,FZ) (2) driving force due to natural convection (3) convection term !! NOTE: Do not change the arrays BFX, BFY, BFZ until the current time step is completed.
Definition at line 691 of file navier1.F90.
References advab(), ctimer::dnekclock(), makeabf(), makebdf(), and makeuf().
Referenced by plan4().
subroutine makeuf | ( | ) |
Compute and add: (1) user specified forcing function (FX,FY,FZ)
Definition at line 723 of file navier1.F90.
References nekuf().
Referenced by makef(), and setdtc().
subroutine multd | ( | real(dp), dimension (lx2,ly2,lz2,lelv) | dx, |
real(dp), dimension (lx1,ly1,lz1,lelv) | x, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | rm2, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | sm2, | ||
real(dp), dimension (lx2,ly2,lz2,lelv) | tm2, | ||
integer | isd, | ||
integer | iflg | ||
) |
Compute D*X . X : input variable, defined on M1 DX : output variable, defined on M2 (note: D is rectangular) RM2 : RXM2, RYM2 or RZM2 SM2 : SXM2, SYM2 or SZM2 TM2 : TXM2, TYM2 or TZM2 ISD : spatial direction (x=1,y=2,z=3) IFLG: OPGRAD (iflg=0) or OPDIV (iflg=1)
Definition at line 382 of file navier1.F90.
References copy(), ctimer::dnekclock(), and mxm().
Referenced by opdiv(), and opgrad().
subroutine nekuf | ( | real(dp), dimension (lx1,ly1,lz1,lelv) | f1, |
real(dp), dimension (lx1,ly1,lz1,lelv) | f2, | ||
real(dp), dimension (lx1,ly1,lz1,lelv) | f3 | ||
) |
Definition at line 743 of file navier1.F90.
References parallel::lglel(), and nekasgn().
Referenced by makeuf().
subroutine normsc | ( | real(dp) | h1, |
real(dp) | semi, | ||
real(dp) | l2, | ||
real(dp) | linf, | ||
real(dp), dimension (lx1,ly1,lz1,*), intent(in) | x, | ||
integer | imesh | ||
) |
Compute error norms of a (scalar) field variable X defined on mesh 1 or mesh 2. The error norms are normalized with respect to the volume (except for Linf).
\( l2 = |x|_2 \) \( semi = \sqrt{|<x|A|x>|/V} \) where A is the stiffness matrix
Definition at line 1150 of file navier1.F90.
References axhelm(), and ctimer::dnekclock().
Referenced by unorm().
subroutine normvc | ( | real(dp) | h1, |
real(dp) | semi, | ||
real(dp) | l2, | ||
real(dp) | linf, | ||
real(dp), dimension (lx1,ly1,lz1,lelt) | x1, | ||
real(dp), dimension (lx1,ly1,lz1,lelt) | x2, | ||
real(dp), dimension (lx1,ly1,lz1,lelt) | x3 | ||
) |
Compute error norms of a (vector) field variable (X1,X2,X3)
Definition at line 1223 of file navier1.F90.
References ctimer::dnekclock(), and ophx().
Referenced by unorm().
subroutine opcolv | ( | real(dp), dimension(1) | a1, |
real(dp), dimension(1) | a2, | ||
real(dp), dimension(1) | a3, | ||
real(dp), dimension(1) | c | ||
) |
Definition at line 1300 of file navier1.F90.
Referenced by setics().
subroutine opcopy | ( | real(dp), dimension(1) | a1, |
real(dp), dimension(1) | a2, | ||
real(dp), dimension(1) | a3, | ||
real(dp), dimension(1) | b1, | ||
real(dp), dimension(1) | b2, | ||
real(dp), dimension(1) | b3 | ||
) |
Definition at line 1339 of file navier1.F90.
References copy().
Referenced by lagvel(), and setics().
subroutine opdsop | ( | real(dp), dimension(1) | a, |
real(dp), dimension(1) | b, | ||
real(dp), dimension(1) | c, | ||
character(3) | op | ||
) |
Definition at line 1375 of file navier1.F90.
References vec_dsop().
Referenced by bcdirvc(), and bcmask().
Definition at line 1353 of file navier1.F90.
References vec_dssum().
Referenced by crespsp(), op_curl(), setdtc(), and setics().
subroutine opgrad | ( | real(dp), dimension (lx2,ly2,lz2,nelv) | out1, |
real(dp), dimension (lx2,ly2,lz2,nelv) | out2, | ||
real(dp), dimension (lx2,ly2,lz2,nelv) | out3, | ||
real(dp), dimension (lx1,ly1,lz1,nelv) | inp | ||
) |
Compute OUTi = Di*INP, i=1,2,3. the gradient of the scalar field INP. Note: OUTi is defined on the pressure mesh !!!
Definition at line 88 of file navier1.F90.
References multd(), mxm(), and wgradm1().
Referenced by cresvsp().
subroutine ophx | ( | real(dp), dimension (lx1,ly1,lz1,1) | out1, |
real(dp), dimension (lx1,ly1,lz1,1) | out2, | ||
real(dp), dimension (lx1,ly1,lz1,1) | out3, | ||
real(dp), dimension (lx1,ly1,lz1,1) | inp1, | ||
real(dp), dimension (lx1,ly1,lz1,1) | inp2, | ||
real(dp), dimension (lx1,ly1,lz1,1) | inp3, | ||
real(dp), dimension (lx1,ly1,lz1,1) | h1, | ||
real(dp), dimension (lx1,ly1,lz1,1) | h2 | ||
) |
OUT = (H1*A+H2*B) * INP.
Definition at line 585 of file navier1.F90.
References axhelm().
Referenced by cresvsp(), and normvc().
subroutine ortho | ( | real(dp), dimension (lx2,ly2,lz2,lelv) | respr | ) |
Orthogonalize the residual in the pressure solver with respect to (1,1,...,1)T (only if all Dirichlet b.c.).
Definition at line 47 of file navier1.F90.
References exitti().
Referenced by crespsp(), hmh_gmres(), plan4(), and setics().
subroutine setabbd | ( | real(dp), dimension(nab), intent(out) | ab, |
real(dp), dimension(nbd), intent(in) | dtlag, | ||
integer, intent(in) | nab, | ||
integer, intent(in) | nbd | ||
) |
Compute Adams-Bashforth coefficients (order NAB, less or equal to 3). NBD .EQ. 1 Standard Adams-Bashforth coefficients NBD .GT. 1 Modified Adams-Bashforth coefficients to be used in con- junction with Backward Differentiation schemes (order NBD)
[out] | ab | Adams-Bashforth coefficients |
[in] | dtlag | Time-step history |
[in] | nab | Order of AB scheme |
[in] | nbd | Order of accompanying BDF scheme |
Definition at line 922 of file navier1.F90.
Referenced by settime().
subroutine setbd | ( | real(dp), dimension(*), intent(out) | bd, |
real(dp), dimension(*), intent(in) | dtbd, | ||
integer, intent(in) | nbd | ||
) |
Compute backwards-difference (BDF) coefficients, order NBD.
[out] | bd | BDF coefficients |
[in] | dtbd | Time-step history |
[in] | nbd | Order of BDF scheme |
Definition at line 995 of file navier1.F90.
References bdsys(), lu(), and solve().
Referenced by settime().
subroutine setordbd | ( | ) |
Set up parameters for backward differentiation scheme.
Definition at line 1125 of file navier1.F90.
Referenced by settime().
subroutine tauinit | ( | real(dp) | tau, |
integer | ilag | ||
) |
Set initial time for subintegration.
Definition at line 1082 of file navier1.F90.
subroutine transpose | ( | real(dp), dimension(lda,*) | a, |
integer | lda, | ||
real(dp), dimension(ldb,*) | b, | ||
integer | ldb | ||
) |
Definition at line 1402 of file navier1.F90.
Referenced by allreduce_exec(), build_new_filter(), cr_exec(), filterq(), gen_dgl(), gen_int(), gs_aux(), hsmg_routines::h1mg_setup_semhat(), hsmg_routines::hsmg_setup_fast1d(), hsmg_routines::hsmg_setup_intp(), hsmg_routines::hsmg_setup_semhat(), main(), pw_exec(), fft::transpose_grid(), and xyzlin().
subroutine wgradm1 | ( | real(dp), dimension(lx1,ly1,lz1,*) | ux, |
real(dp), dimension(lx1,ly1,lz1,*) | uy, | ||
real(dp), dimension(lx1,ly1,lz1,*) | uz, | ||
real(dp), dimension(lxyz,*) | u, | ||
integer | nel | ||
) |
Compute gradient of T – mesh 1 to mesh 1 (vel. to vel.)
Definition at line 1579 of file navier1.F90.
References i, and local_grad3().
Referenced by opgrad().
subroutine wlaplacian | ( | real(dp), dimension(lx1,ly1,lz1,*) | out, |
real(dp), dimension(*) | a, | ||
real(dp), dimension(*) | diff, | ||
integer | ifld | ||
) |
compute weak form of the laplacian operator including the boundary contribution
Definition at line 1634 of file navier1.F90.
References axhelm(), and bcneusc().
Referenced by makeq().