⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ibgc.h

📁 有限元学习研究用源代码(老外的),供科研人员参考
💻 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 + -