Changeset aafc860 in OpenModelica
- Timestamp:
- 2021-01-22T13:11:18+01:00 (3 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- c2c52350
- Parents:
- 9220249b
- git-author:
- AnHeuermann <andreas.heuermann@…> (01/21/21 16:17:59)
- git-committer:
- Andreas <38031952+AnHeuermann@…> (01/22/21 13:11:18)
- Location:
- OMCompiler/Compiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
OMCompiler/Compiler/BackEnd/DAEMode.mo
ra136b96 raafc860 81 81 output BackendDAE.BackendDAE outDAEmode; 82 82 output BackendDAE.BackendDAE outInitDAE; 83 output Option<BackendDAE.BackendDAE> outInitDAE_lambda0_option; 83 84 output list<BackendDAE.Equation> outRemovedInitialEquationLst; 84 85 protected … … 125 126 126 127 // generate system for initialization 127 (outInitDAE, _, outRemovedInitialEquationLst, globalKnownVars, dae) := Initialization.solveInitialSystem(dae);128 (outInitDAE, outInitDAE_lambda0_option, outRemovedInitialEquationLst, globalKnownVars, dae) := Initialization.solveInitialSystem(dae); 128 129 129 130 // use function tree from initDAE further for simDAE -
OMCompiler/Compiler/SimCode/SimCodeMain.mo
r5defbb3 raafc860 1108 1108 BackendDAE.BackendDAE initDAE; 1109 1109 list<BackendDAE.Equation> removedInitialEquationLst; 1110 Option<BackendDAE.BackendDAE> initDAE_lambda0_option; 1110 1111 Real fsize; 1111 1112 Absyn.ComponentRef classNameCref; … … 1154 1155 1155 1156 //BackendDump.printBackendDAE(dlow); 1156 (bdae, initDAE, removedInitialEquationLst) := DAEMode.getEqSystemDAEmode(dlow,inFileNamePrefix);1157 (bdae, initDAE, initDAE_lambda0_option, removedInitialEquationLst) := DAEMode.getEqSystemDAEmode(dlow, inFileNamePrefix); 1157 1158 ExecStat.execStat("Backend"); 1158 1159 … … 1166 1167 end if; 1167 1168 1168 (libs, file_dir, timeSimCode, timeTemplates) := generateModelCodeDAE(bdae, initDAE, removedInitialEquationLst, SymbolTable.getAbsyn(), className, filenameprefix, inSimSettingsOpt, args);1169 (libs, file_dir, timeSimCode, timeTemplates) := generateModelCodeDAE(bdae, initDAE, initDAE_lambda0_option, removedInitialEquationLst, SymbolTable.getAbsyn(), className, filenameprefix, inSimSettingsOpt, args); 1169 1170 timeSimCode := System.realtimeTock(ClockIndexes.RT_CLOCK_SIMCODE); 1170 1171 timeTemplates := System.realtimeTock(ClockIndexes.RT_CLOCK_TEMPLATES); … … 1199 1200 input BackendDAE.BackendDAE inBackendDAE; 1200 1201 input BackendDAE.BackendDAE inInitDAE; 1202 input Option<BackendDAE.BackendDAE> initDAE_lambda0_option; 1201 1203 input list<BackendDAE.Equation> inRemovedInitialEquationLst; 1202 1204 input Absyn.Program p; … … 1222 1224 list<SimCodeVar.SimVar> tempVars = {}; 1223 1225 BackendDAE.BackendDAE emptyBDAE; 1226 BackendDAE.BackendDAE initDAE_lambda0; 1224 1227 1225 1228 SimCode.ModelInfo modelInfo; … … 1256 1259 SimCode.JacobianMatrix symDAESparsPattern; 1257 1260 list<SimCode.JacobianMatrix> symJacs, SymbolicJacs, SymbolicJacsNLS, SymbolicJacsTemp, SymbolicJacsStateSelect; 1258 list<SimCode.SimEqSystem> initialEquations, removedInitialEquations, jacobianEquations; 1261 list<SimCode.SimEqSystem> initialEquations; 1262 list<SimCode.SimEqSystem> initialEquations_lambda0; 1263 list<SimCode.SimEqSystem> removedInitialEquations, jacobianEquations; 1259 1264 list<SimCodeVar.SimVar> jacobianSimvars, seedVars; 1260 1265 list<SimCode.SimEqSystem> startValueEquations; // --> updateBoundStartValues … … 1294 1299 // generate equations for initDAE 1295 1300 (initialEquations, uniqueEqIndex, tempVars) := SimCodeUtil.createInitialEquations(inInitDAE, uniqueEqIndex, tempVars); 1296 //initialEquations := listReverse(initialEquations); 1301 1302 // generate equations for initDAE_lambda0 1303 if isSome(initDAE_lambda0_option) then 1304 SOME(initDAE_lambda0) := initDAE_lambda0_option; 1305 (initialEquations_lambda0, uniqueEqIndex, tempVars) := SimCodeUtil.createInitialEquations_lambda0(initDAE_lambda0, uniqueEqIndex, tempVars); 1306 else 1307 initialEquations_lambda0 := {}; 1308 end if; 1297 1309 1298 1310 // generate equations for removed initial equations … … 1339 1351 (initialEquations, modelInfo, SymbolicJacsTemp) := SimCodeUtil.addAlgebraicLoopsModelInfo(initialEquations, modelInfo); 1340 1352 SymbolicJacsNLS := listAppend(SymbolicJacsTemp, SymbolicJacsNLS); 1353 (initialEquations_lambda0, modelInfo, SymbolicJacsTemp) := SimCodeUtil.addAlgebraicLoopsModelInfo(initialEquations_lambda0, modelInfo); 1354 SymbolicJacsNLS := listAppend(SymbolicJacsTemp, SymbolicJacsNLS); 1341 1355 (parameterEquations, modelInfo, SymbolicJacsTemp) := SimCodeUtil.addAlgebraicLoopsModelInfo(parameterEquations, modelInfo); 1342 1356 SymbolicJacsNLS := listAppend(SymbolicJacsTemp, SymbolicJacsNLS); … … 1423 1437 clockedPartitions = {}, 1424 1438 initialEquations = initialEquations, 1425 initialEquations_lambda0 = {},1439 initialEquations_lambda0 = initialEquations_lambda0, 1426 1440 removedInitialEquations = removedInitialEquations, 1427 1441 startValueEquations = startValueEquations,
Note: See TracChangeset
for help on using the changeset viewer.