wzcelltype.hxx
来自「有限元学习研究用源代码(老外的),供科研人员参考」· HXX 代码 · 共 81 行
HXX
81 行
#ifndef wzcelltype_hxx
#define wzcelltype_hxx
#ifndef wzsegment_hxx
#include "wzsegment.hxx"
#endif
extern void wzCellTypeInit();
const wzInteger IBG2CTMAX = 15;
const wzInteger IBG2CEMAX = 6;
const wzInteger IBG2CSMAX = 4;
const wzInteger IBG2CNMAX = 4;
typedef enum
{
wzCellType0Nothing, /* cell is not used */
wzCellType0Node, /* for 0d-grid Region */
wzCellType1Node, /* for 1d-grid Face */
wzCellType1Line, /* for 1d-grid Region */
wzCellType2Node, /* for 2d-grid Edge */
wzCellType2Line, /* for 2d-grid Face */
wzCellType2Triangle, /* for 2d-grid Region */
wzCellType2Rectangle,
wzCellType3Node, /* for 3d-grid Node */
wzCellType3Line, /* for 3d-grid Edge */
wzCellType3Triangle, /* for 3d-grid Face */
wzCellType3Rectangle,
wzCellType3Tetrahedron, /* for 3d-grid Region */
wzCellType3Pyramide,
wzCellType3Cube,
wzCellTypeTypes
}wzCellType;
extern int wzCellTypepoints[IBG2CTMAX];
extern int wzCellTypesize[IBG2CTMAX];
extern int wzCellTypesides[IBG2CTMAX];
extern int wzCellTypeudim[IBG2CTMAX];
extern int wzCellTypegdim[IBG2CTMAX];
extern int wzCellTypecdim[IBG2CTMAX];
extern char* wzCellTypename[IBG2CTMAX];
extern int wzCellTypeepoint1[IBG2CTMAX][IBG2CEMAX];
extern int wzCellTypeepoint2[IBG2CTMAX][IBG2CEMAX];
extern int wzCellTypeesidel[IBG2CTMAX][IBG2CEMAX];
extern int wzCellTypeesider[IBG2CTMAX][IBG2CEMAX];
extern int wzCellTypessize[IBG2CTMAX][IBG2CSMAX];
extern int wzCellTypesside[IBG2CTMAX][IBG2CSMAX][4];
extern int wzCellTypesline[IBG2CTMAX][IBG2CSMAX][4];
extern int wzCellTypespoint[IBG2CTMAX][IBG2CSMAX][5];
#define wzCellTypeSize(type) wzCellTypesize[type]
#define wzCellTypePoints(type) wzCellTypepoints[type]
#define wzCellTypeSides(type) wzCellTypesides[type]
#define wzCellTypeLines(type) wzCellTypelines[type]
#define wzCellTypeSegment(type) wzCellTypeudim[type]
#define wzCellTypeIsRegion(type) (wzCellTypeudim[type]==wzIsRegion)
#define wzCellTypeIsFace(type) (wzCellTypeudim[type]==wzIsFace)
#define wzCellTypeIsEdge(type) (wzCellTypeudim[type]==wzIsEdge)
#define wzCellTypeIsVertex(type) (wzCellTypeudim[type]==wzIsVertex)
#define wzCellTypeCODIM(type) wzCellTypeudim[type]
#define wzCellTypeGDIM(type) wzCellTypegdim[type]
#define wzCellTypeCDIM(type) wzCellTypecdim[type]
#define wzCellTypeName(type) wzCellTypename[type]
#define wzCellTypeEPoint1(type,line) wzCellTypeepoint1[type][line]
#define wzCellTypeEPoint2(type,line) wzCellTypeepoint2[type][line]
#define wzCellTypeESideL(type,line) wzCellTypeesidel[type][line]
#define wzCellTypeESideR(type,line) wzCellTypeesider[type][line]
#define wzCellTypeSSize(type,side) wzCellTypessize[type][side]
#define wzCellTypeSSide(type,side,nr) wzCellTypesside[type][side][nr]
#define wzCellTypeSLine(type,side,nr) wzCellTypesline[type][side][nr]
#define wzCellTypeSPoint1(type,side,nr) wzCellTypespoint[type][side][nr]
#define wzCellTypeSPoint2(type,side,nr) wzCellTypespoint[type][side][nr+1]
#define wzCellTypeSExt(type) (wzCellTypesize[type]-2)
#define wzCellTypeSExtL(type) (wzCellTypesize[type]-2)
#define wzCellTypeSExtR(type) (wzCellTypesize[type]-1)
#define wzCellTypeSExtF(type) (wzCellTypesize[type]-1)
#define wzGridCellLeft(g,c,t) ((g).Data[(g).CellData[c]+wzCellTypeSExtL(t)])
#define wzGridCellRight(g,c,t) ((g).Data[(g).CellData[c]+wzCellTypeSExtR(t)])
#define ibg2CellType wzCellType
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?