| /petsc/src/ts/impls/implicit/theta/ |
| H A D | theta.c | 277 PetscInt nadj; in TSAdjointStepBEuler_Private() local 306 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStepBEuler_Private() 307 PetscCall(VecCopy(ts->vecs_sensi[nadj], VecsSensiTemp[nadj])); in TSAdjointStepBEuler_Private() 308 PetscCall(VecScale(VecsSensiTemp[nadj], 1. / adjoint_time_step)); /* lambda_{n+1}/h */ in TSAdjointStepBEuler_Private() 310 PetscCall(MatDenseGetColumn(quadJ, nadj, &xarr)); in TSAdjointStepBEuler_Private() 312 PetscCall(VecAXPY(VecsSensiTemp[nadj], 1., ts->vec_drdu_col)); in TSAdjointStepBEuler_Private() 324 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStepBEuler_Private() 326 PetscCall(KSPSolveTranspose(ksp, VecsSensiTemp[nadj], VecsDeltaLam[nadj])); in TSAdjointStepBEuler_Private() 330 …st function, transposed linear solve fails, stopping 1st-order adjoint solve\n", ts->steps, nadj)); in TSAdjointStepBEuler_Private() 342 for (nadj = 0; nadj < ts->numcost; nadj++) { /* compute the residual */ in TSAdjointStepBEuler_Private() [all …]
|
| /petsc/src/ts/impls/explicit/rk/ |
| H A D | rk.c | 883 PetscInt i, j, nadj; in TSAdjointStep_RK() local 911 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_RK() 915 …PetscCall(VecCopy(ts->vecs_sensi[nadj], VecsSensiTemp[nadj])); /* VecDeltaLam is an vec array of s… in TSAdjointStep_RK() 916 PetscCall(VecMAXPY(VecsSensiTemp[nadj], s - i - 1, w, &VecsDeltaLam[nadj * s + i + 1])); in TSAdjointStep_RK() 917 …PetscCall(MatMultTranspose(J, VecsSensiTemp[nadj], VecsDeltaLam[nadj * s + i])); /* VecsSensiTemp … in TSAdjointStep_RK() 918 PetscCall(VecScale(VecsDeltaLam[nadj * s + i], -h * b[i])); in TSAdjointStep_RK() 920 PetscCall(MatDenseGetColumn(Jquad, nadj, &xarr)); in TSAdjointStep_RK() 922 PetscCall(VecAXPY(VecsDeltaLam[nadj * s + i], -h * b[i], VecDRDUTransCol)); in TSAdjointStep_RK() 928 PetscCall(VecSet(VecsSensiTemp[nadj], 0)); in TSAdjointStep_RK() 929 PetscCall(VecMAXPY(VecsSensiTemp[nadj], s - i - 1, w, &VecsDeltaLam[nadj * s + i + 1])); in TSAdjointStep_RK() [all …]
|
| /petsc/src/ts/interface/sensitivity/ |
| H A D | tssen.c | 521 PetscInt nadj; in TSComputeIHessianProductFunctionUU() local 523 for (nadj = 0; nadj < ts->numcost; nadj++) PetscCall(VecScale(VHV[nadj], -1)); in TSComputeIHessianProductFunctionUU() 562 PetscInt nadj; in TSComputeIHessianProductFunctionUP() local 564 for (nadj = 0; nadj < ts->numcost; nadj++) PetscCall(VecScale(VHV[nadj], -1)); in TSComputeIHessianProductFunctionUP() 603 PetscInt nadj; in TSComputeIHessianProductFunctionPU() local 605 for (nadj = 0; nadj < ts->numcost; nadj++) PetscCall(VecScale(VHV[nadj], -1)); in TSComputeIHessianProductFunctionPU() 644 PetscInt nadj; in TSComputeIHessianProductFunctionPP() local 646 for (nadj = 0; nadj < ts->numcost; nadj++) PetscCall(VecScale(VHV[nadj], -1)); in TSComputeIHessianProductFunctionPP()
|
| /petsc/src/ts/impls/arkimex/ |
| H A D | arkimex.c | 1569 PetscInt i, j, nadj; in TSAdjointStep_ARKIMEX() local 1595 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_ARKIMEX() 1597 PetscCall(VecSet(VecsSensiTemp[nadj], 0)); in TSAdjointStep_ARKIMEX() 1601 PetscCall(VecMAXPY(VecsSensiTemp[nadj], s - i - 1, w, &VecsDeltaLam[nadj * s + i + 1])); in TSAdjointStep_ARKIMEX() 1604 PetscCall(VecAXPY(VecsSensiTemp[nadj], -bt[i], ts->vecs_sensi[nadj])); in TSAdjointStep_ARKIMEX() 1607 PetscCall(MatMultTranspose(Jim, VecsSensiTemp[nadj], VecsDeltaLam[nadj * s + i])); in TSAdjointStep_ARKIMEX() 1609 …PetscCall(VecAXPY(VecsDeltaLam[nadj * s + i], ark->scoeff / adjoint_time_step, VecsSensiTemp[nadj]… in TSAdjointStep_ARKIMEX() 1612 PetscCall(MatMultTranspose(ts->Jacp, VecsSensiTemp[nadj], VecsSensiPTemp[nadj])); in TSAdjointStep_ARKIMEX() 1614 PetscCall(VecAXPY(ts->vecs_sensip[nadj], adjoint_time_step, VecsSensiPTemp[nadj])); in TSAdjointStep_ARKIMEX() 1617 PetscCall(VecSet(VecsDeltaLam[nadj * s + i], 0)); // make sure it is initialized in TSAdjointStep_ARKIMEX() [all …]
|
| /petsc/src/ts/tutorials/power_grid/ |
| H A D | ex3opt.c | 240 PetscInt nadj; in FormFunctionGradient() local 299 PetscCall(TSGetCostGradients(ctx->ts, &nadj, &lambda, &mu)); in FormFunctionGradient()
|
| /petsc/src/binding/petsc4py/src/petsc4py/PETSc/ |
| H A D | DMPlex.pyx | 1549 cdef PetscInt nadj = PETSC_DETERMINE 1551 CHKERR(DMPlexGetAdjacency(self.dm, cp, &nadj, &iadj)) 1553 adjacency = array_i(nadj, iadj)
|