RectilinearMesh and coordinate system support
Richard Guenther
rguenth at tat.physik.uni-tuebingen.de
Mon Jul 15 12:38:35 UTC 2002
Hi!
I put a patch and some new files regarding RectilinearMesh support
and integration of coordinate systems (Cartesian, cylindrical and
spherical) on my local pooma-work site at
http://www.tat.physik.uni-tuebingen.de/~rguenth/pooma/
The RectilinearMesh support has two problems (that probably will be
a non-issue to most uses, but still is ugly):
The view constructor is implemented as
RectilinearMeshData(const RectilinearMeshData<Dim, T> &model,
const Interval<Dim> &d)
: NoMeshData<Dim>(d)
{
for (int i = 0; i < Dim; i++) {
// FIXME: Wheeee ;) (we cant store a BrickView...
// and still dont want to copy)
spacings_m(i).engine() = Engine<1, T,
Brick>(&model.spacings_m(i)(d[i])(0), d[i]);
positions_m(i).engine() = Engine<1, T,
Brick>(&model.positions_m(i)(d[i])(0), d[i]);
origin_m(i) = positions_m(i)(d[i].min());
}
}
which as the comment reads is broken. The FieldEnginePatch view
constructor is implemented like the copy constructor as I dont
know what it is supposed to do (and got no answer from a previous
mail).
The coordinate system support is quite invasive as it requires changes
to existing source - mainly meshes are now templated on a MeshTraits
class rather than Dim, T to avoid overly complex type-typing. All
UniformRectilinearMesh<Dim, T> need to be changed to MeshTraits<Dim,
T>::Mesh_t (the patch should cover nearly all necessary changes in the
core code apart from tests outside of Field/tests - I have a more complete
patch for people caring).
I'd like to recieve feedback on the way I re-integrated coordinate system
support and be happy to contribute it to the pooma project.
Richard.
--
Richard Guenther <richard.guenther at uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
The GLAME Project: http://www.glame.de/
More information about the pooma-dev
mailing list