I think I sent my previous question (on Dec 28th) to the wrong place ([email protected]).
To repeat, I am having bit of a difficulty in understanding the introduction of constraints in DMPlex. From a quick study of the User Manual I gather that it is easiest done using DMPlexSetAnchors ? The description of this routine says that there is an anchorIS that specifies the anchor points (rows in the matrix). This is okay and easily understood. There is also an anchorSection which is described as a map from constraint points (columns ?) to the anchor points listed in the anchorIS. Should this not be a map between solution indices (i.e. indices appearing in the vectors and matrices) ? For example I am completely unable to set up a simple constraint matrix for the following (say): Point 1, Field A, B Point 2-10 Field A At point 1, Field B depends on Field A at points 1-10 When I set it up it appears to create a matrix where field A depends on field A values at points 1-10. How does the mapping work in this case ? Will the DMPlexSetAnchors() routine work for this simple scenario ? If not, is the only recourse to create the constraint matrix oneself using DMSetDefaultConstraints ? Also documentation for DMSetDefaultConstraints is incomplete. The function accepts three arguments (dm, section and Mat) but what the section is is not described at all. I don't know if my question makes any sense. If it does not then it is only a reflection of my utter confusion regarding the routine DMPlexSetAnchors :-( Regards, Rochan
