[dune-functions] New example for Taylor-Hood elements
Oliver Sander
sander at igpm.rwth-aachen.de
Thu Apr 2 14:28:42 CEST 2015
Hi guys,
I just added a second example file to our /examples directory. This one is intended
to show how function space bases with non-trivial tree are used. The code discretizes
the Stokes equation with a Taylor-Hood basis. The setting is the well-known driven-
cavity problem: a unit square, no source term, homogeneneous Dirichlet boundary
conditions on three sides of the square, constant (non-zero) Dirichlet bc on the forth side.
Have a look at the example if you find the time. If you think that I did anything in
a suboptimal way feel free to push patches.
Unfortunately, when writing the example I found several situations where we are still
lacking infrastructure:
- Apparently there is no solver for such a problem in dune-istl. I'd volunteer to add
such a solver, but I am unsure exactly what type of solver to implement. A preconditioned
Uzawa? Please advice.
- While the TaylorHoodBasis class is sufficient to assemble the algebraic problem,
it is not sufficient for pre- and post-processing. How do you get the velocity
part of a solution into a vtk file? Currently, the code instantiates a separate
PQ2NodalBasis object for this, but what we really want is something like 'view objects'
on given bases, that allow to extract subtrees and the corresponding coefficients.
- Same for interpolation: To find the Dirichlet dofs I need to interpolate the identity
function on the velocity basis. This is currently not possible.
Finally, there are some issues regarding the linear algebra.
- The matrix data structure is now Matrix<BCRSMatrix<FieldMatrix<double,1,1> > >.
This still ignores quite a bit of structure of the occupation pattern. This is
unfortunate, because we claim that dune-functions and in particular dune-istl
is all about using this structure.
- The type for coefficient vectors is FieldVector<BlockVector<FieldVector> >.
Strictly speaking this is against the rules, as FieldVectors are supposed
to end recursion.
Cheers,
Oliver
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune-functions/attachments/20150402/31c8b634/attachment.sig>
More information about the dune-functions
mailing list