Bruno,
another option is to just pack all of your variables into one FESystem and
DoFHandler, and solve the linear systems related to each variable one at a
time. That's basically the difference between step-31 and step-32: The former
has two DoFHandlers, one for the flow variables and one for the temperature,
and builds linear systems corresponding to each DoFHandler; on the other hand,
step-32 has only one DoFHandler that deals with *all* variables (velocity,
pressure, temperature), but when it comes time to build and solve linear
systems, it does so for only a subset of the variables.
Specifically, in the case of step-32, we set up a 3x3 block system matrix, and
when we build/solve the linear system for the flow problem, we just look at
the top left 2x2 set of blocks, whereas when we do the temperature problem, we
only look at the bottom right block of the matrix.
This approach can easily also deal with variables for which you don't want to
solve anything at all: You just add them to the FESystem and DoFHandler, but
when you set up the matrix, you just leave the corresponding matrix blocks
empty. You'll just have to come up with a different way of getting information
into the corresponding blocks of the solution vector.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/