On Wed, 11 Jan 2012, Ataollah Mesgarnejad wrote: > On Jan 11, 2012, at 5:16 PM, Roy Stogner wrote: > >> equation_systems_io.C, line 324. If you tell read() to read the >> header, then it assumes that it's responsible for initializing >> everything too.
> So what would happen if EquationSystems::read() does not do the init > until later when I add the matrices? If you call read with READ_HEADER set, and it doesn't do init(), then everybody else's code, which has been assuming the contrary, starts breaking. If you call read without READ_HEADER set, then it won't do init(), you should be able to do init() yourself after matrices are added, and everything ought to work just the way you want. > In other words what is the purpose of calling init inside > EquationSystems::read() Probably just to make the typical users' code a little terser and more fail-safe. That's why I'd have designed it that way, anyway, but I think it was Ben or John's API originally and they may have other considerations too. > and is it really necessary as long as it's done later on at some > point before we start solution process? Yes, if only for backwards compatibility. What we really ought to do in the long run is enable addition of new matrices after init() - but for your purposes omitting READ_HEADER and doing the initialization yourself ought to work already. --- Roy ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
