From: Roy S. <roy...@ic...> - 2007-07-08 18:49:33
|
On Sun, 8 Jul 2007, Ondrej Certik wrote: >> "./configure --disable-petsc --disable-laspack" compiles for me now, >> although naturally most of the example codes fail at runtime when they >> try to build numeric vectors of type "INVALID_SOLVER_PACKAGE". > > The fix which you are probably talking about is just adding a missing > #include, so that the compiler doesn't stop on AutoPtr error. But the > real problem is that even though I am not calling "solve" in libmesh, > it still fails on INVALID_SOLVER_PACKAGE, becuase I need to use > equation_systems, because I am then calling > > equation_systems.get_system<LinearImplicitSystem>("Poisson").get_dof_map() > > etc. If you know a way how around it, I am interested (I posted the > relevant code below). Even adding a system in the first place may be a problem, because the System class will try to create a NumericVector for it's solution - it doesn't matter that you're never going to be solving with that vector, because the data structures for NumericVector subclasses depend on what solver you expect to hand them to later. I'm afraid the only fix may be to add a "Dummy" subclass like you suggested except that it's not a dummy linear solver you need, it's dummy NumericVector (and if you insist on creating ImplicitSystem objects, SparseMatrix) instantiations. --- Roy |