时间步长控制是一个自动时间步长特征,这个特征预测什么时间接触单元的状态将发生变化,或者二分当前时间步。使用KEYOPT(7)来选择下列四种行为之一来控制时间步长。KEYOPT(7)=0时不提供控制(缺省),KEYOPT(7)=3提供最多的控制:
KEYOPT(7)=0,无控制。时间步大小不受预测影响。当自动时间步长激活,且允许一个很小的时间步长时,这个设置对大多数情况是合适的。
KETOPT(7)=1,如果一次迭代期间产生太大的穿透,或者接触状态急剧变化,则进行时间步长二分。
KEYOPT(7)=2,对下一个子步预测一个合理的时间增量。 KETOPT(7)=3,对下一个子步,预测一个最小的时间增量。 5.4.9.15 使用死活单元选项
面─面接触的接触单元和目标单元允许激活或杀死,而且也跟随其下伏单元的死活状态。能够在分析的某一阶段中杀死这个单元,而在以后的阶段再重新激活它。这个特征对于模拟复杂的金属成形过程是有用的,在此过程的不同分析阶段,有多个刚性目标面需要和接触面相互作用。回弹模拟常常需要在成形过程的后期移走刚性工具。这一选项不能用于“不分离”或绑定接触。 5.4.10 控制刚性目标面的运动(刚体-柔体接触)
刚性目标面是在其原始构形上定义的。而整个面的运动,通过控制节点上的给定位移来定义(如果没有定义控制节点,则通过目标面上的不同节点来定义)。
为控制整个目标面的边界条件(和运动),在下面任何情况下,必须使用控制节点:
目标面上作用着给定的外力。 目标面发生旋转。
目标面和其它单元相连(例如结构质量单元 MASS21 等)。 目标面的运动有平衡条件调节。
控制节点的自由度代表着整个刚性面的运动,包括2D中的2个平移和1个转动自由度,或3D中的3个平移和3个转动自由度。用户可以在控制节点上施加边界条件(位移、初速度)、集中载荷、转动等等。为了考虑刚体的质量,可在控制节点上定义一个质量单元。
当使用控制节点时,记住对目标面有如下一些限制:
每个目标面只能有一个控制节点。
ANSYS忽略除了控制外的所有节点上的边界条件。 只有控制节点能与其它单元相连。
当定义了控制节点后,不能使用约束方程( CE )或节点耦合( CP )来控制目标面的自由度。如果要在刚性面上施加任意载荷或者约束,用户必须定义控制节点,并在控制节点上加载。如果没有使用控制节点,则只能有刚体运动。
注意 —控制节点可以是目标单元上的一个节点,或者是任意位置的节点,但不应该是接触单元上的节点。只有在施加了转角或力矩时,控制节点的位置才重要。对于每一个控制节点,ANSYS将自动定义一个内节点及一个内部约束方程。通过内部约束方程,控制节点的转动自由度与内节点的平移自由度联系了起来。
缺省时,目标单元的 KEYOPT(2)=0,ANSYS 对每个目标面检查边界条件。如果下面的条件都满足,那么程序将目标面作固定处理:
在目标面节点上没有明确定义边界条件或给定力。 目标面上的节点没有和其它单元相连。
没有在目标面上的节点上使用约束方程或节点耦合。 在每个载荷步的末尾,程序将会释放内部设置的约束条件。
在结果文件(Jobname.RST)和数据库(Jobname.DB)中保存的约束条件可能会由于这些改变而被修改。用户应当在重启动一个分析或用交互模式重新求解之前,仔细检查当前的约束条件是否合乎要求。
如果需要,用户可以通过在目标单元定义中设置KEYOPT(2)=1,来控制目标节点的约束条件。
5.4.13 定义求解和载荷步选项
接触问题的收敛性随问题不同而不同。下面列出了一些典型的,在大多数面-面的接触分析中推荐使用的选项。参见《ANSYS Commands Reference》。
时间步长必须足够小,以捕捉适当的接触区。如果时间步太大,则接触力的光滑传递会被破坏。时间步的大小,是由子步数或时间步本身指定的。下述命令用于调整这些值。
命令: NSUBST
GUI:Main Menu >Preprocessor >Loads>Time/Frequenc>Freq and Substps Main Menu >Preprocessor >Loads>Time/Frequenc>Time and Substps
Main Menu >Solution>Sol\
Main Menu >Solution >Unabridged Menu>Time/Frequenc >Freq and Substps Main Menu >Solution>Unabridged Menu>Time/Frequenc >Time and Substps 命令: DELTIM
GUI:Main Menu >Preprocessor >Loads >Time/Frequenc >Time - Time Step Main Menu >Solution >Sol\
Main Menu >Solution >Unabridged Menu>Time/Frequenc >Time - Time Step 注意 --设置精确时间步长的可靠方法是打开自动时间步长。 命令: AUTOTS ,ON
GUI:Main Menu >Solution >Sol\Main Menu >Solution >Unabridged Menu>-Load Step Opts-Time/Frequenc >Time - Time Step 或 Time and Substps
如果在迭代期间接触状态变化,可能发生不连续。为了避免收敛太慢,使用修正的刚度阵,将牛顿一拉普森选项设置成 FULL。
命令: NROPT ,FULL,,OFF
GUI:Main Menu>Solution>Unabridged Menu>Analysis options
不要使用自适应下降。对面一面的问题,自适应下降通常不会有任何帮助,建议关掉它。
在摩擦滑动占主导地位时,设置不对称求解选项 ( NROPT , UNSYM,,OFF),以避免收敛减慢或发散。
按合理的时间步,设置合适的平衡迭代次数。这个命令的缺省为平衡迭代次数15~26,取决于问题的物理性质。
命令: NEQIT
GUI:Main Menu >Solution >Sol\
Main Menu >Solution >Unabridged Menu>-Load Step Opts-Nonlinear> Equilibrium Iter
因为大的时间增量会使迭代趋向于不稳定,使用线性搜索选项来使计算稳定化。
命令: LNSRCH
GUI:Main Menu >Solution >Sol\
Main Menu >Solution >Unabridged Menu>-Load Step Opts-Nonlinear> Line Search
除大转动和动态分析外,打开时间步长预测器选项。 命令: PRED
GUI:Main Menu >Solution >Sol\
Main Menu >Solution >Unabridged Menu>-Load Step Opts-Nonlinear> Predictor
在接触分析中,许多不收敛问题是由于使用了太大的接触刚度引起的(实常数 FKN)。检验是否使用了合适的接触刚度。
注意 --对于大多数小应变、小位移、小滑动分析,设置 NLGEOM ,OFF。这种设置将加快搜索时间,但是,如果接触问题涉及大滑动,则要设置 NLGEOM ,ON。 5.4.14 求解
现在可以求解接触问题。求解过程与一般的非线性问题求解过程相同。记住如下几点:
总是检查与接触对相关的实常数集,并检查目标面的约束条件。预先的“试运行”可能改变这些设置。
在开始分析时,总是检查目标面的接触状态。如果检查到任何不希望的间隙(或不接触),或过度的穿透,终止分析,然后检查几何模型。
总是认真地检查分析结果。 按照下面的步骤来进行求解: 1、把数据库保存到一个文件。 命令: SAVE
GUI:Utility Menu>File>Save As 2、开始求解。 命令: SOLVE
GUI:Main Menu>Solution>-Solve-Current LS 如果需要,定义多个荷载步。参见本书前面有关章节。 3、离开求解器 命令: FINISH GUI:关闭求解菜单。
如果重启动一个接触分析,按《ANSYS Basic Analysis Guide》所述的方法来进行。但是,要知道目标面的约束条件可能在内部设置了。在重启动分析之前要仔细检查约束条件。只可以改变实常数 FKN, FTOLN, PINB 和 FKOP,并且只能在重启动点改变,或在新的荷载步开始时改变。 5.4.15 检查结果
接触分析的结果主要包括位移、应力、应变,支反力和接触信息(接触压力、滑动等)。用户可以在通用后处理器(POST1)或时间历程后处理器(POST26)中查看结果。对于接触相关的结果,可以选择 CONT 作为输出或列表的项目。可以应用的输出量,参见《ANSYS Elements Reference》。
记住在 POST1 中,一次只能查看一个子步的结果,并且该子步的结果必须已被写到 Jobname.RST 文件中(荷载步选项命令 OUTRES 控制哪个子步的结果写到 Jobname.RST 中) 。典型的 POST1 的操作步骤如下。 5.4.15.1 注意事项
1、为了在POST1中查看结果,数据库文件所包含的模型必须与求解时的模型相同。
2、必须存在结果文件Jobname.RST。 5.4.15.2 在POST1中查看结果
1、从输出文件 Jobname.OUT 中查看分析是否收敛。
如果不收敛,用户可能不想进行后处理,而更在乎查找为什么不收敛。 如果已经收敛,继续后处理。
2、进入POST1。如果用户的模型不在当前的数据库,使用恢复命令[ RESUME ]来恢复它。
命令:/ POST1
GUI:main menu>General postproc
3、读入所期望的载荷步和子步的结果,这可以通过载荷步和子步数,也可以通过时间来实现。
命令: SET
GUI:Main Menu>General Postproc> -Read Results-load step 4、使用下面的任何一个选项来显示结果: (1)选项:显示变形形状