From: John P. <pet...@cf...> - 2005-06-06 15:36:05
|
Hi All, As far as I understand, the side() method of the Elem class is meant to return the *minimum* element necessary to uniquely define the side, whereas the build_side() method returns a special proxy for Elem, which is called Side<X,Y> and which is meant to be more efficient than building the full Elem. Concerning the infinite elements, the build_side() function has evidently been implemented in terms of side(), see e.g. face_inf_quad4.h AutoPtr<Elem> build_side (const unsigned int i) const { AutoPtr<Elem> ap(this->side(i)); return ap;} In our work on the 1D functionality, we found it useful to generalize the side() method to return AutoPtr<DofObject> instead of AutoPtr<Elem> so that for 1D you can return an auto-pointer to a Node in e.g. find_neighbors() and maintain the same interface. My first question is whether it is possible to correctly implement build_side() for each of the infinite elements to return the proper Side<X,Y> object? It seems do-able, but I'd rather not waste time trying to figure out something someone else has already tried... -- John W. Peterson |