[petsc-users] DMPlexCreateLocalVec Within a function

Jed Brown jed at jedbrown.org
Sat Apr 16 03:21:41 CDT 2016


Matthew Kury <mkury at berkeley.edu> writes:

> Hello, 
>
> 	I have done some reading and I have not been able to find out what the proper way to create and use vectors within a function.
>
> 	If I have a function that passes in dm and V then: 
> +++
> 		DMPlexGetLocalVec(dm, &VLocal) ;

This function doesn't exist, and neither does DMPlexCreateLocalVec (from
the subject of your email), but when I gaze into my crystal ball, it
says you're probably spelling it DMGetLocalVector.  Please send the full
error message.

> 		DMGlobalToLocalBegin(dm,V,INSERT_VALUES,VLocal); 
> 		DMGlobalToLocalEnd(dm,V,INSERT_VALUES,VLocal) ;
>
> 		VecGetArray(VLoc,VLocalArray);
>
> 		“Stuff with VLocalArray”
>
> 		VecRestoreArray(VLoc,VLocalArray);
> 		
> 		DMLocalToGlobalBegin(dm,VLocal,ADD_VALUES,V);
> 		DMLocalToGlobalEnd(dm,VLocal,ADD_VALUES,V);
>
> 		DMRestoreLocalVector(dm,&VLocal);
> +++
>
> 	The second time I call the function I get errors with the VecGetArray() function.  I would appreciate any advice as to what is going wrong. 
>
> Thank you, 
>
> Matthew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160416/297f14a1/attachment.pgp>


More information about the petsc-users mailing list