找回密码
 注册
Simdroid-非首页
查看: 156|回复: 2

[用户自编子程序] 机械系统动力学分析及ADAMS应用教程中的例子—求助

[复制链接]
发表于 2015-5-18 22:16:27 | 显示全部楼层 |阅读模式 来自 陕西西安
本帖最后由 xifengyang 于 2015-5-18 22:18 编辑

最近在编写子程序,尝试把 《机械系统动力学分析及ADAMS应用教程》中的例子做了一下。仿真时发现小球不是沿着斜面运动而是做匀速线下的直线的运动(很缓慢)。希望能与大家交流交流,多多指教~~希望把这个例子真正做通,给大家一个参照。
一下是程序
#include "slv_c_utils.h"
/*
*  Using a function typedef from slv_c_utils.h, please declare your
*  user subroutine before defining it.  This will allow a compiler to
*  perform type checking for your subroutine arguments.
*/
   
adams_c_Gfosub    Gfosub;
/*
*  Define a subroutine named 'Gfosub'.  Any name is allowed,
*  as long as it is mixed case and the name is specified in
*  the ADAMS input file using the ROUTINE= keyword.  
*
*  Adams distinguishes between FORTRAN and C subroutines by looking
*  up the function name in the library.  If it finds a mixed case
*  name then it assumes that the function is a C function.  Otherwise
*  it assumes Fortran.
*/
void Gfosub(const struct sAdamsGforce* gfo, double time, int dflag, int iflag, double* result)
{
  double ct =      gfo->PAR[0];
  double cr =      gfo->PAR[1];
  int    im = (int)gfo->PAR[2];
  int    jm = (int)gfo->PAR[3];
  double vel[6];
  int    ipar[3];
  int    nstates;
  int    errflg;
  
/*
      Call SYSARY to collect information for the
      calculations below. Note: if IFLAG is true, this
      call is actually setting functional dependencies.

  --- Use VEL to get marker translational and rotational
      velocities
*/
  ipar[0] = im;
  ipar[1] = jm;
  ipar[2] = jm;
  c_sysary("VEL", ipar, 3, vel, &nstates, &errflg);
/*
  --- Check SYSARY call through ERRMES utility routine
*/
  c_errmes(errflg,"Error calling SYSARY for VEL", gfo->ID, "STOP");
/*
  --- Evaluate GFORCE components -------------------------
*/
  result[0] = -ct*vel[0];
  result[1] = -ct*vel[1];
  result[2] = -ct*vel[2];
  result[3] = -cr*vel[3];
  result[4] = -cr*vel[4];
  result[5] = -cr*vel[5];
}
 楼主| 发表于 2015-5-18 22:19:59 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
C:\Users\Administrator\Desktop\lizi—jiaocai\仿真结果.jpg
回复 不支持

使用道具 举报

 楼主| 发表于 2015-5-18 22:24:06 | 显示全部楼层 来自 陕西西安

仿真结果图:。

小球一直向下运动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 03:30 , Processed in 0.027753 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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