Hello All,

I keep getting a 500 error when trying to submit a gitlab issue so ill just 
post it in here :(

Per major group the index is split into difficulty level, but these 
distinctions are ultimately either meaningless (as you need both  beginner or 
intermediate to perform basic tasks, or act more as artificial gatekeepers than 
meaningful guides. There can be more meaningful distinctions; off the top of my 
head for example "Create/Destroy", "Modify", "Core" "Util". Lets say for `vec`:

```
Create - Routines to initialize data structures

VecCreate
VecCreateMPI
VecCreate

Modify - Routines to alter behavior or data structure elements

VecSetFromOptions 
VecSetValues
VecSetLocalSize
VecSeteLTOG

Core - Core routines to perform intended actions 

VecAXPY
VecWAXPY
VecMDOT

Util - Routines to perform general actions 

VecChop
VecCopy
VecAXPY
```

The point here is that this gives the reader a far better understanding of the 
"flow" for using various data structures. If I'm new and I want to do some 
action in PETSc then I want to very quickly get a general sense of how things 
are done. A fantastic example would be DM, which has gotten so big that you can 
now do a __ton__ of stuff with it that transcends the usual 
easy-medium-hard-nightmare difficulty levels we currently attribute to it. You 
can easily split that into say “create/destroy”, “solver”, “geometry” etc.

Best regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
Cell: (312) 694-3391

Reply via email to