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

📄 pos_element.c

📁 cfd求解器使用与gmsh网格的求解
💻 C
📖 第 1 页 / 共 4 页
字号:
	  PE->u[3] = 0. ; PE->v[3] = 0. ; PE->w[3] = 1. ; 	#else	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 0. ;	  PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] = 0. ; 	      	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 0. ;   	     	  PE->u[3] = 0. ; PE->v[3] = 0. ; PE->w[3] = 1. ; 	#endif     	  POS_CUT_FILL;	  PE = Create_PostElement(Index, TETRAHEDRON, 4, 1); /* nodes 2 3 4 5 */	  PE->NumNodes[0] = GE->NumNodes[1] ;	  PE->NumNodes[1] = GE->NumNodes[2] ;	  PE->NumNodes[2] = GE->NumNodes[3] ;	  PE->NumNodes[3] = GE->NumNodes[4] ;#if defined(NEW_PYRAMIDS)	  PE->u[0] = 1. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] = 0. ; 	      	  PE->u[2] = 0. ; PE->v[2] = 1. ; PE->w[2] = 0. ; 	     	  PE->u[3] = 0. ; PE->v[3] = 0. ; PE->w[3] = 1. ; 	     #else	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] = 0. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] = 0. ; 	      	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 0. ; 	     	  PE->u[3] = 0. ; PE->v[3] = 0. ; PE->w[3] = 1. ; 	     #endif	  POS_CUT_FILL;	}	else{	  PE = Create_PostElement(Index, PYRAMID, 5, 1) ; /* nodes 1 2 3 4 5 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[1] ;	  PE->NumNodes[2] = GE->NumNodes[2] ;	  PE->NumNodes[3] = GE->NumNodes[3] ;	  PE->NumNodes[4] = GE->NumNodes[4] ;#if defined(NEW_PYRAMIDS)	  PE->u[0] = 0. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	  PE->u[1] = 1. ; PE->v[1] = 0. ; PE->w[1] = 0. ; 	      	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] = 0. ;	  PE->u[3] = 0. ; PE->v[3] = 1. ; PE->w[3] = 0. ; 	     	  PE->u[4] = 0. ; PE->v[4] = 0. ; PE->w[4] = 1. ;#else	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 0. ;	  PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] = 0. ; 	      	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] = 0. ;	  PE->u[3] =-1. ; PE->v[3] = 1. ; PE->w[3] = 0. ; 	     	  PE->u[4] = 0. ; PE->v[4] = 0. ; PE->w[4] = 1. ;#endif	  POS_CUT_FILL;	}	break ;      }    }    else { /* Skin: facets oriented with normals pointing outwards */            switch(GE->Type){	      case TRIANGLE :    	PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 1 2 */	PE->NumNodes[0] = GE->NumNodes[0] ;	PE->NumNodes[1] = GE->NumNodes[1] ;	PE->u[0] = 0. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 1. ; PE->v[1] = 0. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 		PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 2 3 */	PE->NumNodes[0] = GE->NumNodes[1] ;	PE->NumNodes[1] = GE->NumNodes[2] ;	PE->u[0] = 1. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 0. ; PE->v[1] = 1. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 		PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 3 1 */	PE->NumNodes[0] = GE->NumNodes[2] ;	PE->NumNodes[1] = GE->NumNodes[0] ;	PE->u[0] = 0. ; PE->v[0] = 1. ; PE->w[0] = 0. ;	PE->u[1] = 0. ; PE->v[1] = 0. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 	break ;	      case QUADRANGLE :    	PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 1 2 */	PE->NumNodes[0] = GE->NumNodes[0] ;	PE->NumNodes[1] = GE->NumNodes[1] ;	PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 0. ;	PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 		PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 2 3 */	PE->NumNodes[0] = GE->NumNodes[1] ;	PE->NumNodes[1] = GE->NumNodes[2] ;	PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] = 0. ;	PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 		PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 3 4 */	PE->NumNodes[0] = GE->NumNodes[2] ;	PE->NumNodes[1] = GE->NumNodes[3] ;	PE->u[0] = 1. ; PE->v[0] = 1. ; PE->w[0] = 0. ;	PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 		PE = Create_PostElement(Index, LINE, 2, 1) ; /* nodes 4 1 */	PE->NumNodes[0] = GE->NumNodes[3] ;	PE->NumNodes[1] = GE->NumNodes[0] ;	PE->u[0] =-1. ; PE->v[0] = 1. ; PE->w[0] = 0. ;	PE->u[1] =-1. ; PE->v[1] =-1. ; PE->w[1] = 0. ;	POS_CUT_SKIN ; 	break ;	      case TETRAHEDRON :	PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 1 2 4 */	PE->NumNodes[0] = GE->NumNodes[0] ;	PE->NumNodes[1] = GE->NumNodes[1] ;	PE->NumNodes[2] = GE->NumNodes[3] ;	PE->u[0] = 0. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 1. ; PE->v[1] = 0. ; PE->w[1] = 0. ; 	      	PE->u[2] = 0. ; PE->v[2] = 0. ; PE->w[2] = 1. ; 	     	POS_CUT_SKIN;		PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 1 3 2 */	PE->NumNodes[0] = GE->NumNodes[0] ;	PE->NumNodes[1] = GE->NumNodes[2] ;	PE->NumNodes[2] = GE->NumNodes[1] ;	PE->u[0] = 0. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 0. ; PE->v[1] = 1. ; PE->w[1] = 0. ; 	      	PE->u[2] = 1. ; PE->v[2] = 0. ; PE->w[2] = 0. ;	POS_CUT_SKIN;		PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 1 4 3 */	PE->NumNodes[0] = GE->NumNodes[0] ;	PE->NumNodes[1] = GE->NumNodes[3] ;	PE->NumNodes[2] = GE->NumNodes[2] ;	PE->u[0] = 0. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 0. ; PE->v[1] = 0. ; PE->w[1] = 1. ; 	      	PE->u[2] = 0. ; PE->v[2] = 1. ; PE->w[2] = 0. ;	POS_CUT_SKIN;		PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 2 3 4 */	PE->NumNodes[0] = GE->NumNodes[1] ;	PE->NumNodes[1] = GE->NumNodes[2] ;	PE->NumNodes[2] = GE->NumNodes[3] ;	PE->u[0] = 1. ; PE->v[0] = 0. ; PE->w[0] = 0. ;	PE->u[1] = 0. ; PE->v[1] = 1. ; PE->w[1] = 0. ; 	      	PE->u[2] = 0. ; PE->v[2] = 0. ; PE->w[2] = 1. ;	POS_CUT_SKIN;	break ;	      case HEXAHEDRON :	if(DecomposeInSimplex){	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 1 4 2 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[3] ;	  PE->NumNodes[2] = GE->NumNodes[1] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] =-1. ; PE->w[2] =-1. ; 	      	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 2 4 3 */	  PE->NumNodes[0] = GE->NumNodes[1] ;	  PE->NumNodes[1] = GE->NumNodes[3] ;	  PE->NumNodes[2] = GE->NumNodes[2] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] =-1. ; 	      	  PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] =-1. ; 	     	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] =-1. ; 	      	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 5 6 8 */	  PE->NumNodes[0] = GE->NumNodes[4] ;	  PE->NumNodes[1] = GE->NumNodes[5] ;	  PE->NumNodes[2] = GE->NumNodes[7] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] = 1. ; 	      	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;	  POS_CUT_SKIN;	  	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 6 7 8 */	  PE->NumNodes[0] = GE->NumNodes[5] ;	  PE->NumNodes[1] = GE->NumNodes[6] ;	  PE->NumNodes[2] = GE->NumNodes[7] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] = 1. ; 	      	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] = 1. ; 	      	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 1. ; 	     	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 1 5 4 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[4] ;	  PE->NumNodes[2] = GE->NumNodes[3] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] =-1. ; PE->v[1] =-1. ; PE->w[1] = 1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] =-1. ;	  POS_CUT_SKIN;	  	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 5 8 4 */	  PE->NumNodes[0] = GE->NumNodes[4] ;	  PE->NumNodes[1] = GE->NumNodes[7] ;	  PE->NumNodes[2] = GE->NumNodes[3] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] = 1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] =-1. ;	  POS_CUT_SKIN;	  	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 2 3 6 */	  PE->NumNodes[0] = GE->NumNodes[1] ;	  PE->NumNodes[1] = GE->NumNodes[2] ;	  PE->NumNodes[2] = GE->NumNodes[5] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] =-1. ; PE->w[2] = 1. ;	  POS_CUT_SKIN;	  	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 6 3 7 */	  PE->NumNodes[0] = GE->NumNodes[5] ;	  PE->NumNodes[1] = GE->NumNodes[2] ;	  PE->NumNodes[2] = GE->NumNodes[6] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 5 1 6 */	  PE->NumNodes[0] = GE->NumNodes[4] ;	  PE->NumNodes[1] = GE->NumNodes[0] ;	  PE->NumNodes[2] = GE->NumNodes[5] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] =-1. ; PE->v[1] =-1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] =-1. ; PE->w[2] = 1. ;	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 6 1 2 */	  PE->NumNodes[0] = GE->NumNodes[5] ;	  PE->NumNodes[1] = GE->NumNodes[0] ;	  PE->NumNodes[2] = GE->NumNodes[1] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] =-1. ; PE->v[1] =-1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] =-1. ; PE->w[2] =-1. ;	  POS_CUT_SKIN;	  	  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 8 7 4 */	  PE->NumNodes[0] = GE->NumNodes[7] ;	  PE->NumNodes[1] = GE->NumNodes[6] ;	  PE->NumNodes[2] = GE->NumNodes[3] ;	  PE->u[0] =-1. ; PE->v[0] = 1. ; PE->w[0] = 1. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] = 1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] =-1. ;	  POS_CUT_SKIN;		  PE = Create_PostElement(Index, TRIANGLE, 3, 1) ; /* nodes 7 3 4 */	  PE->NumNodes[0] = GE->NumNodes[6] ;	  PE->NumNodes[1] = GE->NumNodes[2] ;	  PE->NumNodes[2] = GE->NumNodes[3] ;	  PE->u[0] = 1. ; PE->v[0] = 1. ; PE->w[0] = 1. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] =-1. ;	  POS_CUT_SKIN;	}	else{	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes 1 2 6 5 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[1] ;	  PE->NumNodes[2] = GE->NumNodes[5] ;	  PE->NumNodes[3] = GE->NumNodes[4] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] =-1. ; PE->w[2] = 1. ;	  PE->u[3] =-1. ; PE->v[3] =-1. ; PE->w[3] = 1. ;	  POS_CUT_SKIN;	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes  1 4 3 2 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[3] ;	  PE->NumNodes[2] = GE->NumNodes[2] ;	  PE->NumNodes[3] = GE->NumNodes[1] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] =-1. ;	  PE->u[3] = 1. ; PE->v[3] =-1. ; PE->w[3] =-1. ;	  POS_CUT_SKIN;	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes 1 5 8 4 */	  PE->NumNodes[0] = GE->NumNodes[0] ;	  PE->NumNodes[1] = GE->NumNodes[4] ;	  PE->NumNodes[2] = GE->NumNodes[7] ;	  PE->NumNodes[3] = GE->NumNodes[3] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] =-1. ; PE->v[1] =-1. ; PE->w[1] = 1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;	  PE->u[3] =-1. ; PE->v[3] = 1. ; PE->w[3] =-1. ;	  POS_CUT_SKIN;	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes 2 3 7 6 */	  PE->NumNodes[0] = GE->NumNodes[1] ;	  PE->NumNodes[1] = GE->NumNodes[2] ;	  PE->NumNodes[2] = GE->NumNodes[6] ;	  PE->NumNodes[3] = GE->NumNodes[5] ;	  PE->u[0] = 1. ; PE->v[0] =-1. ; PE->w[0] =-1. ;	  PE->u[1] = 1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;	  PE->u[3] = 1. ; PE->v[3] =-1. ; PE->w[3] = 1. ;	  POS_CUT_SKIN;	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes 3 4 8 7 */	  PE->NumNodes[0] = GE->NumNodes[2] ;	  PE->NumNodes[1] = GE->NumNodes[3] ;	  PE->NumNodes[2] = GE->NumNodes[7] ;	  PE->NumNodes[3] = GE->NumNodes[6] ;	  PE->u[0] = 1. ; PE->v[0] = 1. ; PE->w[0] =-1. ;	  PE->u[1] =-1. ; PE->v[1] = 1. ; PE->w[1] =-1. ;	  PE->u[2] =-1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;	  PE->u[3] = 1. ; PE->v[3] = 1. ; PE->w[3] = 1. ;	  POS_CUT_SKIN;	  PE = Create_PostElement(Index, QUADRANGLE, 4, 1) ; /* nodes 5 6 7 8 */	  PE->NumNodes[0] = GE->NumNodes[4] ;	  PE->NumNodes[1] = GE->NumNodes[5] ;	  PE->NumNodes[2] = GE->NumNodes[6] ;	  PE->NumNodes[3] = GE->NumNodes[7] ;	  PE->u[0] =-1. ; PE->v[0] =-1. ; PE->w[0] = 1. ;	  PE->u[1] = 1. ; PE->v[1] =-1. ; PE->w[1] = 1. ;	  PE->u[2] = 1. ; PE->v[2] = 1. ; PE->w[2] = 1. ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -