From: Liu K. <liu...@gm...> - 2010-07-17 07:59:31
|
Hi, I notice the find_neighbors() method seems not to give a correct answer when a Prism18 cell is adjacent to a Hex27 cell. When I trace the problem, I find for the side composing of same nodes, the two types cell's key() method override don't compute the same key value. Hex27::key() is a re-implement overriding Hex::key() because it can use the quad center node to compute a unique key. But the Prism18::key() does not do anything special for the quad side, though they have center node as well. So they give difference key. I have tried to add a re-implement version for Prism18::key() and it seems to work well, I put it at the tail of this mail. Am I right? Any suggestion or explanation is appreciated. Kai int Prism18::key (int s) const { SEASOLVER_ASSERT (s < this->n_sides()); switch (s) { case 0: // the triangular face at z=0 { return Prism::key(0); } case 1: // the quad face at y=0 { return Elem::compute_key (this->node(15)); } case 2: // the other quad face { return Elem::compute_key (this->node(16)); } case 3: // the quad face at x=0 { return Elem::compute_key (this->node(17)); } case 4: // the triangular face at z=1 { return Prism::key(4); } } // We'll never get here. SEASOLVER_ERROR(); return 0; } |
From: John P. <pet...@cf...> - 2010-07-26 19:12:11
|
On Sat, Jul 17, 2010 at 2:59 AM, Liu Kai <liu...@gm...> wrote: > Hi, > > I notice the find_neighbors() method seems not to give a correct > answer when a Prism18 cell is adjacent to a Hex27 cell. When I trace the > problem, I find for the side composing of same nodes, the two types > cell's key() method override don't compute the same key value. > > Hex27::key() is a re-implement overriding Hex::key() because it can > use the quad center node to compute a unique key. But the Prism18::key() > does not do anything special for the quad side, though they have center > node as well. So they give difference key. > > I have tried to add a re-implement version for Prism18::key() and it > seems to work well, I put it at the tail of this mail. Am I right? Any > suggestion or explanation is appreciated. Hi Kai, The code you sent looks good to me. I am testing it now and will check in later today. Thank you! -- John |