Fixes to scopflow to run larger number of contigencies#206
Conversation
5e3632a to
3db2e2b
Compare
pelesh
left a comment
There was a problem hiding this comment.
On Mac platform with GCC 13.4 from MacPorts test 12 fails:
test 12
Start 12: OPFLOW_LINEFLOW_PENALTY
12: Test command: /opt/local/bin/mpiexec "-n" "1" "/Users/55y/src/tmp/build/applications/opflow" "-netfile" "/Users/55y/src/tmp/ExaGO/datafiles/case_ACTIVSg200.m" "-opflow_solver" "IPOPT" "-opflow_model" "POWER_BALANCE_POLAR" "-opflow_initialization" "ACPF" "-opflow_allow_lineflow_violation" "-opflow_lineflowviolation_penalty" "100"
12: Working Directory: /Users/55y/src/tmp/ExaGO
12: Test timeout computed to be: 10000000
12: [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
12: [0]PETSC ERROR: Argument out of range
12: [0]PETSC ERROR: Column too large: col 966 max 965
12: [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
12: [0]PETSC ERROR: PETSc Development Git Revision: v3.24.0-47-g0e30de3c618 Git Date: 2025-10-08 01:09:10 -0500
12: [0]PETSC ERROR: /Users/55y/src/tmp/build/applications/opflow with 1 MPI process(es) and PETSC_ARCH arch-darwin-c-opt on mac150403 by 55y Sun Mar 8 21:55:33 2026
12: [0]PETSC ERROR: Configure options: --with-debugging=0 COPTFLAGS="-g -O2" CXXOPTFLAGS="-g -O2" FOPTFLAGS="-g -O2" --with-mpi-dir=/opt/local --with-blaslapack-lib=/opt/local/lib/libopenblas.dylib
12: [0]PETSC ERROR: #1 MatSetValues_SeqAIJ() at /Users/55y/src/petsc/petsc/src/mat/impls/aij/seq/aij.c:426
12: [0]PETSC ERROR: #2 MatSetValues() at /Users/55y/src/petsc/petsc/src/mat/interface/matrix.c:1601
12: [0]PETSC ERROR: #3 OPFLOWComputeInequalityConstraintJacobian_PBPOL() at /Users/55y/src/tmp/ExaGO/src/opflow/model/power_bal_polar/pbpol.cpp:1390
12: [0]PETSC ERROR: #4 OPFLOWSolverSetUp_IPOPT() at /Users/55y/src/tmp/ExaGO/src/opflow/solver/ipopt/opflow_ipopt.cpp:489
12: [0]PETSC ERROR: #5 OPFLOWSetUp() at /Users/55y/src/tmp/ExaGO/src/opflow/interface/opflow.cpp:1957
12: terminate called after throwing an instance of 'ExaGOError'
12: what(): Argument out of rangeColumn too large: col 966 max 965
12:
12: ===================================================================================
12: = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
12: = PID 34866 RUNNING AT mac150403
12: = EXIT CODE: 6
12: = CLEANING UP REMAINING PROCESSES
12: = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
12: ===================================================================================
12: YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6)
12: This typically refers to a problem with your application.
12: Please see the FAQ page for debugging suggestions
1/1 Test #12: OPFLOW_LINEFLOW_PENALTY ..........***Failed 0.19 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.20 sec
The following tests FAILED:
12 - OPFLOW_LINEFLOW_PENALTY (Failed)
Run command: perl /Users/55y/src/tmp/ExaGO/tests/functionality/scripts/post_test.pl /Users/55y/src/tmp/build/tests/functionality
Errors while running CTest
The same test passes on develop branch with the same setting. It would be good to find out what change in the PR has caused this test to fail.
|
On Frontier tests 36 and 37, which are passing on Error log of DetailsError log of Details |
| /* Base-case problem model should be POWER_BALANCE_POLAR */ | ||
| ierr = OPFLOWSetModel(scopflow->opflow0, OPFLOWMODEL_PBPOL); | ||
| ierr = OPFLOWSetModel(scopflow->opflow0, scopflow->subproblem_model); |
There was a problem hiding this comment.
I believe this is the reason why tests 36 and 37 on Frontier fail. The base-case problem is solved with Ipopt and needs Ipopt compatible model. If the subproblem model is incompatible, the two level optimization tests will fail.
There was a problem hiding this comment.
Reverted in 20c8a49. This will require more thought if we want to run everything with DCOPF.
There was a problem hiding this comment.
I would naively think that the solution for DCOPF is straightforward. The failing tests here were caused because we were trying to use deprecated HiOp mixed dense-sparse models with Ipopt. DCOPF, on the other hand can be and is solved with Ipopt.
There was a problem hiding this comment.
Right, the question is how to support both. My previous change allowed me to run with DCOPF. But as long as we're using those tests, this will not work. The tests are written with the assumption that the base solver and model are silently set here.
See #169. That test should always be failing. It was not being built on |
|
Closing here. Will continue development at https://github.com/ORNL/ExaGO. |
Merge request type
Relates to
This MR updates
Summary
scopflow_solver. Without this, the code crashes past a certain number of subproblems with EMPAR.DCOPFas thescopflow_subproblem_solver-- Needs reviewLinked Issue(s)