fla3d命令集锦新手进阶必备.docx

上传人:b****1 文档编号:2953227 上传时间:2023-05-05 格式:DOCX 页数:19 大小:23.32KB
下载 相关 举报
fla3d命令集锦新手进阶必备.docx_第1页
第1页 / 共19页
fla3d命令集锦新手进阶必备.docx_第2页
第2页 / 共19页
fla3d命令集锦新手进阶必备.docx_第3页
第3页 / 共19页
fla3d命令集锦新手进阶必备.docx_第4页
第4页 / 共19页
fla3d命令集锦新手进阶必备.docx_第5页
第5页 / 共19页
fla3d命令集锦新手进阶必备.docx_第6页
第6页 / 共19页
fla3d命令集锦新手进阶必备.docx_第7页
第7页 / 共19页
fla3d命令集锦新手进阶必备.docx_第8页
第8页 / 共19页
fla3d命令集锦新手进阶必备.docx_第9页
第9页 / 共19页
fla3d命令集锦新手进阶必备.docx_第10页
第10页 / 共19页
fla3d命令集锦新手进阶必备.docx_第11页
第11页 / 共19页
fla3d命令集锦新手进阶必备.docx_第12页
第12页 / 共19页
fla3d命令集锦新手进阶必备.docx_第13页
第13页 / 共19页
fla3d命令集锦新手进阶必备.docx_第14页
第14页 / 共19页
fla3d命令集锦新手进阶必备.docx_第15页
第15页 / 共19页
fla3d命令集锦新手进阶必备.docx_第16页
第16页 / 共19页
fla3d命令集锦新手进阶必备.docx_第17页
第17页 / 共19页
fla3d命令集锦新手进阶必备.docx_第18页
第18页 / 共19页
fla3d命令集锦新手进阶必备.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

fla3d命令集锦新手进阶必备.docx

《fla3d命令集锦新手进阶必备.docx》由会员分享,可在线阅读,更多相关《fla3d命令集锦新手进阶必备.docx(19页珍藏版)》请在冰点文库上搜索。

fla3d命令集锦新手进阶必备.docx

fla3d命令集锦新手进阶必备

group命令

groupsoilrangez12;定义group

propbulk7.8e6shear3.0e6coh10e3fric15rangroupsoil;给group赋值

modelnullrangegroupsoil

modelelasticrangegroupsoil

plotblockgrouprangegroupdam;只显示dam

range命令

rangenametrenchx01y04z02

modelnullrangetrench

modelnullrangex=2,4y=2,6z=5,10

rangenameBig_Brickx-33y-22z-11

modelelasticrangeBig_Brick

propbulk1e8shear1e8rangeBig_Brick

rangenameLayer1planedip0dd0ori000above

rangenameLayer2planedip0dd0ori000below

rangecylinderend1x1y1z1end2x2y2z2radiusr

cylindricalrangewithoneendofthecylinderaxis(end1)atlocation(x1,y1,z1),theotherend(end2)atlocation(x2,y2,z2),andwithacylinderradiusof

由(x1,y1,z1)、(x2,y2,z2)两点确定旋转轴

macro命令

macroSand'bulk1e8shear0.5e8coh0tens0fric35'

macroClay'bulk1e7shear0.3e7coh1e7tens0fric0'

propsandrangeLayer1

propclayrangelayer2

macroPt0'p0000'

macroPt1'p1add1000'

macroPt2'p2add0100'

macroPt3'p3add0010'

macroModel_Size'size456'

macroBig_Brick'genzonebrickPt0Pt1Pt2Pt3Model_Size'

Big_Brick

macro'Pt0''p0151515'

genBig_Brick;thiswillcauseanerror

grouprangemacro命令

Usingdifferentobjecttypestodothesamejob

usingaRANGEobject...

rangenameBig_Brickx=(-3,3)y=(-2,2)z=(-1,1)

modelnullrangeBig_Brick

usingaGROUPobject...

groupBig_Brickrangex=(-3,3)y=(-2,2)z=(-1,1)

