资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
怎样输出制定节点的应力值我计算一个模型有儿万个节点,我怎么才能把指定的节点应力输出。指定节点的成力?到底是节点的力嘛,还是单元的成力哦?两个办法:1. 先plot block model id on,然后找到你想看的那个单元的id,假设是10,然 后就 plot con szz out on range id 10;2. 用fish,通过gp_head, gp_near, gpjd等等获得你要的节点,然后可以得 到gridpoint的各4信息。通过flac的fish语言,写节点信息和相关的力到文件既然,ansys的格式文件能够导入到flac文件,那么用fish肯定能够导出相关的 数据,然后再看处理结果。如题,我建议,通过flac的fish语言,写节点信息和相关的力,请帮主支持。如果能够把相关的信息异入到文件,那么就很容易的对数据进行处理。我先贴一个:用fish写文件的,当然也是从这个网络上找到的,我解释一不,也不算直接抄 袭。;Initialization;初始化def ini_mesh2tecIO_READ = 0;定叉读文件关闭吧?! !IO_WRITE = 1 ;定义i文件IO_FISH = 0 ;定叉一个? ?IOASCII = 1 ;定义用asci码iarray buf(1);定义一个数组,tec_file = tec10.dat;打开文件的名字zone_ngp = z_numgp(zone_head) ;zone兩标志数 endini_mesh2tec ;Write Tecplot File Head def write mesh headbuf(1) = TITLE = Flac3d Mesh to Tecplot Version 10 nbuf(1) = buf(1) + VARIABLES = X Y Z XDISP YDISP ZDISPrVbuf(1) = buf(1) + .ZONE T=Tecplot v10 n.buf(1) = buf(1) + N=. + string(ngp) + , buf(1) = buf(1) + E= + string(nzone) + , if zone_ngp = 4 thenbuf(1) = buf(1) + ZONETYPE=FETETRAHEDRON n* elsebuf(1) = buf(1) + ZONETYPE=FEBrick nf endifbuf(1) = buf(1) + DATAPACKING=POINT n*buf(1) = buf(1) + DT=(SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE), status = write(buf,1)end;Write Grid Point Coordinates and Displacements ;写节点信息 def write_gpP_9P = gp_head loop while p_gp # null;这个循环,叫fi遍历所有节点buf(1) = string(gp_xpos(p_gp)buf(1) = buf(1) + ,1 buf(1) = buf(1) + buf(1) = buf(1) + buf(1) = buf(1) + * buf(1) = buf(1) + * ;这就是传说中的写status = write(buf,1)+ string(gp_ypos(p_gp) + string(gp_zpos(p_gp) + string(gp_xdisp(p_gp) + string(gp_ydisp(p_gp) + string(gp_zdisp(p_gp)P_9P = gp_next(p_gp) endloopend;Write Zone Connectivity;写单元信息def write一zone p_z = zone_head;获.单元的最高号码 loop while p_z # null;循环,或者叫遍历buf(1) = Hif zone_ngp = 4 thenbuf(1) = buf(1) + string(gp_id(z_gp(p_z,1) +buf(1) = buf + string(gpd(z_gp(p_z,2) + buf(1) = buf(1) + string(gpjd(z_gp(p_z, 3) + buf(1) = buf + string(gpd(z_gp(p_z,4) +elsebuf(1) = buf(1) + string(gp_id(z_gp(p_z, 1) + buf(1) = buf(1) + string(gp_id(z_gp(p_z, 2) + buf(1) = buf(1) + string(gpjd(z_gp(p_z, 5) + buf(1) = buf + string(gpd(z_gp(p_z,3) + buf(1) = buf(1) + string(gp_id(z_gp(p_z,4) + buf(1) = buf(1) + string(gp_id(z_gp(p_z, 7) + buf(1) = buf(1) + string(gp_id(z_gp(p_z, 8) + buf(1) = buf + string(gp_id(z_gp(p_z, 6) +endifstatus = write(buf,1)P_z = z_next(p_z)endloopend;Main Functiondef mesh2tec status = closestatus = open(tec_file,IO_WRITE,IO_ASCII) if status = 0 thenwrite_mesh_head write_gp write_zone status = close;关闭文件ii = out(*Successfully Write Data Into File + tec_file);显小信息elseii=out(Open File Error! Status = + string(status) endifendmesh2tec;调用把所有的记录文件写到文件中,名字不一样,那出来给大家共享,如果谁知道谁自动获得最大的记泶的编号,那么这个程序就真正完美了,不过,可以凑合一下哦! !文件名是循环生成的哦,最大数是300,请使用的时候,修改这个值 loop iixx_ (1,300)上面的300,是根据自己的项目变化的哦!!def writejogloop iixx_ (1,300)Iogfile11= log + string (iixx_) + .his commandhis write iixx_ file logfilel 1 end_commandendjoopend writejog自动i成的,乖乖,好多哦!一个一个的看吧!一下是异想天开儿点:1. 一个文件写n行,现在是一个文件写2行2. 直接导入到excel,然后就作图3. 想办法和上面的那个loop结合起来,导入到能够画等值线的程序中,如ansys, 显示结果! !set log onpr histset log off然后算一下有多少行就知道有多少纪录了如何寻求cable中的应力值试试 plot add sel cable grout可以通过直径显示应力大小,加颜色可以表示出应力方向补充一下 plot add sel cable grout stress首先谢谢ying111您所说的是,从图像上确定cable的受力性状;如何确定cable中沿轴线方向任 何一点的具体应力值,能否说的更清楚一些!请赐教。可以试试:hist sel cable id=n grout stress x,y,z请问大虾们,print gp disp出来的数据如何保存吗?使用命令中的文件菜单显示记荥功能。1 o g file设置log打开刚才试了一下好象不行:仅给出这样一个文件:;Log File Started 13:17:48 Thu Apr 15 2004;Using FLAC3D version 2.10-239 ;By: Itasca Consulting Group, Inc. ;Minneapolis, MN USA :Job:Flac3D ;Log File Ended 13:18:47 Thu Apr 15 2004知道问题出在什么地方。最好的办法是:hist write 1 (或你前面记泶的任何因素,作为纵坐标;最多可以 写12个因素)vs (或你前面记录的任何因素,作为横坐标)(skip步数)file 你定义的文件名。这样可以任意输出你需要点的或区域的位移历史或应力历史的 数据,保存在记事木文件中很方便应用的。比print好多了!log file配合list命令FLAC的缺竹计算模式就是平面应变问题.如耍进行平面应力分析,设定命令: config P_stressunderstand it?
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号