这一部分内容参考如何在ADAMS/View中定义非线性衬套 - MSC技术文章 - 中国仿真互动网(www.Simwe.com)一文,本文主要目的为完善该过程。
该方法使用Adams/View下的广义力来创建非线性力
这里举例在两个物体间创建广义力,定义X方向的非线性力的方法:
最终结果如下图所示:
首先,导入或者创建样条曲线,即非线性函数
这里,SPLINE_1中的x,y设置为非线性力函数(位移,力的对应关系),即位移为1时,力为1(单位与Adams系统单位对应,例mm、newton),可以设置x为负值。
然后在广义力中定义如下函数:
点击OK后会生成:AKISPL(time,0,SPLINE_1, 0)。
这里使用DX()函数来获取两个点之间的X方向的距离。例如DX(MARKER_2,MARKER_3,MARKER_3),为MARKER_2相对于MARKER_3在X方向的位移。将此函数作为自变量X替换AKISPL(time,0,SPLINE_1, 0)中的time,即:
AKISPL(DX(MARKER_2,MARKER_3,MARKER_3),0,SPLINE_1, 0)
此时该函数会以X(MARKER_2,MARKER_3,MARKER_3)为自变量,对应SPLINE_1中X的值来最终对应Y值(力),完成了力随位移变化。
将此函数添加到文初的广义力中,结束。
另外,所引文章中也提到注意测量的方向,如下图
首先,可以对运动进行初步判断,在广义力的方向与系统方向一致时,假若主动点Marker_2在系统X正方向运动,此时函数的X值为正,若想给之反向力,需要加负号:
例如:-AKISPL(DX(MARKER_2,MARKER_3,MARKER_3),0,SPLINE_1, 0)。
另外,注意在对Y,Z方向进行设置时,要使用DY(),DZ()函数来对Y,Z方向的移动距离进行测量。同样,可以使用VX()以及样条函数来模拟非线性阻尼。