@@ -104,9 +104,9 @@ algorithm
104104end createSimulationSettings;
105105
106106
107- public function generateModelCodeFMU
108- " Generates code for a model by creating a SimCode structure and calling the
109- template-based code generator on it."
107+ protected function generateModelCodeFMU "
108+ Generates code for a model by creating a SimCode structure and calling the
109+ template-based code generator on it."
110110 input BackendDAE.BackendDAE inBackendDAE;
111111 input Absyn.Program p;
112112 input DAE.DAElist dae;
@@ -116,26 +116,23 @@ public function generateModelCodeFMU
116116 output BackendDAE.BackendDAE outIndexedBackendDAE;
117117 output list< String > libs;
118118 output String fileDir;
119- output Real timeBackend;
120119 output Real timeSimCode;
121120 output Real timeTemplates;
122121protected
123122 list< String > includes,includeDirs;
124123 list< SimCode.Function> functions;
125- // DAE.DAElist dae2;
126124 String filename, funcfilename;
127125 SimCode.SimCode simCode;
128126 list< SimCode.RecordDeclaration> recordDecls;
129127 BackendDAE.BackendDAE indexed_dlow,indexed_dlow_1;
130128 Absyn.ComponentRef a_cref;
131129 tuple< Integer ,HashTableExpToIndex.HashTable,list< DAE.Exp>> literals;
132130algorithm
133- timeBackend := System.realtimeTock (GlobalScript.RT_CLOCK_BACKEND );
131+ System.realtimeTick (GlobalScript.RT_CLOCK_SIMCODE );
134132 a_cref := Absyn.pathToCref(className);
135133 fileDir := CevalScript.getFileDir(a_cref, p);
136- System.realtimeTick(GlobalScript.RT_CLOCK_SIMCODE);
137134 (libs, includes, includeDirs, recordDecls, functions, outIndexedBackendDAE, _, literals) :=
138- SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
135+ SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
139136 (simCode,_) := SimCodeUtil.createSimCode(outIndexedBackendDAE,
140137 className, filenamePrefix, fileDir, functions, includes, includeDirs, libs, simSettingsOpt, recordDecls, literals,Absyn.FUNCTIONARGS({},{}));
141138 timeSimCode := System.realtimeTock(GlobalScript.RT_CLOCK_SIMCODE);
@@ -147,9 +144,9 @@ algorithm
147144end generateModelCodeFMU;
148145
149146
150- public function generateModelCodeXML
151- " Generates code for a model by creating a SimCode structure and calling the
152- template-based code generator on it."
147+ protected function generateModelCodeXML "
148+ Generates code for a model by creating a SimCode structure and calling the
149+ template-based code generator on it."
153150 input BackendDAE.BackendDAE inBackendDAE;
154151 input Absyn.Program p;
155152 input DAE.DAElist dae;
@@ -159,26 +156,23 @@ public function generateModelCodeXML
159156 output BackendDAE.BackendDAE outIndexedBackendDAE;
160157 output list< String > libs;
161158 output String fileDir;
162- output Real timeBackend;
163159 output Real timeSimCode;
164160 output Real timeTemplates;
165161protected
166162 list< String > includes,includeDirs;
167163 list< SimCode.Function> functions;
168- // DAE.DAElist dae2;
169164 String filename, funcfilename;
170165 SimCode.SimCode simCode;
171166 list< SimCode.RecordDeclaration> recordDecls;
172167 BackendDAE.BackendDAE indexed_dlow,indexed_dlow_1;
173168 Absyn.ComponentRef a_cref;
174169 tuple< Integer ,HashTableExpToIndex.HashTable,list< DAE.Exp>> literals;
175170algorithm
176- timeBackend := System.realtimeTock (GlobalScript.RT_CLOCK_BACKEND );
171+ System.realtimeTick (GlobalScript.RT_CLOCK_SIMCODE );
177172 a_cref := Absyn.pathToCref(className);
178173 fileDir := CevalScript.getFileDir(a_cref, p);
179- System.realtimeTick(GlobalScript.RT_CLOCK_SIMCODE);
180174 (libs, includes, includeDirs, recordDecls, functions, outIndexedBackendDAE, _, literals) :=
181- SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
175+ SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
182176 (simCode,_) := SimCodeUtil.createSimCode(outIndexedBackendDAE,
183177 className, filenamePrefix, fileDir, functions, includes, includeDirs, libs, simSettingsOpt, recordDecls, literals,Absyn.FUNCTIONARGS({},{}));
184178 timeSimCode := System.realtimeTock(GlobalScript.RT_CLOCK_SIMCODE);
@@ -230,14 +224,18 @@ algorithm
230224 //(cache,Values.STRING(filenameprefix),SOME(_)) = Ceval.ceval(cache,env, fileprefix, true, SOME(st),NONE(), msg);
231225 (cache,env,dae,st) = CevalScript.runFrontEnd(cache,env,className,st,false );
232226 timeFrontend = System.realtimeTock(GlobalScript.RT_CLOCK_FRONTEND);
227+
233228 System.realtimeTick(GlobalScript.RT_CLOCK_BACKEND);
234229 funcs = Env.getFunctionTree(cache);
235230 dae = DAEUtil.transformationsBeforeBackend(cache,env,dae);
236231 dlow = BackendDAECreate.lower(dae,cache,env);
237232 dlow_1 = BackendDAEUtil.getSolvedSystem(dlow,NONE(), NONE(), NONE(), NONE());
238233 Debug.fprintln(Flags.DYN_LOAD, "translateModel: Generating simulation code and functions." );
239- (indexed_dlow_1,libs,file_dir,timeBackend,timeSimCode,timeTemplates) =
234+ timeBackend = System.realtimeTock(GlobalScript.RT_CLOCK_BACKEND);
235+
236+ (indexed_dlow_1,libs,file_dir,timeSimCode,timeTemplates) =
240237 generateModelCodeFMU(dlow_1, p, dae, className, filenameprefix, inSimSettingsOpt);
238+
241239 resultValues =
242240 {("timeTemplates" ,Values.REAL(timeTemplates)),
243241 ("timeSimCode" , Values.REAL(timeSimCode)),
@@ -305,7 +303,9 @@ algorithm
305303 dlow = BackendDAECreate.lower(dae,cache,env);
306304 dlow_1 = BackendDAEUtil.getSolvedSystem(dlow,NONE(), NONE(), NONE(), NONE());
307305 Debug.fprintln(Flags.DYN_LOAD, "translateModel: Generating simulation code and functions." );
308- (indexed_dlow_1,libs,file_dir,timeBackend,timeSimCode,timeTemplates) =
306+ timeBackend = System.realtimeTock(GlobalScript.RT_CLOCK_BACKEND);
307+
308+ (indexed_dlow_1,libs,file_dir,timeSimCode,timeTemplates) =
309309 generateModelCodeXML(dlow_1, p, dae, className, filenameprefix, inSimSettingsOpt);
310310 resultValues =
311311 {("timeTemplates" ,Values.REAL(timeTemplates)),
@@ -329,10 +329,9 @@ end translateModelXML;
329329
330330
331331
332- public function generateModelCode
333- "Generates code for a model by creating a SimCode structure and calling the
334- template-based code generator on it."
335-
332+ public function generateModelCode "
333+ Generates code for a model by creating a SimCode structure and calling the
334+ template-based code generator on it."
336335 input BackendDAE.BackendDAE inBackendDAE;
337336 input Absyn.Program p;
338337 input DAE.DAElist dae;
@@ -343,14 +342,11 @@ public function generateModelCode
343342 output BackendDAE.BackendDAE outIndexedBackendDAE;
344343 output list< String > libs;
345344 output String fileDir;
346- output Real timeBackend;
347345 output Real timeSimCode;
348346 output Real timeTemplates;
349347protected
350-
351348 list< String > includes,includeDirs;
352349 list< SimCode.Function> functions;
353- // DAE.DAElist dae2;
354350 String filename, funcfilename;
355351 SimCode.SimCode simCode;
356352 list< SimCode.RecordDeclaration> recordDecls;
@@ -360,15 +356,13 @@ protected
360356 tuple< Integer ,HashTableExpToIndex.HashTable,list< DAE.Exp>> literals;
361357 list< SimCode.JacobianMatrix> LinearMatrices;
362358algorithm
363- timeBackend := System.realtimeTock (GlobalScript.RT_CLOCK_BACKEND );
359+ System.realtimeTick (GlobalScript.RT_CLOCK_SIMCODE );
364360 a_cref := Absyn.pathToCref(className);
365361 fileDir := CevalScript.getFileDir(a_cref, p);
366- System.realtimeTick(GlobalScript.RT_CLOCK_SIMCODE);
367362 (libs, includes, includeDirs, recordDecls, functions, outIndexedBackendDAE, _, literals) :=
368- SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
369- simCode := createSimCode(outIndexedBackendDAE,
363+ SimCodeUtil.createFunctions(p, dae, inBackendDAE, className);
364+ simCode := createSimCode(outIndexedBackendDAE,
370365 className, filenamePrefix, fileDir, functions, includes, includeDirs, libs, simSettingsOpt, recordDecls, literals, args);
371-
372366 timeSimCode := System.realtimeTock(GlobalScript.RT_CLOCK_SIMCODE);
373367 Debug.execStat("SimCode" ,GlobalScript.RT_CLOCK_SIMCODE);
374368
@@ -548,12 +542,16 @@ algorithm
548542 System.realtimeTick(GlobalScript.RT_CLOCK_FRONTEND);
549543 (cache, env, dae, st) = CevalScript.runFrontEnd(cache, env, className, st, false );
550544 timeFrontend = System.realtimeTock(GlobalScript.RT_CLOCK_FRONTEND);
545+
551546 System.realtimeTick(GlobalScript.RT_CLOCK_BACKEND);
552547 dae = DAEUtil.transformationsBeforeBackend(cache, env, dae);
553548 dlow = BackendDAECreate.lower(dae, cache, env);
554549 dlow_1 = BackendDAEUtil.getSolvedSystem(dlow, NONE(), NONE(), NONE(), NONE());
555- (indexed_dlow_1, libs, file_dir, timeBackend, timeSimCode, timeTemplates) =
556- generateModelCode(dlow_1, p, dae, className, filenameprefix, inSimSettingsOpt, args);
550+ timeBackend = System.realtimeTock(GlobalScript.RT_CLOCK_BACKEND);
551+
552+ (indexed_dlow_1, libs, file_dir, timeSimCode, timeTemplates) =
553+ generateModelCode(dlow_1, p, dae, className, filenameprefix, inSimSettingsOpt, args);
554+
557555 resultValues = {("timeTemplates" , Values.REAL(timeTemplates)),
558556 ("timeSimCode" , Values.REAL(timeSimCode)),
559557 ("timeBackend" , Values.REAL(timeBackend)),
0 commit comments