📄 cell_hex27.c
字号:
return this->compute_key (this->node(22)); case 3: // the face at y=1 return this->compute_key (this->node(23)); case 4: // the face at x=0 return this->compute_key (this->node(24)); case 5: // the face at z=1 return this->compute_key (this->node(25)); } // We'll never get here. libmesh_error(); return 0;}AutoPtr<Elem> Hex27::build_side (const unsigned int i, bool proxy) const{ libmesh_assert (i < this->n_sides()); if (proxy) { AutoPtr<Elem> ap(new Side<Quad9,Hex27>(this,i)); return ap; } else { AutoPtr<Elem> face(new Quad9); // Think of a unit cube: (-1,1) x (-1,1) x (1,1) switch (i) { case 0: // the face at z=0 { face->set_node(0) = this->get_node(0); face->set_node(1) = this->get_node(3); face->set_node(2) = this->get_node(2); face->set_node(3) = this->get_node(1); face->set_node(4) = this->get_node(11); face->set_node(5) = this->get_node(10); face->set_node(6) = this->get_node(9); face->set_node(7) = this->get_node(8); face->set_node(8) = this->get_node(20); return face; } case 1: // the face at y = 0 { face->set_node(0) = this->get_node(0); face->set_node(1) = this->get_node(1); face->set_node(2) = this->get_node(5); face->set_node(3) = this->get_node(4); face->set_node(4) = this->get_node(8); face->set_node(5) = this->get_node(13); face->set_node(6) = this->get_node(16); face->set_node(7) = this->get_node(12); face->set_node(8) = this->get_node(21); return face; } case 2: // the face at x=1 { face->set_node(0) = this->get_node(1); face->set_node(1) = this->get_node(2); face->set_node(2) = this->get_node(6); face->set_node(3) = this->get_node(5); face->set_node(4) = this->get_node(9); face->set_node(5) = this->get_node(14); face->set_node(6) = this->get_node(17); face->set_node(7) = this->get_node(13); face->set_node(8) = this->get_node(22); return face; } case 3: // the face at y=1 { face->set_node(0) = this->get_node(2); face->set_node(1) = this->get_node(3); face->set_node(2) = this->get_node(7); face->set_node(3) = this->get_node(6); face->set_node(4) = this->get_node(10); face->set_node(5) = this->get_node(15); face->set_node(6) = this->get_node(18); face->set_node(7) = this->get_node(14); face->set_node(8) = this->get_node(23); return face; } case 4: // the face at x=0 { face->set_node(0) = this->get_node(3); face->set_node(1) = this->get_node(0); face->set_node(2) = this->get_node(4); face->set_node(3) = this->get_node(7); face->set_node(4) = this->get_node(11); face->set_node(5) = this->get_node(12); face->set_node(6) = this->get_node(19); face->set_node(7) = this->get_node(15); face->set_node(8) = this->get_node(24); return face; } case 5: // the face at z=1 { face->set_node(0) = this->get_node(4); face->set_node(1) = this->get_node(5); face->set_node(2) = this->get_node(6); face->set_node(3) = this->get_node(7); face->set_node(4) = this->get_node(16); face->set_node(5) = this->get_node(17); face->set_node(6) = this->get_node(18); face->set_node(7) = this->get_node(19); face->set_node(8) = this->get_node(25); return face; } default: { libmesh_error(); return face; } } } // We'll never get here. libmesh_error(); AutoPtr<Elem> ap(NULL); return ap;}AutoPtr<Elem> Hex27::build_edge (const unsigned int i) const{ libmesh_assert (i < this->n_edges()); return AutoPtr<Elem>(new SideEdge<Edge3,Hex27>(this,i));} void Hex27::connectivity(const unsigned int sc, const IOPackage iop, std::vector<unsigned int>& conn) const{ libmesh_assert (_nodes != NULL); libmesh_assert (sc < this->n_sub_elem()); libmesh_assert (iop != INVALID_IO_PACKAGE); conn.resize(8); switch (iop) { case TECPLOT: { switch (sc) { case 0: conn[0] = this->node(0)+1; conn[1] = this->node(8)+1; conn[2] = this->node(20)+1; conn[3] = this->node(11)+1; conn[4] = this->node(12)+1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -