Elmer p-adaptivity

Numerical methods and mathematical models of Elmer
mika
Posts: 253
Joined: 15 Sep 2009, 07:44

Re: Elmer p-adaptivity

Post by mika »

Hi,

Although Elmer offers ways to build discretizations based on p-elements, it is not guaranteed that all existing solvers support this option without modifying the solver code. By a quick inspection, I would say that the HeatSolve.src does not have a ready functionality for making p-discretizations. A simple example solver that has the required functionality may be found at the directory ../fem/tests/PoissonPFEM. The modifications of the mesh.elements file shown above should basically be ok.

Best regards,
Mika
udeng85
Posts: 45
Joined: 20 Sep 2010, 06:23

Re: Elmer p-adaptivity

Post by udeng85 »

Hi,

Thanks Mika for the response. This really provide much more insight on the construction of p-element in Elmer. Can you give me some advice on which part of the code requires changing to include the effect of high order p-element on the heatsolver?

For your information, I've already changed the part of the code to include the effect of high order element specifically on both of the keywords below:

1) "Solver % Def_Dofs" that reads in the "Element = p:2" and then begin the 2nd order p-element --> this part is important for p-element and will result in changes in "InitialPermutation" and "CreateMatrix" subroutine
2) "Indofs" that reads in the "303p2" and then starts the implementation of 2nd order p-element

The code that I've change ensures that if either of the the keyword "303p2 or Element=p:2" are included, both will results in the increase in matrix size(as a result of p-element) in Subroutine "InitialPermutation" and "CreateMatrix". This was my first attempt to repair heatsolve solver to include the effect of high order p-element and it doesn't seem to work for constructions of different order of p-element.

Hope to hear some answers soon. tq.
raback
Site Admin
Posts: 4866
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Elmer p-adaptivity

Post by raback »

Hi

Some critical lines of the p-core are:

Code: Select all

n  = GetElementNOFNodes()
nd = GetElementNOFDOFs()
So the number of nodes and the number of dofs are not the same. This will be reflected in many places of the code.

You should not have to do any low level modifications. Just take use of the higher level subroutines that do not assume nodal elements. Probably you matrix structure is already ok, the p-dofs are just not treated properly which results to impossible equation of type 0*x=0.

Of course, this would be something for us to upgrade the solvers to p-elements. I recently did it for StatElecSolver and StatCurrentSolver and it does not take that much time, if you know roughly what needs to be done.

-Peter
udeng85
Posts: 45
Joined: 20 Sep 2010, 06:23

Re: Elmer p-adaptivity

Post by udeng85 »

Hi,

Thank again Peter for your answer. As usual you insights did help increased my understanding of Elmer codes. At the moment, I am using:

1) HeatSolver (L-shaped p-adapt)
2) FlowSolver and ElasticSolver for the FSI testcase

I noticed that only FlowSolver are at the moment capable to be used with p-element. Will anyone in Elmer team be upgrading the current HeatSolver and ElasticSolver so that it have p-element capability?

Hope to hear some answers soon and better yet some help with the current code. TQ
Post Reply