freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pooma-dev] Non-rectangular domains


From: Richard Guenther
Subject: Re: [pooma-dev] Non-rectangular domains
Date: Fri, 30 Aug 2002 17:38:09 +0200 (CEST)

On Fri, 30 Aug 2002, Nils H. Busch wrote:

> Hello,
>
> has anyone any idea how to extend Pooma to handle non-rectangular
> domains? What are the caveats to observe ?
> I am currently thinking of storing a 1-dim array of mesh vertices/cells
> of those elements contained in that irregular shaped domain. But I am
> not sure how this will fit into the parallel Pooma machinery or how this
> can be broken down to patches.
>
> Cuurently, I am storing am additional mask field of the same size as the
> fields I do computation on and pass this to my custom defined
> stencils/functions etc.
> I think this is at least a waste of memory. Also, it cannot be applied
> to built-in Pooma functions directly.
>
> Any comments welcome.

Well... if irregular shaped is at least (locally, i.e. inside one
rectangular patch) convex then this could be done by creating a new
ShapedBrick engine having, for each dimension a domain[d] size array
containing min/max indices. Of course this has an overhead (you'd have a
flag, too, to indicate wether you have a shape at all). Handling bounds
(both internal and external) will also need some thinking (you could
simplify the case of internal bounds by just always having the cells and
thus maybe copying just dummy data).

An alternative is to have a complete shape mask and do what you are doing
currently in an engine, but thats slow, too. And it doesnt solve the guard
cell problems, too.

So, if to be done correctly & clean it'll be a lot of work. Can't you
construct your domain out of rectangular patches using a SparseTileLayout?

Richard.

--
Richard Guenther <address@hidden>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
The GLAME Project: http://www.glame.de/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]