Forum Message

 

 

We have moved the forum to https://forum.ngsolve.org . This is an archived version of the topics until 05/05/23. All the topics were moved to the new forum and conversations can be continued there. This forum is just kept as legacy to not invalidate old links. If you want to continue a conversation just look for the topic in the new forum.

Notice

The forum is in read only mode.

using orderinner with H1 space

More
5 years 6 months ago #1189 by rhebergens
Hello,

I saw in this example that it is possible to set orderinner=0 on HDiv spaces:
ngsolve.org/docu/nightly/i-tutorials/uni...der/fourthorder.html

I tried setting orderinner=0 on an H1 space, but I get the error message:

WARNING: kwarg 'orderinner' is an undocumented flags option for class <class 'ngsolve.comp.H1'>, maybe there is a typo?

I was wondering if there may be a different way to remove the inner basisfunctions of H1?

Thanks,
Sander
More
5 years 6 months ago #1190 by joachim
Hi Sander,

Although it is undocumented, "orderinner" for H1 should work as well.

As in 2.6 Stokes equation, you can set the order for node-types:

V = H1(mesh, order=2, dirichlet="wall|inlet|cyl")
V.SetOrder(TRIG,3)

With V.SetOrder(TRIG,1) you disable the interior bubbles for triangular elements in 2D , and triangular faces in 3D.

To see what you get you can explore the dofs of elements and nodes, see the tutorial here:

ngsolve.org/docu/latest/i-tutorials/unit...ntId-and-Ngs_Element

Best,
Joachim
More
5 years 6 months ago #1191 by rhebergens
Hi Joachim,

Thanks for the response. So both
Code:
V = H1(mesh, order=order, dirichlet="bottom|right|top|left") V.SetOrder(TRIG,1)

and
Code:
V = H1(mesh, order=order, orderinner=0, dirichlet="bottom|right|top|left")

should give the same result and I can just ignore the warning

WARNING: kwarg 'orderinner' is an undocumented flags option for class <class 'ngsolve.comp.H1'>, maybe there is a typo?

A follow up question, if I explore the dofs using
Code:
for el in V.Elements(VOL): print(type(el)) print (el.dofs)

I find whether I use
Code:
V.SetOrder(TRIG,1)
or
Code:
V.SetOrder(TRIG,2)
, the same dofs are printed to screen. Is it correct to assume that although the dofs for
Code:
V.SetOrder(TRIG,1)
are printed to screen, they are not actually used?

Thanks,
Sander
More
5 years 6 months ago #1192 by joachim
you get a difference if you set
Code:
V.SetOrder(TRIG,3)
or higher.

H1 - trig-bubbles start with order 3

The order on the edges can be set by:
Code:
V.SetOrder(SEGM,2)

- Joachim
The following user(s) said Thank You: rhebergens
Time to create page: 0.109 seconds