1.1常见问题及其解答
Gen separate 不能被识别
答:原因是FLAC3D版本不行,我用3.0的版本不能。
1. FLAC3D是有限元软件吗? 答:不是,是有限差法软件。
2. FLAC3D最先需要掌握的命令有哪些?
答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。 3. 怎样看模型的样子?
答:plo blo gro可以看到不同的group的颜色分布。 4. 怎样看模型的边界情况? 答:plo gpfix red sk
5. 怎样看模型的体力分布? 答:plo fap red sk
6. 怎样看模型的云图?
答:位移:plo con dis (xdis, ydis, zdis) 应力:plo con sz (sy, sx, sxy, syz, sxz) 7. 怎样看模型的矢量图? 答:plo dis (xdis, ydis, zdis)
8. 怎样看模型有多少单元、节点? 答:print info
9. 怎样输出模型的后处理图?
答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpg文件。 10. 怎样调用一个文件?
答:使用菜单File/call或者call命令。
11. 如何施加面力? 答:app nstress ran ?>
12. 如何调整视图的大小、角度?
答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键。 13. 如何进行边界约束?
答:fix x ran ?>(约束的是速度,在初始情况下约束等效于位移约束) 14. 如何知道每个单元的ID?
答:使用鼠标双击单元的表面,可以知道单元的ID和坐标。 15. 如何进行切片?
答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片) 16. 如何保存计算结果?
答:save filename(文件名可自定义)
17. 如何调用已保存的结果?
答:使用菜单File/call或者命令rest filename(文件名可自定义)。 18. 如何暂停计算?
答:运行中使用Esc命令。
19. 如何在程序中进行暂停,并可恢复计算?
答:在命令中加入pause命令,键入continue命令后可恢复计算。
20. 如何跳过某个计算步?
答:在计算中按空格键可跳过本次计算,自动进入下一步。 21. FISH是什么?
答:是FLAC3D的内置语言,可以用来进行参数化模型、完成命令本身不能进行的功能。 22. FISH是否一定要学?
答:可以不用,需要的时候查Manual获得需要的变量就可以了。 23. FLAC3D允许的命令文件格式有哪些?
答:只要是符合FLAC3D格式要求的文本文件,无论是什么后缀名,都可以为FLAC3D调用。 24. 如何调用一些可选模块?
答:使用命令config dyn (fluid, creep, cppudm)。
25. 如何使用gauss_dev对符合高斯正态分布的材料参数进行赋值?
答:假定某材料的摩擦角均值为40度,标准差是2,则命令如下: prop friction 40 gauss_dev
2
26. FISH函数中是否能调用“.sav”文件?
答:不能。FLAC3D中规定,new和restore命令不允许出现在FISH函数中,因为new和restore命令会将原有存储信息清除掉。 27. initial 与 apply 有何区别?
答:initial初始化命令,如初始化计算体的应力状态等; apply边界条件限制命令,如施加边界的力、位移等约束等。 initial的应力状态会随计算过程的发生而发生改变,一般体力需要初始化,而apply施加的边界条件不会发生变化。 28. FLAC3D动力分析中是如何计算永久变形的?
答: FLAC3D采用动态运动方程求解动力方程,因此采用弹塑性本构模型可以计算永久变形。而土动力学常用的粘弹性模型由于没有考虑土体的塑性,因此不能计算永久变形。 29. 对于初学者而言,是学习FLAC还是FLAC3D?
答:FLAC有较好的图形化操作界面,而FLAC3D目前只能通过命令流来操作,从学习难度上来说,FLAC要简单一些,不过复杂的三维问题还是需要使用FLAC3D才能解决。FLAC和FLAC3D的某些命令和分析方法类似,读者在学习过程中可以相互借鉴。 30. interface建模命令中的dist关键词是否表示接触面的厚度?
答:FLAC3D中的interface是没有厚度的,dist关键词表示的是接触面建模时选择范围时的容差,表示该范围内的“面”上将被赋予interface单元。
31. 初始应力场计算中位移场和速度场是否都要清零?
答:是的。一般,FLAC和FLAC3D中位移场和速度场的清零命令都是同时使用的。 32. 加了fix边界,再使用apply施加应力边界有效吗?
答:无效。fix和apply都是边界条件,两者不能混用,fix的作用是固定节点的速度,只要用户不更改这个速度,在计算中都会保持不变。 33. solve age后面跟随的时间是真实的时间吗?
答:FLAC和FLAC3D在动力、渗流、流变模式下才有真实的时间,时间的单位默认为秒,也可以根据读者使用的量纲进行调整。
34. FLAC3D中主应力大小是怎么规定的?
答:FLAC和FLAC3D中的大小主应力是根据应力的数值大小来规定的,并且规定压为负,而土力学中一般规定压为正,所以FLAC3D中的大小主应力z_sig1(p_z)、z_sig2(p_z)和z_sig3(p_z)分别对应于土力学中的小主应力、中主应力和大主应力,在使用时要注意区别。 35. FISH函数中dof的含义是什么?
答:一些关于结构单元的FISH函数中常常出现dof变量,该变量表示的是自由度,如nd_pos( np, p, dof )函数中dof?{1,2,3}表示结构节点的三个方向的自由度。 36. 怎么在不规则的面上施加水压力?
答:设置合理的水压力梯度和作用范围,使用apply nstress命令即可。因为apply施加的应力边界条件是作用在“边界”上的,所以程序会在用户设置的range范围中自动寻找“边界”,而不管这个“边界”有多么复杂,而且nstress表示力作用的方向是垂直于“边界”,该关键词可以保证水压力的作用方向始终垂直于作用面。 37. hist记录的数据如何转到Excel?
答:使用类似如下的命令: hist write 1 vs 2 file 1.xls 可以将历史记录ID为1和2的对应关系输入到文件1.xls中,然后用Excel打开进行编辑、处理。
1.2常见错误提示及其解决办法
本节汇集了FLAC3D在使用过程中常见的错误提示,并根据不同的提示总结了出错原因和解决办法。FLAC3D程序自身的检查功能不多,但也有一部分错误提示,读者也可以根据软件提示的内容迅速找到错误的原因,并予以修正。 1. Bad type (pointer) conversion
出错原因:在编写FISH函数时,某些变量的赋值错误所致。 解决办法:仔细检查FISH函数中的变量赋值情况,尤其注意涉及到指针、FISH自有变量的赋值等语句。 2. Gridpoints 19801 and 19803 have identical coordinates in zone 9703
出错原因:在同一个单元内的两个节点有相同的坐标,这可能是由于将其他软件建立的模型导入到FLAC3D时两个软件的节点坐标精度差异所导致的。 解决办法:使用attach face来合并相关节点,或者重新检查模型。
3. Memory allocation error
出错原因:可能是网格划分的过多,超过了计算的内存所致。 解决办法;减小网格数量或者加大计算机的内存。
4. Mesh primitives does not conform to node numbering convention
出错原因:在建模时各节点坐标设置的顺序与FLAC3D中基本网格形状不一致。 解决办法:检查建模时p0~p12等节点坐标,使其符合FLAC3D的要求。 5. Source node 2 already has a link!
出错原因:在结构单元计算中,对已存在连接的节点进行设置时会出现此类错误。 解决办法:检查需要设置连接的结构节点,确保已有连接已被删除才能设置新的连接。 6. Timestep rejected by module
出错原因:一般是由于结构单元的密度没有赋值造成的。 解决办法:用命令print shell prop dens来显示结构单元的密度,查看是否所有单元都已经赋值。如有遗漏,应重新赋值。 7. The model name does not exist
出错原因:可能是由于模型名称输入错误,或者在调用某些可选模块(如渗流、动力)的模型时没有设置相应的Config。 解决办法:检查模型名称是否输入有误,在可选模块下检查是否已设置相应的Config。
8. Unrecognized parameter 3 (***)
出错原因:命令输入时存在错误的参数,且出错的是命令中的第3个参数。 解决办法:检查出错命令的具体位置,找到第3个参数,进行修改。 9. Viscous damping too high
出错原因:在进行UDM编写动力方面的本构时可能会遇到这种错误。 解决办法:可能由于粘性函数偏大造成的,时间步的增大会导致粘性函数值的增大。在FLAC3D程序中,如果这个值大于1,那么就会出现这个错误。 10. Zero stiffness in grid-point xxx
出错原因:“0刚度”一般是由于材料参数未正确赋值所致。 解决办法:仔细检查计算中的材料赋值命令,看是否有遗漏,如使用以下命令来显示体积模量(bulk)参数的赋值情况。
plot block prop bulk
11. Zero volume tet in zone xxx
出错原因:一般是在计算分析中使用了大变形模式(set large)。由于在大变形模式计算过程中,节点坐标会随时步自动,这样有时会导致网格畸形,而无法进行下去。 解决方法:慎用大变形模式,大变形模式适用于粘结力较小材料的开挖过程模拟。因此,一般问题的模拟过程,宜采用小变形模式(默认变形模式)进行。即使是大变形问题的初始应力场,也应采用小变形模式生成,再视后续工况的具体情况确定是否改为大变形模式。
1.3学习经验和建议
以作者与大多数FLAC/FLAC3D使用者的交流,总结了几点软件学习方面的经验和建议,希望可以对读者提供帮助。
1. 了解FLAC和FLAC3D的适用范围、优点和局限性 任何一种方法都是有一定的适用范围,并不能不能解决所有问题,这学要读者对所使用工具的优点和局限性有清醒的认识。数值模拟的最终目的是为工程问题的诊断和解决提供服务的,需根据问题的本质选择合适的方法和工具;而非“膜拜”和迷信某种方法,机械地用它去套工程,本末倒置。 2. 由简到繁,循序渐进
遵循“由简到繁,循序渐进”的学习方法,切忌盲目求大求全,期望一口气吃成胖子。学习时,可进行少量单元的简单数值试验来理解软件的特点和功能,积累一定的经验后再进行复杂的数值模拟试验。 3. 充分利用手册
手册是最权威的软件说明书,一定要充分利用。尽管FLAC和FLAC3D的手册编制顺序不一定适合中国读者的思维习惯,但应尽量养成查阅手册的习惯,做到常翻常新。手册中的例子大多都是为了说明某个特定的问题而设定的,因此在讲述该问题时往往会忽略与该问题无关的一些细节,比如参数选择等,因此读者在学习手册时不要“迷信”某个特定的例子,也不要“纠缠”于某些无关的细节,而是要从这些例子中掌握分析问题的基本方法。 4. 了解计算中每一条语句的含义
初学者由于对FLAC和FLAC3D软件了解的不多,在计算时往往会直接套用软件手册或教科书中的例子,而对例子中某些语句的含义并不是真正的了解,这些“不明其意”的语句往往是造成计算结果不合理的原因。这里建议读者在使用FLAC和FLAC3D程序时,要对自己编写的命令文件中的每一条语句都有清晰的认识和了解,这就要求读者要勤查手册、注重平时的积累。 5. 多做“数值试验”
FLAC和FLAC3D程序功能强大,内容众多,在分析具体问题时,读者往往会遇到如法解决的新问题,这些问题在软件手册或教科书中都很难找到答案,这时读者应该多做一些小的算例,开展数值试验,从而了解程序的功能,达到解决问题的目的。 6. 使用“?”
FLAC3D的命令很多,在初学者看来,记住数量可观的各种命令及语句格式是一件很困难的事情,事实也的确如此。幸运的是,FLAC3D在命令窗口中提供了“?”功能,无论在命令的什么位置都可以插入“?”字符,让系统告诉你接下来可以应该输入的是哪些关键字或变量。 7. 夯实知识基础
FLAC和FLAC3D的计算结果和中间时步表现出一些不合实际的结果,需要读者具有足够的专业和数学知识进行判断与解释。因此,决定FLAC和FLAC3D使用水平高低的决定性因素取决于使用者的专业素养、工程经验和数理知识。因此加强专业知识、数学和力学的学习,夯实知识基础十分重要。
8. 相互交流,取长补短
FLAC和FLAC3D命令、关键词和变量繁多,个人学习难免顾此失彼,因此强交流,与他人共
__享学习经验是提高FLAC和FLAC3D应用水平的一个捷径。互联网的出现,为大家提供了一
个讨论和共享的平台,读者可以在相互间的交流、争论中取长补短,共同提高。