Thanks Yves, I believe I am zeroing in on what I need due to the help from you 
guys. From the documentation you linked to it seems that I need to use the 
identity matrix for M.

So I copied and modified the Nedelec code, setting M to the identity instead, 
and now the mass matrix elements are correct for the few examples I have 
calculated by hand, including differing tetrahedron sizes. There are some 
sign-issues that I may or may not need to address, although I'm not yet sure if 
that will turn out to be important.

I will now study the RT0 code to see if I need to do something similar there to 
get the mass matrix I need for the Whitney 2-forms.

The reason I need to do all this is because I am going to do a simulation that 
involves calculation of an expression that contains the Whitney mass matrix, in 
both the 1-form and 2-form cases, for a tetrahedral mesh in 3D.

Torquil

On 24/09/10 12:58, Yves Renard wrote:
>
>
> The transformation of the basis function from the reference element to the
> real one is made via the definition of the matrix M in the method
> mat_trans(...) (line 1045 of getfem_fem.cc for RTO and line 1230 for Nedelec
> element). The role ofmatrix M is shortly explained here:
>
> http://download.gna.org/getfem/html/homepage/project/femdesc.html#finite-
> element-methods-description
>
> The rule is the following : For RT0 element, the degree of freedom is the
> normal component at the center of a face, for Nedelec one this is the
> tangential component. This means that the normal or tangential component of
> the corresponding shape functions is equal to 1.
>
> Yves.
>
>
>
> On vendredi 24 septembre 2010, Torquil Macdonald Sørensen wrote:
>> Thanks Ronan, that is very interesting. I checked the source file
>> getfem_fem.cc, around lines 1300-1320 where the computation of the Nedelec
>> basis functions for the reference element is done, but could find no such
>> division by an edge length.
>>
>> At that point in the source code I did not find any code that describes how
>> this is converted to the actual tetrahedron element (not the reference),
>> but I'm sure I'll find it somewhere :-)
>>
>> I'll also do some tests by multiplying the GetFEM edge basis mass matrix
>> elements by the corresponding edge lengths to see if I get the same results
>> as I get when manually calculating mass matrix elements from the
>> definitions of the Whitney 1-form basis that I mentioned in the first
>> email.
>>
>> Thanks again for that very useful info!
>>
>> Torquil
>>
>> On 23/09/10 20:23, Ronan Perrussel wrote:
>>> Hi Torquil,
>>>
>>> I have an element which is not an answer to your issue but it can help.
>>> I never used the RT0 elements but I used the Nedelec elements and the
>>> shape function associated to edge {ij} is :
>>> 1/length({ij})*(lambda_i grad lambda_j - lambda_j grad lambda_i).
>>>
>>> Maybe something similar is done for RT0 elements (for instance a dof
>>> associated to a face is not the flux through this face but the mean
>>> value of the normal component of the vector field on this face).
>>>
>>> Best regards,
>>> Ronan
>>>
>>> Le 23/09/2010 20:01, Torquil Macdonald Sørensen a écrit :
>>>> Hi!
>>>>
>>>> I'm having trouble with calculation of mass matrix elements on a 3d
>>>> tetrahedron
>>>> mesh. I have two different cases. In the first case I want to use
>>>> Whitney 1-form
>>>> edge elements, and in the second case Whitney 2-form face elements.
>>>> I'm given to
>>>> understand that these are the same as the NEDELEC and RT0 elements
>>>> offered by
>>>> GetFEM.
>>>>
>>>> The Whitney elements are defined as follows: For a point i, lambda_i
>>>> is the
>>>> usual affine function that is equal to 1 at i, and equal to zero at
>>>> neighbouring
>>>> points.
>>>>
>>>> For an edge {ij} going from point i to point j, the Whitney 1-form
>>>> element is
>>>>
>>>> lambda_ij := lambda_i grad lambda_j - lambda_j grad lambda_i
>>>>
>>>> The "2-form" element for a face {ijk} is
>>>>
>>>> lambda_{ijk} := 0.5*(lambda_i (grad lambda_j) x (grad lambda_k) + cyclic
>>>> permutations of {ijk}).
>>>>
>>>> When varying the "fineness"/lattice spacing of the mesh for a given
>>>> physical
>>>> domain [0,1]^3, these definitions lead to the following behaviour of
>>>> the mass
>>>> matrix components:
>>>>
>>>> m_ff' ~ 1/h
>>>>
>>>> m_ee' ~ h
>>>>
>>>> where m_ff' is a component of the mass matrix for the 2-form elements,
>>>> m_ee' is
>>>> the same for the 1-form elements, and h is the lattice spacing.
>>>>
>>>> However, in my case, the components m_ff' decreases when h decreases.
>>>> Does this
>>>> indicate a difference between the definition of the RT0 element
>>>> relative to the
>>>> Whitney 2-form element? If so, is it possible to get one from the
>>>> other by a
>>>> simple multiplication by h?
>>>>
>>>> Thanks
>>>> Torquil
>>>>
>>>>
>>>> _______________________________________________
>>>> Getfem-users mailing list
>>>> [email protected]
>>>> https://mail.gna.org/listinfo/getfem-users
>>
>> _______________________________________________
>> Getfem-users mailing list
>> [email protected]
>> https://mail.gna.org/listinfo/getfem-users
>
>


_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users

Reply via email to