同一个模型中的同一个subroutine能用几次?
问题是这样的:我自己编了一个VFORCE的用户子程序,而且在同一个模型中有多个地方需要用这个子程序。单个调试的时候子程序时没有问题的,和我理想中的情况是一样的。
首先,在模型中建立了一个VFORCE,和调试的时候一样很理想,但是当我继续完善模型的时候,加了第二个VFORCE(也是调用同一个子函数,只是传递的参数不一样),这时候两个VFORCE都不对了,就连刚才还好用的第一个VFORCE测量出来的力也是乱七八糟的。
会不会是两个VFORCE,在调用同一个subroutine时,函数内部的参数混乱了呢?为了避免出现这种情况应该怎么做?或者说这种情况能不能避免呢?
谢谢了!!! 问题已解决,把subroutine调用时的id号作为一个参数就可以了。
VOID_FUNCTION VFOSUB(int *id,REAL *time,REAL *par,int *nPar,BOOL *dflag,BOOL *iflag,REAL *value)
{
//*id---为ID号
//*time---为时间
//*par---为接收数组
//*nPar---为数组维数
//*dflag---为微分标志
//*iflag---为积分标志
//*value---为返回值
//在子程序中*id、*time、*nPar、*dflag、*iflag自动传递数据
//ADAMS中的数据是通过*par数组接收的
……
……
……
……
} :'(我练子程序都还不会写啊! 高手, 学习了
高手, 学习了 果然是高手,拜了。我现在还在挣扎着弄单独一个的过程呢。。。。。。问题不断啊。慢慢学习中。。。。。。。。。。。。。网站上的帖子不能收藏确实不太好,我怕看过,再回头就找不到了。 dlutpeng 发表于 2011-3-22 08:40
问题已解决,把subroutine调用时的id号作为一个参数就可以了。
VOID_FUNCTION VFOSUB(int *id,REAL *time,R ...
请问楼主,是不是添加了多个vforce,调用同一个子程序,只是输入的参数不同,对吧?
然后,你说的把id作为调用的一个参数是怎么回事,是将id的值赋值给子程序中的那个变量吗?能不能说明一下,感谢~
页:
[1]