Thanks for clarification. I thought that that Function.assign simply
fills the vector of expansion coefficients
with new values, but I see now, that it creates a new vector with
updated values. Just out of curiosity, why
is it necessary to recreate the vector?
Miro
On 05/26/2014 01:52 PM, Johan Hake wrote:
And I do get the same values. It is just the third printed value of
the function using assign(foo) that differs. That value comes from the
vector of the original Function, which never gets it values updated.
Johan
On Mon, May 26, 2014 at 1:48 PM, Martin Sandve Alnæs
<[email protected] <mailto:[email protected]>> wrote:
I don't see how the id of a vector has anything to do with its
value. The norm that Miro prints should be the same.
Martin
On 26 May 2014 13:43, Johan Hake <[email protected]
<mailto:[email protected]>> wrote:
To be honest, I would also assume these two to print the same.
But I have been bit by the
Function::assign-recreate-the-vector behavior quite many times
now. The point is that the vector in a Function gets recreated
after an assign.
from dolfin import *
mesh = UnitSquareMesh(2,2)
V = FunctionSpace(mesh,"CG",1)
u0 = Function(V)
u1 = Function(V)
U = u0.vector()
print "Same:", U.id()==u0.vector().id()
u0.assign(u1)
print "Same:", U.id()==u0.vector().id()
Johan
On Mon, May 26, 2014 at 1:32 PM, Martin Sandve Alnæs
<[email protected] <mailto:[email protected]>> wrote:
Johan, I don't understand what you mean by that. I would
also expect these to do the same, i.e. result in an exact
copy of ut.vector()?
Martin
On 26 May 2014 13:27, Johan Hake <[email protected]
<mailto:[email protected]>> wrote:
Function.assign re-create the FOOvector holding the
actual values. I assume this explains the difference
in behavior.
Johan
On Mon, May 26, 2014 at 1:09 PM, Miroslav Kuchta
<[email protected] <mailto:[email protected]>> wrote:
Hi,
please consider the attached snippet. I would
assume foo() and bar()
to do the same thing but that is not the case. Is
this a bug in
Function.assign() or am I missing something about
the method's behaviour?
Thanks for answer.
Regards, Miro
_______________________________________________
fenics mailing list
[email protected]
<mailto:[email protected]>
http://fenicsproject.org/mailman/listinfo/fenics
_______________________________________________
fenics mailing list
[email protected] <mailto:[email protected]>
http://fenicsproject.org/mailman/listinfo/fenics
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics