Lines Matching refs:Arhs
719 PetscErrorCode TSGetRHSMats_Private(TS ts, Mat *Arhs, Mat *Brhs) in TSGetRHSMats_Private() argument
725 if (Arhs) *Arhs = NULL; in TSGetRHSMats_Private()
728 if (Arhs) { in TSGetRHSMats_Private()
729 if (!ts->Arhs) { in TSGetRHSMats_Private()
731 PetscCall(MatDuplicate(A, MAT_DO_NOT_COPY_VALUES, &ts->Arhs)); in TSGetRHSMats_Private()
734 ts->Arhs = A; in TSGetRHSMats_Private()
741 if (flg && !ijacobian && ts->Arhs == ts->Brhs) { in TSGetRHSMats_Private()
742 PetscCall(PetscObjectDereference((PetscObject)ts->Arhs)); in TSGetRHSMats_Private()
743 ts->Arhs = A; in TSGetRHSMats_Private()
747 *Arhs = ts->Arhs; in TSGetRHSMats_Private()
759 PetscCall(PetscObjectReference((PetscObject)ts->Arhs)); in TSGetRHSMats_Private()
760 ts->Brhs = ts->Arhs; in TSGetRHSMats_Private()
848 PetscCheck(A == ts->Arhs, PetscObjectComm((PetscObject)ts), PETSC_ERR_SUP, "Invalid Amat"); in TSRecoverRHSJacobian()
920 Mat Arhs = NULL; in TSComputeIJacobian() local
921 PetscCall(TSGetRHSMats_Private(ts, &Arhs, NULL)); in TSComputeIJacobian()
922 if (A == Arhs) { in TSComputeIJacobian()
945 Mat Arhs = NULL, Brhs = NULL; in TSComputeIJacobian() local
948 if (rhsjacobian) PetscCall(TSGetRHSMats_Private(ts, &Arhs, &Brhs)); in TSComputeIJacobian()
949 if (Arhs == A) { /* No IJacobian matrix, so we only have the RHS matrix */ in TSComputeIJacobian()
984 } else if (Arhs) { /* Both IJacobian and RHSJacobian */ in TSComputeIJacobian()
993 PetscCall(TSComputeRHSJacobian(ts, t, U, Arhs, Brhs)); in TSComputeIJacobian()
994 PetscCall(MatAXPY(A, -1, Arhs, ts->axpy_pattern)); in TSComputeIJacobian()
1163 PetscCall(MatDestroy(&ts->Arhs)); in TSSetRHSJacobian()
1164 ts->Arhs = Amat; in TSSetRHSJacobian()
2527 if (Amat && Amat == ts->Arhs) { in TSSetUp()
2529 PetscCall(MatDuplicate(ts->Arhs, MAT_COPY_VALUES, &Amat)); in TSSetUp()
2598 PetscCall(MatDestroy(&ts->Arhs)); in TSReset()
4647 Mat Arhs, Brhs; in TSComputeRHSFunctionLinear() local
4650 PetscCall(TSGetRHSMats_Private(ts, &Arhs, &Brhs)); in TSComputeRHSFunctionLinear()
4652 PetscCall(TSRecoverRHSJacobian(ts, Arhs, Brhs)); in TSComputeRHSFunctionLinear()
4653 PetscCall(TSComputeRHSJacobian(ts, t, U, Arhs, Brhs)); in TSComputeRHSFunctionLinear()
4654 PetscCall(MatMult(Arhs, U, F)); in TSComputeRHSFunctionLinear()