If you're not using FEMSystem subclasses with formulations whose
implementations require overriding mass_residual (e.g. SUPG
stabilization), this change doesn't affect you and you can disregard
this message.

If you are using such implementations, your name is probably John
Peterson, we've already discussed this by private email, and you can
disregard this message.


Just in case there are more affected users out there (or in case
anyone has suggestions or questions, or just because I like to hear
myself talk):

Currently, FEMSystem::mass_residual() is evaluated with elem_solution
equal to the start or the end values at a timestep, and those two
evaluations are finite differenced to get the time derivative terms in
a formulation.  That works great based on the assumption that the
start and end values are integrated on elements of the same size.

Mesh motion can cause elements to expand or contract, breaking that
assumption.  To properly do time integration on moving meshes, I'll be
changing the TimeSolver implementations to call mass_residual() with
elem_solution equal to the difference between two timesteps' values.

For most codes (which can just use the default FEMSystem
implementation of mass_residual) no changes are necessary.

For codes with only linear stabilization terms (like our shallow water
code, John; it looks like I was wrong when said before that I thought
it was vulnerable) no changes are necessary.

Even codes with nonlinear stabilization terms which are properly
written (to use elem_fixed_solution rather than elem_solution for the
parts in test functions) should continue to work correctly.

But: any incorrectly written nonlinear stabilization terms will change
from "just slightly inconsistent" to "unstabilized or horribly
broken".  Try to think of that as a good opportunity to fix them.
---
Roy

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to