Renato.
Spatial discrete algorithms based on the finite element method rarely if
ever require "ghost cells" extending beyond the physical boundary.
Algorithms based on finite difference technology almost always require a
layer of ghost cells around the analysis domain to allow the
point-centered algorithms to be computed. Data on the ghost cells and
ghost points is generally assigned to allow the finite difference
algorithm to execute.
For parallel domains, along the shared boundaries, the ghost cells must
acquire their data through swaps with adjacent domains.
The corresponding ghost cells on each subdomain usually are included in
the output results data for the subdomain, and the post-processors are
obliged to have algorithms and conventions to deal with the ghost cells
and their data.
In my humble opinion, the ghost cells and ghost points are not needed
for post-processing, but they are so "natural" to the finite difference
algorithm world that nobody would think to live without them.
However, ghost cells and ghost points and their data are needed to
restart a simulation and many developers want their restart files and
post-processing files to be one in the same file.
For what its worth,
Sam Key
Renato Elias wrote:
Berk, forgive for delaying my response (I was out of my lab...)
Just a silly question:
What do you exactly mean by "Ghost cell"? This silly question is
justified by the fact that I thought that ghost cells only make sense
when we have subdomains _overlapped_. In these cases, the number of
overlapped cell layers should (or could) be considered as "ghost level".
In my case, the subdomains are not overlapped at all. They are just
partitioned by Metis and the solver can deal with the computations
without the need to use overlapped elements. Thus, if "ghost cells" can
be simply defined by "cells somehow touching the parallel interface
(even those not overlapped)" I think I could try tagging my parallel
interface cells as "ghost level 0" to see what happens...
Renato.
On Sun, Apr 5, 2009 at 11:53 PM, Chris Kees
<[email protected]
<mailto:[email protected]>> wrote:
Berk,
Thanks for correcting me. I'll try adding the vtkGhostLevels to the
XDMF and see how that goes.
Chris
On Apr 4, 2009, at 2:50 PM, Berk Geveci wrote:
The right way to deal with this situation is to mark the ghost cells
as ghost. If you create a cell array called vtkGhostLevels and
assign
0 to inside cells and 1 to ghost cells, you should not need
MergeBlocks or CleanToGrid. Note that this array has to be of type
unsigned char. There are actual benefits to keeping ghost levels
since
some algorithms will produce better results.
-berk
On Thu, Apr 2, 2009 at 6:37 PM, Chris Kees
<[email protected]
<mailto:[email protected]>> wrote:
I turned off the overlapping domain decomposition (ghost
cells) for a simple
problem and the sequence
MergeBlocks->CleantoGrid->ExtractSurface->Clip
shows just the physical boundary of the problem (clipped
open so you can see
inside). Also volume visualization and streamline
calculation works with no
processor boundary artifacts.
>From what I understand, there are no filters in paraview
or abstractions in
the XDMF data model at this time that will allow paraview
to read in
overlapping blocks and really make use of the ghost cells
correctly. For now
truncating our output to only "owned" elements will solve
our problems.
Thanks again for the help.
Chris
On Mar 30, 2009, at 2:06 PM, Chris Kees wrote:
Thanks for the help. I also tried suggestions from
Paul, Ken, and Berk,
but it does seem that I'm stuck right now unless I
provide ParaView with
more information. Since streamlines are computed
correctly on the current
multiblock mesh I just generated the mesh on a single
processor and used
ExtractSurface->Clip on that mesh to visualize the
geometry around the
streamlines from the multiblock grid.
On the first method: Each of my UnstructuredGrids in the
Multiblock Grid
is a subdomain in an overlapping decomposition of the
domain. Each of the
subdomains has several elements of overlap (the layer of
ghost cells is more
than one element thick). Presumably the streamline
generation works now on
the multiblock grid because the overlap is loaded into
ParaView. Is there a
way I can just set a cell-centered attributed to
identify the ghost cells so
that surface extraction and volume visualization will
work too? Currently
volume visualization of the multiblock grid shows only a
single subdomain
and volume visualization after MergeBlocks shows the
whole domain but with
overlap regions being more opaque.
On your other method, we have both the external boundary
mesh and a
pre-mesh polygonal representation of the boundaries
available in the
simulator. You are suggesting that I just dump one of
those to a valid
ParaView format as well, is that correct?
Chris
On Mar 30, 2009, at 9:14 AM, Jean Favre wrote:
Chris Kees wrote:
So far I've tried
MergeBlocks->ExtractSurface->FeatureEdges->Clip and
various permutations that I've seen in previous
posts and the wiki,
but I always end up with the surfaces on the
interior of the tank as
if it still sees each subdomain as a closed surface.
In fact, it seems to me that ParaView does the best
it can. Your
unstructured mesh is partitioned in 512 pieces and
[presumably], you did
not specify ghost-cells at the partition boundaries.
Without
ghost-cells, ParaView has no information to help
decide whether an
outside face looks towards the outside world, or to
another partition. I
don't think any combination of filters would help
you. Removing
duplicate points may only remove duplicate fake
boundaries, but these
fake boundaries must be removed all together.
I use two methods to achieve what you want.
Ghost-cells, or another
multi-piece object containing the different boundary
types (solid,
symmetries, inflow, outflow, etc) stored as
vtkPolyData. These are read
in from the models on disk.
Jean --
Swiss National Supercomputing Center
_______________________________________________
Powered by www.kitware.com <http://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
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com <http://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
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com <http://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
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/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
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
begin:vcard
fn:Samuel Key
n:Key;Samuel
org:FMA Development, LLC
adr:;;1005 39th Avenue NE;Great Falls;Montana;59404;USA
email;internet:[email protected]
title:Senior Software Architect
tel;work:(406) 952-1543
tel;home:(406) 952-1543
x-mozilla-html:FALSE
version:2.1
end:vcard
_______________________________________________
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
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview