pfc3d manual fish reference欢迎加入群交流讨论_第1页
pfc3d manual fish reference欢迎加入群交流讨论_第2页
pfc3d manual fish reference欢迎加入群交流讨论_第3页
pfc3d manual fish reference欢迎加入群交流讨论_第4页
pfc3d manual fish reference欢迎加入群交流讨论_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FISH(FISH 语言规则,变量,函FISH函数以define开始,而以endFISH函数可以调用其他函数FISH函数必须在使用前定义行FISH代码有效行必须有如下形式行必须以语句开始,如IF,LOOP数,则函数以顺序执行。函数不必在FISH代码中一行对其调用前定义。如果行内嵌在COMMAND– MAND语句这部分语句内,行可包含PFC3D命令。FISHpfc3d内不能截断。不允FISH默认不区分大小写。所有名称转化为小写。Setcase_sensitivity >#()[]@;‘作为一种可选择策略,setsafeon强迫在用户命令行中显示标记fish变量,在fish变量前放置@ ARRAY语句进行Printfish显示变量名变量值可以通过save命令和restore命令恢复意exit也可返回上一级控制)作为fish中变量。New_var=sqrt(xxx)/作为pfc3d作为pfc3dset,printhistory创建一个符号。当其用命令define定义时将连接所有至那个函数。整数:-2,147,483,648~2,147,483,6471510-300~10300字符串:在FISH和PFC3D字符串用单引号。指针:机器地址:用于扫描链表。除了null指针,指针指向相关类型物体。Printfish显示变量类在FISH语句中,和PFC3D中set然而两指针可在if语句中进行比较。字符串相关FISH内置函数In(s)如果是字符串,输出变量s,如果不是字符串,输出“input?”,然后等待键盘输入(返回值取决于输入字符,FISH首先将字符认为是个整数,然后是浮点数),如果字符后跟着空格,逗号,或括号,则后面数值被忽略,如果输FISH函数typeOut(s输出包含字符串信息至屏幕或日志文件(打开状态下s必须0,如果错误(如s不是字符串)返回值为1String(g转化gggintfloat,1)\’单引 \”双引 \\反斜杠 \b删 \r回车\nFISH删除。所有连接被代替函数的fishcall将被删除。Fish语句结通常这些语句放置在FISH函数的开始。其改变函数或其变量特性,但不影 var1(n1,n2…)<var2(m1,m2…)><var3(p1,p2…)>FISH代码中定义任意长度和尺寸的数组。ARRAY语句只是个说明,只1。或为标量dimPFC3D中使用数组名称一些限制:1)printfish输出数组名,及其相应维数。2)printname输出最大数组索引。不允许在setFISHprintnameindexname(index中的值。(MANDFISH代码段)被从线程执行。在单线程模式中,MASTER_CONTROL属性没有任何效果。然而在并行处理过程中。主线程数。这个函数包含FISH绘图命令。也可使用plotaddfish命令增加包含特定视SHAREvar1var2var3指定变量var1var2本。每次这些变量在主线被重新计算或赋值,这些变量的值是被共享。SHARE属性只应用于变量而对函数不能使用。WHILESTEP=在用户定义函数中使用此语句,则此函数在每个PFC3D计算步初始自动执行。而通过使用SETfishcall0remove命令可以使得WHILESTEP fishcall(命令SETfishcall)语句比whilestep命令更为灵活易于控制。CASEOF/CASE_OF CASEnENDCASE/Case中数目消耗内1+最大case数目在最大词(4个字节IFexpr1testexpr2ENDIF/IF比较符号有 LOOPvar(expr1,expr2LOOPWHILEexpr1testEXITSECTION无条件跳出当前SECTIONPFC3D命令执 命令中不允许使用new和restore命令。 command语句,这要使用与PFC3D接PFC3D FISHvar为一个函数。则在时程数如果函数为FISH变量,将采用当前值。特别需注意时程变量作为时程数据。时 输出FISHvar/PRINT输出FISH符号列表和其当前值。或类 fishcall编号与FISHRANGEfish调用FISH函数生成的用户定义范围单元 n<remove>在计算循环中由fishcall编号n调用FISH函数名称name,SET 设置FISHvarvalue。同时也决定了var 指定标题为FISH字符串变量str作为HISTORY命令的参数。Fish函数可以在计算循环中固定时间执行,即如果函数利用通用fishcall(或包含whilestep语句则其在计算循环每一步或发生特定自动执行PFC3D,这方式类似控制的data文件。在这过。命令参数可以动态改变。在PFC3D中执行FISH函数的主要方式是给其名称作为PFC3D输入参数。这样FISH函数名称象通常PFC3D 数传递,必须事先使用set命令。2)作为TITLE 另外采用FISH函数重要方法是控制PFC3D运行或一系列PFC3D作用。函数中将PFC3D命令放置在COMMAND… MAND部分。当程序检测出错误时,PFC3D存在内置错误处理机制。无论在哪儿出现错FISHFISHerrorFISHerror,则PFCerror,继续或错误FISH运行,只要设定error。FISHCALL功 <remove>在执行过调用FISH函数name,调用由特定编号n指定具体见下n03n=12n=411对应于执行过特定。FISHCALL中编号ID与,参数列fc_arg(0fc_arg(00123456789(破坏模式:0-法向破坏1坏(破坏模式:0-法向破坏1坏(0off1onPbrick目注意id=0对应包含while_step语句的函数。(这些编号在fishcall.FIS对应符号性的宏名称赋值)并且包含在AugmentedFish中)这些宏代替数字提高可读性,并且避免用户data文件对fishcalls中改变。ID数目可以调用很多数目,而调用顺序未定义,如果调用顺序用一个fish函数。这些调用联系可用printfishcall命令显示。Setfishcall命令通常增加对应编号调用指定函数。而remove则预定义变量和函代码指定函数(这些函数与PFC3D数据结构相关内置函数(这些函数内置在FISH,其与PFC3D程序无关在FISH语句中函数名称必须完整拼写。所有只读函数必须放在赋值语句右每一组中大部分函数需要与数据结构相关的内存地址作为参数传递至函数空ull(所有实体的链表头和向后寻址)1Rball_near2(FLTx,FLTyball_near3(FLTx,FLTFLTzfind_ball(INTidfind_meas(INTidnull,则表示指定idfind_wall(INTidinrange(STRrng,ANYobj01,表明指定物内:0-不在范围内;1pointer_type(PTRp所有单元在x方向坐标最小所有单元在y方向坐标最小所有单元在z方向坐标最小单元边长(所有边长度相2触指的是两个实体实现物0当激活一致密度放缩时所(set 命令dof量,dof1,2,3重力加速度矢量(x分量重力加速度矢量(y分量重力加速度矢量(z分量球体(DAMPlocal命令3可改热学标记(1-热学模式on0可修力学标记(1-力学模式on0可修可修改可修可改球体函数作用在PFC3D(位置,位移,速度,力,应力4b_clist(B_PTRbp所有与球bp接触的接b_delete(B_PTRbpINTi)关的b_extra结构的赋值给FISH(setextraball命令b_clist(B_PTRbp,INT将FISHvar的值和类型赋值给槽i中与bp有关的b_extra结构的FISH变量(setextraball命令b_id(B_PTRbp球体bp的IDb_next(B_PTRb_type(B_PTRbp01,表示指针变量bp所对应的类pointer_type代替b_cllist(B_PTRbp体链表下一个球体的b_clump(B_PTR返回包含球体bpb_shared(B_PTRbp球体bp信息。正确方法是必须在扫描球体删除编号为id的球体,Bp=ball_headLoopwhilebp#nullBnext=b_next(bp)thenIfb_id(bp)=bidthenIi=b_delete(bp)Bp=b_next;notbp=b_next(bp5b_color(B_PTRbp可修b_ctype(B_PTRbpb_damp(B_PTRbp可改b_dens(B_PTRbp可改b_fric(B_PTRbp可修b_kn(B_PTRbp法向刚度(线性接触可修b_ks(B_PTRbp切向刚度(线性接触可改b_mass(B_PTRbp运动方采用质(可能放大b_moi(B_PTRbp运动方采用惯性b_rad(B_PTRbp可改b_realmass(B_PTRbpb_realmoi(B_PTRbpb_poiss(B_PTRbp泊松比(Hertz接触模可修b_shearmod(B_PTRbp剪切模量(Hertz接触可修6 dof分量,dof=可修b_xfix(B_PTRbp速度固定标记(x分量可改b_yfix(B_PTRbp速度固定标记(y分量可修改b_zfix(B_PTRbp速度固定标记(z分量可改b_rfix(B_PTRbp可修b_vrfix(B_PTRbp,dof可修b_rxfix(B_PTRbp旋转速度固定标记(分量可修b_ryfix(B_PTRbp旋转速度固定标记(分量可改b_rzfix(B_PTRbp可修 dofdof=1,2,3可改b_xfap(B_PTRbp施加外力(x分量可修b_yfap(B_PTRbp施加外力(y分量可修b_zfap(B_PTRbp施加外力(z分量可改b_map(B_PTRbp可改b_vmap(B_PTRbp,INTdof)可修b_xmap(B_PTRbp施加力矩(x分量可改b_ymap(B_PTRbp施加力矩(y分量可修b_zmap(B_PTRbp施加力矩(z分量可改7 dofb_x(B_PTRbp位置坐标(x分量b_y(B_PTRbp位置坐标(y分量b_z(B_PTRbp位置坐标(z分量b_rot(B_PTRbp可修 dof可改b_xdisp(B_PTRbp累计位移(x分量可修b_ydisp(B_PTRbp累计位移(y分量可修改b_zdisp(B_PTRbp累计位移(z分量可修 dof可修b_xvel(B_PTRbp速度(x分量可修b_yvel(B_PTRbp速度(y分量可修b_zvel(B_PTRbp速度(z分量可修b_rvel(B_PTRbp可改b_vrvel(B_PTRbp,INTdof)可改b_rxvel(B_PTRbp角速度(x分量可修b_ryvel(B_PTRbp角速度(y分量可改b_rzvel(B_PTRbp角速度(z分量可修b_vfob(B_PTRbp,INTdof)b_xfob(B_PTRbp不平衡力(x分量b_yfob(B_PTRbp不平衡力(y分量b_zfob(B_PTRbp不平衡力(z分量b_mom(B_PTRbpb_vmom(B_PTRbp,dofb_xmom(B_PTRbp不平衡力矩(x分量b_ymom(B_PTRbp不平衡力矩(y分量b_zmom(B_PTRbp不平衡力矩(z分量b_stress(B_PTRbp,ARRar)bp等效应力张量在数组arPFC2D大小为2×2和PFC3D3×3。返回值为无法确定。ar(i,j)=8可修b_thexp(B_PTR可修b_thfix(B_PTRbp可修b_thpob(B_PTRbp可修b_thpsrc(B_PTRbp可改可改b_thtemp(B_PTRbp可改9bp的球体只读变量,其值取决于是否是否激活周期性空间或多线程(BUILDmulti)模变量返回在周期空间内球体状态值为0,否则下列位这样设置:个x-周期边界 对于控制或从粒子一个 对于控制或从粒子一个bp)在周期空间模式(setperon)操作中在控制球体列表中下一个球MULTIb_perball()作为边界标记(包含空地址或球体自己地址FISH函数根据球体状态控制球 plot_item;dummy…tobe;everyplotcyclebp=ball_headloopwhilebp#nullb_color(bp)=0ifand(b_perflag(bp),1)#0b_color(bp)=1ifand(b_perflag(bp),14)#0b_color(bp)=2bp=b_next(bp)这个函数通过指定一个绘图项目(plotaddfishpercolor)调用。或增加输出项目支持三种颜色,plotaddballredbluegreen,这样规则球体为红色,控制球体在2D中在随后代码中找到对应x-和y-(ii和(isize,jsize)通过buildsetsize命令来指定模型尺寸ib=b_perflag(bp)jj=ib/isizeii=ib–jj*ib=ii+isize*kk=ib/(isize*jsize)R=ib–kk*isize*jsizejj=R/isizeii=R–jj*ib=ii+isize*(jj+jsize*kkPFC3D接触数据结构。函数可分为四类:支持函数,物理c_ball1(C_PTRcpcp实体c_ball2(C_PTRcpcp实体型可以用c_b1clist(C_PTRcp返回与c_ball1(cp)定球体发生接触的链c_b2clist(C_PTRcp返回与c_ball2(cp)确发生接触的链表中下Var=c_extra(C_PTRcp,INTi)在槽i中接触中c_extra结构的FISH变量类型和值赋值给FISH变量var(setextra命令c_extra(C_PTRcp,INTi)=FISHvar赋值给在槽i中接触中c_extra结构的FISH变量类型和值(setextra命令c_gobj1(C_PTRcpcp实体c_gobj2(C_PTRcpcp实体型可以用c_go1clist(C_PTRcp返回与c_ball1(cp)定球体发生接触的链c_go2clist(C_PTRcp返回与c_ball2(cp)确发生接触的链表中下c_inhibit(C_PTRcp置,对于接触cpc_installpb(C_PTRcpcp增加平行粘结,cp为接触指针,pb为平行粘结指针。个球体未发生接触或用户来确定接触条件零。这样FISH函数建立粘结必须也支持属c_jset(C_PTRcp节理编号数目(JSET可修c_next(C_PTRcp全局接触链表中下一c_pb(C_PTRcp平行粘结数据结构地址,如果没有平行粘结,返回值为c_wseg(C_PTRcp分段墙体数据结构地址,如果返回值null,cp不是与任何分c_bflag(C_PTRcpc_broken(C_PTRcp值表明接触cp过去发生c_dampn(C_PTRcp可改c_dampnt(C_PTRcp非零值表明接触中无拉c_damps(C_PTRcp可改c_fric(C_PTRcp可改c_hn(C_PTRcp导出的法向系数(接触模型c_hs(C_PTRcp导出的切向系数(接触模型c_kn(C_PTRcpc_ks(C_PTRcpc_nstrength(C_PTRcp接触粘结法向强度(力可修c_sstrength(C_PTRcp接触粘结切向强度(力c_type(C_PTRcp可修c_model(C_PTRcpc_prop(C_PTRcp,STRname)名为name的值dof cp位置坐标(分量,dof=c_x(C_PTRcpcp位置坐标(x分量c_y(C_PTRcpcp位置坐标(y分量c_z(C_PTRcpcp位置坐标(z分量c_vun(C_PTRcp,INTdof平面(自由度分量,dof=c_xun(C_PTRcpc_yun(C_PTRcp量c_zun(C_PTRcp(C_PTRcpcp的法向力,正压,法向由c_vun(cp)修dof cpc_vun(cp可改修dof cp的切向力矢量(可改修(C_PTRcp修量可改修修c_slipwork(C_PTRcp一个计算步中滑动过程产生的增量功。(只有在TRACEenergy命令 可修c_thlen(C_PTRcpc_thpipe(C_PTRcpc_thpow(C_PTRcp向ball2流动c_thres(C_PTRcp设定可改PFC3D墙体数据结构,分为支持函数,物理属性函数,状态信息函数()墙体内存地址可以通过支持函数获得或PFC3D数据结构(提供局部墙体连接)的支持函数。Rwp发生接触的w_delete(W_PTRwp删除墙体wp,返回值var=w_extra(W_PTR可INTi数据结构生成FISH变量的类型和值赋值给FISH变量var(SETextrawall命令改w_extra(W_PTRwp,INTi)FISHvar赋值iwp的数据结构生成FISH变量的类型和值(extrawall命令w_flist(W_PTRwp,INTi返回构成有限分段墙wp链表的表头w_id(W_PTRRw_next(W_PTRwp全局墙体链表中下一w_type(W_PTRw_wlist(W_PTRwpw_color(W_PTRwpwp可修w_fric(W_PTRwpwp可改w_kn(W_PTRwpwp(线性接触模型可修w_ks(W_PTRwpwp(线性接触模型可修w_pos(W_PTRwp,INTdofwp旋转中心w_x(W_PTRwpwp(x分量w_y(W_PTRwpwp(y分量w_z(W_PTRwpwp(z分量wpINT度分量,dof可改w_xvel(W_PTRwp可修w_yvel(W_PTRwp量可改w_zvel(W_PTRwp可修w_rvel(W_PTRwpwp可改w_vrvel(W_PTRwp,INTdof)返回墙体wp相对于旋转中心角速度(分量,dof=1,2,3w_rxvel(W_PTRwpwp转中心角速度(x分量可改w_ryvel(W_PTRwpwp转中心角速度(y分量可改w_rzvel(W_PTRwp返回墙体wp相对于旋转中心角速度(z分量可修w_vfob(W_PTRwp,INTdof)wp不dof=1,2,3w_xfob(W_PTRwp返回作用于墙体wp平衡力(x分量w_yfob(W_PTRwp返回作用于墙体wp平衡力(y分量返回作用于墙体wp平衡力(z分量wpw_vmom(W_PTRwp,INTdof)返回作用于墙体wp不平衡力矩(相对于旋转(=w_xmom(W_PTRwpwp中心)(x分量)wp中心(y分量)w_zmom(W_PTRwpwp中心)(z分量)w_radend1(W_PTRwpwp可修w_radend2(W_PTRwpwp可修w_radfob(W_PTRwp返回作用在柱形墙体w_radvel(W_PTRwp可修w_fix(W_PTRwp返回非零值表明不更新墙体节点速度。通常,这个标记被用户定义函PFC3D分段墙体数据结构。每个墙体包含墙体段保存函数ws_next(wsp)和ws_prev(wsp)上下转换。注意,段墙构成每个墙体可形成一段墙函数R一个ws_next的返回值为R个ws_prev的返回值null,则在链表中第一个段墙wspws_x(WS_PTRwsp0(x分量0对应这一段在构成墙体节点链表第一个节点(如果墙体为一个nn+1个段墙数ws_y(WS_PTRwsp0(y分量段墙wsp单位法向向量(x分(段墙wsp单位法向向量(y分段墙wsp速度(x分量可修段墙wsp速度(y分量可修改PFC3D在一个链表,链表表头地址存在墙体地址函数中w_flist(wp)。链表可以用R 段墙面wfp单位法向向量(分量PFC3D平行粘结数据结构。平行粘结信息与每个接触c_pb得到。这些函数可以分为两类:物理pb_kn(PB_PTR法向刚度(应力/位移可改修pb_ks(PB_PTR切向刚度(应力/位移可改修法向强度(应力修切向强度(应力修pb_rad(PB_PTRpb_rad乘以两接触球体修(PB_PTR由粘结材料承担的法方向由c_vun(cp确修(PB_PTR由粘结材料承担的切上c_vun(cp)确定。修dof(PB_PTRpbp,量,dof=1,2,3)修(PB_PTR剪切力向量(x分量可改修(PB_PTR剪切力向量(y分量可改修(PB_PTR剪切力向量(z分量修pb_mom(PB_PTR由粘结材料承担的弯修pb_tmom(PB_PTR由粘结材料承担的扭修 由粘结材料承担的弯dof=修pb_xbmom(PB_PTR由粘结材料承担的弯矩向量(x分量)修pb_ybmom(PB_PTR由粘结材料承担的弯矩向量(y分量)修pb_zbmom(PB_PTR由粘结材料承担的弯矩向量(z分量可改修pb_nstress(PB_PTR作用在粘结的最修pb_sstress(PB_PTR作用在粘结的最可改修PFC3D测量球数据结构,分类:支持函数,状态信息函数。测量球信息在链表中,链表表头地址由circ_head获得。内存地址可以由支持函数find_meas得到。m_id(M_PTRRm_next(M_PTR在全局测量球链表中测量mp下一个地址m_rad(M_PTR可修改m_vpos(M_PTRmp,由度分量,dof1,2,3可修改m_x(M_PTRmp的中心坐标(x可修m_y(M_PTR测量球mp的中心坐标分量可修改m_z(M_PTR测量球mp的中心坐标(z可修可用可用性m_coord(M_PTRm_poros(M_PTRm_sfrac(M_PTR量球中所有接触中发生滑measure(M_PTRmp,INT当code=1mp=2计算测量球中所有应对应于mp的指定数据结m_ed11,m_s11m_ed11(M_PTRm_ed12(M_PTRm_ed13(M_PTRm_ed21(M_PTR量m_ed22(M_PTRm_ed23(M_PTRm_ed31(M_PTR量m_ed32(M_PTRm_ed33(M_PTRm_s11(M_PTRm_s12(M_PTRm_s13(M_PTRm_s21(M_PTRm_s22(M_PTRm_s23(M_PTRm_s31(M_PTRm_s32(M_PTRm_s33(M_PTRPFC3D团块数据结构,函数可以分为两类:支持函数和状态信息函数。团块信息在全局链表中,链表表头可以用clump_head获得。内存地址可以通过球体支持函数b_clump和bcllist获得。团块法。cl_add(CL_PTRclp,B_PTR将球体bp加入团块clp,返回球体加入的var=cl_extra(CL_PTRclp,INTi)将存储在槽i中的cl_extra结构关于团块clpFISH变量和类型赋值给FISH变量var(setextraclump命令cl_extra(CL_PTRclp,INT=FISHvar赋值给存储在槽i中的cl_extra结构关于团块clpFISH变量和类型(setextraclump命令cl_list(CL_PTR构成团块clp的球体链b_cllist来cl_id(CL_PTR团块clpcl_next(CL_PTR全局团块链表中团块clp的下一个团块地cl_rel(CL_PTRclp,B_PTRbpcl_vpos(CL_PTRclp,INT分量,dof=1,2,3)cl_x(CL_PTRcl_y(CL_PTRcl_z(CL_PTRcl_vvel(CL_PTRclp,INT团块质心速度(自由度分量,dof=1,2,3)可修cl_xvel(CL_PTR团块质心速度(x分量可修cl_yvel(CL_PTR团块质心速度(y分量可修改cl_zvel(CL_PTR团块质心速度(z分量可修cl_vrvel(CL_PTRclp,INT由度分量,dof=1,2,3)可修cl_rvel(CL_PTRclp可修cl_rxvel(CL_PTR可修cl_ryvel(CL_PTR团块相对于质心角速度分量可修改cl_rzvel(CL_PTR可修cl_vfob(CL_PTRclp,INT=cl_xfob(CL_PTR不平衡力(x分量cl_yfob(CL_PTR不平衡力(y分量cl_zfob(CL_PTR不平衡力(z分量单元信息函数通过PFC3D单元数据结构指针对PFC3D单元进行操Rcell_list(INTi,INTj,INTk)绕着单元cell(i,j,k)流体单元信息函数对PFC3Dfc_x(INTi,INTj,INTk(x分量fc_y(INTi,INTj,INTk(y分量fc_z(INTi,INTj,INTk(z分量fc_xvel(INTi,INTj,INTk)fc_yvel(INTi,INTj,INTk)fc_zvel(INTi,INTj,INTk)交错单元(i,j,k)中速度(ziINTk)速度(x分量)iIk)速度(y分量iINTk)速度(z分量)fc_pre(INTi,INTj,INTk)fc_por(INTi,INTj,INTk)内置函这些函数内置于FISHPFC3D程序之外。这些函数可分为,通用函,作,工具函数支持特别FISH处理。Tabs(ANYaa的绝对值(则返回值为整数atan(FLTaa的反正切值(参数和结果单位atan2(FLTa,b为幅度,b可能为零)cos(FLTaa的余弦值(幅度常数exp(FLTaa的指数值正态分布(0.0,标准差为1.0中的随机数(均值和标准差可移来改变ln(FLTalog(FLTamax(ANYa,ANYb)min(ANYa,ANYb)πround(FLTaTsgn(ANYg(sin(FLTa的正弦值(幅度tan(FLTa的正切值(幅度在0.0,1.0αand(INTi,INTjbeep(INTfq,INTdurβ版本有从程序运行开始时间数目程序维数PFC2D或PFC3Dvar=environment(STRs)找回环境变量s值,将其作为字符串放置于var。如果不存在环境变量,则返回空字符修environment(STRs)将var赋值给环境变量s的内容。如果环境变量s不存在,则创建svars将根据必须修error=函数模拟错误条件(函数在FISHFISH函数处理和命令处理过程马上中止,则报告信息s。这个修Yfc_arg(INTi传递参数fc_arg(i至FISH函数,返回FISH修fc_arg(ifloat(ANYg将g转换为浮点数(参数串in(STRs量s。如果不是字符串,则输回值为整数,如果输入浮点输入字符不能解析为单个数函数可通过函数type()int(ANYg将g转换为整数(g可以是浮点数,或整数,字符串not(INTior(INTi,INTjWindows1out(STRs输出包含s的信息至屏幕或日志文件(打开状况下),s(如s不是字符串)string(ANYg将g转换为字符串(如果g已经是字符串,则返回值gg是整数或浮type(ANYg3;指针:4;数组:5插值可以自动实现。用FISH操作表格是相当耗时。使用这些表格操作。表格是浮点数对列表(x,yx,y可代表任何变量不一定坐标,每通过插入新项目改变,序列数可以为整数,序列从1到表格中项目数目。FISHTABLExtable和ytablextable和ytable函数可以创建任意长度表格。需使用,建议情况是table函数在需要在表格中插值情况下使用。而xtable和ytable函数在生成表格时有用。每个表格有唯一编号(0的整数。另外,对表格操作,表格确认可用ID(整数,和表格名称(字符串。每个可修改函数的行为取决于是否为 n赋值给numy=table(TAB_IDn,FLTx参考已存在表格n(x,y)通过插值得到给定x对应的y值,这些结果有意义。x的值位于在两个连续的x值之间,如果表格n不存在,则发出错table(TAB_IDn,FLTx)=x值之间包含在指定x值,插入新项目)加至表格末尾(x大于表格中最大值。执行此项目,项目数目加1。如果n不存在,则创建表令TABLEninsertxy。如x值已经存x=xtable(TAB_IDn,INTs)ns对应数据对(x,y)x值,如nxtable(TAB_IDn,INTs)=将给定的x值代替于ns对应数据对(x,y)x值,如s不存在,则包n=0s=0或负值,sy=ytable(TAB_IDn,INTs)ns对应数据对(x,y)y值,如nytable(TAB_IDn,INTs)=将给定的y值代替于ns对应数据对(x,y)y值,如s不存在,则包n=0s=0或负值,sFISH表格函数使用时值得注意 函数xtable和ytable,而不是table被用来更新存在于表格中的数据,虽然如果所给x等于一个的x,函数table可以更新(x,y)对,可能会有少许FISH函数。必须先创建表格,因为调xtable(4,100)=xtable(4,100)=xtable(4,100)+ytable(4,100)=ytable(4,100)+在表格中的数据通常为浮点数。在时,假设整数转换为浮点数,内存函数操作用户定义结构,这些用户数据结构由FISH类型的变量的get_mem(INTnLose_mem(INTn,ad地址adn为了向后兼容。如果参数ad不是get_memvar=mem(MEM_PTRad将在地址adFISH变量的值的FISHvar,如果ad不是指针类型或ad落在由get_memmem(MEM_PTRad)=将常规的FISH变var的值和类型adFISH变量,如果在计算过程针类型或ad落在由get_mem命令分对FISH变量数组的元素,是通过加法。不允许其他数学操作。当整head=get_mem(10)var=mem(head)var=mem(head+3并行处理函数支持PFC3D以并行方式运行从主线从线程数在代替函数par_send和中参数n可作为一个var m(INTn从线程nFISH变量。并且赋值给varm(INTn =FISHvar传注意的是指针和数组不能传递par_flush(INTn将输出缓冲马上传n(par_send函数进行数而是当存储在局部缓冲数据直至到一par_flush函数将缓冲中数据马上发送至线程n)返回值无时间为主要因素中放回并行运行中线当par_on=0非在当地线并行par_part(INTn返回位于线程n右侧返回局部线程的编par_receive(INTn,ARR从线程n中接收FISHar全部内态增加如果将来的数据比当前数组更par_send(INTn,ARR向线程n中发送FISHar全部内MPIMPIPFC3D以MPIMpi_on0非MPIMpi_on1MPImpi_send(ANYdata,INTn(整数,浮点数或字符串)如果为字符串,则mpi_receive(INTnnAC/DC(适应性连续/不连续)1)multi_installBrick(ib,namename=name=‘matrixName=每个计算循环末尾才被调用。而在继续下一步循环是必须执行函数pre_cycle。(如nameball’ib已经包含球体)这函数立即返回,并不执行。注意一旦建立multi模型,不能增加、删除或替代矩阵方块返回在所有过方块总数(整数(只读返回在PFC3D中激活化运行的线程总数(整数(只读返回这个线程等级(或唯一线程编号(整数(只读((multi_numProc(ib(multi_BrickData(ib,n为循环过线程间提供数据交换机制,目前3个整数(0≤n≤2)可以multi_BrickData(ib,n)=j=multi_BrickData(ib,n①每个从线根线程发送其方块中内容。这样根线程以从线程方块②根 注意只有每个从线,控制方块内容发送到根线程。例如对于方块id,multi_numProc(ibmulti_thisProc然而因为所有方块数据从根线程发送至所有multi_FBrickData(ib,nmulti_FBrickData(ib,n)=f=multi_FBrickData(ib,n③每个从线根线程发送其方块中内容。这样根线程以从线程方块④根线所有其他从线程发送其方块中所有方块内容。这样从线程控制球体(传递速度给所有其范围内从线程从球体(传递力给控制在程序内部有plot_item语句)的自定义函数调用,这些函数使用PLOTaddfishfname命令增加特定视口绘图项目表。其中fname为用户自定义函数。绘图坐标参考模型坐标,当前从模型到屏幕单位进行视口转换。VEC指的是一维数组,数组大小为dim。Dim为程序中维数。PFC2D:2draw_circle(VECv,FLTrad绘制圆形外廓半径rad,中心位于draw_line(VECv1,VEC绘制直线v1draw_poly(ARRpoly,INTn,INTcl)绘制一个包含n个节点多边形外廓(cl=0:而n表示节点中使用draw_rect(VEC2v1,VEC2绘制一个长方形外廓(v1,v2draw_string(VECv,STRsv位置输出字符串s,v为字符串左下角s不是个字符串,则产生错误结fill_circle(VECv,FLTrad绘制填充圆形,半径rad,中心位于fill_poly(ARRpoly,INT 绘制一个包含nfill_rect(VEC2v1,VEC2绘制一个填充长方形(v1,v2line_to(VECx点x。move_to(VECx移动绘图位置至点xmsgbox(STRmsg,STRcap,INTmsg,cap为信息窗口标题。Type:1-5set_color(INT设置随后绘图操作的set_dash_pattern(INTset_font(FLT设置drawstring中字颜色为当前默认尺寸f倍set_line_width(INT设置线宽,I=0-3,0为最细。注意在参数重新赋值时,plotaddfishfishname将绘制当前参数图形,原来IvItascaViewernotify(INTval1,INTval2,STRstr)向Iv发送一个通将显示一个框(strdraw_ori_circle(VECv1,VECv2,FLTr)绘制一个方向圆在点v1半径为r,方向以法向矢量v2给出msgbox(STRmsg,STRcap,INTmsg,cap为信1-5对应标准按钮dlgbox(INTnb,INTfb,STR显示用户定义nb可1,2,3,焦点包含标题,信息文字,和按钮的字符串,以#分开。函数返回值对应与选择的按钮,0表示窗口inbox(STRmsg,STRdefault户输入字符串或默Save_image(INTvid,STRfname,STRftype,INTxsize,INTysize,INTquality,INTgrayscale)保存一个视口vid中Iv图像,fname文件型,png–移动网络JPG-PE-IFttg;bmpxsize×ysizeJPEG文件有对应quanlity(0grayscale=0彩色Grayscale=1灰度avi_open(INTvid,STRfname,INTxsize,INTysize,INTfps,INTshowDlg)vidavi文件,后缀.avi自动fname后,xsize×ysize。如果xsize,ysize均为0,则采用当前视口0,则以执行过程将出现对avi_close(INTvid一个视口vidavi_frame(INTvidvid在IvFISHd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论