getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] RT0 and Nedelec vs. Whitney 1 and 2-forms


From: Torquil Macdonald Sørensen
Subject: Re: [Getfem-users] RT0 and Nedelec vs. Whitney 1 and 2-forms
Date: Fri, 24 Sep 2010 17:26:10 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100917 Icedove/3.0.8

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
address@hidden
https://mail.gna.org/listinfo/getfem-users

_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users






reply via email to

[Prev in Thread] Current Thread [Next in Thread]