i suppose the problem lies not in VTKFile.cpp.

you consider a tensor function to have a rank >= 2,
but for my tensor function the rank returned by e.g.

e.function_space().element().value_rank()

is 1. So it is rather a vector with 4 components having rank 1.
possibly value_rank() in the FiniteElement class should return 2 even 
for a 2d tensor function, then your code in VTKFile is fine, but i 
didn't look into the FiniteElement classes.

patrick


-------- Original Message --------
Subject: Re: [FEniCS-users] [Fwd: Re:  tensor function]
Date: Wed, 30 Sep 2009 11:30:45 +0200
From: Patrick Riesen <prie...@student.ethz.ch>
CC: fenics <fenics-us...@fenics.org>
References: <4ac31db1.2040...@student.ethz.ch> 
<4ac320f4.1000...@student.ethz.ch> <4ac32181.8050...@cam.ac.uk>

seems that the tensor function for a 2d problem doesn't get to the
output structure for a tensor function but to that for a vector function
because it only has rank = 1. the write out for tensor is only invoked
for a (3x3) tensor with rank = 2.

Garth N. Wells wrote:
> 
> 
> Patrick Riesen wrote:
>> Hello,
>>
>> I don't know if this is a problem (dolfin0.9.2):
>> When i was writing the TensorFunction e to a vtk-file after a solve
>> by just using
>>
>> file << e
>>
>> the results i got were absolutely nonsense. I got three components, 
>> but none of them made any sense. This is why i was thinking i'm doing 
>> something completely wrong in my equations/code,
>>
> 
> VTK output of tensor functions is untested. I would be very surprised if 
> it did work. Dig around in VTKFile.cpp to see if you can find the problem.
> 
> Garth





> 
>> But if i first separate all components and write them to separate 
>> files as
>>      Function e11 = e[0];
>>      Function e12 = e[1];
>>      Function e21 = e[2];
>>      Function e22 = e[3];
>>
>>      fileE11 << e11;
>>      fileE12 << e12;
>>      fileE21 << e21;
>>      fileE22 << e22;
>>
>> the solutions look reasonable (uff!..) and e12 and e21 are the same.
>>
>> regards,
>> patrick
>>
>>
>> Patrick Riesen wrote:
>>> sorry, something went wrong, this would be the message:
>>>
>>> -------- Original Message --------
>>> Subject: Re: [FEniCS-users] tensor function
>>> Date: Wed, 30 Sep 2009 10:52:02 +0200
>>> From: Patrick Riesen <prie...@student.ethz.ch>
>>> To: Anders Logg <l...@simula.no>
>>> References: <4ac0a8d5.6040...@student.ethz.ch> 
>>> <20090928122033.gh2...@olorin>    <4ac0ad56.50...@student.ethz.ch> 
>>> <20090928140134.ga24...@olorin> <4ac0c346.7020...@student.ethz.ch>
>>>
>>> or maybe not..
>>>
>>> i can not do
>>>
>>> Function e11 = e[0][0];
>>>
>>> i get
>>>
>>> error: no match for 'operator[]' in
>>> 'dolfin::Function::operator[](dolfin::uint)(0u)[0]'
>>>
>>>
>>> but i can get components doing
>>>
>>> e11 = e[0];
>>> e12 = e[1];
>>> e21 = e[2];
>>> e22 = e[3];
>>>
>>>
>>> i suppose for dolfin 0.9.3 it is the case as described below and for
>>> dolfin 0.9.2 the case as above therefore ?
>>> (which is what i am still using currently)
>>>
>>> greetings,
>>> patrick
>>>
>>> Patrick Riesen wrote:
>>>> this helped to sort things out, thanks again.
>>>> patrick
>>>>
>>>> Anders Logg wrote:
>>>>> On Mon, Sep 28, 2009 at 02:34:30PM +0200, Patrick Riesen wrote:
>>>>>> Hi,
>>>>>>
>>>>>> thans for the quick response,
>>>>>>
>>>>>> therefore when V is the function space of the (e, v, p) element and
>>>>>>
>>>>>>> e[0] = (a, b)
>>>>>>> e[1] = (c, d)
>>>>>>> e[0][0] = a
>>>>>>> e[0][1] = b
>>>>>>> e[1][0] = c
>>>>>>> e[1][1] = d
>>>>>> therefore doing
>>>>>>
>>>>>> fs = new SubSpace(V,0,0)
>>>>>>
>>>>>> corresponds to the subspace for the two components (a, b) of the
>>>>>> element  and not just for a, which then would be SubSpace(V,0,0,0) ?
>>>>> Yes.
>>>>>
>>>>> -- 
>>>>> Anders
>>>> _______________________________________________
>>>> FEniCS-users mailing list
>>>> fenics-us...@fenics.org
>>>> http://fenics.org/mailman/listinfo/fenics-users
>>>
>>> _______________________________________________
>>> FEniCS-users mailing list
>>> fenics-us...@fenics.org
>>> http://fenics.org/mailman/listinfo/fenics-users
>>
>> _______________________________________________
>> FEniCS-users mailing list
>> fenics-us...@fenics.org
>> http://fenics.org/mailman/listinfo/fenics-users
> 
> 

_______________________________________________
FEniCS-users mailing list
fenics-us...@fenics.org
http://fenics.org/mailman/listinfo/fenics-users
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@fenics.org
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to