Lines Matching refs:nadj
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()
343 PetscCall(VecCopy(ts->vecs_sensi2[nadj], VecsSensi2Temp[nadj])); in TSAdjointStepBEuler_Private()
344 PetscCall(VecScale(VecsSensi2Temp[nadj], 1. / adjoint_time_step)); in TSAdjointStepBEuler_Private()
345 PetscCall(VecAXPY(VecsSensi2Temp[nadj], -1., ts->vecs_fuu[nadj])); in TSAdjointStepBEuler_Private()
346 if (ts->vecs_fup) PetscCall(VecAXPY(VecsSensi2Temp[nadj], -1., ts->vecs_fup[nadj])); in TSAdjointStepBEuler_Private()
349 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStepBEuler_Private()
351 PetscCall(KSPSolveTranspose(ksp, VecsSensi2Temp[nadj], VecsDeltaLam2[nadj])); in TSAdjointStepBEuler_Private()
355 …st function, transposed linear solve fails, stopping 2nd-order adjoint solve\n", ts->steps, nadj)); in TSAdjointStepBEuler_Private()
365 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStepBEuler_Private()
367 PetscCall(VecScale(VecsSensiTemp[nadj], -1.)); in TSAdjointStepBEuler_Private()
368 … PetscCall(MatMultTransposeAdd(J, VecsDeltaLam[nadj], VecsSensiTemp[nadj], VecsSensiTemp[nadj])); in TSAdjointStepBEuler_Private()
369 PetscCall(VecScale(VecsSensiTemp[nadj], -adjoint_time_step)); in TSAdjointStepBEuler_Private()
370 PetscCall(VecCopy(VecsSensiTemp[nadj], ts->vecs_sensi[nadj])); in TSAdjointStepBEuler_Private()
372 …PetscCall(MatMultTransposeAdd(J, VecsDeltaLam2[nadj], VecsSensi2Temp[nadj], VecsSensi2Temp[nadj])); in TSAdjointStepBEuler_Private()
373 PetscCall(VecScale(VecsSensi2Temp[nadj], -adjoint_time_step)); in TSAdjointStepBEuler_Private()
374 PetscCall(VecCopy(VecsSensi2Temp[nadj], ts->vecs_sensi2[nadj])); in TSAdjointStepBEuler_Private()
389 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStepBEuler_Private()
390 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam[nadj], VecsDeltaMu[nadj])); in TSAdjointStepBEuler_Private()
391 PetscCall(VecAXPY(ts->vecs_sensip[nadj], -adjoint_time_step, VecsDeltaMu[nadj])); in TSAdjointStepBEuler_Private()
393 PetscCall(MatDenseGetColumn(quadJp, nadj, &xarr)); in TSAdjointStepBEuler_Private()
395 PetscCall(VecAXPY(ts->vecs_sensip[nadj], adjoint_time_step, ts->vec_drdp_col)); in TSAdjointStepBEuler_Private()
400 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam2[nadj], VecsDeltaMu2[nadj])); in TSAdjointStepBEuler_Private()
401 PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step, VecsDeltaMu2[nadj])); in TSAdjointStepBEuler_Private()
402 …if (ts->vecs_fpu) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step, ts->vecs_fpu[nadj]… in TSAdjointStepBEuler_Private()
403 …if (ts->vecs_fpp) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step, ts->vecs_fpp[nadj]… in TSAdjointStepBEuler_Private()
422 PetscInt nadj; in TSAdjointStep_Theta() local
461 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
462 PetscCall(VecCopy(ts->vecs_sensi[nadj], VecsSensiTemp[nadj])); in TSAdjointStep_Theta()
463 PetscCall(VecScale(VecsSensiTemp[nadj], 1. / (th->Theta * adjoint_time_step))); in TSAdjointStep_Theta()
465 PetscCall(MatDenseGetColumn(quadJ, nadj, &xarr)); in TSAdjointStep_Theta()
467 PetscCall(VecAXPY(VecsSensiTemp[nadj], 1., ts->vec_drdu_col)); in TSAdjointStep_Theta()
483 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
485 PetscCall(KSPSolveTranspose(ksp, VecsSensiTemp[nadj], VecsDeltaLam[nadj])); in TSAdjointStep_Theta()
489 …st function, transposed linear solve fails, stopping 1st-order adjoint solve\n", ts->steps, nadj)); in TSAdjointStep_Theta()
505 for (nadj = 0; nadj < ts->numcost; nadj++) { /* compute the residual */ in TSAdjointStep_Theta()
506 PetscCall(VecCopy(ts->vecs_sensi2[nadj], VecsSensi2Temp[nadj])); in TSAdjointStep_Theta()
507 PetscCall(VecScale(VecsSensi2Temp[nadj], th->shift)); in TSAdjointStep_Theta()
508 PetscCall(VecAXPY(VecsSensi2Temp[nadj], -1., ts->vecs_fuu[nadj])); in TSAdjointStep_Theta()
509 if (ts->vecs_fup) PetscCall(VecAXPY(VecsSensi2Temp[nadj], -1., ts->vecs_fup[nadj])); in TSAdjointStep_Theta()
512 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
514 PetscCall(KSPSolveTranspose(ksp, VecsSensi2Temp[nadj], VecsDeltaLam2[nadj])); in TSAdjointStep_Theta()
518 …st function, transposed linear solve fails, stopping 2nd-order adjoint solve\n", ts->steps, nadj)); in TSAdjointStep_Theta()
531 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
532 PetscCall(MatMultTranspose(J, VecsDeltaLam[nadj], ts->vecs_sensi[nadj])); in TSAdjointStep_Theta()
534 PetscCall(MatDenseGetColumn(quadJ, nadj, &xarr)); in TSAdjointStep_Theta()
536 PetscCall(VecAXPY(ts->vecs_sensi[nadj], -1., ts->vec_drdu_col)); in TSAdjointStep_Theta()
540 PetscCall(VecScale(ts->vecs_sensi[nadj], 1. / th->shift)); in TSAdjointStep_Theta()
554 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
556 PetscCall(MatMultTranspose(J, VecsDeltaLam2[nadj], ts->vecs_sensi2[nadj])); in TSAdjointStep_Theta()
557 PetscCall(VecAXPY(ts->vecs_sensi2[nadj], 1., ts->vecs_fuu[nadj])); in TSAdjointStep_Theta()
558 if (ts->vecs_fup) PetscCall(VecAXPY(ts->vecs_sensi2[nadj], 1., ts->vecs_fup[nadj])); in TSAdjointStep_Theta()
559 PetscCall(VecScale(ts->vecs_sensi2[nadj], 1. / th->shift)); in TSAdjointStep_Theta()
571 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
572 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam[nadj], VecsDeltaMu[nadj])); in TSAdjointStep_Theta()
573 … PetscCall(VecAXPY(ts->vecs_sensip[nadj], -adjoint_time_step * th->Theta, VecsDeltaMu[nadj])); in TSAdjointStep_Theta()
575 PetscCall(MatDenseGetColumn(quadJp, nadj, &xarr)); in TSAdjointStep_Theta()
577 … PetscCall(VecAXPY(ts->vecs_sensip[nadj], adjoint_time_step * th->Theta, ts->vec_drdp_col)); in TSAdjointStep_Theta()
593 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
595 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam2[nadj], VecsDeltaMu2[nadj])); in TSAdjointStep_Theta()
596 … PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * th->Theta, VecsDeltaMu2[nadj])); in TSAdjointStep_Theta()
597 …s->vecs_fpu) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * th->Theta, ts->vecs_fp… in TSAdjointStep_Theta()
598 …s->vecs_fpp) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * th->Theta, ts->vecs_fp… in TSAdjointStep_Theta()
606 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
607 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam[nadj], VecsDeltaMu[nadj])); in TSAdjointStep_Theta()
608 …PetscCall(VecAXPY(ts->vecs_sensip[nadj], -adjoint_time_step * (1.0 - th->Theta), VecsDeltaMu[nadj]… in TSAdjointStep_Theta()
610 PetscCall(MatDenseGetColumn(quadJp, nadj, &xarr)); in TSAdjointStep_Theta()
612 …PetscCall(VecAXPY(ts->vecs_sensip[nadj], adjoint_time_step * (1.0 - th->Theta), ts->vec_drdp_col)); in TSAdjointStep_Theta()
626 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
628 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam2[nadj], VecsDeltaMu2[nadj])); in TSAdjointStep_Theta()
629 …PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * (1.0 - th->Theta), VecsDeltaMu2[nad… in TSAdjointStep_Theta()
630 …ecs_fpu) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * (1.0 - th->Theta), ts->vec… in TSAdjointStep_Theta()
631 …ecs_fpp) PetscCall(VecAXPY(ts->vecs_sensi2p[nadj], -adjoint_time_step * (1.0 - th->Theta), ts->vec… in TSAdjointStep_Theta()
641 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
642 PetscCall(MatMultTranspose(J, VecsDeltaLam[nadj], VecsSensiTemp[nadj])); in TSAdjointStep_Theta()
643 PetscCall(VecAXPY(ts->vecs_sensi[nadj], -adjoint_time_step, VecsSensiTemp[nadj])); in TSAdjointStep_Theta()
645 PetscCall(MatDenseGetColumn(quadJ, nadj, &xarr)); in TSAdjointStep_Theta()
647 PetscCall(VecAXPY(ts->vecs_sensi[nadj], adjoint_time_step, ts->vec_drdu_col)); in TSAdjointStep_Theta()
657 for (nadj = 0; nadj < ts->numcost; nadj++) { in TSAdjointStep_Theta()
658 PetscCall(MatMultTranspose(ts->Jacp, VecsDeltaLam[nadj], VecsDeltaMu[nadj])); in TSAdjointStep_Theta()
659 PetscCall(VecAXPY(ts->vecs_sensip[nadj], -adjoint_time_step, VecsDeltaMu[nadj])); in TSAdjointStep_Theta()
661 PetscCall(MatDenseGetColumn(quadJp, nadj, &xarr)); in TSAdjointStep_Theta()
663 PetscCall(VecAXPY(ts->vecs_sensip[nadj], adjoint_time_step, ts->vec_drdp_col)); in TSAdjointStep_Theta()