Dear Heitor,
> I am trying to adapt step-31 to solve a Boussinesq problem with a > time-dependent Stokes equation instead of the original time > independent one. If you have a time-dependent Stokes equation, then the velocity-velocity matrix is built from terms like u + dt * eta * grad^2 u This changes the Schur complement and, hence, the preconditioner that's appropriate. For stationary Stokes, the result was just a mass matrix (div * (grad^2)^-1 * grad \approx I, which gives something like a mass matrix, corresponding to B A^-1 B^T \approx M_p in the discussion of step-31). Now, the result is something like div * (I + dt * eta * grad^2) ^ -1 * grad \approx grad^2 + dt * eta * I This means that you have to change the preconditioner matrix in a corresponding way. You might use the approximation S^-1 = (B A^-1 B^T)^-1 \approx L_p^-1 + dt * eta * (M_p)^-1, where L_p is a Laplace matrix on the pressure (!) space and M_p is a mass matrix on the pressure space. Note that I've been doing crude approximations by interchanging sum and inversion at two points, which is certainly not totally correct! But after all, we're just building preconditioners. My recommendation is to modify step-31 rather than using TrilinosWrapper::PreconditionStokes (I wrote that preconditioner some time ago, but actually I'm not sure if we'll keep it in the library since you simply cannot make a Stokes preconditioning purely black-box, you'll always have to think first what you're doing). That will keep your eyes open. BTW: PreconditionStokes would do the above approximation in a slightly different form than what I've written in the above, and you'd need one more matrix... So what you'll need to do is to create a Laplace matrix on the pressure space besides that mass matrix that is created in the tutorial, and then you insert that change into BlockSchurPreconditioner in step-31. One thing to think about is which boundary conditions one should set on the pressure Laplace matrix... Best, Martin _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