modelnullrangegroupBig_Brick

usingamacroobject...

macroBig_Brick'x=(-3,3)y=(-2,2)z=(-1,1)'

modelnullrangeBig_Brick

genzonebricksize10,10,10

macroSiltySand'bulk1.5e8shear0.3e8'

macroClayeyGravel'bulk1.5e8shear0.6e8fric30coh5e6ten8.66e6'

modelelasrangez510

propSiltySandrangez510

modelmohrrangez05

propClayeyGravelrangez05

视图操作:

xyzm

ctr+r还原

ctr+p保存图片

ctr+z鼠标选择

ctr+g彩图变为灰色图

shift+(xyzm)旋转缩放

edit---copytoclipboard----粘贴到word

inixdis0ydis0zdis0

setgrav00-9.81

setmechforce=50'最大不平衡力小于50n,停止计算

hist命令

histreset'清除已有历史信息

sethist_rep1'每一个时步记录一次

histn=5'每5个时步记录一次

histwrite13vs2begin150end375filexx.txt

histgpzdisp4,4,8

histid=3gpzdis113'id为监测变量的编号,默认的是从1开始编号。

建议对监测变量进行编号,以便后处理调用

plothis23vs4'plotshistories2and3versushistory4;history4plotsalongtheabscissa.

plhisxla'string'ylab'string''设置xy轴的名称

plhisxmaximum?

?

xminimum?

?

'设置x轴的最大最小刻度

plhisymaximum?

?

yminimum?

?

'设置y轴的最大最小刻度

plhisboth'line+mark

指定边界条件

fixxrangex-0.10.1anyx5.96.1any'这个表示在x=0和x=6.0方向上固定x方向的位移。

any的意思是表示"且"的意思,也就是说本来要写两行

语句的:

fixxrangex-0.10.1,fixxrangex5.96.1,现在用any就可以只写一条语句。

fixyrangey-0.10.1anyy5.96.1any

fish主要语句

if…………then

…………

else

…………

endif

command

…………

endcommand

loopn(1,21)

…………

endloop

loopwhile…………

…………

endloop

caseof…………

…………

casen1

…………

casen2

…………

endcase

运算

=#><>=<=

负数在运算时,要加(),以免和减号-混淆

degrad'π/180

pi'π

ngp'节点总数

nzone'单元体总数

单元/节点遍历

p_z=zone_head

loopwhilep_z#null

…………

p_z=z_next(p_z)

endloop

p_gp=gp_head

loopwhilep_gp#null

…………

p_gp=gp_next(p_gp)

endloop

string连接(保存文件)

save_file=string(n)+'_step.sav'

D3DECFile='D3dec_Model.dat'

FlacFile='Flac3D_Model.dat'

file_name='7-6_add'+string(n)+'.sav'

savefile_name

calflacfile

table操作详见ftd128(59/114))

table1nameload_settlement'创建新表格

xtable(n,s)=……对编号为n的表的第s行、x列进行赋值

ytable(n,s)=……对编号为n的表的第s行、y列进行赋值

plottable1line

plottable1both'点、线同时显示

常用编辑文本文件的方法进行表的读入与调用

第1行:

表的名称

第2行:

x1y1

第3行:

x2y2

……

空行注:

在表的文本文件最后,需要有一个回车换行符,否则会出现"errorreadingfilexxx.dat"的错误,完成的文件需要读入操作才可以供flac3d调用。

采用tableread命令进行读入:

table1readxxx.dat

读入后,可以使用plottable和printtable命令查看生成的表文件

applyxvel1.0histtable1rangex5.9,6.1y0,6z0,2'1.0表示表格中的y向数据的因子

TABLEnx1y1...

eraseerasesallentriesintablen.

insert

name'string''changesthenameoftablenumbernto'string'.ThetableIDnumberisnotchanged.

readfilename'readsfile,filename(intheformatdescribedbelow),andplacesitintablen.

将FLAC中节点以及节点对应的坐标全部输出到txt文件中以及将每个节点的应力输出

