许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  应用C语言编写adams用户自定义函数的研究:C语言编写函数导入adams function_builder.doc

应用C语言编写adams用户自定义函数的研究:C语言编写函数导入adams function_builder.doc

阅读数 3
点赞 0
article_banner

C语言编写adams用户自定义函数导入到adams中function_builder

应用C语言编写adams用户自定义函数导入到adams中function builder 的整个过程

当前使用软件 adams2005,visual c++ v6,Compaq visual fortran6 (这里最好不要用intel visual fortran .当所用的adams为07版本时可以用intel visual fortran.其时需要fortran的目的是获得其中的*.dll文件所需的dll文件都放在附件里.)

编写源程序,修改ADAMS安装目录下…/aview/usersubs中vc_init_usr.cC源代码或直接编写能够实现特定功能的C程序(注意严格按照模板格式编写)。

下面这个例子是我从网上找到的关于如何利用C程序产生正态分布的特殊随机数。假设源程序保存为myvcfun.c

#include "mdi_c.h"

#include "math.h"

#define M 8388608

#define T 2045

double MYRAND( double l )

{

double x,r,k,y,x1,x0;

int j,i;

x0=1;

x1=1;

for(j=0;j

{

k=0;

for( i=0;i<12;i++)

{

x=fmod(T*x0,M);

r=x/M;

x0=x;

k=r+k;

}

y=fmod(T*x1,M);

x1=y;

x0=x1;

}

return(k-6);

}

void vc_initialize_user()

{

vc_function_add("MYRAND", (FUNCTION)MYRAND, fn_R_R,1,0);

}

注意必须保存为?c 文件,将这个C文件与…/aview/usersubs中的mdi_c.h 的头文件放在一起用VC打开myvcfun.c点击compile进行编绎,在debug 文件夹中会产生myvcfun.obj文件。

3,环境变量的设置

将变量值改为https://www.gofarlic.com\Program Files\Microsoft Visual Studio\VC98\Bin;https://www.gofarlic.com\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin(具体路径按照visual studio的安装路径)

4,生成dll文件

首先将附件中的所有dll文件全部复制到MSC.adams\2005\win32中去,然后再打开MSC.adams\2005\common文件夹中的mdi.bat文件。过程如下图。

输入 cr-user

回车键

输入myvcfun.obj两次点击回车键

再输入 myvcfun.dll

点击回车键

此时myvcfun.dll文件已经出现在MSC.adams\2005\common文件夹中。

如果dos 窗口出现一闪之后就消失的情况,右击以记事本打开它,在最后一行加上“pause”然后保存。

5,将dll文件导入到function builder

还是打开mdi.bat文件

输入aview后回车

输入ru-user点击回车

输入I 点击回车

输入myvcfun.dll点击回车,再回车一下

此时自动打开aview 窗口

在function builder 中会发现多了一个函数

6,总结

子程序是可以导进去了,但这个程序毕竟不是自己编的,对adams和c语言之间的联系还不怎么了解。还不能把程序与具体的工程应用联系起来,再加上本人对c语言知识的缺乏,要想熟练地掌握用户子程序功能还需要一段时间。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空