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

Reply via email to