On 12/01/16 15:37, Boris Boutkov wrote: > Hello All, > > I'm trying to attach a context to the DMShell similarly to how a context > is passed into SNES through the SetFunction routine. Specifically, I'm > looking to provide my own interpolation routine to both > DMShellSetCreateInterpolationand Injection, which requires some user > data from my environment. Ive tried searching around the _p_DM*struct > looking for somewhere to attach this data but found no convenient way, > any pointers to how I could achieve this would be appreciated.
I think you want to do:
DMSetApplicationContext(dm, user_context);
Inside your interpolation routine you can then use:
PetscErrorCode interpolate(DM coarse, DM fine, Mat *m, Vec *v) {
...
DMGetApplicationContext(coarse, *ctx);
...
}
Cheers,
Lawrence
signature.asc
Description: OpenPGP digital signature
