Matthias,

In the off-chance that the various mesh components (node sets, line-sets, surface facet sets, ...) have been written to the simulation results output as distinct displayable graphics objects, you might be able to use the PV Extract Block filter to get the 3-D volume "separated" from the other mesh objects, and, then use PV's Gradient filter?

(I routinely do this via EnSight's PART-construct for my simulation results output.)

Sam Key


On 9/27/2016 9:43 AM, Zenker, Dr. Matthias wrote:

Hi again,

 

I have examined my mesh (which you can find in the attachment) with Salome and gmsh – there are no flat faces at the boundaries. But there are line elements! So I am relieved as far as my worried questions in the last mail are concerned – mesher and the FEM solver are doing their work as they should.

But IMO it makes no sense to compute the derivatives over the line elements and average it with the derivatives over the face elements. Is it possible that this is exactly what happens in the gradient filter (and in the computederivative + celldatatopointdata filters)? If so, why? And can that be switched off, as IMO it should?

Or, to put it differently: Apparently ParaView does not make a difference between a line and a face. Why is this so? Shouldn’t it do that?

 

Thanks for a clarification,

 

Matthias

 

 

Von: Zenker, Dr. Matthias
Gesendet: Dienstag, 27. September 2016 17:00
An: 'Moreland, Kenneth'
Cc: paraview@paraview.org
B
etreff: AW: [Paraview] Gradient filter: boundary effects

 

Hi Ken,

 

thank you for pointing this out! I was not aware that boundary lines are also inifinitely flat cells. This seems true for all boundaries, also the internal boundaries between the two faces.

The question for me is now: Is this normal, or does that mean that the whole FEM simulation is corrupt? Should I have a mesh that does not have those line cells? The mesh has been calculated by the Salome mesher, which uses netgen. The boundaries were declared as groups. The mesh has then been exported as unv, imported by Elmer which has done the FEM calculations, and saved the results as vtu. If those line cells represent a problem, where in this chain do I have to look for the mistake?

 

Matthias

 

Von: Moreland, Kenneth [mailto:kmo...@sandia.gov]
Gesendet: Dienstag, 27. September 2016 16:41
An: Zenker
, Dr. Matthias
Cc: paraview@paraview.org
Betreff: Re: [Paraview] Gradient filter: boundary effects

 

Matthias,

 

As I suspected, your data has some boundary elements that are throwing off the gradient calculation. The data you sent me has line cells around the boarder of the data. The easiest way to see these line cells is to go to the Properties panel and change the “Line Width” parameter to something large. (Attached is an image that shows the boundary cells by setting the line width to 20.)

 

So in the example you gave, the gradient is computed correctly in the triangles, but the finite differences computation for the line cells can only compute the gradient in the direction of the line. Thus, there is no y component for the gradient in these line cells. Because the line cells share the points of the triangles along the bottom, the gradient average becomes incorrect.

 

-Ken

 

 

From: "Zenker, Dr. Matthias" <matthias.zen...@erbe-med.com>
Date: Tuesday, September 27, 2016 at 9:51 AM
To: "Moreland, Kenneth" <kmo...@sandia.gov>
Cc: "paraview@paraview.org" <paraview@paraview.org>
Subject: [EXTERNAL] AW: [Paraview] Gradient filter: boundary effects

 

Hi Ken,

 

if you want to have a look – here is a simple test file. At  the bottom side, there are 4 adjacent cells having grad(y)~7900 from computederivatives, but all 3 nodes on the bottom side have grad(y) ~ 5300 from celldatatopointdata.

 

Thanks,

 

Matthias

 

Von: Moreland, Kenneth [mailto:kmo...@sandia.gov]
Gesendet: Dienstag, 27. September 2016 15:40
An: Zenker, Dr. Matthias
Cc: paraview@paraview.org
Betreff: Re: [Paraview] Gradient filter: boundary effects

 

Matthias,

 

If values are being pulled from 7900 units down to 5300 units, there must be some neighbor with lower values. Why that is happening for you I cannot say without looking at your data. Perhaps on the boundary there are some malformed or 2D cells with invalid gradients.

 

-Ken

 

 

From: "Zenker, Dr. Matthias" <matthias.zen...@erbe-med.com>
Date: Tuesday, September 27, 2016 at 9:06 AM
To: "Moreland, Kenneth" <kmo...@sandia.gov>
Cc: "paraview@paraview.org" <paraview@paraview.org>
Subject: [EXTERNAL] AW: [Paraview] Gradient filter: boundary effects

 

Hi Ken,

 

what I don’t understand is that the cell gradients are correct, but their average at the border is not. (Example: All cell gradients adjacent to one node at the border have approx. 7900 units in y direction, the node has approx. 5300)

So it seems I cannot determine the gradient in the postprocessing step, but have to calculate it in the FEM solver (where I do get correct results now – I didn’t initially, which was the reason why I tried it with ParaView).

 

Thank you anyway, I have learned new bits of ParaView again (which is great software BTW)!

 

Have a nice holiday (if I interpret your autoreply correctly)!

 

Matthias

 

Von: Moreland, Kenneth [mailto:kmo...@sandia.gov]
Gesendet: Dienstag, 27. September 2016 14:36
An: Zenker, Dr. Matthias; paraview@paraview.org
Betreff: Re: [Paraview] Gradient filter: boundary effects

 

You could run the results through the point to cell filter, but that would give you the same answer as the gradient of unstructured dataset filter with the faster approximation option on.

 

-Ken

 

From: "Zenker, Dr. Matthias" <matthias.zen...@erbe-med.com>
Date: Tuesday, September 27, 2016 at 8:28 AM
To: "Moreland, Kenneth" <kmo...@sandia.gov>, "paraview@paraview.org" <paraview@paraview.org>
Subject: [EXTERNAL] AW: [Paraview] Gradient filter: boundary effects

 

Hi Kenneth,

 

thank you for the quick answer!

So it seems not that trivial to calculate an electrical field between a rod and a plane given the potential…

The compute derivatives filter does not give me the problem at the boundary indeed. Instead it gives a value per cell, not per node, which does not look nice.

Is there a friendly filter or switch which would give me the smoothed surface representation back?

 

Thanks,

 

Matthias

 

 

Von: Moreland, Kenneth [mailto:kmo...@sandia.gov]
Gesendet: Dienstag, 27. September 2016 14:14
An: Zenker, Dr. Matthias; paraview@paraview.org
Betreff: Re: [Paraview] Gradient filter: boundary effects

 

Matthias,

 

The gradient is estimated with finite differences. Thus, it is not wholly unexpected that there could be differences at the boundaries. However, the algorithm does not assume zero for adjacent cells at the boundaries.

 

The way the unstructured gradient filter works is that it computes the local gradient in each cell at each of the cell’s points. Then for every point it averages the gradient from all incident cells at that point. (If you have the Faster Approximation option on, then the filter only computes one gradient per cell in the center and averages those. Faster, but more artifacts, particularly at the edges.)

 

If this averaging is causing you an issue, you might try the Compute Derivatives filter. This does a wholly local operation within each cell, so you should not see any artifacts (unless the field itself has artifacts at the boundaries).

 

-Ken

 

 

From: ParaView <paraview-boun...@paraview.org> on behalf of "Zenker, Dr. Matthias" <matthias.zen...@erbe-med.com>
Date: Tuesday, September 27, 2016 at 5:45 AM
To: "paraview@paraview.org" <paraview@paraview.org>
Subject: [EXTERNAL] [Paraview] Gradient filter: boundary effects

 

Hi,

 

when I use the gradient filter (unstructured dataset), I observe edge effects which are IMO unphysical. For the nodes on the outer boundary of my domain, the gradient magnitude is smaller than I would expect. The behavior is like the filter tries to use the adjacent nodes to calculate the gradient, and since there are none  outside the domain, it assumes zero and finds a lower result.

If so, I would consider this a bug – is there a fix or workaround?

 

Thanks,

 

Matthias



Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137



Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137



Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137



Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137



Erbe Elektromedizin GmbH Firmensitz: 72072 Tuebingen Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede Registergericht: Stuttgart HRB 380137



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to