Lines Matching refs:alg_is
1382 if (!ark->alg_is) { in TSStep_ARKIMEX()
1383 PetscCall(TSARKIMEXComputeAlgebraicIS(ts, ts->ptime, Z, &ark->alg_is)); in TSStep_ARKIMEX()
1384 PetscCall(ISViewFromOptions(ark->alg_is, (PetscObject)ts, "-ts_arkimex_algebraic_is_view")); in TSStep_ARKIMEX()
1389 if (ark->alg_is) PetscCall(VecISSet(Ydot0, ark->alg_is, 0.0)); in TSStep_ARKIMEX()
1772 PetscCall(ISDestroy(&ark->alg_is)); in TSReset_ARKIMEX()
1823 static PetscErrorCode TSARKIMEXComputeAlgebraicIS(TS ts, PetscReal time, Vec X, IS *alg_is) in TSARKIMEXComputeAlgebraicIS() argument
1852 PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)dm), nz, nzr, PETSC_OWN_POINTER, alg_is)); in TSARKIMEXComputeAlgebraicIS()
1861 static PetscErrorCode TSARKIMEXGetAlgebraicIS(TS ts, DM dm, IS *alg_is) in TSARKIMEXGetAlgebraicIS() argument
1866 …!= ts->dm) PetscCall(PetscObjectQuery((PetscObject)dm, "TSARKIMEX_ALG_IS", (PetscObject *)alg_is)); in TSARKIMEXGetAlgebraicIS()
1867 else *alg_is = ax->alg_is; in TSARKIMEXGetAlgebraicIS()
1877 IS alg_is; in SNESTSFormFunction_ARKIMEX() local
1882 if (ark->scoeff == PETSC_MAX_REAL) PetscCall(TSARKIMEXGetAlgebraicIS(ts, dm, &alg_is)); in SNESTSFormFunction_ARKIMEX()
1889 if (!alg_is) { in SNESTSFormFunction_ARKIMEX()
1891 PetscCall(TSARKIMEXComputeAlgebraicIS(ts, ark->stage_time, Z, &alg_is)); in SNESTSFormFunction_ARKIMEX()
1892 PetscCall(PetscObjectCompose((PetscObject)dm, "TSARKIMEX_ALG_IS", (PetscObject)alg_is)); in SNESTSFormFunction_ARKIMEX()
1893 PetscCall(PetscObjectDereference((PetscObject)alg_is)); in SNESTSFormFunction_ARKIMEX()
1894 PetscCall(ISViewFromOptions(alg_is, (PetscObject)snes, "-ts_arkimex_algebraic_is_view")); in SNESTSFormFunction_ARKIMEX()
1897 PetscCall(VecISSet(F, alg_is, 0.0)); in SNESTSFormFunction_ARKIMEX()
1915 IS alg_is; in SNESTSFormJacobian_ARKIMEX() local
1922 if (ark->scoeff == PETSC_MAX_REAL) PetscCall(TSARKIMEXGetAlgebraicIS(ts, dm, &alg_is)); in SNESTSFormJacobian_ARKIMEX()
1937 PetscCheck(alg_is, PetscObjectComm((PetscObject)dm), PETSC_ERR_PLIB, "Missing algebraic IS"); in SNESTSFormJacobian_ARKIMEX()
1940 PetscCall(MatZeroRowsIS(B, alg_is, 1.0, NULL, NULL)); in SNESTSFormJacobian_ARKIMEX()