FLAC3D学习笔记自己总结版Word格式文档下载.docx

上传人:b****1 文档编号:13160993 上传时间:2022-10-07 格式:DOCX 页数:6 大小:58.44KB
下载 相关 举报
FLAC3D学习笔记自己总结版Word格式文档下载.docx_第1页
第1页 / 共6页
FLAC3D学习笔记自己总结版Word格式文档下载.docx_第2页
第2页 / 共6页
FLAC3D学习笔记自己总结版Word格式文档下载.docx_第3页
第3页 / 共6页
FLAC3D学习笔记自己总结版Word格式文档下载.docx_第4页
第4页 / 共6页
FLAC3D学习笔记自己总结版Word格式文档下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

FLAC3D学习笔记自己总结版Word格式文档下载.docx

《FLAC3D学习笔记自己总结版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《FLAC3D学习笔记自己总结版Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。

FLAC3D学习笔记自己总结版Word格式文档下载.docx

Ctrl+R的功能是恢复到初始状态。

8模型建立的方法:

方法1:

利用默认值生成网格,

各个默认值:

(1)p0的默认值是(0,0,0),网格的每边的单元格数size默认值是10,网格每边的长度默认值为size的值.

方法2:

利用4个点的坐标来生成矩形网格.p0~p3size

方法3:

利用edge来确定边长生成矩形网格.

方法4:

利用参数ratio来确定单元体几何边画边生成矩形网格.

方法5:

利用参数add(相对坐标)来生成矩形网格.

方法6:

利用八个点的左边来生成矩形网格.

9、用户自定义模型的方法

我来贡献一点自己的成果:

;

U"

j/?

7L+a0uFLAC3D的二次开发环境提供了开放的用户接口,在软件安装文件中包含了软件自带所有本构模型的源代码,且给出了Mohr-Coulomb模型和应变软化模型的编译示例,因此可以方便地进行本构模型的修改与开发。

为了方便起见,下面的说明以建立UserModel模型为例。

'

c%b1h.\'

K6Q:

l

(1)在模型头文件(usermodel.h)中进行新的本构模型派生类的声明,修改模型的ID(为避免与已有模型冲突,一般要求大于100)、名称和版本,修改派生类的私有成员,主要包括模型的基本参数及程序执行过程中主要的中间变量。

