如何在Modelica中读取时间序列数据文件

时间:2015-07-19 08:14:20

标签: modelica openmodelica

我需要在Modelica中读取时间序列数据(例如csv),特别是使用open modelica编译器(omc)。我做了一些互联网搜索,并在网上找到了ncReader library。它适用于dymola但不适用于open modelica编译器。我的测试代码是这样的:

  der(x) = t;  
  t = NcDataReader2.ncEasyGet1D("datafile.nc", "temperature", time);  
  der(y) = q;  
  q = NcDataReader2.ncEasyGet1D("datafile.nc", "flow", time); 

当我尝试在打开的modelica上运行它时,我收到以下错误:

  

翻译09:21:41 0:0-0:0构建模拟器时出错。构建日志:gcc   -falign-functions -msse2 -mfpmath = sse -I“C:/OpenModelica1.9.0//include/omc”-I。 -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME -c -o TimeSeries.NcTest.o TimeSeries.NcTest.c TimeSeries.NcTest.c:19:28:错误:   ncDataReaderEA.h:没有这样的文件或目录mingw32-make:***   [TimeSeries.NcTest.o]错误1

我认为它在dymola上工作的原因是因为dymola使用C编译器并且可能在运行时编译库的c文件。不幸的是,我必须使用open modelica。

如果可以修复此错误以便使用open modelica编译器或者如果在modelica(open modelica编译器)中有读取时间序列数据文件的任何其他替代方法,那么任何人都可以提供帮助吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

我迟到了两年,但这是一个解决方案。 使用块 Modelica/Blocks/Sources/CombiTimeTable
您的txt文件应遵循以下格式

  

#1   
double tableName(行,列)   
  
0 0.1 32   
1 0.2 35   
2 0.3 38

其中第一列应按升序排列,其他列为相应数据。