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

Go to the source code of this file.

Functions/Subroutines

subroutine setup_topo ()
 Parallel compatible routine to find connectivity of element structure. On Processor 0: .Verify right-handedness of elements. .Verify element-to-element reciprocity of BC's .Verify correlation between E-E BC's and physical coincidence .Set rotations .Determine multiplicity .Set up direct stiffness summation arrays. All Processors: .Disperse/Receive BC and MULT temporary data read from preprocessor. More...
 
subroutine initds
 – Direct Stiffness Initialization Routine – Set up required data for packing data on faces of spectral cubes. More...
 
subroutine setedge ()
 Initialize EDGE arrays for face and edge specific tasks. .NOTE: Sevaral arrays in common are initialized via BLOCKDATA EDGEC Computed arrays: IEDGE - Minimal list of wire frame nodes. Used to search for all physical coincidences. IEDGEF - .Ordered list of wire frame nodes associated with faces 1 through 6. .Each of 4 sides of square frame stored individually so that rotations are readily handled. .Two types of node orderings stored - (0) is clockwise marching (1) is counter-clockwise marching for image face. IFACE - indicates the face number. Two notations are currently in use: i) Preprocessor notation: +-----—+ ^ S / /| | / 3 / | | 4–> / / | | +-----—+ 2 + +-—> R | | / / | 6 | / / | |/ / +-----—+ T 1 ii) Symmetric notation: +-----—+ ^ S / /| | / 4 / | | 1–> / / | | +-----—+ 2 + +-—> R | | / / | 6 | / / | |/ / +-----—+ T 3 EFACE(IFACE) - Given face number IFACE in symmetric notation, returns preprocessor notation face number. EFACE1(IFACE) - Given face number IFACE in preprocessor notation, returns symmetric notation face number. The following variables all take the symmetric notation of IFACE as arguments: ICFACE(i,IFACE) - Gives the 4 vertices which reside on face IFACE as depicted below, e.g. ICFACE(i,2)=2,4,6,8. 3+--—+4 ^ Y / 2 /| | Edge 1 extends / / | | from vertex 7+--—+8 +2 +-—> X 1 to 2. | 4 | / / | |/ / 5+--—+6 Z 3 IEDGFC(i,IFACE) - Gives the 4 edges which border the face IFACE Edge numbering is as follows: Edge = 1,2,3,4 run in +r direction Edge = 5,6,7,8 run in +s direction Edge = 9,10,11,12 run in +t direction Ordering of each edge is such that a monotonically increasing sequence of vertices is associated with the start point of a corresponding set of monotonically increasing edge numbers, e.g., ICEDG(i,IEDGE) - Gives 3 variables for determining the stride along a given edge, IEDGE; i=1 gives the starting vertex i=2 gives the stopping vertex i=3 gives the stride size. More...
 
subroutine dsset (nx, ny, nz)
 Set up arrays IXCN,ESKIP,SKPDAT,NEDG,NOFFST for new NX,NY,NZ. More...
 
subroutine genxyzl ()
 Generate xyz coordinates. More...
 
subroutine verify
 Verify right-handedness of elements. .Verify element-to-element reciprocity of BC's .Verify correlation between E-E BC's and physical coincidence. More...
 
subroutine setside
 
subroutine verrhe ()
 Verify right-handedness of given elements. 8 Mar 1989 21:58:26 PFF. More...
 
real(dp) function volum0 (P1, P2, P3, P0)
 Given four points in R , (P1,P2,P3,P0), VOLUM0 returns the volume enclosed by the parallelagram defined by the vectors { (P1-P0),(P2-P0),(P3-P0) }. This routine has the nice feature that if the 3 vectors so defined are not right-handed then the volume returned is negative. More...
 
subroutine facind (kx1, kx2, ky1, ky2, kz1, kz2, nx, ny, nz, iface)
 ifcase in preprocessor notation More...
 
subroutine facev (a, ie, iface, val, nx, ny, nz)
 Assign the value VAL to face(IFACE,IE) of array A. IFACE is the input in the pre-processor ordering scheme. More...
 

Function/Subroutine Documentation

subroutine dsset ( integer  nx,
integer  ny,
integer  nz 
)

Set up arrays IXCN,ESKIP,SKPDAT,NEDG,NOFFST for new NX,NY,NZ.

Definition at line 549 of file connect1.F90.

Referenced by faccl2(), faccl3(), facexv(), setup_topo(), and setvert3d().

+ Here is the caller graph for this function:

subroutine facev ( real(dp), dimension(nx,ny,nz,lelt)  a,
integer  ie,
integer  iface,
real(dp)  val,
integer  nx,
integer  ny,
integer  nz 
)

Assign the value VAL to face(IFACE,IE) of array A. IFACE is the input in the pre-processor ordering scheme.

Definition at line 1041 of file connect1.F90.

References facind().

