From: Benjamin S. Kirk <benkirk@cf...>  20050115 04:03:27

Thanks! I appreciate & welcome this significant addition to the code! I agree that reinit() should be a lot smarter. I think we could just put together a few bit flags here and avoid a lot of unnecessary computation. Thoughts? Also, ex10 looks broken. The initial solution is fine, but all the subsequent time steps look like the interior solution is 0 and the boundary conditions are then imposed. My guess is that the solution projection is having an issue? The solution snapshots in ex9 and ex10 should be the same, but it looks like the interior solution is all 0 in the case of ex10. Ben Roy Stogner wrote: > > I've just finished committing the last chunks of my support for > fourthorder problems to libMesh. > > > The features: > > With the "enablesecond" configure option turned on, you can now > query finite element objects for second derivative information, > expressed as rank 2 tensors. With this you should be able to > formulate discontinuous Galerkin approximations to fourthorder > problems. > > You can now create CloughTocher macrotriangles (and the quadrature > rules to integrate them properly), which form C1differentiable (and > so H2 conforming) finite element spaces. With these, assuming > enablesecond is on, you can formulate continuous Galerkin > approximations to 2D fourthorder problems. Example 15 (remember to > "cvs update d" to get new directories) demonstrates, using the > biharmonic equation. > > > The nonfeatures: > > Since only the C1 elements let you solve fourthorder problems easily, > I've only added second derivative calculations to the other finite > element classes where it was easy to do so  the rest are just stubs > and warnings. Adding C1 infinite elements, in particular, looked like > it would be ugly. > > The CloughTocher elements still work for second order problems with > second derivative calculations off, but there's probably no point  > they might be slightly more efficient than regular cubics in the > solver but are certainly much less efficient in the assembly stage. > > Cubic triangles are the only C1 elements right now  I'm working on > cubic quads and tets now, but it's not my top priority, and these > things are a bear to code and debug. > > > The problems: > > With "enablesecond" turned on, second derivatives are calculated > and stored whether you need them or not  the memory hit is > insignificant but I'll bet the speed hit is noticeable. In the long > run we ought to have a method of making finite element reinit()s > calculate precisely what each application code wants and no more; in > the short run "enablesecond" ought to be left off unless you're > using it. > > I've tested this code against my own applications and the libMesh > examples, but since it makes low level additions to the FEBase class, > I'm worried that it might work on my computer and break yours. > Anyone working with the main CVS tree might want to pay extra > attention to the next postupdate run you make; anyone who wants to > help might also try testing their own code with "enablesecond" too. >  > Roy Stogner > > >  > The SF.Net email is sponsored by: Beat the postholiday blues > Get a FREE limited edition SourceForge.net tshirt from ThinkGeek. > It's fun and FREE  well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Libmeshdevel mailing list > Libmeshdevel@... > https://lists.sourceforge.net/lists/listinfo/libmeshdevel 