Fortran Coder

标题: 读取电路网表文件的Fortran 90程序 [打印本页]

作者: 小白菜鸡    时间: 2021-12-13 11:30
标题: 读取电路网表文件的Fortran 90程序
就像这样的网表文件TXT
v1  1   0  pulse(0  12  0  0.001m  0.001m  0.06  0.08)(初值 幅值 延时 上升时间 下降时间 脉宽 周期)
r1  1   2    6k
r2  2   0    6k
r3  2   3    6k
c1  3   0    2uf
.tran   0.1ms   80ms
.probe
.end
怎么用Fortran进行读取解析


作者: fcode    时间: 2021-12-13 12:14
如何解析某个格式的文件,不仅仅是一个编程技术问题。
更多的是,是文件的格式描述以及需求明确。

有关格式描述:
此文件的行数是否固定?每行的列数是否固定?
r1 r2 r3 是否可能由 r4 ?


有关需求明确:
此文件中,哪些部分是你需要的?需要成数字还是字符串?或者派生类型?
比如 6k,代表 6000 吗?


(以上疑问只是举例说明,需要详细的需求才能根据需求来书写合适的代码实现)

作者: 小白菜鸡    时间: 2021-12-16 11:31
fcode 发表于 2021-12-13 12:14
如何解析某个格式的文件,不仅仅是一个编程技术问题。
更多的是,是文件的格式描述以及需求明确。

[img]您好,我在B站看过好像是你们做的叫雪球老师的视频,这是电路仿真软件SPICE的网表文件,文件行数列数都不固定,文档中的每一个字符串,数字都是需要的,比如第二行是电阻名称为r1 它的左右节点分别为1和2,它的值为6000欧姆,然后根据它的左右节点把它的值赋给电压节点矩阵[img] 就像图一电路图有网表文件,然后读取网表文件解析出如图2的矩阵方程
作者: 小白菜鸡    时间: 2021-12-19 17:01
fcode 发表于 2021-12-13 12:14
如何解析某个格式的文件,不仅仅是一个编程技术问题。
更多的是,是文件的格式描述以及需求明确。

雪球老师这个r4也是可能的其中R代表电阻,c代表电容 V代表电压源都是可能的,看用户输入什么来定
作者: 小白菜鸡    时间: 2021-12-21 15:25
fcode 发表于 2021-12-13 12:14
如何解析某个格式的文件,不仅仅是一个编程技术问题。
更多的是,是文件的格式描述以及需求明确。

就像上面电路图它的网表TXT文件应该为
R1  0   1    10
R2  1   2    1000
R3  0   2    1000
I8   0   1    1
.tran   0.1ms  80ms
.probe
.end
需要根据这个网表文件数据生成图二中的电压矩阵




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2