[BUG] ScalarCode does not work for Arrays

Richard Guenther rguenth at tat.physik.uni-tuebingen.de
Wed Jan 15 13:55:39 UTC 2003


Hi!

Due to the mess (it seems to me...) of the different domain() access
functions for Arrays and Fields (namely physicalDomain() having different
semantics), ScalarCode does not work for Arrays.

To summarize:

Array.domain()         -> engine.domain()
                       -> layout->domain()
Array.physicalDomain() -> engine.domain()
                       -> layout->domain()
Array.totalDomain()    -> engine.domain()
                       -> layout->domain()

Field.domain()         -> fieldEngine.physicalDomain()
                       -> (effectively) layout->innerDomain()
Field.physicalDomain() -> fieldEngine.physicalDomain()
                       -> (effectively) layout->innerDomain()
Field.totalDomain()    -> fieldEngine.totalDomain()
                       -> (effectively) layout->baseDomain()
but all those dependend on centering (i.e. vertex vs. cell domains)

Layout.domain() == Layout.baseDomain()


So I propose to make Engine's domain access interface match FieldEngine's,
i.e. add Engine->physicalDomain(), make Array.physicalDomain() call that
and return Layout->innerDomain() for this.

Other suggestions?

Thanks, Richard.

--
Richard Guenther <richard.guenther at uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/




More information about the pooma-dev mailing list