Lines Matching refs:dm
33 static PetscErrorCode DMLocalTSGetContext(DM dm, DMTS tdm, DMTS_Local **dmlocalts) in DMLocalTSGetContext() argument
49 DM dm; in TSComputeIFunction_DMLocal() local
58 PetscCall(TSGetDM(ts, &dm)); in TSComputeIFunction_DMLocal()
59 PetscCall(DMGetLocalVector(dm, &locX)); in TSComputeIFunction_DMLocal()
60 PetscCall(DMGetLocalVector(dm, &locX_t)); in TSComputeIFunction_DMLocal()
61 PetscCall(DMGetLocalVector(dm, &locF)); in TSComputeIFunction_DMLocal()
64 …if (dmlocalts->boundarylocal) PetscCall((*dmlocalts->boundarylocal)(dm, time, locX, locX_t, dmloca… in TSComputeIFunction_DMLocal()
65 PetscCall(DMGlobalToLocalBegin(dm, X, INSERT_VALUES, locX)); in TSComputeIFunction_DMLocal()
66 PetscCall(DMGlobalToLocalEnd(dm, X, INSERT_VALUES, locX)); in TSComputeIFunction_DMLocal()
67 PetscCall(DMGlobalToLocalBegin(dm, X_t, INSERT_VALUES, locX_t)); in TSComputeIFunction_DMLocal()
68 PetscCall(DMGlobalToLocalEnd(dm, X_t, INSERT_VALUES, locX_t)); in TSComputeIFunction_DMLocal()
71 …PetscCall((*dmlocalts->ifunctionlocal)(dm, time, locX, locX_t, locF, dmlocalts->ifunctionlocalctx)… in TSComputeIFunction_DMLocal()
74 PetscCall(DMLocalToGlobalBegin(dm, locF, ADD_VALUES, F)); in TSComputeIFunction_DMLocal()
75 PetscCall(DMLocalToGlobalEnd(dm, locF, ADD_VALUES, F)); in TSComputeIFunction_DMLocal()
76 PetscCall(DMRestoreLocalVector(dm, &locX)); in TSComputeIFunction_DMLocal()
77 PetscCall(DMRestoreLocalVector(dm, &locX_t)); in TSComputeIFunction_DMLocal()
78 PetscCall(DMRestoreLocalVector(dm, &locF)); in TSComputeIFunction_DMLocal()
83 PetscCall(PetscObjectQuery((PetscObject)dm, "__dmtsnullspace", (PetscObject *)&nullsp)); in TSComputeIFunction_DMLocal()
91 DM dm; in TSComputeRHSFunction_DMLocal() local
99 PetscCall(TSGetDM(ts, &dm)); in TSComputeRHSFunction_DMLocal()
100 PetscCall(DMGetLocalVector(dm, &locX)); in TSComputeRHSFunction_DMLocal()
101 PetscCall(DMGetLocalVector(dm, &locF)); in TSComputeRHSFunction_DMLocal()
103 …if (dmlocalts->boundarylocal) PetscCall((*dmlocalts->boundarylocal)(dm, time, locX, NULL, dmlocalt… in TSComputeRHSFunction_DMLocal()
104 PetscCall(DMGlobalToLocalBegin(dm, X, INSERT_VALUES, locX)); in TSComputeRHSFunction_DMLocal()
105 PetscCall(DMGlobalToLocalEnd(dm, X, INSERT_VALUES, locX)); in TSComputeRHSFunction_DMLocal()
108 PetscCall((*dmlocalts->rhsfunctionlocal)(dm, time, locX, locF, dmlocalts->rhsfunctionlocalctx)); in TSComputeRHSFunction_DMLocal()
111 PetscCall(DMLocalToGlobalBegin(dm, locF, ADD_VALUES, F)); in TSComputeRHSFunction_DMLocal()
112 PetscCall(DMLocalToGlobalEnd(dm, locF, ADD_VALUES, F)); in TSComputeRHSFunction_DMLocal()
118 PetscCall(DMGetGlobalVector(dm, &tmp)); in TSComputeRHSFunction_DMLocal()
121 PetscCall(DMRestoreGlobalVector(dm, &tmp)); in TSComputeRHSFunction_DMLocal()
123 PetscCall(DMRestoreLocalVector(dm, &locX)); in TSComputeRHSFunction_DMLocal()
124 PetscCall(DMRestoreLocalVector(dm, &locF)); in TSComputeRHSFunction_DMLocal()
130 DM dm; in TSComputeIJacobian_DMLocal() local
135 PetscCall(TSGetDM(ts, &dm)); in TSComputeIJacobian_DMLocal()
137 PetscCall(DMGetLocalVector(dm, &locX)); in TSComputeIJacobian_DMLocal()
138 PetscCall(DMGetLocalVector(dm, &locX_t)); in TSComputeIJacobian_DMLocal()
141 …if (dmlocalts->boundarylocal) PetscCall((*dmlocalts->boundarylocal)(dm, time, locX, locX_t, dmloca… in TSComputeIJacobian_DMLocal()
142 PetscCall(DMGlobalToLocalBegin(dm, X, INSERT_VALUES, locX)); in TSComputeIJacobian_DMLocal()
143 PetscCall(DMGlobalToLocalEnd(dm, X, INSERT_VALUES, locX)); in TSComputeIJacobian_DMLocal()
144 PetscCall(DMGlobalToLocalBegin(dm, X_t, INSERT_VALUES, locX_t)); in TSComputeIJacobian_DMLocal()
145 PetscCall(DMGlobalToLocalEnd(dm, X_t, INSERT_VALUES, locX_t)); in TSComputeIJacobian_DMLocal()
147 …PetscCall((*dmlocalts->ijacobianlocal)(dm, time, locX, locX_t, a, A, B, dmlocalts->ijacobianlocalc… in TSComputeIJacobian_DMLocal()
149 PetscCall(DMRestoreLocalVector(dm, &locX)); in TSComputeIJacobian_DMLocal()
150 PetscCall(DMRestoreLocalVector(dm, &locX_t)); in TSComputeIJacobian_DMLocal()
153 PetscCall(PetscObjectQuery((PetscObject)dm, "DMDASNES_FDCOLORING", (PetscObject *)&fdcoloring)); in TSComputeIJacobian_DMLocal()
157 PetscCall(DMCreateColoring(dm, dm->coloringtype, &coloring)); in TSComputeIJacobian_DMLocal()
160 switch (dm->coloringtype) { in TSComputeIJacobian_DMLocal()
165 …Object)ts), PETSC_ERR_SUP, "No support for coloring type '%s'", ISColoringTypes[dm->coloringtype]); in TSComputeIJacobian_DMLocal()
167 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)fdcoloring, ((PetscObject)dm)->prefix)); in TSComputeIJacobian_DMLocal()
170 … PetscCall(PetscObjectCompose((PetscObject)dm, "DMDASNES_FDCOLORING", (PetscObject)fdcoloring)); in TSComputeIJacobian_DMLocal()
179 PetscCall(PetscObjectDereference((PetscObject)dm)); in TSComputeIJacobian_DMLocal()
217 PetscErrorCode DMTSSetBoundaryLocal(DM dm, PetscErrorCode (*func)(DM, PetscReal, Vec, Vec, void *),… in DMTSSetBoundaryLocal() argument
223 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSSetBoundaryLocal()
224 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSSetBoundaryLocal()
225 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSSetBoundaryLocal()
250 PetscErrorCode DMTSGetIFunctionLocal(DM dm, PetscErrorCode (**func)(DM, PetscReal, Vec, Vec, Vec, v… in DMTSGetIFunctionLocal() argument
256 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSGetIFunctionLocal()
257 PetscCall(DMGetDMTS(dm, &tdm)); in DMTSGetIFunctionLocal()
258 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSGetIFunctionLocal()
286 PetscErrorCode DMTSSetIFunctionLocal(DM dm, PetscErrorCode (*func)(DM, PetscReal, Vec, Vec, Vec, vo… in DMTSSetIFunctionLocal() argument
292 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSSetIFunctionLocal()
293 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSSetIFunctionLocal()
294 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSSetIFunctionLocal()
299 PetscCall(DMTSSetIFunction(dm, TSComputeIFunction_DMLocal, dmlocalts)); in DMTSSetIFunctionLocal()
301 PetscCall(DMTSSetIJacobian(dm, TSComputeIJacobian_DMLocal, dmlocalts)); in DMTSSetIFunctionLocal()
322 PetscErrorCode DMTSGetIJacobianLocal(DM dm, PetscErrorCode (**func)(DM, PetscReal, Vec, Vec, PetscR… in DMTSGetIJacobianLocal() argument
328 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSGetIJacobianLocal()
329 PetscCall(DMGetDMTS(dm, &tdm)); in DMTSGetIJacobianLocal()
330 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSGetIJacobianLocal()
356 PetscErrorCode DMTSSetIJacobianLocal(DM dm, PetscErrorCode (*func)(DM, PetscReal, Vec, Vec, PetscRe… in DMTSSetIJacobianLocal() argument
362 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSSetIJacobianLocal()
363 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSSetIJacobianLocal()
364 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSSetIJacobianLocal()
369 PetscCall(DMTSSetIJacobian(dm, TSComputeIJacobian_DMLocal, dmlocalts)); in DMTSSetIJacobianLocal()
391 PetscErrorCode DMTSGetRHSFunctionLocal(DM dm, PetscErrorCode (**func)(DM, PetscReal, Vec, Vec, void… in DMTSGetRHSFunctionLocal() argument
397 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSGetRHSFunctionLocal()
398 PetscCall(DMGetDMTS(dm, &tdm)); in DMTSGetRHSFunctionLocal()
399 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSGetRHSFunctionLocal()
427 PetscErrorCode DMTSSetRHSFunctionLocal(DM dm, PetscErrorCode (*func)(DM, PetscReal, Vec, Vec, void … in DMTSSetRHSFunctionLocal() argument
433 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSSetRHSFunctionLocal()
434 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSSetRHSFunctionLocal()
435 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSSetRHSFunctionLocal()
440 PetscCall(DMTSSetRHSFunction(dm, TSComputeRHSFunction_DMLocal, dmlocalts)); in DMTSSetRHSFunctionLocal()
459 PetscErrorCode DMTSCreateRHSMassMatrix(DM dm) in DMTSCreateRHSMassMatrix() argument
466 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSCreateRHSMassMatrix()
467 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSCreateRHSMassMatrix()
468 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSCreateRHSMassMatrix()
469 PetscCall(DMCreateMassMatrix(dm, dm, &dmlocalts->mass)); in DMTSCreateRHSMassMatrix()
470 PetscCall(KSPCreate(PetscObjectComm((PetscObject)dm), &dmlocalts->kspmass)); in DMTSCreateRHSMassMatrix()
471 PetscCall(PetscObjectGetOptionsPrefix((PetscObject)dm, &prefix)); in DMTSCreateRHSMassMatrix()
495 PetscErrorCode DMTSCreateRHSMassMatrixLumped(DM dm) in DMTSCreateRHSMassMatrixLumped() argument
501 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSCreateRHSMassMatrixLumped()
502 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSCreateRHSMassMatrixLumped()
503 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSCreateRHSMassMatrixLumped()
504 PetscCall(DMCreateMassMatrixLumped(dm, NULL, &dmlocalts->lumpedmassinv)); in DMTSCreateRHSMassMatrixLumped()
522 PetscErrorCode DMTSDestroyRHSMassMatrix(DM dm) in DMTSDestroyRHSMassMatrix() argument
528 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMTSDestroyRHSMassMatrix()
529 PetscCall(DMGetDMTSWrite(dm, &tdm)); in DMTSDestroyRHSMassMatrix()
530 PetscCall(DMLocalTSGetContext(dm, tdm, &dmlocalts)); in DMTSDestroyRHSMassMatrix()