setlogon

printgppos

setlogoff

openclose用法

;close当前文件关闭,返回值为0表示成功关闭

open(filename,wr,mode)'先打开文件,然后可以读,可以往里写内容

;===filename可以是带双引号的字符串,也可以是变量名。

;===wr必须是个整数:

0-只读打开,文件要求存在;1-文件为写入打开,已经存在的文件将被覆盖(overwritten)。

2-文件为写入打开,存在的文件被改写(appendedto)

;===mode必须为一个整数值,0-读写fish变量,只有整型,浮点型和字符串的数据类型被传输,不传递变量名。

1-读写ASCII数据。

可读入一行数据,行之间用CR/LF分开。

每行最大80字符。

;===2-设定为binary读模式,任何文件都以binary的读取模式打开.

;===返回值:

0表示文件打开成功;1-表示文件名不是字符串;2-文件名是一个空字符串;3-wr或mode不是整型;4-mode参数错误(不是0或1);5-wr参数错误(不是0或1);6-不能打开所要读取的文件,比如文件不存在;7-文件已经打开;8-不是fish模式的文件

;read(ar,n)---放入数组。

读取n个记录放入数组ar,每个记录要求是一行ASCII数据,或者是一个FISH变量。

数组至少有n个元素大小。

;====返回值0表示无误;-1:

表示读取错误,比如到了文件的末尾;n-表示读入n行后,恰好到了文件的末尾。

read(ar,n)将n个记录写到数组ar,详细:

read(ar,n)readsnrecordsintothearrayar.Thearrayarmustbeanarrayofatleastnelements.Thereturnedvalueis:

0requestednumberoflineswereinputwithouterror

-1erroronread(exceptend-of-file)

npositivevalueindicatesthatend-of-filewasencounteredafter

readingnlines

write(ar,n)将数组ar的前n个记录写到文件,详细:

write(ar,n)writesnrecordsfromthefirstnelementsofthearrayar.Thearrayarmustbeanarrayofatleastnelements.Thereturnedvalueis:

0requestednumberoflineswereoutputwithouterror

-1erroronwrite

npositivevalue(inASCIImode)indicatesthatthenthelementwasnotastring

parse(s,i)Thisfunctionscansthestringsanddecodestheithitem

pre_parse(s,i)Thisfunctionscansthestringsandreturnsanintegervalueaccordingtothetypeoftheithitem,asfollows.

0missingitem

1integer

2float

3stringmissing(unabletointerpretasintorfloat)

type(e)数据类型函数,1=整型,2=浮点,3=字符串,4=指针,5=数组

Interface的变量命令参见ftd128.pdf(53/114)

interface1facerange^^^^^^^^^^^^^^^^^^^^^^^^^^

Interface变量

Interfacesmaybeidentifiedwiththefollowingfunctions.

i_find(id)————addressoftheinterfacewithIDid;returnsnullifnotfound(pointer)

i_id(p_i)————IDoftheinterfaceataddressp_i(integer)

Theinterfacesmayalsobescannedstartingati_headandsteppingthroughthelistusingi_next.

i_head————addressofthefirstinterfaceinthelistofinterfaces(pointer)

i_next(p_i)————addressofthepointertothenextinterfaceinthelist(pointer)

wrap

Forexample,thefollowingcommandwouldfindthetwinnedfacesbetweengroup"rock"andgroup"soil,"andputinterfaceelementsonthese"rock"faces.Onlyfaceswithcentroidwithintherangex50.075.0wouldbeconsidered.

interface1wraprocksoilrangex50.075.0

StructuralElements的变量命令参见ftd128.pdf(64/114)

nd_pos(np,p,dof)positionp(p∈{1,2}denotescurrentorreferenceposition,respectively;dof-component,dof∈{1,2,3}).Thereferencepositionistheconfigurationforwhichstiffnessmatriceshavebeenformedanddoesnotchangeduringasmall-strainanalysis.Thecurrentpositionisupdatedaftereachtimestep.Duringalarge-strainanalysis,thereferencepositionissetequaltothecurrentpositionduringeachlarge-strainupdate.

