> Guido, when you say the DoFs are numbered in that order, and they also
> structured in a hierarchical ordering?
>
> i.e. for FE_Nedelec<3>(p) the basis would be ordered as so:
>
> 1. edges at 0th order (12 of them)
> 2. edges at higher order (12*p of them)
> 3. faces at 1st order (12*p*(p+1) of them)
> 4. volumes at 1st order. (3*p*p*(p+1) of them)
>
> With each of 2-4 being in groups, e.g. edges would be in groups of 12 (12 at
> 1st order, 12 at 2nd order and so on)?
No. The cell-local ordering first enumerates all shape functions associated
with vertex 0, then all vertex 1, ..., then all associated with edge 0, then
edge 1, ..., then all at face 0, face 1, ...
If you want information about the degree of each shape function, you will need
to ask the finite element for this. In fact, I'm not even sure that there are
0th order edge functions and higher order edge functions -- they may all be
high order (but, of course, spanning the same space). You will have to verify
this.
> At the moment I'm just testing things out for a wave propagation problem ( E =
> p*exp(i k * x), with p, k being orthogonal vectors) and am getting some odd
> results when using Nedelec elements of order other than 0. I have a feeling
> the project_boundary_values_curl_conforming call may be going wrong on the
> faces (where it's n \times E for the dirichlet condition rather than n \dot E
> on the edges), I'll put together a small example once I am sure.
Yes, testcases help.
> One additional issue is that the computational time for calculating the basis
> function for orders above 2 or 3 are very very high. I attempt to run a small
> example at order 4 and it was still generating the basis after an hour or so -
> could possibly include this in my example as well to see if it's just my
> install (currently up-to-date with the svn) or not.
When you say "generating the basis", do you mean "running the constructor of
the FE_Nedelec class"? Yes, again, testcases are the way to go. If you have
independent concerns (e.g., the two issues you mention), create independent
testcases for each and open bug reports (see the link to the bug database on
the website).