On Tue, 5 Apr 2011, Derek Gaston wrote:
> On Apr 5, 2011, at 3:29 PM, Roy Stogner wrote: > >>> Nice guess! >>> >>> It turns out that just calling clean_refinement_flags() is enough. >>> Looking at uniformly refine it looks like it calls >>> clean_refinement_flags() at the beginning of the loop.... but maybe >>> it also needs to call it after the refinement loop. >> >> Wait, wait - I was skimming too fast earlier and didn't notice the >> initial uniform refinement; thought you were just doing an init >> followed immediately by a reinit. >> >> New question: are you doing more than one level of uniform refinement? >> If so, then you'll need to do them in a loop with reinit() in between >> each level; our project_vector() only handles one level at a time. > > I don't think this applies... we uniformly refine the mesh _before_ we create > our EquationSystems object... then we project the initial conditions on the > refined mesh. They never existed on the coarse mesh at all. > > _Then_ we're calling reinit()->prolong_vectors() and it's doing the wrong > thing.... > > Also... it is fixed just by adding that clean_refinement_flags() call... Okay. But the problem isn't that uniformly_refine() needs to call clean_refinement_flags() - that would fix the uniformly_refine-then-read-then-reinit case, but it would break the read-then-uniformly_refine-then-reinit case; those flags are the only way reinit() knows it needs to do a projection from the coarse mesh! I believe the right fix would be a clean_refinement_flags() at the end of the step which actually makes that projection unnecessary - the EquationSystems::read(). Give that a try? --- Roy ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
