Bärbel,

> We would like to use a system which consists of three blocks, e.g. (v,u,p) 
> where v are the velocity components, u dispacement and p pressure.
> 
> Everything works fine if we select only the velocity components. But it 
> doesn't work if we select the displacements only. We would like to fix 
> this lack.
> 
> Therefore we would like to know what has to be written into the output 
> vector constant_modes.

I you have not resolved the problem yet: The vector constant_modes
contains as many vectors as there are 'true' arguments in the
component_select mask. For your example with (v,u,p), you will use
component_select = (0,0,1,1,0) for a 2D problem. Then, constant_modes[0]
should contain ones (true values) in all the DoFs that are associated
with the first displacement component, filtering away the velocities and
the pressure. For the 2D example, we should have:
constant_modes[0] = [1 0 1 0 1 0 1 0 ... 1 0]
constant_modes[1] = [0 1 0 1 0 1 0 1 ... 0 1]

Regarding the problem in the function, I think you need to adjust how we
select constant_modes[0] and constant_modes[1], i.e., the definition of
which component we write into, in deal.II/source/dofs/dof_tools.cc
around line 3785. Can you try that? Does this give the desired result?
Can you check that in if it works?

Best,
Martin


_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to