Attached patch adds initial support for vector elements to the ExactSolution class.
1. To maintain consistency for complex number support, I extended libmesh_norm to handle vectors. They just call size_sq() that internally use the scalar version of libmesh_norm. 2. I had to tweak type_n_tensor and the TypeNTensor RawAccessor a bit to get the shims to compile. 3. vector_fe_ex2 has been updated to use ExactSolution to compute L2 and H1 errors. I confirmed the correct rates are achieved. 4. I've tried to add descriptions about the assumptions we make in grabbing component values from FunctionBase objects for vector variables. 5. The patch only adds support for functor objects - reference solutions are not supported (requires updating MeshFunction). A libmesh_not_implemented gets thrown if ExactSolution is used with vector elements and a reference solution. 6. H2 errors are not yet supported for vector elements. This requires implementing rank 3 tensors are fully supported. Again, libmesh_not_implemented gets thrown for this case. I tested --enable-everything, --enable-complex, and --disable-second builds, all in dbg mode. I checked that the error estimates generated in adaptivity_ex3 and adaptivity_ex4 were unchanged after the patch. Best, Paul
exact_solution.patch
Description: Binary data
------------------------------------------------------------------------------ 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