On 4/11/23 08:26, Greg Wang wrote:
I grepped anisotropic refinement related funtion names from
tutorial programs and only found step-30. Indeed as you observed,
it’s a DG finite element with L2 conformity, hence sparing
AffineConstraint. It appears get_dpo_vector is implemented
relatively
trivially <https://dealii.org/current/doxygen/deal.II/fe__dgq_8cc_source.html#l00183>
for these FEs such that n_dofs_per_face would return 0. The
make_hp_hanging_node_constraints function would have therefore
ignored <https://dealii.org/current/doxygen/deal.II/dof__tools__constraints_8cc_source.html#l01096>
them anyways.

    No, the old-style way just needs to go. What is missing is that
    the hp function needs to learn how to do anisotropic
    refinement.

After going through the hp-paper and the
make_hp_hanging_node_constraints function, it seems that, at
least for my current purposes, a lot of code won’t be triggered
since my dofhandlers are not hp capable and hence all affine
constraints fall under the /simple case/ in the hp paper. Though
I’m not sure how susceptible the simple case code would be to the
complications anisotropic refinement brings in step-30. I’ll
spend more time looking into it.

Greg:
thanks for poking around and reminding me what works and what doesn't. I believe that what you found means that the "new-style" (hp-style) function we like to use just doesn't support anisotropic refinement at all. We should probably put a better assertion error message into the relevant places.

I suspect that making it work would require quite a lot of work because the finite elements simply do not provide the kind of information this function would require if one wanted to implement anisotropic refinement. I don't know how much time you want to spend on it -- if you were interested, I could try and point out what finite elements would need to provide, and you could see how one would implement that. But I don't want to give the impression that that would be an easy fix.

What you could try, if you wanted, is to see what it would take to make your case work with the old function. It is conceivable that that, too, would require a lot of work -- I just don't know that function well enough any more.

I'm sorry I don't have better news :-(

Best
 Wolfgang


--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/


--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/73651f08-8c6b-fc5a-6a1e-46548de2f38e%40colostate.edu.

Reply via email to