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.

Higher-Order FESpace mapped on mesh nodes

More
2 years 5 months ago #4077 by ekarabelas
Hello,
I was wondering if there are routines in NGSolve to evaluate a FE-Function based on a higher order polynomial space (like the P2 in the Taylor-Hood Element) on the nodes of a mesh? I know, there is a VTK output routine, but this writes Files and I would like to evaluate the function in python and use it then as numpy-array for something else.

Best Regards
Elias
More
2 years 5 months ago #4078 by christopher
Hi, yes you can create a numpy array of evaluation - points by giving an array of coordinates to the mesh and then put this array into the coefficientfunction to evaluate it:
Code:
xvals = np.linspace(0, 1, 1000) pts = mesh(xvals, 0, 0) vals = cf(pts)

Best
Christopher
More
2 years 5 months ago #4079 by joachim
An alternativ is to define points on the reference element, and evaluate the function on the mapped points, simultaneously on all elements:
Code:
pts = mesh.MapToAllElements({ngs.ET.TRIG: ir_trig, ngs.ET.QUAD: ir_quad}, vb) values = func(pts)

We use this in the webgui, see
github.com/NGSolve/ngsolve/blob/master/python/webgui.py
line 250

Joachim
More
2 years 5 months ago #4082 by ekarabelas
Dear Joachim, dear Christopher,
thanks for the quick reply I will try this out.
Thanks
Elias
More
2 years 5 months ago #4083 by ekarabelas
One additional thing that wasn't clear to me. When you guys speak of CoefficientFunction this is the same as a FE-Solution?
More
2 years 5 months ago - 2 years 5 months ago #4084 by christopher
Yes, a fe solution GridFunction is derived from CoefficientFunction, so allows to evaluate itself like a CoefficientFunction. CoefficientFunction is any function on the mesh, like for example the coordinate-CFs x, y and z.

Also grad(u) is a coefficientfunction, also x * sin(u), ...

All of these function can be evaluated on points in the mesh.
Last edit: 2 years 5 months ago by christopher.
Time to create page: 0.126 seconds