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 + -
显示快捷键?