On 07/26/2013 12:55 PM, Roy Stogner wrote:
>
> On Fri, 26 Jul 2013, Michael Povolotskyi wrote:
>
>> It seems to me that I'm doing something wrong with libmesh.
>
> Not "wrong", exactly, just unexpected.  The original libMesh design
> didn't all you to add_anything() after initialization (except as you
> discovered, accidentally) and we've been fixing that piecemeal as
> developers discover need to.
>
>> EquationSystems es(mesh);
>> es.add_system(...); //add fist system
>> es.init();
>> /* do domething with the first system*/
>>
>> es.add_system(...); //ad second system
>> es.init();
>> /* do domething with the second system*/
>>
>> this used to work in the old version, but now what happens is that the
>> second system has 2 times more DOFs than it should.
>> I modified my code in such a way that instead of initializing es, I'm
>> initializing just the newly created system.
>> This seems to work.
>>
>> My question:
>> when it is appropriate to initialize the System object, and when one has
>> to initialize the EquationSystems object?
>
> I believe the current behavior is exactly as you discovered: each
> System and EquationSystems needs be initialized only once, nothing but
> init() does that for you, and the EquationSystems object is only
> capable of passing down the initialization call to systems it already
> knows about.
>
> The proper behavior (based on our other fixed add_foo() APIs) would be
> for add_system() to check whether the EquationSystems is already
> initialized, and if so to initialize the new system at that time. I
> don't have time to work on that at the moment, but we'd love a patch
> implementing it (or if you're pressed for time too, just a simple unit
> test which verifies the current behavior so we don't accidentally
> regress it for you further in the future).
> ---
> Roy
Thank you for a prompt answer.
Let me clarify:
Is it correct and "supported" to do the following:
1) Create EquationSystems
2) add a System
3) initialize the System
4) add another system
5) initialize another system

Thank you.
Michael.






------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to