On Thu, 10 May 2012, John Peterson wrote:
On Thu, May 10, 2012 at 4:37 PM, Roy Stogner <royst...@ices.utexas.edu> wrote:So, 2.: Do we create FEAbstract, which doesn't include *phi* data or get_*phi* methods, then derive FEBase and FEVectorBase from it? Or do we just add get_vec_*phi* methods (and vec_*phi data) to FEBase?The former sounds pretty good. Might make it a little inconvenient to switch between FEBase and FEVectorBase *within the same code* but how often are you mixing scalar and vector FE types with the same assembly loop?
Right. Utility codes would need to be changed (e.g. I have a code for visualizing smoothed gradients of arbitrary restart files) before they could handle loading systems with vector-valued FE spaces, but app codes wouldn't encounter such a space unless the app itself created it. Some of the library code will need modification (anything that uses projections, either for their own sake or to calculate constraints), and I'm still trying to figure out if there's a smooth way to do vector/scalar-independent ErrorEstimator code.
Would e.g. the FEMSystem hold a pointer to FEAbstract and then dynamically allocate the proper underlying derived type based on what the types of variables were added?
FEMContext, you mean? In hindsight we shouldn't be exposing element_fe etc. without hiding them behind accessors. We'll probably have to have leave those targets as FEBase* for backwards compatibility, but add FEVectorBase* map/vector structures for any vector-valued variables, possibly along with proper accessor methods for newer codes to use. --- Roy
------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel