Skip to content

Commit

Permalink
- removed input and output variables from simVar to index mapping, be…
Browse files Browse the repository at this point in the history
…cause they are already part of the other variable arrays and thus they are added twice

- commented out the -DUSE_UMFPACK statement, until Niklas has delivered a fix for the umfpack solver
  • Loading branch information
Marcus Walther committed Jul 27, 2015
1 parent 5ff3cc0 commit fa5acbc
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
10 changes: 6 additions & 4 deletions Compiler/SimCode/SimCodeUtil.mo
Expand Up @@ -9381,8 +9381,8 @@ algorithm
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(paramVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(intParamVars, function addVarToArrayIndexMapping(iVarType=2), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(boolParamVars, function addVarToArrayIndexMapping(iVarType=3), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(inputVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(outputVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
//((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(inputVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
//((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(outputVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(constVars, function addVarToArrayIndexMapping(iVarType=1), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(intConstVars, function addVarToArrayIndexMapping(iVarType=2), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
((currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable)) = List.fold(boolConstVars, function addVarToArrayIndexMapping(iVarType=3), (currentVarIndices, varArrayIndexMappingHashTable, varIndexMappingHashTable));
Expand Down Expand Up @@ -9422,7 +9422,7 @@ algorithm
case(SimCodeVar.SIMVAR(name=name, numArrayElement=numArrayElement),_,(tmpCurrentVarIndices,tmpVarToArrayIndexMapping,tmpVarToIndexMapping))
equation
(tmpCurrentVarIndices,varIdx) = getArrayIdxByVar(iVar, iVarType, tmpVarToIndexMapping, tmpCurrentVarIndices);
//print("Adding variable " + ComponentReference.printComponentRefStr(name) + " to map with index " + intString(varIdx) + "\n");
//print("Adding variable " + ComponentReference.printComponentRefStr(name) + " with type " + intString(iVarType) + " to map with index " + intString(varIdx) + "\n");
tmpVarToIndexMapping = BaseHashTable.add((name, {varIdx}), tmpVarToIndexMapping);
arraySubscripts = ComponentReference.crefLastSubs(name);
if(boolOr(listEmpty(numArrayElement), checkIfSubscriptsContainsUnhandlableIndices(arraySubscripts))) then
Expand Down Expand Up @@ -9768,7 +9768,9 @@ protected
list<tuple<Integer,SimCodeVar.SimVar>> iMapping;
algorithm
(iMapping,highestIdx) := iSimVarIdxMapping;
//print("createAllSCVarMapping0: " + intString(highestIdx) + "\n");
//print("createAllSCVarMapping0: Mapping variable \n");
//dumpVar(iSimVar);
//print(" to index " + intString(simVarIdx) + "\n");
SimCodeVar.SIMVAR(index=simVarIdx) := iSimVar;
simVarIdx := simVarIdx + 1 + iOffset;
highestIdx := if intGt(simVarIdx, highestIdx) then simVarIdx else highestIdx;
Expand Down
4 changes: 2 additions & 2 deletions SimulationRuntime/cpp/CMakeLists.txt
Expand Up @@ -390,8 +390,8 @@ FIND_PACKAGE(SuiteSparse)
IF(SUITESPARSE_UMFPACK_FOUND)
MESSAGE(STATUS "Using UmfPack")
INCLUDE_DIRECTORIES(${SUITESPARSE_UMFPACK_INCLUDE_DIR})
ADD_DEFINITIONS(-DUSE_UMFPACK)
SET(SUITESPARSE_INCLUDE ${SUITESPARSE_UMFPACK_INCLUDE_DIR})
#ADD_DEFINITIONS(-DUSE_UMFPACK)
SET(SUITESPARSE_INCLUDE ${SUITESPARSE_UMFPACK_INCLUDE_DIR})
SET(UMFPACK_LIB ${SUITESPARSE_UMFPACK_LIBRARIES})
ELSE(SUITESPARSE_UMFPACK_FOUND)
MESSAGE(STATUS "UmfPack disabled")
Expand Down

0 comments on commit fa5acbc

Please sign in to comment.