Hello Christian,

yes, that should be the case. But up to now one can put into the hp::FECollection whatever one likes to, e.g. one FESystem (FE_Q, 2, FE_Q, 1) and one FE_Q, and activate them on different cells. Then there cannot come out anything useful from DoFTools::count_dofs_per_block. This should be prevented by some checks, if one wants to add this functionality.

Best Regards,
Markus



Am 16.03.11 09:00, schrieb Christian Goll:
Hi Markus,

Quoting Markus Bürg <[email protected]>:

Hello Christian,

you are right, unfortunately this concept is not easy to implement for
the hp-context, because for example it might be the case that there are
different-sized FESystems in the hp::FECollection. Anyway this does not
mean that it is impossible. One just has to take much more care than in
the non-hp-context. If you want to work on this, I would be glad to
help you with the implementation.

Best Regards,
Markus

as I intend to 'abuse' the hp-concept to allow for a discontinuity in my solution on an interface in the interior of my domain (see problem below), so I will give it some thought and come back to your offer. Just one question: What do you mean by "different-sized FESystems"? The number of components must be the same for every FESystem in a FECollection, or have I misunderstood you?

best regards,
christian




Am 15.03.11 17:53, schrieb Christian Goll:
Hi Markus,

I am particularly interested in DoFTools::count_dofs_per_block, which does not exist for a hp::DoFHandler. Further investigation in this direction brought me to the assumption, that the whole concept of grouping components into a block is missing in the hp-context, i.e. in the non-hp-case, the number of blocks is stored in FiniteElementData, which is a base class of FiniteElement, but I did not find something similiar for the FECollection.

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




Quoting Thomas Carraro <[email protected]>
I have two domains (Omega_1 and Omega_2), in both of them I have only one >variable (u_1 resp. u_2), that has a discontinuity on the interface between >the two domains, i.e.

in "Omega_1" we have

"u_1 != 0" and "u_2 = 0"

in "Omega_2" we have

"u_1 = 0" and "u_2 != 0"

so I actually need double degrees of freedom at the interface.

The idea was to use a hp_collector like

 fe_1 ( FE_Q<dim>(1), 1,  FE_Nothing<dim>(), 1 ),
 fe_2 ( FE_Nothing<dim>(), 1,  FE_Q<dim>(1), 1 ),

 fe_collection.push_back (fe_1);
 fe_collection.push_back (fe_2);

in this way we would have double degrees of freedom only on the interface



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

Reply via email to