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

Reply via email to