Lines Matching refs:dm
34 PetscErrorCode DMGetLocalVector(DM dm, Vec *g) in DMGetLocalVector() argument
37 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGetLocalVector()
40 if (dm->localin[i]) { in DMGetLocalVector()
43 *g = dm->localin[i]; in DMGetLocalVector()
44 dm->localin[i] = NULL; in DMGetLocalVector()
48 PetscCall(VecSetDM(*g, dm)); in DMGetLocalVector()
52 PetscCall(DMCreateLocalVector(dm, g)); in DMGetLocalVector()
56 if (!dm->localout[i]) { in DMGetLocalVector()
57 dm->localout[i] = *g; in DMGetLocalVector()
81 PetscErrorCode DMRestoreLocalVector(DM dm, Vec *g) in DMRestoreLocalVector() argument
86 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMRestoreLocalVector()
89 if (*g == dm->localout[j]) { in DMRestoreLocalVector()
93 …PetscCheck(vdm == dm, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Invalid vector"… in DMRestoreLocalVector()
95 dm->localout[j] = NULL; in DMRestoreLocalVector()
97 if (!dm->localin[i]) { in DMRestoreLocalVector()
98 dm->localin[i] = *g; in DMRestoreLocalVector()
141 PetscErrorCode DMGetGlobalVector(DM dm, Vec *g) in DMGetGlobalVector() argument
146 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGetGlobalVector()
149 if (dm->globalin[i]) { in DMGetGlobalVector()
152 *g = dm->globalin[i]; in DMGetGlobalVector()
153 dm->globalin[i] = NULL; in DMGetGlobalVector()
157 PetscCall(VecSetDM(*g, dm)); in DMGetGlobalVector()
161 PetscCall(DMCreateGlobalVector(dm, g)); in DMGetGlobalVector()
165 if (!dm->globalout[i]) { in DMGetGlobalVector()
166 dm->globalout[i] = *g; in DMGetGlobalVector()
188 PetscErrorCode DMClearGlobalVectors(DM dm) in DMClearGlobalVectors() argument
193 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMClearGlobalVectors()
197 …PetscCheck(!dm->globalout[i], PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Clearin… in DMClearGlobalVectors()
198 g = dm->globalin[i]; in DMClearGlobalVectors()
199 dm->globalin[i] = NULL; in DMClearGlobalVectors()
204 …PetscCheck(!vdm, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Clearing global vect… in DMClearGlobalVectors()
226 PetscErrorCode DMClearLocalVectors(DM dm) in DMClearLocalVectors() argument
231 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMClearLocalVectors()
235 …PetscCheck(!dm->localout[i], PETSC_COMM_SELF, PETSC_ERR_ARG_WRONGSTATE, "Clearing DM of local vect… in DMClearLocalVectors()
236 g = dm->localin[i]; in DMClearLocalVectors()
237 dm->localin[i] = NULL; in DMClearLocalVectors()
266 PetscErrorCode DMRestoreGlobalVector(DM dm, Vec *g) in DMRestoreGlobalVector() argument
271 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMRestoreGlobalVector()
275 if (*g == dm->globalout[j]) { in DMRestoreGlobalVector()
279 …PetscCheck(vdm == dm, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Invalid vector"… in DMRestoreGlobalVector()
281 dm->globalout[j] = NULL; in DMRestoreGlobalVector()
283 if (!dm->globalin[i]) { in DMRestoreGlobalVector()
284 dm->globalin[i] = *g; in DMRestoreGlobalVector()
308 PetscErrorCode DMClearNamedGlobalVectors(DM dm) in DMClearNamedGlobalVectors() argument
313 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMClearNamedGlobalVectors()
314 nnext = dm->namedglobal; in DMClearNamedGlobalVectors()
315 dm->namedglobal = NULL; in DMClearNamedGlobalVectors()
318 …PetscCheck(nlink->status == DMVEC_STATUS_IN, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "D… in DMClearNamedGlobalVectors()
338 PetscErrorCode DMClearNamedLocalVectors(DM dm) in DMClearNamedLocalVectors() argument
343 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMClearNamedLocalVectors()
344 nnext = dm->namedlocal; in DMClearNamedLocalVectors()
345 dm->namedlocal = NULL; in DMClearNamedLocalVectors()
372 PetscErrorCode DMHasNamedGlobalVector(DM dm, const char *name, PetscBool *exists) in DMHasNamedGlobalVector() argument
377 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMHasNamedGlobalVector()
381 for (link = dm->namedglobal; link; link = link->next) { in DMHasNamedGlobalVector()
411 PetscErrorCode DMGetNamedGlobalVector(DM dm, const char *name, Vec *X) in DMGetNamedGlobalVector() argument
416 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGetNamedGlobalVector()
419 for (link = dm->namedglobal; link; link = link->next) { in DMGetNamedGlobalVector()
426 …PetscCheck(link->status == DMVEC_STATUS_IN, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGS… in DMGetNamedGlobalVector()
429 PetscCall(VecSetDM(link->X, dm)); in DMGetNamedGlobalVector()
437 PetscCall(DMCreateGlobalVector(dm, &link->X)); in DMGetNamedGlobalVector()
438 link->next = dm->namedglobal; in DMGetNamedGlobalVector()
439 dm->namedglobal = link; in DMGetNamedGlobalVector()
461 PetscErrorCode DMRestoreNamedGlobalVector(DM dm, const char *name, Vec *X) in DMRestoreNamedGlobalVector() argument
466 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMRestoreNamedGlobalVector()
470 for (link = dm->namedglobal; link; link = link->next) { in DMRestoreNamedGlobalVector()
478 …PetscCheck(link->status == DMVEC_STATUS_OUT, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONG… in DMRestoreNamedGlobalVector()
479 …PetscCheck(link->X == *X, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_INCOMP, "Attempt to rest… in DMRestoreNamedGlobalVector()
480 …PetscCheck(vdm == dm, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Invalid vector"… in DMRestoreNamedGlobalVector()
488 …SETERRQ(PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_INCOMP, "Could not find Vec name '%s' to r… in DMRestoreNamedGlobalVector()
510 PetscErrorCode DMHasNamedLocalVector(DM dm, const char *name, PetscBool *exists) in DMHasNamedLocalVector() argument
515 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMHasNamedLocalVector()
519 for (link = dm->namedlocal; link; link = link->next) { in DMHasNamedLocalVector()
549 PetscErrorCode DMGetNamedLocalVector(DM dm, const char *name, Vec *X) in DMGetNamedLocalVector() argument
554 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGetNamedLocalVector()
557 for (link = dm->namedlocal; link; link = link->next) { in DMGetNamedLocalVector()
564 …PetscCheck(link->status == DMVEC_STATUS_IN, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGS… in DMGetNamedLocalVector()
567 PetscCall(VecSetDM(link->X, dm)); in DMGetNamedLocalVector()
575 PetscCall(DMCreateLocalVector(dm, &link->X)); in DMGetNamedLocalVector()
576 link->next = dm->namedlocal; in DMGetNamedLocalVector()
577 dm->namedlocal = link; in DMGetNamedLocalVector()
599 PetscErrorCode DMRestoreNamedLocalVector(DM dm, const char *name, Vec *X) in DMRestoreNamedLocalVector() argument
604 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMRestoreNamedLocalVector()
608 for (link = dm->namedlocal; link; link = link->next) { in DMRestoreNamedLocalVector()
616 …PetscCheck(link->status == DMVEC_STATUS_OUT, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONG… in DMRestoreNamedLocalVector()
617 …PetscCheck(link->X == *X, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_INCOMP, "Attempt to rest… in DMRestoreNamedLocalVector()
618 …PetscCheck(vdm == dm, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Invalid vector"… in DMRestoreNamedLocalVector()
626 …SETERRQ(PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_INCOMP, "Could not find Vec name '%s' to r… in DMRestoreNamedLocalVector()