Hello Justin,
does the error go down for degree 0, if you use a finer grid? Why do you
have to reimplement the curl?
Best Regards,
Markus
On 05.04.2012 04:56, Justin Droba wrote:
Hi,
First, I want to thank the authors of this software package and the
tutorials for all their hard work. The latter are especially
excellent and really make learning this extensive package very easy
and intuitive.
I'm having a bit of trouble with high-order Nedelec Elements.
Everything compiles and runs without error, but when I use an order
higher than 0, the computed solution is very poor. Using one of the
2D examples from Anna's paper, with order 0 elements, on a certain
small grid I get an L2 error of 1.610e-01, but when I use order 1, I
get an error of 8.722.
From what I understand, the gradients of Nedelec elements are not
computed correctly, but when one uses them to compute the curl, the
"wrong parts cancel" and the curl ends up correct. Is that right? I
am using a self-written curl function, implemented in the obvious way
(for 2D only, here):
template <int dim>
double MaxwellToy<dim>::curl (const Tensor<2,2> &Gradients) const
{
return (Gradients[1][0] - Gradients[0][1]);
}
Do I need to do something special to make Nedelec elements work for
orders > 0? Is it a matter of something like enforcing a divergence
condition on the elements? The field I am attempting to compute is div
free, and for order 0 elements, we have that automatically (but not
for order 1 elements). Thanks for your help!
Best,
-J
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii