On Tue, 23 May 2017, Salazar De Troya, Miguel wrote: > I want to use different discretization for the control and the state > variable in an optimization problem. Is this possible in libMesh?
You can get uniformly different discretizations by using different finite element types, but for any truly independent adaptive refinement you'll need multiple Mesh objects. > I could imagine that having two different meshes would be expensive > because for each Gaussian point in the state mesh we would have to > find the corresponding element/s in the control mesh. Right. Trying to do this on the fly with point locators would turn your O(N) assembly functions into O(N log N), so you'd want to keep a lookup table cached. > Maybe both meshes could be actually the same mesh data structure, > but they are defined by different depth levels. For instance, the > control elements could be children of a state element. Is this > feasible to implement? Yes, but not easily. This was actually one of the goals behind the idea of "subactive" elements, and it would be possible to redefine the ancestor/active/subactive methods to take a "view number", while adding additional complexity to the refinement_flag settings to accomodate multiple views... But this would require changes in hundreds of places in libMesh. I wouldn't recommend trying it until *after* you have multi-Mesh results, and even then only if you're sure you need more memory efficiency. --- Roy ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users