(?

p6u'

J5Q3y(a

(2)在程序C++文件(usermodel.cpp)中修改模型结构(UserModel:

:

UserModel(boolbRegister):

Constit-utiveModel)的定义,这是一个空函数,主要功能是给

(1)中定义的所有私有成员赋初值,一般均赋值为0.0。

8k6x$@8N7U!

|6Y(3)修改constchar**UserModel:

roperties()函数,该函数包含了给定模型的参数名称字符串,在FLAC3D的计算命令中需要用到这些字符串进行模型参数赋值。

0H;

q3_@(X4T-L,t%V.D(4)constchar**UserModel:

States()函数是单元在计算过程中的状态指示器,可以按照需要进行修改指示器的内容。

/p!

s$c;

h:

{+p-t(5)按照派生类中定义的模型参数变量修改doubleUserModel:

GetProperty()和voidUserModel:

SetProperty()函数,这两个函数共同完成模型参数的赋值功能。

U;

eG'

W"

Q#R4q/@9G"

h

(6)constchar*UserModel:

Initialize()函数在执行CYCLE命令或大应变模式下对于每个模型单元(zone)调用一次,主要执行参数和状态指示器的初始化,并对派生类声明中定义的私有变量进行赋值。

值得注意的是,Initialize()函数调用时没有定义应变分量,但可以调用应力分量,但不能对应力进行修改。

9n#e8|'

c-B/q,BB5m

(7)constchar*UserModel:

Run()是整个模型编制过程中最主要的函数,它对每一个字单元(sub-zone)在每次循环时均进行调用,由应变增量计算得到应力增量,从而获得新的应力。

在计算过程中,要根据单元应力情况对单元状态指示器进行赋值。

当进行塑性模型编制时,需对达到塑性的应力状态进行修正。

2[/~.U(A"

G.b3@6].`

(8)修改constchar*UserModel:

SaveRestore()中的变量,修改方法同

(2)和(5),该函数的主要功能是对计算结果进行保存。

^8]!

Q!

C.S#_5}(9)程序的调试有两种方法。

①在VC++的工程设置中将FLAC3D软件中的EXE文件路径加入到程序的调试范围中,并将FLAC3D自带的DLL文件加入到附加动态链接库(AdditionalDLLs)中,然后在Initialize()或Run()函数中设置断点,进行调试;

②在程序文件中加入return()语句,这样可以将希望得到的变量值以错误提示的形式在FLAC3D窗口中得到。

10、网格剖面的画法

方法:

首先在命令行里输入edit

11、想知道有多少单元体和节点?

用命令printinfo

12、绘制塑形区域命令是什么?

Plotblockstateshear;

获得剪切屈服的单元,包括shear-n和shear-p

Plotblockstatetension-p;

获得过去拉伸屈服的单元

Plotblockstatenow;

获得当前处于塑性状态的单元,包括shear-n和tension-n

Plotblockstatepast;

获得过去处于塑性状态的单元,包括shear-p和tension-p

13、step后面的数字是怎么确定的?

答:

14、开挖模型的命令

Modelnullrangegroup组名

Modelnullrangegroupxx1,x2

画圈的正负号是啥意思?

答:

正号表示10的正的几次方.而负号表示负的几次方.

11、关于ratio

ratio代表单元体尺寸变化率,关于只需要记住一点:

不同模型的两个尺寸相等的面,采用相同的集合变化率,网格才会重合,ratio对于减少单元的数目有很好的效果。

12、地震波的模拟命令流

setdynon

setdynmultion

setlarge

freexyzrangez-35.1-34.9;

去掉模型底部原有的静力条件

applynquietsquietdquietranz-35.1-34.9;

静态边界条件

table1readcrvel20.txt

applyszz-1.524293e7histtable1ranz-35.1-34.9;

加动力载荷

applysyz-1.26984e7histtable1ranz-35.1-34.9

applyff

设置阻尼

setdyndamprayleigh0.057.14

setdyntime=0

参考资料

二、材料参数、边界条件,初始条件

1要特别注意fixxyzrangez<

范围>

与fixzrangez<

之间的差别,前者是x、y、z三方向的位移全被限制,后者只限制了z方向的位移。

[fixxrange(范围)命令的功能是保持网格节点在x轴方向制定的参数(速度、压力和温度)不变,range为指定的范围]

Fixxyzrangex-0.10.1表示x=0是一个平面,且是固定的

Fixxrangex-0.10.1表示x=0是一个平面,只是x的方向不能发生运动。

2、plothistmvsn其中m代表y轴,n代表x轴。

3、sxxsxysyy这都是指那个方向:

SXX是x方向的正应力,SYY是y方向的正应力,SXY是指法向指向x轴方向平面(也就是yz面)上的y方向剪应力。

4、history命令

Histunbal监测不平衡力,并保留记录

Histgpzdisp4,4,8监测网格坐标点(4,4,8)在z轴方向的记录,并保留记录.

Plothis-2-3vs1其中的符号表示图形的方向及位置的不同,1代表hist代码中的第一条记录,2代表hist代码中的第二条记录,3代表hist代码中的第三条记录.一次类推.

补充:

在记录历史记录的时候可以自己定义记录的编号:

如hisid12gpzdisp4,4,4

绘制图形:

如plothis12

5、在fish函数中

如:

(1)p_gp=gp_head(意思是指向节点表)那么后面肯定有一个:

p_gp=gp_next(p_gp)(意思是查找下一个节点的ID号)

(2)pnt=zone_head;

zone_head指向单元体表

pnt=z_next(pnt);

查找下一个单元体表

6、seldellinkrangeid23

sellinkid=2323targetnodetgt_num(代表目标节点的ID号)1,

7、想知道一个节点的xyz三个分量则用它:

已知ID

def 

getgpxyz

gp1=find_gp

(1)

gp1x=gp_xpos(gp1)

gp1y=gp_ypos(gp1)

gp1z=gp_zpos(gp1)

end

getgpxyz 

print 

gp1x 

gp1y 

gp1z

8、交集就是rangegroupagroupb指的是a和b的公共部分;

并集就是rangegroupaanygroupbany指的是a和b两个部分;

Not指的是出了什么什么之外。

三、求解

1、FLAC计算的过程中想终止pause,想要继续,continue

2、收敛的准则:

第一:

相对收敛准则:

一般而言,大多数问题可以采用FLAC3D默认的收敛标准(或称相对收敛标准),即当体系最大不平衡力与典型内力的比率R小于定值10-5(也可由用户自定义该值,命令:

SETmechratio<

value>

)时,计算即行终止。

这里,阐述两个名词的定义。

所谓体系最大不平衡力,是指每一个计算循环(或称计算时步)中,外力通过网格节点传递分配到体系各节点时,所有节点的外力与内力之差中的最大值;

所谓典型内力,则是指计算模型所有网格点力的平均值。

图2-9为简单示例中R默

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1