Torquil Macdonald Sørensen <[email protected]> a écrit :
> 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.
Yes. If you set M to the identity, the value of the shape function
will be intrinsic to the edge in the case of Nedelec element, so the
connection to the degree of freedom of the neighbour element should be
ok, except the sign. I think, you have at least to keep the selection
of the direction which is made in the definition of the transformation
matrix M.
>
> 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.
If you think that these elements are of interest for other users we
can include them to Getfem.
Yves.
>
> 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