1: #include <petsc/private/taoimpl.h>
3: PETSC_INTERN PetscErrorCode TaoTermCreate_ElementwiseDivergence_Internal(TaoTerm term)
4: {
5: PetscFunctionBegin;
6: PetscCall(PetscObjectReference((PetscObject)term->solution_factory));
7: PetscCall(MatDestroy(&term->parameters_factory));
8: term->parameters_factory = term->solution_factory;
9: PetscFunctionReturn(PETSC_SUCCESS);
10: }
12: PETSC_INTERN PetscErrorCode TaoTermDestroy_ElementwiseDivergence_Internal(TaoTerm term)
13: {
14: PetscFunctionBegin;
15: PetscCall(MatDestroy(&term->parameters_factory));
16: PetscCall(PetscObjectReference((PetscObject)term->parameters_factory_orig));
17: term->parameters_factory = term->parameters_factory_orig;
18: PetscFunctionReturn(PETSC_SUCCESS);
19: }