前天写了篇关于国产软件的文章(再来扯国产CFD软件),后台有道友说我悲观消极,也有道友说目前有不少国产CFD软件拥有自主产权且已经在应用了,有道友说我没有调查没有发言权。
嗯,好吧,我承认我没有确切地去调研国产软件的研发及应用(个人力量很难做这方面的调查,原因道友们自己去想,这个多半只有GX部才有能力调查出个确切数据)。
我一直认为我完全也没有必要去悲观啊。CFD软件开发和我完全搭不上边,自始至终我都是以一个CFD工程应用者而自居的。国产CFD软件的开发和我八竿子都打不着啊,未来有好用的就用呗,没有好用的就用国外的或者开源的,办法总是有的。开源CFD软件深度定制版我其实也有,工程上也能将就着用,万一哪天找不到可用软件了,也能顶上。但其实我想对所有做CFD应用的道友们说,不要太过于依赖于软件,你所拥有的专业理论和专业经验才是最有价值的东西。
CFD软件的研发本来就不是一件容易的事情,对于通用CFD软件更是如此。其不仅仅是程序代码的堆叠,还涉及到底层物理模型的研究,数值算法的开发,这些玩意儿仅靠那帮搞IT的程序猿可没办法搞。
个人认为CFD软件的开发可以分为三个层级:
底层开发。底层物理模型、底层算法的开发。这是在造轮子,投资周期长而且风险很高,也许研究个五年十年什么都没搞出来。但这部分是最重要的内容,也恰恰是国内CFD界最为欠缺的。国内有一些课组可能有一些比较先进的模型和算法,但大多都转化为论文了。也有一些课组的祖传代码可能非常先进,但将祖传代码进行封装也需要额外的工作。目前多数国产CFD软件在这块上采用公开的物理模型和算法,有一些还直接使用开源的。
专用软件。针对特定应用场景进行开发的软件。举个简单的例子,以前有个叫PumpLinx的软件,专门针对泵阀仿真计算,采用模板式的参数设置,不仅可以降低应用者的使用成本,而且还能提高软件的可靠性。
通用软件。通用软件不同于专用软件,其开发难度要远大于专用软件。通用软件不只是要考虑模型和算法的精度与效率,还需要在稳定性和可靠性方面进行平衡。换句话说,专用软件可以针对特定的物理现象,尽最大的可能提高计算精度和可靠性,但通用软件不行,因为通用软件需要考虑到不同应用场景的切换问题,对某一场景的过分定制,会降低软件的通用性,也会降低软件的整体稳定性与可靠性。
现在国内CFD软件开发的现状是什么呢?底层开发集中在高校,坚持开发的不多,具有工程应用价值的更少,目前基本上使用公开和开源的模型和算法。专用软件开发的极少,个人猜测原因可能在于那些软件开发者认为专用软件的市场规模太小,也可能是他们认为专用软件难以申请国家资助。现在网络上那些喊得比较响亮的国产自主产权CFD软件,基本上都是通用软件。这就让人比较费解了,难道咱们国家CFD软件要反其道而行,先有通用软件,再有专用软件,最后才有模型和算法?
中国会有自己真正的CFD软件吗?毫无疑问肯定会有的。但也可以肯定的是,真正的国产CFD软件绝不会出现在资本控制的企业中,因为一款真正自主的软件开发周期实在是太长了,那些资本家哪里会给那么长的时间,急功近利的后果就是造成套壳横行以及满大街的浮夸宣传,做个外壳再花点儿小钱找中介申请个计算机著作权就敢全世界宣传具有自主知识产权,然后薅羊毛。被识破了也没关系,换个招牌继续套壳薅羊毛,只要脸皮够厚,这事儿可以一直干下去。以前就见过某国产软件胆大到仅仅换个皮肤就说自己开发了个新软件。
资本控制的公司开发的软件有个特点,只喜欢听正面消息,反对负面声音,因为负面声音会令金主不高兴。但是任何一个产品,怎么可能只有正面的消息呢,软件有bug不是很正常的事情么,改过就是了。软件测试最麻烦的地方不是改正bug,而是发现bug,当然金主们多半不知道,因为他们多半不是真正干软件开发的,哪里会关注这些细节呢。
不扯了,以后再不发与国产CFD软件有关的任何内容了,不过欢迎各大国产CFD厂商前来协商打广告事宜,套壳不套壳神马的都没有关系,随便你们怎么吹都行:)。
有感而发,各位道友不必在意,有不同看法可以留言,但请不要人身攻击。
(本文结束)