All,
I've created a patch against r5998 that implements first order Nedelec
elements of the first type for triangles and quads, including a new
vector_fe_ex3 which solves curl curl u + u = f for both the triangle and
quads. The patch also includes updates to ExactSolution to compute HCurl
and HDiv errors, with HCurl being computed in the example. I verified the
correct order of convergence (note for the Nedelec elements of the first
type, you don't get optimal L2 convergence). The patch can be found here:
http://users.ices.utexas.edu/~pbauman/nedelec_one.patch
Comments:
1. I've put in place holders for 3D, but they aren't there yet
(libmesh_implemented() is sprinkled in the right places). I'm going to open
another thread about handling edge/face orientation in a more encapsulated
way (for 2D I've just put the checks in the shape function calculations).
Face orientation (for higher order) is going to be a bit messy, I think.
Otherwise, all that remains is to derive the shape functions and implement
them.
2. AFAICT, there's no hang ups on going to higher order 2D elements other
than deriving the shape functions, implementing them, and making sure the
edge orientation is handled correctly for multiple edge dofs (again,
another thread coming on encapsulating the orientation business).
3. I've left the constraint code, but commented out, in fe_nedelec_one.C as
a place holder. HCURL continutity constraints need to be implemented, but
I'm still working it out because the curl operator makes 2-D vs. 3-D a bit
of a pain. Thus, no adaptivity yet.
4. The example is using penalty boundary conditions because HCURL
DirichletConstraints still need to be implemented. Again, a pain for 2-D
vs. 3-D.
5. Just to be clear, the (excellent) report I cite in the code comes from
the deal.ii website, but I came across it through a Google search. All the
code is my own, or copied from existing libMesh code, and nothing came from
deal.ii.
6. For higher-order tet elements, we'll need a tet14 for the face dofs.
I compiled and ran all the examples in devel mode for real and complex (w/o
slepc) with --enable-everything.
Comments? OK for trunk?
Best,
Paul
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel