[pooma-dev] Problem with Field::makeOwnCopy() and Relations tests=USER_AGENT_PINE,X_AUTH_WARNING version=2.54
Richard Guenther
rguenth at tat.physik.uni-tuebingen.de
Wed May 21 15:12:48 UTC 2003
On Wed, 21 May 2003, Richard Guenther wrote:
> Hi!
>
> We have a problem with Field::makeOwnCopy() and Relations in case of
> a Field with multiple subfields. Consider
>
> Field_t f(canonicalCentering(FaceType, Continuous), ...);
> Pooma::addAllConstantFaceBC(f, 0.0);
> Field_t g(f);
> g.makeOwnCopy();
>
> now in FieldEngine::makeOwnCopy() we get passed g as target s and do
>
> ...
> data(m, c).relations().makeOwnCopy(s);
> ...
>
> i.e. we retarget all the subfields relation to the base field g which
> the relation later chokes on with an assert.
>
> I'll try to pass s.subField(m, c) here, but I dont think this will work
> - will it?
It seems it does. Tested with Fields, Ok?
Richard.
===== FieldEngine.h 1.4 vs edited =====
--- 1.4/r2/src/Field/FieldEngine/FieldEngine.h Thu Jan 30 12:11:07 2003
+++ edited/FieldEngine.h Wed May 21 17:04:26 2003
@@ -606,7 +606,7 @@
{
data(m, c) = model[m*stride_m + c];
data(m, c).engine().makeOwnCopy();
- data(m, c).relations().makeOwnCopy(s);
+ data(m, c).relations().makeOwnCopy(s.subField(m, c));
}
}
}
More information about the pooma-dev
mailing list