gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshGRegionTransfinite.cpp File Reference
#include <map>
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "meshGFace.h"
#include "GFace.h"
#include "GRegion.h"
#include "MVertex.h"
#include "MTetrahedron.h"
#include "MHexahedron.h"
#include "MPrism.h"
#include "Context.h"
Include dependency graph for meshGRegionTransfinite.cpp:

Go to the source code of this file.

Classes

class  GOrientedTransfiniteFace
 

Macros

#define CREATE_HEX
 
#define CREATE_PRISM_1
 
#define CREATE_PRISM_2
 
#define CREATE_PRISM_3
 
#define CREATE_PRISM_4
 
#define CREATE_SIM_1
 
#define CREATE_SIM_2
 
#define CREATE_SIM_3
 
#define CREATE_SIM_4
 
#define CREATE_SIM_5
 
#define CREATE_SIM_6
 
#define CREATE_SIM_7
 
#define CREATE_SIM_8
 
#define CREATE_SIM_9
 
#define CREATE_SIM_10
 
#define CREATE_SIM_11
 
#define CREATE_SIM_12
 

Functions

static double transfiniteHex (double f1, double f2, double f3, double f4, double f5, double f6, double c1, double c2, double c3, double c4, double c5, double c6, double c7, double c8, double c9, double c10, double c11, double c12, double s1, double s2, double s3, double s4, double s5, double s6, double s7, double s8, double u, double v, double w)
 
static MVertextransfiniteHex (GRegion *gr, MVertex *f1, MVertex *f2, MVertex *f3, MVertex *f4, MVertex *f5, MVertex *f6, MVertex *c1, MVertex *c2, MVertex *c3, MVertex *c4, MVertex *c5, MVertex *c6, MVertex *c7, MVertex *c8, MVertex *c9, MVertex *c10, MVertex *c11, MVertex *c12, MVertex *s1, MVertex *s2, MVertex *s3, MVertex *s4, MVertex *s5, MVertex *s6, MVertex *s7, MVertex *s8, double u, double v, double w)
 
void findTransfiniteCorners (GRegion *gr, std::vector< MVertex * > &corners)
 
int MeshTransfiniteVolume (GRegion *gr)
 

Macro Definition Documentation

◆ CREATE_HEX

#define CREATE_HEX
Value:
new MHexahedron(tab[i][j][k], tab[i + 1][j][k], tab[i + 1][j + 1][k], \
tab[i][j + 1][k], tab[i][j][k + 1], tab[i + 1][j][k + 1], \
tab[i + 1][j + 1][k + 1], tab[i][j + 1][k + 1])

Definition at line 59 of file meshGRegionTransfinite.cpp.

◆ CREATE_PRISM_1

#define CREATE_PRISM_1
Value:
new MPrism(tab[i][j][k], tab[i + 1][j][k], tab[i][j + 1][k], \
tab[i][j][k + 1], tab[i + 1][j][k + 1], tab[i][j + 1][k + 1])

Definition at line 64 of file meshGRegionTransfinite.cpp.

◆ CREATE_PRISM_2

#define CREATE_PRISM_2
Value:
new MPrism(tab[i + 1][j + 1][k], tab[i][j + 1][k], tab[i + 1][j][k], \
tab[i + 1][j + 1][k + 1], tab[i][j + 1][k + 1], \
tab[i + 1][j][k + 1])

Definition at line 68 of file meshGRegionTransfinite.cpp.

◆ CREATE_PRISM_3

#define CREATE_PRISM_3
Value:
new MPrism(tab[i][j][k], tab[i][j + 1][k], tab[i + 1][j + 1][k], \
tab[i][j][k + 1], tab[i][j + 1][k + 1], tab[i + 1][j + 1][k + 1])

Definition at line 73 of file meshGRegionTransfinite.cpp.

◆ CREATE_PRISM_4

#define CREATE_PRISM_4
Value:
new MPrism(tab[i][j][k], tab[i + 1][j][k], tab[i + 1][j + 1][k], \
tab[i][j][k + 1], tab[i + 1][j][k + 1], tab[i + 1][j + 1][k + 1])

Definition at line 77 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_1

#define CREATE_SIM_1
Value:
new MTetrahedron(tab[i][j][k], tab[i + 1][j][k], tab[i][j + 1][k], \
tab[i][j][k + 1])

Definition at line 81 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_10

#define CREATE_SIM_10
Value:
new MTetrahedron(tab[i][j][k], tab[i + 1][j][k], tab[i + 1][j + 1][k], \
tab[i][j][k + 1])

Definition at line 117 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_11

