On Mon, 8 Dec 2008, jurak wrote: > Roy Stogner wrote: > >> On Mon, 8 Dec 2008, jurak wrote:
>>> while before one could also solve >>> d/dt M(x) = F(x), >>> with nonlinear M. The reason is that now the function forms residual >>> R = dt F(x_theta) + M(x_old - x) >>> while before it would form: >>> R = dt F(x_theta) + M(x_old) - M(x). >> >> Yes; it was necessary to get correct results on moving-mesh problems >> where the size of an element might change between x_old and x. >> >>> I would like to be able to treat nonlinearity in time derivative >>> term. >> >> You might have to turn on and use the "elem_fixed_solution" which we >> put in for use in stabilized formulations. That'll be equal to the >> theta_solution in an EulerSolver run. > > I think that I understand. > > By using "elem_fixed_solution" I get "x_theta = theta*x+(1-theta)*x_old", Right. > and from "elem_solution" I get " x_old - x". Right. > Then one can recover "x_old" and "x" and "mass_residual()" > function calculates M(x_old) - M(x). I'd thought of just calculating (dM/dx)(x_theta) * (x_old-x), which is more in the spirit of the EulerSolver; calculating M(x_old)-M(x) is more like the integration that occurs in the Euler2Solver. But as long as you're using a fixed mesh, doing either (or mixing and matching) should work, and if the nonlinearities in your problem are bad enough then M(x_old)-M(x) is likely to be more robust. On moving-mesh problems, I think the robust & accurate way to theta-integrate a nonlinear mass matrix would be ((1-theta)*(dM/dx)(x_old)+(theta)*(dM/dx)(x))*(x_old-x). The Euler2Solver + FEMSystem API doesn't currently make doing that very easy... This is one reason I've been procrastinating making the FEMContext API changes that FEMSystem needs; I'd like to figure out how to really get it right this time. --- Roy ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
