On Feb 24, 2012, at 3:13 PM, Matthew Knepley wrote:

> On Fri, Feb 24, 2012 at 3:05 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
> On Feb 24, 2012, at 2:41 PM, Matthew Knepley wrote:
> 
> > On Fri, Feb 24, 2012 at 2:39 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> > On Feb 24, 2012, at 2:23 PM, Jed Brown wrote:
> >
> > > We need a richer field interface. Some way for a client of DM to discover 
> > > vector and tensor structure.
> >
> >   No idea what a tensor is, but DMGetSubDMS(dm,PetscInt *cnt,IS *ises,DM 
> > *dms);   and DMPushSubDMType(DM,"name of a type of splitting like u,v,p or 
> > velocity,p"); DMPopSubDMType(); and DMGetAvailableSubDMTypes(DM,char **);
> >
> >  Do you need more than that?
> >
> > Yuck Yuck Yuck. Why are we persisting in shoving all of the index stuff 
> > into the DM interface. I think this is so
> > unwieldy and complicated. PetscSection is small, powerful, and does 
> > everything suggested and more. I see
> > no argument in support of stuff like the above.
> 
>  I have no idea what a PetscSection is and
> 
> PetscSection - This is a mapping from DMMESH points to sets of values, which 
> is
>  our presentation of a fibre bundle.
> 
> doesn't help explain it.   PetscSection is small? It has more methods than 
> DM, that is not small.
> 
> Don't make me return the count. It has fewer, and definitely fewer concepts. 
> Most of those are
> simple get/set.
>  
> PetscSectionGetFieldComponents() seems to be intuitive, cool. By why does it 
> return an array of integers? The universal way in PETSc would have it 
> returning an IS. Wait a minute, it returns one int, the number of components? 
> Then why is called GetFieldComponents and not GetNumFieldComponents()
> 
> It could be changed to GetNumFieldComponents.
>  
> And what is all this constraint stuff? PetscSectionGetConstraintDof() Huh? It 
> looks inside the "section" and gets an array of ints from a section inside 
> the section?
> 
> Yes. It keeps track of constrained dofs. People, who through laziness or 
> willful blindness, refuse to acknowledge that some
> problems make more sense when constrained dofs ar eliminated.
> 
> Here's my guess: a PetscSection is way of "chopping up" a canonical vector 
> into a bunch of fields. Fine, but then why does it have a bunch of other 
> stuff in it (like constraints, what the hell are constraints)? And why isn't 
> a PetscSection just an array of IS that define the fields?
> 
> Constraints are just that. IS is designed to be immutable. Building on it 
> internally is not a good idea for this reason.
>  
> The reason to shove all the index stuff into the DM interface is because 
> generally one doesn't just want to know the entries of a field but one also 
> wants to create vectors for those field variables only, create matrices, know 
> something about the mesh for that field so one can generate interpolations 
> and coarsen for multigrid. One cannot do any of those things with 
> PetscSection.
> 
> Yes you can.

   Hmm, I guess I haven't pulled recently. I don't see a 
PetscSectionGetInterpolation() a PetscSectionCoarsen() a 
PetscSectionGetGlobalVector() etc etc.

>  
>  Please explain in freshman linear algebra what a PetscSection is.
> 
> Exactly what it says in the help. It is a mapping from mesh points (vertices, 
> edges, faces, cells) to dofs. How can this be easier?

   Say I want an IS that represents all the cell center dofs, how do I obtain 
that from a PetscSection?  I don't see the functionality for that but it seems 
the most basic kind of thing needed.

   Barry

> 
>    Matt
>  
> 
>    Barry
> 
> 
> 
> 
> 
> 
> >
> >    Matt
> >
> >    Barry
> >
> > Note that current DMDA's default subdms served up would be a DM for each 
> > field consisting of one of the degrees of freedom per node and it could 
> > also serve up  DMs that represent any collections of those for example dof 
> > 0 and 1 per node, then dof 2 per node. We'll need to come up with some 
> > naming convention for these.
> >
> >
> > > Possibly also (eventually) a way to solve equations of state so that we 
> > > can formulate reduced problems in non-conservative variables.
> > >
> > > On Feb 24, 2012 2:19 PM, "Matthew Knepley" <knepley at gmail.com> wrote:
> > > On Fri, Feb 24, 2012 at 1:58 PM, Jed Brown <jedbrown at mcs.anl.gov> 
> > > wrote:
> > > http://petsc.cs.iit.edu/petsc/petsc-dev/rev/518ff70e8a0a
> > >
> > > Matt, I want to get rid of these conditionals, not add more. We should 
> > > have a DM base interface for getting fields on which to split, that 
> > > common interface should _replace_ the DMComposite specialization.
> > >
> > > I agree. However, I won't put anything in until I do it by hand once.
> > >
> > > Also, I was tempted to just promote DMGetGlobalISes(), but its not quite 
> > > right. I am planning
> > > to put the IS method in PetscSection. I am hoping eventually DMDA uses 
> > > PetscSection for
> > > layout.
> > >
> > >    Matt
> > >
> > > --
> > > What most experimenters take for granted before they begin their 
> > > experiments is infinitely more interesting than any results to which 
> > > their experiments lead.
> > > -- Norbert Wiener
> >
> >
> >
> >
> > --
> > What most experimenters take for granted before they begin their 
> > experiments is infinitely more interesting than any results to which their 
> > experiments lead.
> > -- Norbert Wiener
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener


Reply via email to