On Tue, 28 Sep 2010, John Peterson wrote:

> I have a local change fixing the setting of the time variable in the
> FEM/DiffContext.
>
> In order to do that, I needed access to the "deltat" variable from the
> System which created the FEMContext.
>
> The approach I'm currently using requires the creating System be
> derived from a FEMSystem, so that the existence of deltat is
> guaranteed.  We discussed moving deltat to System itself so that this
> assumption is no longer required, but IIRC correctly you weren't
> super-enthusiastic about that solution, since forcing a deltat
> parameter on the base System class (which may represent a steady set
> of equations) was less than desirable.
>
> Should I go ahead and move deltat to System, or did you have something
> else in mind?  Alternatively we could wait until after the release,
> but this does fix a potential bug in FEMContext so it might be good to
> get out now.

Damn, I'd forgotten about that one.  I'd rather fix it now, certainly;
otherwise we're killing higher-order time discretization accuracy for
anyone whose FEMSystem physics depends directly on t and not just on
d/dt.

Double damn.  I just realized I was describing an undiagnosed problem
that Paul Bauman saw; I'll Cc: this to him.


But although a bad fix would be better than no fix, I'd still like to
avoid an aesthetically bad fix, so let's try to brainstorm other
options first.

Perhaps give DiffContext a Real* _delta_t member variable, default
NULL, with setter/getter options?  build_context() in a DiffSystem
would assign that to the system delta_t, users with their own
transient systems could assign it instead to their own time step, and
we'd just have to test for NULL before using it within DiffContext or
a subclass.

David, any thoughts?  You and the other RB folks are probably the only
ones currently using DiffContext in transient systems other than
DiffSystem.
---
Roy

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to