📄 pos_element.c
字号:
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 + -