PFC2D学习笔记—— 命令的理解与技巧(持续更新)

【备注:】以下理解与翻译不足的肯请各位学者批评指正,谢谢!
——————————————————————————————————————————————————————————————————

cycle 与 solve

1.cycle i < calm i2 > 计算到指定时步i次,可按【shift+esc】终止,每循环i2次重置线速度和角速度。

2.solve < sprocess > keyword … 解到指定的极限。求解逻辑,提供了一种机制来继续循环一个模型,直到满足指定的标准,通常会导致一个模型在某种容限下处于平衡状态
age f ——循环,直到sprocess的总时间(期、老化?)满足或超过f。这与time关键字不同,time关键字指的是求解开始后sprocess累积的时间。
time f ——循环,直到求解开始后sprocess的时间累计满足或超过f。这不同于age关键字,它指的是sprocess的总时间。
aratio f ——循环,直到平均比率小于或等于f。对于机械过程,比率(或平均比率)是不平衡力大小的平均值的比率(即接触力、体力、所有物体上的作用力)所有物体上的接触力、物体力和作用力的大小之和的平均值。
calm i ——指定每个i循环,模型将被平静(理解:i个球体被视为1个整体?or 每i次循环后,球体回到初始状态重新开始?)。对于机械过程,所有的速度(包括线速度和角速度)都不是固定的,在平静命令期间为零。
clock f ——限制计算机的运行时间为f分钟。默认情况下,对运行时没有限制。
elastic < only >——首先假设材料的弹性特性,然后使用材料的实际强度值,分两步进行力学计算。模型中所有材料的黏聚力和抗拉强度在第一步设置为高值。在第二步中,内聚力和抗拉强度被重置到原来的值。如果提供了only关键字,则只执行弹性部分(即第一步)。这个关键词只适用于机械过程。
exact——确定了确切的time或age。这是通过循环发生的,直到在当前时间步长中超过time或age,并计算time或age所需的准确时间步长以匹配所需的值。当与其他解极限配对时没有影响。
fishhalt s ——FISH函数在每个循环期间被调用,以确定循环是否应该继续。如果s返回0,循环继续;否则,循环终止
——————————————————————————————————————————————————————————————————

接触赋值的优先级

3.cmat default只针对命令施加后新产生的接触指定接触参数,对该命令前已有的接触并不修改其值。且使用该命令时应该注意范围的选择,最好比实际距离大一些,确保ball-facet部分的接触值也能改变。

4.cmat add 一个接触形成后,判断两个实体是否同一组,如果相同就执行1,依次执行下去。如果都不满足,再进行接触类型判断。运行顺序: cmat add优先于cmat default,接触形成时,先判断cmat add 1,再cmat add 2,最后才是cmat default。
cmat add1中1为优先级编号,因此接触表内命令出现顺序发生改变,只要优先级编号不变,结果不变

5.属性继承(ball property)设置接触属性
一旦采用了ball property,只要是可继承的,最优先采用。没有赋值或可继承属性的两组颗粒之间,两个颗粒之间的接触参数实际取值为其继承参数的算数平均数
属性继承可以通过cmat default命令的inher on/off关键字打开或关闭。当属性继承关闭时cmat命令起作用,由cmat default 指定。
因此,在属性继承打开时,接触参数赋值优先级: ball property > cmat add > cmat default。
在使用cmat modify修改cmat add定义的接触属性时,只修改了相应group内的接触,故修改属性时应注意命令的适用对象范围

6.contact < sprocess > groupbehavior keyword
contact 和pieces都有分组任务。因此,您可能希望通过组分配到其中一个端点或两个端点,或通过其自己的组分配来筛选一个接触。该命令允许用户指定按组过滤接触的行为(默认为或)。
and——表示当接触对象(end1和end2)都在组内时,满足要求。
contact——只有用contact分组后才能用contact关键字,当新生成的接触属于该分组时满足要求。
or ——表示当接触对象有一个满足要求,即满足要求。

7.采用contact定义接触属性
contact与cmat的区别:cmat每生成一个接触都会判断;contact在有新接触以后,
不会更新,因此contact命令是一次性的
当用contact赋予接触模型接触参数后,如果接触破坏或者出现了新的接触,则该接触仍然采用接触参数分配表来指定属性,与contact指定无关。
注意: contact 赋值只是针对激活接触,对于未激活接触可以通过contact bond gap fff命令来激活,其中fff值越大,激活数量越多,相应材料宏观强度越大。
采用contact method bond gap 1. 0e-2语句,可以将未激活的接触激活,这个值可为正值(颗粒之间存在一定孔隙),也可设置为负值(颗粒之间又重叠),该值越大(数值,考虑正负)则激活的接触数目越多但这样处理,必然会改变了微观介质的宏观性质,因此参数标定、工程计算时接触激活的标准必须一致,才能使标定的微细观参数有意义。

8.通过指定接触临近距离(proximity)
cmat的重要特点是指定材料存储槽的邻近距离。这个值可以用来强制规定模拟过程中建立接触的最小距离。该功能在修改激活接触时非常有用
如果不采用proximity关键字设置接触,则未激活接触的最小距离由接触检测逻辑判断。在这种情况下,只有当接触间隙小于contact bond gap的设置才会激活。这可以通过cmat+proximity来修改。首先采用proximity设置接触靠近距离,然后利用clean命令强制按照proximity设置生成接触,然后再黏结起来。
注意:默认情况下,在PFC模型计算过程中,每一时间步都会基于公差范围进行接触判断,因此每个时间步都可能产生新的接触。但是如果利用命令set detetion off (或者set detetion false),将该开关关闭,则在计算步循环时不会创建新接触,也不会删除已有接触。
——————————————————————————————————————————————————————————————————

你可能感兴趣的:(PFC2D/3D,pfc,编程语言)