This could be useful to solve Euler equation with a DG method that employs a Riemann solver to compute the numerical fluxes (discontinuous at element faces-edges) without dealing with Godunov fluxes to compute the jacobian... Am I wrong?
Lorenzo 2008/2/1, Benjamin Kirk <[EMAIL PROTECTED]>: > > > Let me rewrite the expression you wrote as > > > > J*v = (F(u+epsilon*v)-F(u)) / epsilon > > > > Where epsilon is a small perturbation and F(u) is the nonlinear residual > > function and J is the jacobian matrix of the nonlinear system. The above > > formula compute the action of a Jacobian on a given vector, or more > > specifically the Krylov vector if you are using say GMRES or CG to solve > > your system. > > > That's absolutely true. To expound a little more, by definition > > F = F(U) > J = dF/dU > > J*v = [dF/dU]*v (1) > > which is simply the directional derivative of F (in the direction of v. As > specified above, you can approximate this matrix-vector product as > > J*v ~ (F(u+epsilon*v)-F(u)) / epsilon (2) > > In Krylov subspace methods the operation (1) occurs repeatedly at each > iteration. So, if you are willing to approximate it, you can use (2) > instead. > > There are a couple of reasons why you might want to do this: > - obviously, this finite difference of vectors eliminates the need > to store J, hence "matrix free" > - not to whine, but sometimes computing an accurate J is *hard* and/or > computationally intensive. It can be error-prone. Using (2) you get > > Now of course any hard problem will need preconditioning in the Krylov > solver. You can accomplish this in several ways... One would be to build > an approximate Jacobian and use ILU or the like. Now you have one matrix > instead of two. Also, this could be a much simpler matrix (block-diagonal > for certain cases), thus limiting the requirements. > > But there are other options too, allowing for a matrix free preconditioner > as well. These include Gauss-Siedel, Geometric multigrid, another Krylov > technique, etc... > > -Ben > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Libmesh-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libmesh-users > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
