hch196 发表于 2011-5-10 20:28:49

请问,在PSCAD中,我建模块的时候,用fortran定义的数组为什么说错误?

#define real ci(3,12),
#define real bi(12),
#define reald_bi(12)
#define realw(12),
#define realci_1(3,12),
#define realci_3(3,12),
#define realci_2(3,12),
#define realw_1(12),
#define realw_2(12),
#define realw_3(12),
#define realbi_1(12),
#define real bi_2(12),
#define realbi_3(12),

为什么说我没定义数组,是不是PSCAD中不能定义二维数组啊?还是我定义的不对,请高手帮忙......

hch196 发表于 2011-5-11 20:15:27

就没有人能解决啊?

shyice 发表于 2011-5-12 22:13:49

感觉你似乎是c的用法啊,Fortran应该没有逗号;另外如果直接在元件内用脚本语言定义,可类似定义“#local REAL A(2,2)”,如果你调用外面的fortran文件,则可定义为“ REAL A(2,2)”,(这两种我试过应该可以的)当然还有其他定义,具体可参见Fortran编程书籍。

聆听海风 发表于 2011-5-13 08:59:39

学习下

hch196 发表于 2011-5-14 16:31:21

回复 3# shyice
#local realci3 ,12
#local real ci_13,12
#local real ci_3 3,12
#local realci_23,12


在PSCAD中定义数组,貌似不能用括号的!加上括号和没加括号都试过了,都不能运行,定义错误!咋办啊

shyice 发表于 2011-5-15 18:51:55

回复 5# hch196


我测试一下,似乎直接在PSCAD元件内无法定义多个二维(可能是它的bug,当然你如果调用.f文件应该没问题的),但是一个二维数组是可以,即“#local real ci(12,12)”,以代替你的四个二维数组,不知你在做什么仿真需要用到这么多二维数组,你可以试试用这种方法

hch196 发表于 2011-5-19 20:49:28

回复 6# shyice
我用一个二维数组也不行,我就改为一微数组了,虽然麻烦点。但还是有错误,不知道是语言的错误,还是其他地方出错了,运行的时候回出现运行错误,如下,请问如何解决这种问题啊???
EMTDC_Mediator: EMTDC not responding!
This is caused by...
Exchange Error: Unable to send data.
This is caused by...
Socket Error, SOCKETID: 1652WSA #54: Unable to send data

shyice 发表于 2011-6-12 23:22:36

回复 7# hch196



最近比较忙,没上过论坛。你现在的问题不是数组定义问题了,是你模型的其他地方搭建得有问题比如你自定义模块的输出信号未能有效输出或者page module太多而之间传递数据太多也可能引起上述问题等,你需要再仔细查查。

ctgushexiaoli 发表于 2013-4-11 21:46:00

学习中!

nmtljbtlh 发表于 2013-7-15 09:40:53

学习下
页: [1]
查看完整版本: 请问,在PSCAD中,我建模块的时候,用fortran定义的数组为什么说错误?

招聘斑竹