From: Benjamin S. K. <be...@cf...> - 2003-05-13 23:13:58
|
I created a brach off the main CVS tree a couple of weeks ago so that I could make some infrastructure changes without disrupting the stable code. The main thing that I wanted to do was un-template the EquationSystems object. The reason for this is so that it can hold multiple types of systems at the same time. For example, this now works: EquationSystems es (mesh); es.add_system<SteadySystem> ("steady_system"); es.add_system<TransientSystem> ("transient_system"); es("steady_system").add_variable(...); ... My intent was alwas for the EquationSystems object to be able to hold different system types. The interfaces to things are nearly identical, it is just the internals that have changed. The Systems classes now make better use of inheritance and look like this: SystemBase | | SteadySystem | \ | \ | \ | FrequencySystem | TransientSystem | | NewmarkSystem This should be quite general and extensible. All the functionality of the old stuff is retained. Anyway, I've changed everything to be compatible with this new design, but I want to make sure that everyone is happy with it before I merge the changes back into the main CVS tree. Once this is settled (& example 6 is ready to go) then I'll release libmesh-0.4.0. To create a new directory called libmesh_devel that has the development branch in it do the following: cvs -d:ext:USE...@cv...:/cvsroot/libmesh \ co -d libmesh_devel -r libmesh-devel libmesh Please check it out & do make run_examples, etc... Make sure everything is fine with you. If I don't hear from anyone I'll merge the changes in a couple of days. -Ben |