[Paraview] paraviw + discontinuous/non-linear functions within cells

David C Thompson dcthomp at sandia.gov
Thu Oct 5 15:52:52 EDT 2006


> We have engineers using a numerical method that doesn't uniquely define values 
> at vertices.  For example, if five cells all share a common vertex, then 
> generally you can expect five different values at the common vertex.  The 
> data is represented as polynomials of arbitrary order.  The data is 
> discontinuous across cell faces and edges (a.k.a. discontinuous galerkin 
> method).   This is probably very similar to some FE codes so perhaps someone 
> already has experience with this type of problem.
I've only seen DG techniques that have discontinuities at element
boundaries. Techniques that have interior discontinuities (xFEM) usually
model the discontuity as a sheet of some implicit function over the
interior, correct? If so, then using this sheet to divide each element
into pieces and rendering the results seems like a good way to proceed
with the analysis.

> The question is if it becomes necessary to accurately visualize the data, what 
> is the best way of doing this?  You could have multiple vertices at the same 
> location, one for each cell, but this doesn't take care of the problem of the 
> non-linear functions within each cell.  There is a paper (Sandia?) outlining 
> a metnod of recursively subdividing each cell by searching for critical 
> points first in the interior, then the faces, edges, .etc.   The method has 
> already been implemented in VTK.  However, it's not clear that this would 
> work in this case.  The opinion of the engineers who use this code is that it 
> will not work.  
That is correct. The search for critical points assumes the function is
a smooth polynomial over the domain's interior; discontinuities are only
allowed on element boundaries and would be modeled as you stated above
(i.e., separate vertices and higher-order degrees-of-freedom for each
element).

> My thinking is that using programmable shaders (and adding the functionality 
> to PV) would be the best solution.  Any opinions?  How much time/effort/$$$ 
> would it take to implement this.
As far as visualization, that seems the best route. If you are looking
to do other post-processing/analysis, then maybe not. ParaView already
has the option to use custom shaders but there is not a way to specify
per-cell constants to the shader (the last time I looked, anyway). So,
it would involve writing a new painter class that loaded per-cell
information about the polynomial interpolant just before each cell is
rendered. The time/effort/money involved depends on the complexity of
the interpolant and how the discontinuities are defined. This is
something I plan on doing at some point but don't have time to
currently.

	David



More information about the ParaView mailing list