Thanks Roy... I'll give the init() one a bit more thought... but if I  
can't find a better place to cut it off.... then I'll just commit it  
where it is.

Derek

On Apr 4, 2009, at 6:33 AM, Roy Stogner wrote:

>
> On Fri, 3 Apr 2009, Derek Gaston wrote:
>
>> Essentially it's just a short-circuiting before the
>> user_initialization() call.
>
> Why not after user_initialization()?  If a system with no variables is
> being initialized, the user's doing something weird, and we should
> allow the user to be weird as flexibly as possible.  ;-)
>
>> The problem is that project_vector doesn't work properly with zero
>> variables in the system... this fixes it.
>
> How does short-circuiting System::init and System::reinit fix that,
> though?  We're calling project_vector from EquationSystems::reinit.
>
> I'd also rather fix project_vector for the no-variables case, but if
> your workaround is sufficient it sounds much much easier.
>
>> I've also made the same change to System::reinit()... just short
>> circuiting the whole function.... there really is no reason to do any
>> reiniting if there are no variables in the system....
>
> For that matter, it looks like we've got some "no reason *ever* for
> the reinit call to still exist" situations lying around!
>
> EigenSystem::reinit just calls Parent::reinit; that would have been
> achieved anyway by just not overriding the virtual function again.
> ExplicitSystem and TransientSystem are the same way now that rhs,
> old_local_solution, etc are registered with add_vector rather than
> initialized separatedly.  NewmarkSystem::reinit() is a libmesh_error()
> for some reason
>
>> With these two changes I can now properly debug runs containing a
>> System without variables...
>
> And they're just "if (!nvars) return;" cases that definitely shouldn't
> affect anyone else's usage.
>
> I'd say go ahead and commit them, but thanks for the warning.
> ---
> Roy


------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to