文档库 最新最全的文档下载
当前位置:文档库 › C语言编写adams用户自定义函数导入到adams中function builder

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

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

function builder 的整个过程

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

2,编写源程序,修改ADAMS安装目录下…/aview/user subs中vc_init_usr.c模板文件中的C 源代码或直接编写能够实现特定功能的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,环境变量的设置

将变量值改为D:\Program Files\Microsoft Visual Studio\VC98\Bin;D:\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语言知识的缺乏,要想熟练地掌握用户子程序功能还需要一段时间。

相关文档