Skip to content

Commit be52efd

Browse files
committed
update opflow to read RAW data files
1 parent 4d70d6a commit be52efd

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

applications/opflow_main.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,13 @@ int main(int argc, char **argv) {
5454
&flg);
5555
ExaGOCheckError(ierr);
5656
if (flg) {
57-
ierr = OPFLOWReadMatPowerData(opflow, file);
58-
ExaGOCheckError(ierr);
57+
if (strcasestr(file, ".raw") != NULL) {
58+
ierr = OPFLOWReadPSSERawData(opflow, file);
59+
ExaGOCheckError(ierr);
60+
} else {
61+
ierr = OPFLOWReadMatPowerData(opflow, file);
62+
ExaGOCheckError(ierr);
63+
}
5964
} else {
6065
ierr = OPFLOWReadMatPowerData(opflow, "datafiles/case9/case9mod.m");
6166
ExaGOCheckError(ierr);

include/opflow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ OPFLOWSolverRegister(OPFLOW, const char[], PetscErrorCode (*create)(OPFLOW));
190190
PETSC_EXTERN PetscErrorCode OPFLOWCreate(MPI_Comm, OPFLOW *);
191191
PETSC_EXTERN PetscErrorCode OPFLOWDestroy(OPFLOW *);
192192
PETSC_EXTERN PetscErrorCode OPFLOWReadMatPowerData(OPFLOW, const char[]);
193+
PETSC_EXTERN PetscErrorCode OPFLOWReadPSSERawData(OPFLOW, const char[]);
193194
PETSC_EXTERN PetscErrorCode OPFLOWSetGICData(OPFLOW, const char[]);
194195

195196
PETSC_EXTERN PetscErrorCode OPFLOWSetUp(OPFLOW);

src/opflow/interface/opflow.cpp

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,6 +1236,23 @@ PetscErrorCode OPFLOWReadMatPowerData(OPFLOW opflow, const char netfile[]) {
12361236
// data file %s\n",netfile);CHKERRQ(ierr);
12371237
PetscFunctionReturn(0);
12381238
}
1239+
/*
1240+
OPFLOWReadPSSERawData - Reads the network data given in PSSE raw data format
1241+
1242+
Input Parameter
1243+
+ opflow - The OPFLOW object
1244+
- netfile - The name of the network file
1245+
1246+
*/
1247+
PetscErrorCode OPFLOWReadPSSERawData(OPFLOW opflow, const char netfile[]) {
1248+
PetscErrorCode ierr;
1249+
1250+
PetscFunctionBegin;
1251+
/* Read MatPower data file and populate the PS data structure */
1252+
ierr = PSReadPSSERawData(opflow->ps, netfile);
1253+
CHKERRQ(ierr);
1254+
PetscFunctionReturn(0);
1255+
}
12391256

12401257
/*
12411258
OPFLOWSetGICData - Sets the GIC data file
@@ -2136,8 +2153,13 @@ PetscErrorCode OPFLOWSolve(OPFLOW opflow) {
21362153
ierr = OPFLOWCreate(opflow->comm->type, &opflow2);
21372154
CHKERRQ(ierr);
21382155

2139-
ierr = OPFLOWReadMatPowerData(opflow2, opflow->ps->net_file_name);
2140-
CHKERRQ(ierr);
2156+
if (strcasestr(opflow->ps->net_file_name, ".raw") != NULL) {
2157+
ierr = OPFLOWReadPSSERawData(opflow2, opflow->ps->net_file_name);
2158+
CHKERRQ(ierr);
2159+
} else {
2160+
ierr = OPFLOWReadMatPowerData(opflow2, opflow->ps->net_file_name);
2161+
CHKERRQ(ierr);
2162+
}
21412163

21422164
ierr = OPFLOWSetModel(opflow2, opflow->modelname);
21432165
CHKERRQ(ierr);

0 commit comments

Comments
 (0)