Adams 2012 C语言用户子程序编译指南

0096d7e3aae146a9142fa03b3d4478c5.png

1 概述

在Adams使用过程中,有些复杂的情况特别是涉及到一些逻辑表达,用函数表达式很难表达出来,这种情况需要使用用户子程序。

Adams用户子程序支持C语言和Fortran语言,随着C语言的普及,越来越多的用户使用C语言编写用户子程序。用户子程序属于Adams较难掌握的部分,且Adams2012版本和以前版本相比较,用户子程序的数据格式和函数内容都已有了较大的发展,本文介绍如何在Adams2012版本中编译C语言用户子程序。

2 操作平台

操作系统:Windows 7 64位

软件版本:Adams 2012 32位、Visual Studio 2008 32位

编译软件:Intel Fortran 11.0

环境配置:

1.在操作系统环境变量Path中增加Adams启动文件mdi.bat的路径,如D:\MSC.Software\Adams\2012\common\mdi.bat

2.把Fortran安装路径下的libifcoremd.lib、libmmd.lib、libifportmd.lib、libirc.lib、svml_dispmd.lib这5个库文件复制到Adams安装路径下win32文件夹下

3 编写用户子程序

Adams安装程序solver\c_usersubs文件夹下有C语言编写的常用的用户子程序,其中slv_c_utils.h文件是用户子程序的头文件。编写用户子程序时,在这些程序的基础上进行更改会有事半功倍的效果。

本文以编写VForce用户子程序为例,对其编写、编译操作过程进行说明。

复制vfosub.c和slv_c_utils.h两个文件到个人工作文件夹下,如D:\mysubroutine,可以对vfosub.c文件进行代码修改。本文直接使用vfosub.c的原始代码,其代码为:

982c937f3d130074796d2a130fe0cb88.png

图1 用户子程序代码

注意:因为代码中引用了slv_c_utils.h,复制时必须同时复制slv_c_utils.h文件,否则编译时会报错。

4 编译操作

(1) 在开始菜单下,启动Visual Studio 2008命令提示工具。

918e8dfdfae1d7d9a3665e999662787b.png

图2 启动编译工具

(2) 把工作路径设置到用户子程序文件所在路径(D:\mysubroutine)。

b727ab4d4e385b7ff423614e6c06b861.png

图3 设置工作路径

(3) 输入mdi,系统进入Adams环境中,输入cr-u,进入编译子程序,这时系统提示是否在调试状态下连接,直接输入回车。

f713bdfcd74fb0f23396633bf25a01ee.png

图4 进入Adams编译环境

(4) 输入C语言用户子程序的文件名vfosub.c并回车,注意:

该文件必须是以.c为后缀名,不能以.cpp为后缀名

该文件必须在当前路径下存在

系统提示输入下一个文件名称,这时直接点击回车;然后输入生成的dll文件的名称,这个文件名可不与c文件同名,比如输入myvfosub.dll,然后点击回车,系统进行编译。

64ab34a06b5f693a6800aa84c42cd99b.png

图5 输入用户子程序的名称

(5) 编译完成后,如果系统提示编译成功,会在vfosu.c所在的文件夹中生成编译成功的dll文件,至此完成用户子程序的编译。

57c956e5a03f0d6fd580cd8b663eb768.png

图6 生成用户子程序dll文件

5 结论

用户子程序涉及到Adams、C语言、Fortran语言等知识,且需要配置环境,初学者很难掌握。本文详细介绍了如何在Adams2012中编译C语言用户子程序的过程,对初学者有很好的参考意义。

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

相关推荐
技术文档
QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空