Referenced by bcdirsc(), bcdirvc(), bcmask(), hsmg_routines::h1mg_setup_mask(), set_up_h1_crs(), and vrdsmsh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine facind ( integer  kx1,
integer  kx2,
integer  ky1,
integer  ky2,
integer  kz1,
integer  kz2,
integer  nx,
integer  ny,
integer  nz,
integer  iface 
)

ifcase in preprocessor notation

Definition at line 1019 of file connect1.F90.

Referenced by bcneusc(), and facev().

+ Here is the caller graph for this function:

subroutine genxyzl ( )

Generate xyz coordinates.

Definition at line 712 of file connect1.F90.

Referenced by setup_topo().

+ Here is the caller graph for this function:

subroutine initds ( )

– Direct Stiffness Initialization Routine – Set up required data for packing data on faces of spectral cubes.

Definition at line 174 of file connect1.F90.

Referenced by setup_topo().

+ Here is the caller graph for this function:

subroutine setedge ( )

Initialize EDGE arrays for face and edge specific tasks. .NOTE: Sevaral arrays in common are initialized via BLOCKDATA EDGEC Computed arrays: IEDGE - Minimal list of wire frame nodes. Used to search for all physical coincidences. IEDGEF - .Ordered list of wire frame nodes associated with faces 1 through 6. .Each of 4 sides of square frame stored individually so that rotations are readily handled. .Two types of node orderings stored - (0) is clockwise marching (1) is counter-clockwise marching for image face. IFACE - indicates the face number. Two notations are currently in use: i) Preprocessor notation: +-----—+ ^ S / /| | / 3 / | | 4–> / / | | +-----—+ 2 + +-—> R | | / / | 6 | / / | |/ / +-----—+ T 1 ii) Symmetric notation: +-----—+ ^ S / /| | / 4 / | | 1–> / / | | +-----—+ 2 + +-—> R | | / / | 6 | / / | |/ / +-----—+ T 3 EFACE(IFACE) - Given face number IFACE in symmetric notation, returns preprocessor notation face number. EFACE1(IFACE) - Given face number IFACE in preprocessor notation, returns symmetric notation face number. The following variables all take the symmetric notation of IFACE as arguments: ICFACE(i,IFACE) - Gives the 4 vertices which reside on face IFACE as depicted below, e.g. ICFACE(i,2)=2,4,6,8. 3+--—+4 ^ Y / 2 /| | Edge 1 extends / / | | from vertex 7+--—+8 +2 +-—> X 1 to 2. | 4 | / / | |/ / 5+--—+6 Z 3 IEDGFC(i,IFACE) - Gives the 4 edges which border the face IFACE Edge numbering is as follows: Edge = 1,2,3,4 run in +r direction Edge = 5,6,7,8 run in +s direction Edge = 9,10,11,12 run in +t direction Ordering of each edge is such that a monotonically increasing sequence of vertices is associated with the start point of a corresponding set of monotonically increasing edge numbers, e.g., ICEDG(i,IEDGE) - Gives 3 variables for determining the stride along a given edge, IEDGE; i=1 gives the starting vertex i=2 gives the stopping vertex i=3 gives the stride size.

Definition at line 290 of file connect1.F90.

Referenced by setup_topo().

+ Here is the caller graph for this function:

subroutine setside ( )

Definition at line 808 of file connect1.F90.

Referenced by setup_topo().

+ Here is the caller graph for this function:

subroutine setup_topo ( )

Parallel compatible routine to find connectivity of element structure. On Processor 0: .Verify right-handedness of elements. .Verify element-to-element reciprocity of BC's .Verify correlation between E-E BC's and physical coincidence .Set rotations .Determine multiplicity .Set up direct stiffness summation arrays. All Processors: .Disperse/Receive BC and MULT temporary data read from preprocessor.

Definition at line 12 of file connect1.F90.

References chkaxcb(), copy(), dsset(), dssum(), genxyzl(), get_vert(), initds(), setcdof(), setedge(), setside(), setupds(), and verify().

Referenced by nek_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine verify ( )

Verify right-handedness of elements. .Verify element-to-element reciprocity of BC's .Verify correlation between E-E BC's and physical coincidence.

Definition at line 801 of file connect1.F90.

References verrhe().

Referenced by setup_topo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

subroutine verrhe ( )

Verify right-handedness of given elements. 8 Mar 1989 21:58:26 PFF.

Definition at line 891 of file connect1.F90.

References exitt(), gllog(), and parallel::lglel().

Referenced by verify().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

real(dp) function volum0 ( real(dp), dimension(3)  P1,
real(dp), dimension(3)  P2,
real(dp), dimension(3)  P3,
real(dp), dimension(3)  P0 
)

Given four points in R , (P1,P2,P3,P0), VOLUM0 returns the volume enclosed by the parallelagram defined by the vectors { (P1-P0),(P2-P0),(P3-P0) }. This routine has the nice feature that if the 3 vectors so defined are not right-handed then the volume returned is negative.

Definition at line 991 of file connect1.F90.