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

Reply via email to