OMG. This would be awesome. I've actually got a user that has been
breathing down our necks for this optimization.
In his case he is solving with over 2,000 variables that are all of
exactly the same type. Generally, first or second order Lagrange
(although he does some DG as well).
We also have other users solving with 20-200 variables of the same
kind (again, usually first or second order Lagrange) but they might
also have 1-4 variables of another kind (like cubic hermites) mixed in
- but not always.
ANY optimizations along these lines would be truly awesome!
Sent from my iPhone
On Dec 5, 2012, at 1:41 PM, "Kirk, Benjamin (JSC-EG311)"
> I'm working some optimizations with how libMesh stores & allocates degree of freedom indices when there are multiple variables associated with a given System. These generically fall into two categories -
> (1) homogeneous types, where there are multiple variables but they all have the same finite element type, and
> (2) mixed types, where there are different variables with different finite element types as well (like Taylor-Hood Q2/Q1 incompressible NS, for example)
> for both cases, we could do some optimization in how we store degree of freedom indices & do things like compute the sparse matrix graph.
> for case (1) in particular, we could also take advantage of the identical block-structure of the linear system as well and use e.g. PETSc's block matrix and vector support.
> So my question is, for your multivariable systems, are they typically of type (1) or (2)? How many variables and what types?
> My reason in asking is because some of the optimizations are easier for case (1), which is where I plan to start, but don't want to do anything that would preclude additional optimization for (2), especially if there are people with ~5 or more variables of different finite element types in a system.
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> Libmesh-devel mailing list