NICTA / SmartGridToolbox

Smart Grid Simulation Library (C++14)
http://nicta.github.io/SmartGridToolbox
24 stars 10 forks source link

Problem with PowerFlowNrRectSolver #49

Closed guicostas closed 6 years ago

guicostas commented 6 years ago

libtool: compile: g++ -std=c++14 -DHAVE_CONFIGH -I. -I.. -ftemplate-depth=160 -Wall -g -O2 -MT PowerFlowNrRectSolver.lo -MD -MP -MF .deps/PowerFlowNrRectSolver.Tpo -c PowerFlowNrRectSolver.cc -o PowerFlowNrRectSolver.o PowerFlowNrRectSolver.cc: In member function ‘bool Sgt::PowerFlowNrRectSolver::solveForIsland(int)’: PowerFlowNrRectSolver.cc:114:60: error: conversion from ‘arma::spdiagview<std::complex >’ to non-scalar type ‘const arma::Col<std::complex >’ requested const Col SConstDiag = mod->SConst().diag(); ^ Makefile:731: recipe for target 'PowerFlowNrRectSolver.lo' failed make[1]: [PowerFlowNrRectSolver.lo] Error 1 make[1]: Leaving directory '/media/rodney/DADOS/Templates/SmartGridToolbox/SgtCore' Makefile:455: recipe for target 'install-recursive' failed make: [install-recursive] Error 1

dexterurbane commented 6 years ago

Thanks for the report. This issue is triggered by changes to the sparse matrix code in a recent version of the Armadillo linear algebra library. I intend to investigate, but in the mean while, the workaround is to use the slightly older version of Armadillo that is provided in third_party/armadillo-code. You can either run just run the entire third_party/install_third_party.sh script, as suggested in the build instructions for linux or mac, or manually as detailed in the third_party/install_third_party.sh script.

Let me know if you need the latest version of Armadillo for something else - in this case, you would need a more fiddly workaround.

dexterurbane commented 6 years ago

This has been resolved in the latest commit (9be1a125).