@@ -1560,86 +1560,85 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
15601560 int *xidxt = lineparams->xidxt_dev_ ;
15611561 int *ln_hessp_idx = lineparams->hesssp_idx_dev_ ;
15621562 int *linelimidx = lineparams->linelimidx_dev_ ;
1563-
1563+
15641564 RAJA::forall<exago_raja_exec>(
15651565 RAJA::RangeSegment (0 , lineparams->nlinelim ),
15661566 RAJA_LAMBDA (RAJA::Index_type i) {
15671567 int off (0 );
1568- int j = linelimidx[i];
15691568
15701569 // from-bus diagonal entries already defined
15711570
1572- // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1573- // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1571+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
1572+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
15741573 // off++;
15751574
1576- // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1577- // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1;
1575+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
1576+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1;
15781577 // off++;
15791578
1580- // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1;
1581- // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1579+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1;
1580+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
15821581 // off++;
15831582
1584- // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1;
1585- // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1;
1583+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1;
1584+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1;
15861585 // off++;
15871586
15881587 // from-bus off diagonal entries only there if in upper part
1589- if (xidxt[j ] > xidxf[j ]) {
1588+ if (xidxt[i ] > xidxf[i ]) {
15901589
1591- iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1592- jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1590+ iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
1591+ jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
15931592 off++;
15941593
1595- iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1596- jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1 ;
1594+ iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
1595+ jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1 ;
15971596 off++;
15981597
1599- iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1 ;
1600- jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1598+ iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1 ;
1599+ jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
16011600 off++;
16021601
1603- iHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1 ;
1604- jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1 ;
1602+ iHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1 ;
1603+ jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1 ;
16051604 off++;
16061605 }
16071606
16081607 // to-bus diagonal entries already defined
16091608
1610- // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1611- // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1609+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
1610+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
16121611 // off++;
16131612
1614- // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1615- // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1;
1613+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
1614+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1;
16161615 // off++;
16171616
1618- // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1;
1619- // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1617+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1;
1618+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
16201619 // off++;
16211620
1622- // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1;
1623- // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1;
1621+ // iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1;
1622+ // jHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1;
16241623 // off++;
16251624
16261625 // to-bus off diagonal entries only there if in upper part
1627- if (xidxf[j ] > xidxt[j ]) {
1626+ if (xidxf[i ] > xidxt[i ]) {
16281627
1629- iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1630- jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1628+ iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
1629+ jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
16311630 off++;
16321631
1633- iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ];
1634- jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1 ;
1632+ iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ];
1633+ jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1 ;
16351634 off++;
16361635
1637- iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1 ;
1638- jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ];
1636+ iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1 ;
1637+ jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ];
16391638 off++;
16401639
1641- iHSS_dev[ln_hessp_idx[i] + off] = xidxt[j ] + 1 ;
1642- jHSS_dev[ln_hessp_idx[i] + off] = xidxf[j ] + 1 ;
1640+ iHSS_dev[ln_hessp_idx[i] + off] = xidxt[i ] + 1 ;
1641+ jHSS_dev[ln_hessp_idx[i] + off] = xidxf[i ] + 1 ;
16431642 off++;
16441643 }
16451644 });
@@ -1799,8 +1798,6 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
17991798 int *geqidxt = lineparams->geqidxt_dev_ ;
18001799 int *ln_hessp_idx = lineparams->hesssp_idx_dev_ ;
18011800
1802- if (0 ) {
1803-
18041801 RAJA::forall<exago_raja_exec>(
18051802 RAJA::RangeSegment (0 , lineparams->nlineON ),
18061803 RAJA_LAMBDA (RAJA::Index_type i) {
@@ -2196,7 +2193,7 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
21962193 MHSS_dev[l_hesssp_idx[i] + 1 ] = 0.0 ;
21972194 });
21982195 }
2199- }
2196+
22002197 if (!opflow->ignore_lineflow_constraints ) {
22012198 int *linelimidx = lineparams->linelimidx_dev_ ;
22022199 int *gineqidx = lineparams->gineqidx_dev_ ;
@@ -2217,7 +2214,7 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
22172214 double Gft = Gft_arr[j], Bft = Bft_arr[j];
22182215 double Gtf = Gtf_arr[j], Btf = Btf_arr[j];
22192216 double Gtt = Gtt_arr[j], Btt = Btt_arr[j];
2220- int fbusidx (busf_idx[i ]), tbusidx (bust_idx[i ]);
2217+ int fbusidx (busf_idx[j ]), tbusidx (bust_idx[j ]);
22212218
22222219 Pf = Gff * Vmf * Vmf +
22232220 Vmf * Vmt * (Gft * cos (thetaft) + Bft * sin (thetaft));
@@ -2470,11 +2467,11 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
24702467 RAJA::atomicAdd<exago_raja_atomic>
24712468 (&MHSS_dev[fbusidx + 1 ], val[1 ]);
24722469
2473- if (xidxt[i ] > xidxf[i ]) {
2470+ if (xidxt[j ] > xidxf[j ]) {
24742471 RAJA::atomicAdd<exago_raja_atomic>
2475- (&MHSS_dev[ln_hessp_idx[i ] + 0 ], val[2 ]);
2472+ (&MHSS_dev[ln_hessp_idx[j ] + 0 ], val[2 ]);
24762473 RAJA::atomicAdd<exago_raja_atomic>
2477- (&MHSS_dev[ln_hessp_idx[i ] + 1 ], val[3 ]);
2474+ (&MHSS_dev[ln_hessp_idx[j ] + 1 ], val[3 ]);
24782475 }
24792476
24802477 double d2Sf2_dVmf_dthetaf, d2Sf2_dVmf_dVmf, d2Sf2_dVmf_dthetat,
@@ -2528,11 +2525,11 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
25282525 RAJA::atomicAdd<exago_raja_atomic>
25292526 (&MHSS_dev[fbusidx + 2 ], val[1 ]);
25302527
2531- if (xidxt[i ] > xidxf[i ]) {
2528+ if (xidxt[j ] > xidxf[j ]) {
25322529 RAJA::atomicAdd<exago_raja_atomic>
2533- (&MHSS_dev[ln_hessp_idx[i ] + 2 ], val[2 ]);
2530+ (&MHSS_dev[ln_hessp_idx[j ] + 2 ], val[2 ]);
25342531 RAJA::atomicAdd<exago_raja_atomic>
2535- (&MHSS_dev[ln_hessp_idx[i ] + 3 ], val[3 ]);
2532+ (&MHSS_dev[ln_hessp_idx[j ] + 3 ], val[3 ]);
25362533 }
25372534
25382535 // ierr = MatSetValues(H,1,row,4,col,val,ADD_VALUES);CHKERRQ(ierr);
@@ -2591,11 +2588,11 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
25912588 RAJA::atomicAdd<exago_raja_atomic>
25922589 (&MHSS_dev[tbusidx + 1 ], val[3 ]);
25932590
2594- if (xidxf[i ] > xidxt[i ]) {
2591+ if (xidxf[j ] > xidxt[j ]) {
25952592 RAJA::atomicAdd<exago_raja_atomic>
2596- (&MHSS_dev[ln_hessp_idx[i ] + 0 ], val[0 ]);
2593+ (&MHSS_dev[ln_hessp_idx[j ] + 0 ], val[0 ]);
25972594 RAJA::atomicAdd<exago_raja_atomic>
2598- (&MHSS_dev[ln_hessp_idx[i ] + 1 ], val[1 ]);
2595+ (&MHSS_dev[ln_hessp_idx[j ] + 1 ], val[1 ]);
25992596 }
26002597 // ierr = MatSetValues(H,1,row,4,col,val,ADD_VALUES);CHKERRQ(ierr);
26012598
@@ -2650,9 +2647,9 @@ PetscErrorCode OPFLOWComputeSparseHessian_PBPOLRAJAHIOPSPARSE(
26502647 (&MHSS_dev[tbusidx + 2 ], val[3 ]);
26512648
26522649 RAJA::atomicAdd<exago_raja_atomic>
2653- (&MHSS_dev[ln_hessp_idx[i ] + 2 ], val[0 ]);
2650+ (&MHSS_dev[ln_hessp_idx[j ] + 2 ], val[0 ]);
26542651 RAJA::atomicAdd<exago_raja_atomic>
2655- (&MHSS_dev[ln_hessp_idx[i ] + 3 ], val[1 ]);
2652+ (&MHSS_dev[ln_hessp_idx[j ] + 3 ], val[1 ]);
26562653 });
26572654 }
26582655
0 commit comments