Fortran Coder

查看: 11669|回复: 7
打印 上一主题 下一主题

[混编] abaqus 二次开发中的 include

[复制链接]

17

帖子

4

主题

0

精华

熟手

F 币
186 元
贡献
105 点
跳转到指定楼层
楼主
发表于 2015-9-24 11:10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. include 是哪个标准的黑科技,Chapman 的书上竟然貌似没有提到
2. 最近接手一个远古时代的UMAT程序,完全颠覆我这点薄弱的编程基础,主要是只能一个文件写所有的代码
3.试着在一个文件里写了module,不 use 的时候一切OK,但是一旦use就报错:
    FORTRAN.for(17): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [ELASTIC_MATRIX]
            use elastic_matrix
    ----------^
    elastic_matrix 是跟 UMAT 写在一个文件的 module
4. include能不能解决这个问题
5. 好烦, 固定格式被我写成空7列的自由格式,还要担心不够长该换行了···
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

沙发
发表于 2015-9-24 12:40:00 | 只看该作者
1、口气不小啊,很不幸include不是啥黑科技,C、C++同样有,按照stackoverflow上面的说法,Fortran引入include是从MIL-STD 1971开始,oracle和hp的在线文档则注明include是F77标准的,至于中文书籍的话,彭国伦的书有这部分内容介绍
http://stackoverflow.com/questio ... ran-call-vs-include
http://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vna1/index.html
http://h21007.www2.hp.com/portal ... ocs/lrm/lrm0580.htm
2~5、为啥不能拆成几个文件,分别编译?抄个makefile不难,自由格式、固定格式也就迎刃而解。统统放在一个源文件,必须得先定义module才行,编译器可没有那么聪明

17

帖子

4

主题

0

精华

熟手

F 币
186 元
贡献
105 点
板凳
 楼主| 发表于 2015-9-24 15:13:09 | 只看该作者
本帖最后由 wx_G5fH8Rhq 于 2015-9-24 15:27 编辑
pasuka 发表于 2015-9-24 12:40
1、口气不小啊,很不幸include不是啥黑科技,C、C++同样有,按照stackoverflow上面的说法,Fortran引入incl ...

大哥,我哪里有口气嘛为什么只能用一个源文件这个我也不知道,UMAT是ABAQUS里面的用户材料子程序,选择的时候就只能选一项,所以只好在一个文件里写上好几千行。
对了,他这个还支持obj文件,可是我编译后找到的obj代替源文件软件会报错说找不到umat子程序
makefile好高端,没看懂。
include我确实没了解准备看下,
最后感谢大神的回复!

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2015-9-24 17:57:37 | 只看该作者
include 并不是什么高科技。或者说它的原理非常之简单,就相当于:
1.打开被包含文件,全选,复制。
2.粘贴在include 语句的位置。
仅此而已,别的什么都没有。

虽然我没用过二次开发,但是只能用一个源代码文件也是可能的。

17

帖子

4

主题

0

精华

熟手

F 币
186 元
贡献
105 点
5#
 楼主| 发表于 2015-9-25 08:55:15 | 只看该作者
楚香饭 发表于 2015-9-24 17:57
include 并不是什么高科技。或者说它的原理非常之简单,就相当于:
1.打开被包含文件,全选,复制。
2.粘贴 ...

嗯,我再看看
谢谢大神回复~

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

6#
发表于 2015-9-25 10:18:51 | 只看该作者
wx_G5fH8Rhq 发表于 2015-9-24 15:13
大哥,我哪里有口气嘛为什么只能用一个源文件这个我也不知道,UMAT是ABAQUS里面的用户材料子程序, ...

windows下面abaqus二次开发环境配置有点麻烦
按照abaqus的官方手册,只支持F77格式,其实只要预先编译成obj,f90格式甚至c代码都是可以的
能翻墙的话,谷歌上面可以搜到不少有用的信息

33

帖子

4

主题

0

精华

熟手

F 币
229 元
贡献
117 点
7#
发表于 2015-10-13 08:44:55 | 只看该作者
那个啥,UMAT根本算不上二次开发.
证明1:
这是软件自己已有的功能,让用户有了灵活使用材料的可能.
证毕!
证明2:
如果UMAT都算作二次开发,同理可证用ABQ建模型也属于二次开发.显然荒谬.
证毕!



17

帖子

4

主题

0

精华

熟手

F 币
186 元
贡献
105 点
8#
 楼主| 发表于 2015-11-12 11:32:48 | 只看该作者
hanshikai 发表于 2015-10-13 08:44
那个啥,UMAT根本算不上二次开发.
证明1:
这是软件自己已有的功能,让用户有了灵活使用材料的可能.

那啥算二次开发···
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-28 17:35

Powered by Tencent X3.4

© 2013-2024 Tencent

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