On Feb 21, 2013, at 3:25 PM, Roy Stogner <[email protected]> wrote:
>
>> Additionally, within the existing framework, how does one account for
>> *nonlinear* systems that have a mass matrix
>>
>> [M] du/dt = f(u)
>
> Right now, we allow you to request an "elem_fixed_solution" that can
> be used for either low-order time integration of nonlinear mass
> matrices or for nonlinear stabilization in test functions. We're
> actually planning a (backwards-incompatible, unfortunately) change in
> this API, to make it less unnecessarily confusing and to allow for
> higher-order time integration of nonlinear mass matrices and/or for
> nonlinear mass matrices with nonlinear stabilization in test
> functions. If you'd like, I could probably push that change up higher
> on my todo list.
>
OK, I think I may have started to understand this a little better now (although
still a little confused). Please correct me as you see fit.
I see that the method mass_residual is used in the classes Euler_Solver and
Euler2_Solver.
What is throwing me off is that the class documentation of Euler2_Solver says:
* Euler solves u' = f(theta*u_new + (1-theta)*u_old),
* Euler2 solves u' = theta*f(u_new) + (1-theta)*f(u_old)
which seems to imply that no mass matrix is accounted for. Are the u and f(u)
here the solution after discretization, or before discretization?
My current guess is that the u' in these equations should actually be replaced
with the product [M] u' , like one would encounter post-discretization. What is
your assessment?
Also, while going through the code, I came across the following in
euler_solver.C (lines 124-129)
// We do a trick here to avoid using a non-1
// elem_solution_derivative:
context.elem_jacobian *= -1.0;
jacobian_computed = _system.mass_residual(jacobian_computed, context) &&
jacobian_computed;
context.elem_jacobian *= -1.0;
What is the need to multiply the elem_jacobian by -1.0 both before and after
the function call? Wouldn't the call to mass_residual overwrite the
elem_jacobian anyways?
Thanks,
Manav
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users