#define CREATE_SIM_11
Value:
new MTetrahedron(tab[i + 1][j][k], tab[i + 1][j + 1][k], tab[i][j][k + 1], \
tab[i + 1][j][k + 1])

Definition at line 121 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_12

#define CREATE_SIM_12
Value:
new MTetrahedron(tab[i][j][k + 1], tab[i + 1][j][k + 1], \
tab[i + 1][j + 1][k], tab[i + 1][j + 1][k + 1])

Definition at line 125 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_2

#define CREATE_SIM_2
Value:
new MTetrahedron(tab[i + 1][j][k], tab[i][j + 1][k], tab[i][j][k + 1], \
tab[i + 1][j][k + 1])

Definition at line 85 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_3

#define CREATE_SIM_3
Value:
new MTetrahedron(tab[i][j][k + 1], tab[i + 1][j][k + 1], tab[i][j + 1][k], \
tab[i][j + 1][k + 1])

Definition at line 89 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_4

#define CREATE_SIM_4
Value:
new MTetrahedron(tab[i + 1][j][k], tab[i][j + 1][k], tab[i + 1][j][k + 1], \
tab[i + 1][j + 1][k])

Definition at line 93 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_5

#define CREATE_SIM_5
Value:
new MTetrahedron(tab[i][j + 1][k], tab[i][j + 1][k + 1], \
tab[i + 1][j][k + 1], tab[i + 1][j + 1][k])

Definition at line 97 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_6

#define CREATE_SIM_6
Value:
new MTetrahedron(tab[i + 1][j][k + 1], tab[i][j + 1][k + 1], \
tab[i + 1][j + 1][k + 1], tab[i + 1][j + 1][k])

Definition at line 101 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_7

#define CREATE_SIM_7
Value:
new MTetrahedron(tab[i][j][k], tab[i][j + 1][k], tab[i][j][k + 1], \
tab[i + 1][j + 1][k])

Definition at line 105 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_8

#define CREATE_SIM_8
Value:
new MTetrahedron(tab[i][j + 1][k], tab[i][j + 1][k + 1], tab[i][j][k + 1], \
tab[i + 1][j + 1][k])

Definition at line 109 of file meshGRegionTransfinite.cpp.

◆ CREATE_SIM_9

#define CREATE_SIM_9
Value:
new MTetrahedron(tab[i][j][k + 1], tab[i][j + 1][k + 1], \
tab[i + 1][j + 1][k + 1], tab[i + 1][j + 1][k])

Definition at line 113 of file meshGRegionTransfinite.cpp.

Function Documentation

◆ findTransfiniteCorners()

void findTransfiniteCorners ( GRegion gr,
std::vector< MVertex * > &  corners 
)

Definition at line 295 of file meshGRegionTransfinite.cpp.

Referenced by MeshTransfiniteVolume().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MeshTransfiniteVolume()

int MeshTransfiniteVolume ( GRegion gr)

Definition at line 342 of file meshGRegionTransfinite.cpp.

Referenced by meshGRegion::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transfiniteHex() [1/2]

static double transfiniteHex ( double  f1,
double  f2,
double  f3,
double  f4,
double  f5,
double  f6,
double  c1,
double  c2,
double  c3,
double  c4,
double  c5,
double  c6,
double  c7,
double  c8,
double  c9,
double  c10,
double  c11,
double  c12,
double  s1,
double  s2,
double  s3,
double  s4,
double  s5,
double  s6,
double  s7,
double  s8,
double  u,
double  v,
double  w 
)
static

Definition at line 128 of file meshGRegionTransfinite.cpp.

Referenced by MeshTransfiniteVolume(), and transfiniteHex().

Here is the caller graph for this function:

◆ transfiniteHex() [2/2]

static MVertex* transfiniteHex ( GRegion gr,
MVertex f1,
MVertex f2,
MVertex f3,
MVertex f4,
MVertex f5,
MVertex f6,
MVertex c1,
MVertex c2,
MVertex c3,
MVertex c4,
MVertex c5,
MVertex c6,
MVertex c7,
MVertex c8,
MVertex c9,
MVertex c10,
MVertex c11,
MVertex c12,
MVertex s1,
MVertex s2,
MVertex s3,
MVertex s4,
MVertex s5,
MVertex s6,
MVertex s7,
MVertex s8,
double  u,
double  v,
double  w 
)
static

Definition at line 150 of file meshGRegionTransfinite.cpp.

Here is the call graph for this function:
MTetrahedron
Definition: MTetrahedron.h:34
MPrism
Definition: MPrism.h:34
MHexahedron
Definition: MHexahedron.h:28