Guidance on the feasibility of implementing the HCT element in deal.II

55 views
Skip to first unread message

Tom Jackson

unread,
Sep 18, 2025, 6:28:55 AM (5 days ago) Sep 18
to deal.II User Group
Dear deal.ii community,

I hope this message finds you well.

I am a student working on a project involving fourth-order PDEs (specifically, Kirchhoff plate problems), where C1-continuous finite elements are traditionally used. I understand that deal.ii does not have built-in C1 elements, and my project would benefit greatly from the Hsieh-Clough-Tocher (HCT) element.

Therefore, I am writing to explore the feasibility of implementing the HCT element myself. My current understanding is that this would require creating a new class, `FE_HCT`, and defining its behavior in corresponding `fe_hct.h` and `fe_hct.cc` files, following the instructions in The deal.II FAQ :

“The actual implementation would most conveniently start from the `FE_Poly` class. You first implement the necessary polynomial space in the base library, then you derive `FE_Your_FE_Name` from `FE_Poly` (using your new polynomial class as a template) and add the connectivity information.”

I would greatly appreciate any high-level guidance on the implementation process, the potential challenges of developing such a complex composite element, and whether it is realistically feasible for an individual developer to accomplish this task.

Thank you for your time and for maintaining this excellent library. Insights you can provide on the implementation path or feasibility analysis would be immensely helpful.

Best regards,

Tom Jackson

Wolfgang Bangerth

unread,
Sep 18, 2025, 11:16:56 AM (5 days ago) Sep 18
to dea...@googlegroups.com
On 9/18/25 02:56, Tom Jackson wrote:
>
> I am a student working on a project involving fourth-order PDEs (specifically,
> Kirchhoff plate problems), where C1-continuous finite elements are
> traditionally used. I understand that deal.ii does not have built-in C1
> elements, and my project would benefit greatly from the *Hsieh-Clough-Tocher
> (HCT)* element.
>
> Therefore, I am writing to explore the feasibility of implementing the HCT
> element myself. My current understanding is that this would require creating a
> new class, `FE_HCT`, and defining its behavior in corresponding `fe_hct.h` and
> `fe_hct.cc` files, following the instructions in /The deal.II FAQ/ :
>
> /“The actual implementation would most conveniently start from the `FE_Poly`
> class. You first implement the necessary polynomial space in the base library,
> then you derive `FE_Your_FE_Name` from `FE_Poly` (using your new polynomial
> class as a template) and add the connectivity information.”/
>
> I would greatly appreciate any high-level guidance on the implementation
> process, the potential challenges of developing such a complex composite
> element, and whether it is realistically feasible for an individual developer
> to accomplish this task.
>
> Thank you for your time and for maintaining this excellent library. Insights
> you can provide on the implementation path or feasibility analysis would be
> immensely helpful.

Tom:
it is certainly feasible to write a new element. Plenty of people have done
it. That said, the key problem with these C^1 elements is that their degrees
of freedom involve derivatives, and it is difficult to implement things in a
way that allows solving problems on more than a uniformly structured grid. I
would expect someone without prior experience in writing elements to spend
several months of full-time work on this (perhaps in the range of 3-6 months,
but maybe not more than that). We would be happy to help out with questions,
of course.

That said: There are several tutorial programs that show how to solve
fourth-order problems without using "exotic" elements. What is stopping you
from using those?

Best
W.

Tom Jackson

unread,
Sep 19, 2025, 6:59:55 AM (4 days ago) Sep 19
to deal.II User Group
Dear Professor Bangerth:

Thank you very much for your prompt and incredibly helpful response. Your insights on the complexity, especially regarding the derivative-based DoFs on non-uniform grids, and the 3-6 month time estimate are invaluable. This gives me a much more realistic perspective on the challenge, and I sincerely appreciate you sharing your expertise.

To answer your question about why I'm considering this path: a key part of my research involves a direct numerical comparison between the classical C1 conforming approach (like HCT element) and other alternative C0 methods (e.g. step-47). The goal is to analyze and contrast their performance on the specific type of plate problems I am studying.

Thank you again for your generous offer to help with questions. It means a lot to know that support is available from the development team. Should the HCT implementation prove to be a necessary step later in my research, I will be sure to reach out.

I truly appreciate your guidance.

Best regards,

Tom

Wolfgang Bangerth

unread,
Sep 19, 2025, 12:24:00 PM (4 days ago) Sep 19
to dea...@googlegroups.com

Tom:

> To answer your question about why I'm considering this path: a key part of my
> research involves a direct numerical comparison between the classical C1
> conforming approach (like HCT element) and other alternative C0 methods (e.g.
> step-47). The goal is to analyze and contrast their performance on the
> specific type of plate problems I am studying.

You might be better served with other software if all you want to do is
compare different formulations. Rob Kirby (with colleagues) has written a
paper implementing various C1 elements, and you might want to take a look at
what they have and see whether you can adapt that for your purpose. FEniCS
(the software they use) has all of these elements already, and you can
probably save yourself a lot of time by using their work.

If you figure out that you really do want to use C1 elements for production
computations, that's the point where you can then think about implementing
them in deal.II.


> Thank you again for your generous offer to help with questions. It means a lot
> to know that support is available from the development team. Should the HCT
> implementation prove to be a necessary step later in my research, I will be
> sure to reach out.

Please do!

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Tom Jackson

unread,
Sep 20, 2025, 12:05:19 AM (3 days ago) Sep 20
to deal.II User Group
Dear Professor Bangerth:

Thank you for the suggestions and for pointing me to Rob Kirby's work and FEniCS. I will definitely look into their paper and existing implementations.

I really appreciate all your help and guidance.

Best regards,

Tom
Reply all
Reply to author
Forward
0 new messages