Thanks Barry, now I see. Nevertheless, I still think that AOMAPPING is not properly implemented as a specific AO type. There's even no AOType set in AOCreateMapping(). It would be also better to have AOCreate_Mapping() and allow the usual workflow AOCreate-AOSetType-AOSetIS-AOSetUp-AOPetscToApplicationIS.
Even with AOBASIC, one has to call AOSetIS() before AOSetType(), otherwise it crashes - this would be also solved by introducing AOSetUp(). I will write it all down into a BB issue and hopefully return to fix it at some point. Vaclav > 27. 8. 2018 v 19:03, Smith, Barry F. <[email protected]>: > > > From the manual page > > Notes: > the arrays myapp and mypetsc need NOT contain the all the integers 0 to > napp-1, that is there CAN be "holes" in the indices. > Use AOCreateBasic() or AOCreateBasicIS() if they do not have holes for > better performance. > > so they are two different things. Mapping is more general but could be much > slower than basic (when basic works). > > Barry > > >> On Aug 27, 2018, at 10:11 AM, Hapla Vaclav <[email protected]> wrote: >> >> Hello >> >> I don't understand the difference between these two (and >> AOCreate{Basic,Mapping}IS). They do the same according to docs. My guess >> would be the latter is obsolete, dating back to before multiple AOTypes were >> introduced? >> >> Maybe just AOMappingHas{Application,Petsc}Index() need to be renamed/edited >> to AOBasicHas{Application,Petsc}Index(), and then AOCreateMapping{,IS} could >> be removed? >> >> Cheers >> >> Vaclav >
