为什么仿真时间不同结果就不同呢?
为什么仿真时间不同结果就不同呢?给柔性体长棒一个旋转,转速330*360d*time,看长棒下面外圆一点变形量。
但是为什么0.1s200step和1s200step仿真的结果不一样呢?
前者最大变形为0.021,后者最大变形则为0.019。 我认为仿真过程中的每一种状态都是由他前面的一种状态"进化"而来的,并在当前状态再进行"计算"获得下一步的状态,显然不同的仿真时间与仿真step会造成不同的结果,但假如你设置的仿真时间分别为0.1S和1S,仿真step分别为100和1000,那么结果应该一样(模型在0.1S内已经处于稳定),想获得更精确的结果应该设置一个合理的仿真时间,仿真step尽可能的大些, 动力学分析是一个数值计算的过程,对待不同的时间步长,每一步积分的收敛解可能会不一样,然后会有累计的计算误差,最后导致结果有可能略有不同
如果带了柔性体,更容易出现。 非常感谢楼上两位! 我昨天也发现了这个问题。我做的是个弹性碰撞问题,不考虑摩擦,按理说撞后的物体应该是按某一个速度匀速运动,可是设置的END TIME不同,它匀速的速度就不同。这个好象和END TIME 无关的吧? 我觉得你仿真的精度设置就不一样,0.1s200step是0.1秒内设置了200步的计算相当与0.1/200(s)计算一次和1s200step相当于1/200(s)计算一次,前面的精度比后面的高十倍 复杂模型中的弹性碰撞确有此问题,若精度高为DTOUT=1.0E-04秒时计算结果(毛刺很大)反而很差于DTOUT=1.0E-03秒时计算结果(较平滑). 哪个对? 求教高手. 补偿跟数值阻尼也有关,步长约小,数值阻尼也越小 谢谢斑竹!请问有否办法增大数值阻尼. :)
我试了改INTEGRATOR 没见效果. 且上述现象不是每次都发生(可接受的误差每次都有).
页:
[1]