例子:

xt0=nd_pos(_nd,2,1)

yt0=nd_pos(_nd,2,2)

zt0=nd_pos(_nd,2,3)

nd_id(np)IDnumberofnodenp.EachnodehasauniqueIDnumber.

详细的gpzone命令参见ftd128.pdf(40/114)

p_gp=gp_near(x,y,z)'addressofgridpointclosestto(x,y,z)

p_z=z_near(x,y,z)'addressofzoneclosestto(x,y,z)

gp_head

zone_head

gp_next(p_gp)

z_next(p_z)

p_gp=find_gp(id)'addressofgridpointswithIDnumberid

p_z=find_zone(id)'addressofzonewithIDnumberid

gp_group(p_gp,ind)

gp_region(p_gp,ind)

gp_zdisp(p_gp):

地址为p_gp的节点的z向变形

gp_xpos(p_gp)'x-coordinateofgridpointpx=gp_xpos(p_zp)gp_xpos(p_zp)=k*px

gp_xvel(p_gp)'x-velocityatgridpoint

gp_near(x,y,z)'得到靠近坐标(x,y,z)的节点地址

gp_id(p_gp)'节点ID号,是整数maxdisp=gp_id(p_gp)

printgpposranid59'输出59号节点的坐标位置(2.0,2.0,3.0)

注意:

节点指针的循环是从ID号最小的地址开始的。

zone函数

z_sig3(p_z)'最小主应力z_sig1(p_z)'最大主应力

z_prop(p_z,'young')'z_prop(p_z,'young')=2e6

z_group(p_z)'zonegroupname是单元所在的组名变量(string)

z_id(p_z)'zoneIDnumber(integer)

z_model(p_z)'string类型

z_prop(p_z,string)'可以赋值,可以取值

z_xcen(p_z)'zone的质心的x坐标

z_sxx(p_z)'zone的xx-stress

stid=2131

z_p=find_zone(stid)

xtable(3,m)=z_id(z_p)

ytable(3,m)=-z_szz(z_p)

;****************************************

definstall

pnt=zone_head

loopwhilepnt#null

z_depth=-z_zcen(pnt)

y_mod=y_zero+cc*sqrt(z_depth)

z_prop(pnt,'shear')=y_mod/(2.0*(1.0+P_ratio))

z_prop(pnt,'bulk')=y_mod/(3.0*(1.0-2.0*P_ratio))

pnt=z_next(pnt)

end_loop

end

setp_ratio=0.25y_zero=1e7cc=1e8

install

plotblockpropbulk

;****************************************

用户自定义的节点、单元额外变量

configzextran'首先进行单元额外变量的配置

configgpextram'首先进行节点额外变量的配置

gp_extra(p_gp,n)

z_extra(p_z,n)

;---testofstressrotation---

configgpextra2

callfishcall.fis

genzonebricksize111

moel

propshe300bu300

defini_coord

pnt=gp_head

loopwhilepnt#null

gp_extra(pnt,1)=sqrt((gp_xpos(pnt)-xc)^2+(gp_zpos(pnt)-zc)^2)

gp_extra(pnt,2)=atan2((gp_xpos(pnt)-xc),(zc-gp_zpos(pnt)))

pnt=gp_next(pnt)

endloop

end

setxc=0zc=0

ini_coord

;****************************************

title命令

title'TutorialExamples'

plotsettitletext'Meshfortrenchexample'

;****************************************

应力梯度

inidens2000

iniszz-40e3grad0020e3ranz02

inisyy-20e3grad0010e3ranz02

inisxx-20e3grad0010e3ranz02

setgrav00-10

inixdis=0ydis=0zdis=0

histgpxdisp1,0,0

histgpzdisp0,0,2

applysyy=-20e6grad0,0,20e5rangey-20.1,-19.9z0,10

Withthiscommand,ayy-stresscomponentisappliedtoboundaryfaceslocatedbetweeny=

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2