- 积分
- 18
- 注册时间
- 2008-4-21
- 仿真币
-
- 最后登录
- 1970-1-1
|
以下讨论,仅针对STATIC和TRANSIENT两种分析类型.共讨论了4个方面,以1-4表示.
1 由于改变求解类型仅在第一个载荷步内有效("Changing analysis type is only valid within the
first loadstep"-From ANSYS help),则可知,对于一组
/SOLU
......
FINISH
之间的求解命令,无论是用SOLVE还是用LSSOLVE,结果一致,且均包含加载历史.
这是因为:
若使用SOLVE,当发出第一个SOLVE后(第一个载荷步),第二个,第三个....第N个SOLVE求解类型不能更改
即这一系列SOLVE均针对同一个分析流程.
若使用LSSOLVE,则首先
LSWRITE,1
LSWRITE,2
......
LSWRITE,N
求解类型在LSWRITE,1之前已指定,后续载荷步中不能更改.继续发出
LSSOLVE,1,N,1
亦均针对同一个分析流程.
因此,可得结论:对一组/SOLU$...$FINISH之间的求解命令,SOLVE和LSSOLVE的使用结果一致,且均包含加
载历史.
2 现在来分析位于上一组/SOLU$...$FINISH之后的新的,另外一组/SOLU$...$FINISH之间的求解命令.
由于此时是RE-ENTER SOLU,如果发出第一个SOLVE,程序视为开始另外一个新的分析流程,此SOLVE及其之
后的所有SOLVE命令均针对此新流程.因此,这组SOLVE命令得到的结果,将不包含前一组/SOLU$...$FINISH
之间的加载历史.
此组/SOLU$...$FINISH之间的LSWRITE和LSSOLVE组合命令将同样产生相同结果.
至此,已经讨论完相邻两组/SOLU$...$FINISH之间的SOLVE和LSSOLVE,若有多组/SOLU$...$FINISH,结论一
致.
3 下面仅针对LSSOLVE作讨论.
讨论下面的情形:
在第一组/SOLU$...$FINISH之间,仅发出LSWRITE命令(设此组间共写N个载荷步),而不发出LSSOLVE命令
在第二组/SOLU$...$FINISH之间,接第一组最后一个LSWRITE,N命令,继续写
LSWRITE,N+1
...
直到写完为止.
设最后一步为
LSWRITE,M
然后,继续发出
LSSOLVE,1,M,1
将会在结果中看到,LSSOLVE,1,M,1包含了第一组/SOLU$...$FINISH之间的加载历史.
而这是SOLVE无法实现的.原因就在于开始提到的"改变求解类型仅在第一个载荷步内有效".
因此,可得结论:
a 在同一组/SOLU$...$FINISH之间(内),SOLVE仅针对当前载荷步求解,使用多个SOLVE,与使用LSSOLVE结果一致,且
均包含当前已有加载历史.
b 在多组/SOLU$...$FINISH条件下,使用多个SOLVE(加载一步,求解一步)和只在最后一组/SOLU$...$FINISH
内使用一个LSSOLVE求解全部/SOLU$...$FINISH中的载荷步,结果可能不一致.后者包含所有/SOLU$...$FINISH中
加载历史,而SOLVE仅包含当前/SOLU$...$FINISH之间的加载历史.
4 还有一点很重要:在不改变JOBNAME(/FILNAME命令)的情况下,LSWRITE写成的载荷步文件按照
JOBNAME.SN命名.现在假设:
在当前JOBNAME下,第一组/SOLU$...$FINISH之间共写N个载荷步(LSWRITE,N),而且如果在结束第一
组/SOLU$...$FINISH后,使用/FILNAME改变了JOBNAME,那么建议后续的/SOLU$...$FINISH间的LSWRITE命
令,从LSWRITE,1开始,而不从LSWRITE,N+1开始,因为此时写的载荷步文件是为新的JOBNAME而写,应从第一
步写起.
由此,可得结论SSWITE/LSSOLVE的作用仅仅是,给当前名为JOBNAME的计算写载荷步并求解,此求解过程
及最后得到的结果文件"JOBNAME.RST"包含了在当前JOBNAME下加载的全部历史.它相比SOLVE的优点是可以
REENTER SOLU并继续同一个流程下的求解.这对于例如升温-配合-蠕变一类的加载历史求解,是相当有用
的.
以上有不正之处,请各位指正.最后,可以通过一个简单的悬臂梁加载求解例子来理解SOLVE和LSSOLVE的区
别.
[ 本帖最后由 zhoulon 于 2008-11-26 07:57 编辑 ] |
评分
-
1
查看全部评分
-
|