📄 ibgc.h
字号:
/* last edit: Ilja Schmelzer -------------- 10-JUN-1994 15:07:59.44 */
/************************************************************************/
/* */
/* <<< I B G >>> - Intersection - Based Grid generation package */
/* */
/* Version 1.1 by Ilja Schmelzer schmelzer@iaas-berlin.d400.de */
/* */
/* to be distributed under IBG license conditions (see "readme.ibg") */
/* */
/************************************************************************/
/* <<< IBGC >>> - description of elements in the grid */
#ifndef IBGC_H
#define IBGC_H
/* there are different types of elements used in grids: */
typedef enum{ ibgc0Nothing /* cell is not used */
,ibgc0Node /* for 0d-grid Region */
,ibgc1Node /* for 1d-grid Face */
,ibgc1Edge /* for 1d-grid Region */
,ibgc2Node /* for 2d-grid Line */
,ibgc2Edge /* for 2d-grid Face */
,ibgc2Triangle /* for 2d-grid Region */
,ibgc2Rectangle
,ibgc3Node /* for 3d-grid Node */
,ibgc3Edge /* for 3d-grid Line */
,ibgc3Triangle /* for 3d-grid Face */
,ibgc3Rectangle
,ibgc3Tetrahedron /* for 3d-grid Region */
,ibgc3Pyramide
,ibgc3Cube
}ibgCellType;
#define IBGCTMAX 15 /* max. number of cell types */
#define IBGCEMAX 6 /* max. number of cell edges */
#define IBGCSMAX 4 /* max. number of cell sides */
#define IBGCNMAX 4 /* max. number of cell points */
/* These data describe the different types of elements: */
/* number of points per element: */
#define ibgcPoints(type) ibgcpoints[type]
/* number of neighbour elements per element: */
#define ibgcSides(type) ibgcsides[type]
/* number of edges per element: */
#define ibgcEdges(type) ibgcedges[type]
/* Codimension of the element in the grid: */
#define ibgcCODIM(type) ibgcudim[type]
/* Dimension of the grid of the element: */
#define ibgcGDIM(type) ibgcgdim[type]
/* Dimension of the element: */
#define ibgcCDIM(type) ibgccdim[type]
/* name of the element type: */
#define ibgcName(type) ibgcname[type]
/* neighbourhood-relations of the edges: */
#define ibgcEPoint1(type,edge) ibgcepoint1[type][edge]
#define ibgcEPoint2(type,edge) ibgcepoint2[type][edge]
#define ibgcESideL(type,edge) ibgcesidel[type][edge]
#define ibgcESideR(type,edge) ibgcesider[type][edge]
/* number of points of a side of the element: */
#define ibgcSSize(type,side) ibgcssize[type][side]
/* neighbourhood-relations of the sides: */
#define ibgcSSide(type,side,nr) ibgcsside[type][side][nr]
#define ibgcSEdge(type,side,nr) ibgcsedge[type][side][nr]
#define ibgcSPoint1(type,side,nr) ibgcspoint[type][side][nr]
#define ibgcSPoint2(type,side,nr) ibgcspoint[type][side][nr+1]
/* external left and right side of ibgSFace-elements */
#define ibgcSExtL(type) ibgcsides[type]
#define ibgcSExtR(type) (ibgcsides[type]+1)
/* first external side of ibgSLine- or ibgSNode-elements */
#define ibgcSExtF(type) ibgcsides[type]
extern int ibgcpoints[IBGCTMAX];
extern int ibgcedges[IBGCTMAX];
extern int ibgcsides[IBGCTMAX];
extern int ibgcudim[IBGCTMAX];
extern int ibgcgdim[IBGCTMAX];
extern int ibgccdim[IBGCTMAX];
extern char* ibgcname[IBGCTMAX];
extern int ibgcepoint1[IBGCTMAX][IBGCEMAX];
extern int ibgcepoint2[IBGCTMAX][IBGCEMAX];
extern int ibgcesidel[IBGCTMAX][IBGCEMAX];
extern int ibgcesider[IBGCTMAX][IBGCEMAX];
extern int ibgcssize[IBGCTMAX][IBGCSMAX];
extern int ibgcsside[IBGCTMAX][IBGCSMAX][4];
extern int ibgcsedge[IBGCTMAX][IBGCSMAX][4];
extern int ibgcspoint[IBGCTMAX][IBGCSMAX][5];
void ibgcInit();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -