Nek5000
SEM for Incompressible NS
|
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... | |
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().
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().
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().
subroutine genxyzl | ( | ) |
Generate xyz coordinates.
Definition at line 712 of file connect1.F90.
Referenced by setup_topo().
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().
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().
subroutine setside | ( | ) |
Definition at line 808 of file connect1.F90.
Referenced by setup_topo().
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().
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().
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().
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.