On Tue 2008-08-19 13:40, Anders Logg wrote: > On Tue, Aug 19, 2008 at 12:12:50PM +0200, Jed Brown wrote: > > On Tue 2008-08-19 11:59, Anders Logg wrote: > > > On Thu, Aug 14, 2008 at 10:10:03PM +0000, Jed Brown wrote: > > > > One way to implement this is to allocate a vector for Dirichlet values, > > > > a vector for Homogeneous values, and a Combined vector. The Homogeneous > > > > vector is the only one that is externally visible. > > > > > > Isn't this problematic? I want the entire vector visible externally > > > (and not the homogeneous part). It would make it difficult to plot > > > solutions, saving to file etc. > > > > > > Maybe the Function class could handle the wrapping but it would involve a > > > complication. > > > > Right, by `externally visible' I mean to the solution process, that is > > time-stepping, nonlinear solver, linear solvers, preconditioners. The > > vector you are concerned about is the post-processed state which you can > > get with zero communication. It is inherently tied to the mesh and > > anything you do with it likely needs to know mesh connectivity. I don't > > think it is advantageous to lump this in with the global state vector. > > > > Jed > > I don't understand. What is the global state vector?
The global state vector is the vector that the solution process sees. Every entry in this vector is a real degree of freedom (Dirichlet conditions have been removed). This is the vector used for computing norms, applying matrices, etc. When writing a state to a file, this global vector is scattered to a local vector and boundary conditions are also scattered into the local vector. The local vector is serialized according to ownership of the mesh (you have to do this anyway). Jed
pgpxMB4fJaAgu.pgp
Description: PGP signature
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
