How can I use Q2-P1dc element pair in a quadrilateral mesh to solve Stokes?

More
3 years 7 months ago #3650 by Younghigh
Hi, all

In NGSolve, it provides Pk element w.r.t. a triangulation, or Qk element w.r.t. a quadrilateral mesh. To solve Stokes equation, we try to use Q2-P1dc in a quadrilateral mesh. Is there a method in NGSolve to set P1dc element space for pressure in a quadrilateral mesh?


Best,
Di Yang
More
3 years 7 months ago #3651 by Guosheng Fu
Hi Di Yang,

You can hack the Q1 L2 space by removing the bilinear parts. Below is a working example.

Best,
Guosheng
Attachments:
More
3 years 7 months ago - 3 years 7 months ago #3652 by Younghigh
Thank u very much. By the way, does NGSolve provide high order BDFM element directly? If not, how can I design it just in NGSolve instead of using other platforms?

The BDFM element is a reduced element from BDM element. Because I have no idea how BDM is designed in the core of NGSolve developing, how to obtain BDFM elements in quadrilateral meshes is still an open issue for me.
Last edit: 3 years 7 months ago by Younghigh.
More
3 years 7 months ago #3653 by Guosheng Fu
I think you can hack a vectorQk+1 space to get a DG version of the BDFMk space on quads (no hdiv-conformity), just removing unwanted high order DOFs.

You can take a look at this thesis for the construction of basis function in ngsolve
www.numa.uni-linz.ac.at/Teaching/PhD/Finished/zaglmayr

All the finite elements are in the source file
github.com/NGSolve/ngsolve/tree/master/fem
The following user(s) said Thank You: Younghigh
More
3 years 7 months ago #3662 by Younghigh
How is the Qk element L2basis ranked? Is there a law about its ranking?
More
3 years 7 months ago #3679 by Younghigh
Thank u for my coding. But I am still confused how to hack a vector Q{k+1} space to get a DG version of the BDFMk space on quads. The scalar Qk+1 space is easy to implement but for a vector space, what is the structure of its basis?

(Q1)^2=span{(1,0), (x,0), (y,0), (x*y,0), (0,1), (0,x), (0,y), (0,x*y)},
please tell me how to hack it in the codes to get DG version of BDFM1 space. Note that dim(BDFM1)=4 by the way.
Time to create page: 0.105 seconds