设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1535|回复: 19

[讨论] PSCAD求方程组

[复制链接]
  • TA的每日心情
    郁闷
    2018-5-25 15:53
  • 签到天数: 109 天

    连续签到: 1 天

    [LV.6]常住居民II

    累计签到:109 天
    连续签到:1 天
    发表于 2016-12-11 16:37:05 | 显示全部楼层 |阅读模式

    马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

    您需要 登录 才可以下载或查看,没有账号?立即加入

    ×
    1211.JPG 如何用pscad求解方程组
    ( L/ d9 Z9 U$ z  P+ }/ a( D* L5 S6 [/ m; S% Z
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    [发帖际遇]: 教会了女神学妹使用PSCAD,送了cuicui 威望2 点 ,么么哒. 幸运榜 / 衰神榜
    楼主热帖
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 20:08:50 | 显示全部楼层
    ZGGLLJT 发表于 2016-12-11 19:01
    + v8 b7 E/ t# G$ |我只是路过打酱油的。第一次听说用PSCAD求解方程组的的
    2 ~$ Y; c: {+ J2 [9 g0 l* \- N
    借你的宝地回复一下楼主,我自己的回复好像遇到了网站的bug,显示不出来了: H5 Z8 ]9 e$ j9 h3 f9 G1 r
    2.JPG
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    [发帖际遇]: 今天领导高兴对 crosssky工作表现很满意,奖励了 威望1 点. 幸运榜 / 衰神榜
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 1 踩下 0

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:42:49 | 显示全部楼层
    楼主脑洞很大,哈哈。。   1 }& v/ q' K8 q) z: j. \
    但是我要说这不是不可能的,世界属于有梦想的人。( z3 ?% P% H, s, o7 S, \
    接下来让我我来分析一下楼主的方程,楼主没有交代beta是否就是导通角。我假装楼主想告诉我们f()函数是无法求出解析式的,而楼主求的变量是beta, 那么方程变成 beta - f(U,P) =0 ,已知U和P,方程最终化为一个变量beta的方程,但是没有解析形式的解,无法用pscad计算模块直接计算,所以需要解方程,类似 beta^2+sin(beta)=0这种。& E2 W  g2 q0 O
    那么怎么用pscad求解??   我给楼主提供一下思路,这种方程无法解析求,只能通过非线性方程的数值解法去求解,所以要在pscad里面求解,就需要编写非线性方程求解函数,那么pscad中可以实现非线性方程的求解么,答案是肯定的。首先pscad中有fortran程序自定义功能,我们可以自定义一个模块,输入是U和P的值,仿真中U和P的值自动生成,输入到我们的自定义模块中,我们编写程序求解beta的值,然后作为自定义模块的输出,输出到仿真界面来。这是肯定能实现的,但是好像很麻烦。不用怕,我来提供第二种思路。
    ) a/ M- ^3 F/ `" q$ P
    / n) F6 a3 P4 S! t思路2就是,我们不用自己编写非线性数值求解函数,因为Matlab中有现成的,我们只需要实现将pscad中的U和P输出到maltab中,利用maltab中数值求解函数解出来beta,然后再返回pscad即可。 那怎么实现这两个软件之间的数据传递过程呢?我再提供给楼主一个思路,首先利用pscad中fortran自定义功能,做一个写文件的模块,只需要每个步长将仿真产生的U和P写入一个txt文件,然后Matlab读入这个文件中U和P,利用fsovle等非线性方程求解功能求解出beta,然后再写入另外一个txt文件,pscad再次读入这个文件,用到仿真中去即可。。当然我说的很简单,但是实际上需要两个程序之间配合,pscad再进入下次求解之前要等待maltab返回求解结果,这些配合细节需要去设计。
    * m, d2 M, e4 X* U  i$ {; x  b" v: q1 K+ U/ U) C' {
    楼主脑洞很大,但总有人要去实现这些脑洞。如果你觉得很难,很烦,很虐心,别急,请专业的仿真专家为你来实现  请访问淘宝店铺联系店小二 https://shop188896825.taobao.com/?spm=2013.1.1000126.d21.L4sIMz  哈哈,其实这只是个广告。。哈哈哈。。。有没有感觉被套路了。。0 z8 i+ B+ t7 E4 H
    但是话说回来,我提供的思路绝对可行,看到帖子的人,有这方面需要,可以作为几个思路参考。如果想让别人帮你解决,就访问店铺吧。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:45:55 | 显示全部楼层
    楼主脑洞很大,哈哈。。   . p  B. N" n+ Q9 {/ V* ]" J4 W8 k+ G& D
    但是我要说这不是不可能的,世界属于有梦想的人。
    : a$ [* `! k' v5 R5 ~  Z+ R7 O接下来让我我来分析一下楼主的方程,楼主没有交代beta是否就是导通角。我假装楼主想告诉我们f()函数是无法求出解析式的,而楼主求的变量是beta, 那么方程变成 beta - f(U,P) =0 ,已知U和P,方程最终化为一个变量beta的方程,但是没有解析形式的解,无法用pscad计算模块直接计算,所以需要解方程,类似 beta^2+sin(beta)=0这种。& {! Q+ _% b, S4 i6 i
    那么怎么用pscad求解??   我给楼主提供一下思路,这种方程无法解析求,只能通过非线性方程的数值解法去求解,所以要在pscad里面求解,就需要编写非线性方程求解函数,那么pscad中可以实现非线性方程的求解么,答案是肯定的。首先pscad中有fortran程序自定义功能,我们可以自定义一个模块,输入是U和P的值,仿真中U和P的值自动生成,输入到我们的自定义模块中,我们编写程序求解beta的值,然后作为自定义模块的输出,输出到仿真界面来。这是肯定能实现的,但是好像很麻烦。不用怕,我来提供第二种思路。0 v) u, T& F+ r) M8 t" i
    $ Q2 o3 W" Y1 m" A
    思路2就是,我们不用自己编写非线性数值求解函数,因为Matlab中有现成的,我们只需要实现将pscad中的U和P输出到maltab中,利用maltab中数值求解函数解出来beta,然后再返回pscad即可。 那怎么实现这两个软件之间的数据传递过程呢?我再提供给楼主一个思路,首先利用pscad中fortran自定义功能,做一个写文件的模块,只需要每个步长将仿真产生的U和P写入一个txt文件,然后Matlab读入这个文件中U和P,利用fsovle等非线性方程求解功能求解出beta,然后再写入另外一个txt文件,pscad再次读入这个文件,用到仿真中去即可。。当然我说的很简单,但是实际上需要两个程序之间配合,pscad再进入下次求解之前要等待maltab返回求解结果,这些配合细节需要去设计。
    7 c$ Q$ c/ ^" X
    2 Q  r/ G1 a: T) j! ?& a7 B4 Q# u8 j楼主脑洞很大,但总有人要去实现这些脑洞。如果你觉得很难,很烦,很虐心,别急,请专业的仿真专家为你来实现  请访问我的店铺,搜索淘宝店铺:电力系统仿真编程小组。。 哈哈。。哈哈哈。。。有没有感觉被套路了。。
    : \' G8 ?5 g, l2 z但是话说回来,我提供的思路绝对可行,看到帖子的人,有这方面需要,可以作为几个思路参考。如果想让别人帮你解决,请找我
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-3-6 19:11
  • 签到天数: 237 天

    连续签到: 1 天

    [LV.7]常住居民III

    累计签到:237 天
    连续签到:1 天
    发表于 2016-12-11 19:01:56 | 显示全部楼层
    我只是路过打酱油的。第一次听说用PSCAD求解方程组的的

    点评

    借你的宝地回复一下楼主,我自己的回复好像遇到了网站的bug,显示不出来了  详情 回复 发表于 2016-12-11 20:08
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    [发帖际遇]: 教会了女神学妹使用PSCAD,送了ZGGLLJT 威望3 点 ,么么哒. 幸运榜 / 衰神榜
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-5-26 08:36
  • 签到天数: 603 天

    连续签到: 1 天

    [LV.9]以坛为家II

    累计签到:603 天
    连续签到:1 天
    发表于 2016-12-11 19:25:36 | 显示全部楼层
    操作方法如图; P$ U. K/ `; w( b
    ) ?/ N, g" W/ i8 O
    附,运行好的程序一份
    : p7 o9 d% ~( ?要点:1.截切掉数据读取的部分,先运行一遍生成数据;  B4 h: v7 y0 m- x, g2 U
             2.用文件夹元件加载数据所在位置
    ( Q7 F% R5 T7 m: o( R& p  r         3.粘贴剪切的部分,并运行" C- F* u. g3 g+ F6 S
             4.如更改阻抗扫描元件的参数,清除生成的文件重复上述步骤
    & D# U7 u/ z  S0 N0 U4 z+ y6 o  `" `1 ]1 P+ [8 m7 O( [4 t2 ^  e' X
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    [发帖际遇]: stoat捐助研学论坛,另外奖励威望2 点. 幸运榜 / 衰神榜
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-5-26 08:36
  • 签到天数: 603 天

    连续签到: 1 天

    [LV.9]以坛为家II

    累计签到:603 天
    连续签到:1 天
    发表于 2016-12-11 19:26:59 | 显示全部楼层
    发错了抱歉

    评分

    参与人数 1威望 -1 收起 理由
    抢楼评分专号 -1 不要重复抢楼哦!

    查看全部评分

    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:46:19 | 显示全部楼层
    楼主脑洞很大,哈哈。。   
    7 K8 g' h& Q, @$ k$ X0 T! ?9 o但是我要说这不是不可能的,世界属于有梦想的人。
    5 j9 `; h$ N4 i接下来让我我来分析一下楼主的方程,楼主没有交代beta是否就是导通角。我假装楼主想告诉我们f()函数是无法求出解析式的,而楼主求的变量是beta, 那么方程变成 beta - f(U,P) =0 ,已知U和P,方程最终化为一个变量beta的方程,但是没有解析形式的解,无法用pscad计算模块直接计算,所以需要解方程,类似 beta^2+sin(beta)=0这种。  w9 K) }# @6 _
    那么怎么用pscad求解??   我给楼主提供一下思路,这种方程无法解析求,只能通过非线性方程的数值解法去求解,所以要在pscad里面求解,就需要编写非线性方程求解函数,那么pscad中可以实现非线性方程的求解么,答案是肯定的。首先pscad中有fortran程序自定义功能,我们可以自定义一个模块,输入是U和P的值,仿真中U和P的值自动生成,输入到我们的自定义模块中,我们编写程序求解beta的值,然后作为自定义模块的输出,输出到仿真界面来。这是肯定能实现的,但是好像很麻烦。不用怕,我来提供第二种思路。
    1 ^$ e4 u' p( e0 t) U$ [+ ^+ O: h$ l- j+ ?( Y; g
    思路2就是,我们不用自己编写非线性数值求解函数,因为Matlab中有现成的,我们只需要实现将pscad中的U和P输出到maltab中,利用maltab中数值求解函数解出来beta,然后再返回pscad即可。 那怎么实现这两个软件之间的数据传递过程呢?我再提供给楼主一个思路,首先利用pscad中fortran自定义功能,做一个写文件的模块,只需要每个步长将仿真产生的U和P写入一个txt文件,然后Matlab读入这个文件中U和P,利用fsovle等非线性方程求解功能求解出beta,然后再写入另外一个txt文件,pscad再次读入这个文件,用到仿真中去即可。。当然我说的很简单,但是实际上需要两个程序之间配合,pscad再进入下次求解之前要等待maltab返回求解结果,这些配合细节需要去设计。
    ! w4 [9 a$ K  B- i4 V0 ^) M4 S2 m
    6 C0 c+ h1 l- f9 ?0 f; C# \. a楼主脑洞很大,但总有人要去实现这些脑洞。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:50:36 | 显示全部楼层
    哈哈哈,脑洞很大
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:50:53 | 显示全部楼层
    楼主脑洞很大,哈哈。。   . B2 g4 I* E$ ~) ^3 x2 m" Y/ o3 u
    但是我要说这不是不可能的,世界属于有梦想的人。

    点评

    怎么发不出来  详情 回复 发表于 2016-12-11 19:58
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-11 09:56
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    累计签到:23 天
    连续签到:1 天
    发表于 2016-12-11 19:54:38 | 显示全部楼层
    擦,正常发个贴,就是因为我字数太多了,竟然说我再灌水,给我删了。。。贴个图吧。[img]
    2 Z! j  I  y3 ]2 d. c0 v' R; V
                                   
    登录/注册后可看大图
    [/img]
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    回复 推荐 踩下

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2025-9-1 17:07

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表