adams编译并导入c语言编写的LN接触力模型
#include "shv_c_utils.h"void LN_CONTACT_FORCE(int* id, double* time, double* c, double* dc, double* force, double* PAR, int* ifun, double* value) {
double K = PAR;
double E = PAR;
double Ce = PAR;
double v = PAR;
double gap = c;
double gapdot = dc;
// 计算接触力
if (gap < 0) {
force = fmax(0.0, K * pow(-gap, E) * (1.0 - 3.0 * (1.0 - Ce * Ce) * gapdot / (4.0 * v)));
}
else {
force = 0.0;
}
*value = force;
}
请问编程代码是否有问题,如何让adams接触时确保正确映射仿真模型中的状态变量(例如 c 和 dc),生成接触力。
就是K,E,Ce,V的值是直接在接触力设置中依次输入固定值,但是不理解gap和gapdot这两个反馈值是怎么直接在adams中仿真并直接映射到程序中
页:
[1]