找回密码
 注册
Simdroid-非首页
查看: 471|回复: 23

[命令/FISH] 怎样在不规则面上设置边界条件

[复制链接]
发表于 2007-9-1 15:23:08 | 显示全部楼层 |阅读模式 来自 北京
一般我们建立的模型都是矩形的设置边界可以简单的设置如:fix x range x 9.9 10.1。现在我建的模型不是规则的矩形,加入在x+y=10这样一个面上怎么设置?
发表于 2007-9-1 16:01:54 | 显示全部楼层 来自 安徽马鞍山
Simdroid开发平台
原帖由 guopingye 于 2007-9-1 15:23 发表
一般我们建立的模型都是矩形的设置边界可以简单的设置如:fix x range x 9.9 10.1。现在我建的模型不是规则的矩形,加入在x+y=10这样一个面上怎么设置?


我没有成功过,呵呵,如果是施加应力边界条件还是可以实现的(apply nstress ran),如果施加速度边界条件似乎这种很难解决,FLAC3D的局部坐标系搞得人很烦,还用起来不方便。
回复 不支持

使用道具 举报

发表于 2007-9-2 00:26:36 | 显示全部楼层 来自 四川成都
我认为是自己编写FISH函数是可以实现的,遍历一遍所有的节点,对每个节点的X,Y做判断,当满足|X+Y-10|<容差值时记录其ID值,然后用fix x range id ID值固定既可.
回复 不支持

使用道具 举报

发表于 2007-9-2 09:44:31 | 显示全部楼层 来自 云南昆明
原帖由 feiyulx 于 2007-9-2 00:26 发表
我认为是自己编写FISH函数是可以实现的,遍历一遍所有的节点,对每个节点的X,Y做判断,当满足|X+Y-10|

很感兴趣,我想知道怎么个记录id? 大致命令是什么?能分享一下吗
回复 不支持

使用道具 举报

发表于 2007-9-2 11:37:31 | 显示全部楼层 来自 安徽马鞍山
原帖由 feiyulx 于 2007-9-2 00:26 发表
我认为是自己编写FISH函数是可以实现的,遍历一遍所有的节点,对每个节点的X,Y做判断,当满足|X+Y-10|



很有兴趣,比如对X+Y-10=0这个面施加法向的单向速度边界条件,如何在FLAC3D中解决?
回复 不支持

使用道具 举报

发表于 2007-9-2 16:04:43 | 显示全部楼层 来自 四川成都
原帖由 男人 于 2007-9-2 09:44 发表

很感兴趣,我想知道怎么个记录id? 大致命令是什么?能分享一下吗

先回答男人老兄的问题:
遍历过程的上述判断如果满足的话,可以得到位于该边界位置的网格点的指针变量pnt,使用gp_id(pnt)的FLAC内部函数可得到一个整形变量,就是该网格点的ID,对该ID操作即可。
回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-2 16:57:31 | 显示全部楼层 来自 北京
在斜面上比如x+y=10.这个上面设置边界条件,我觉得不能用简单的 fix x range===来实现,因为你的目的应该是让其边界在x+y=10这个面上可以自由移动,如果都固定了x y那好像不对?其他的应力、速度应该可以实现,通过FISh.
回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-2 17:21:02 | 显示全部楼层 来自 北京
range plan dip 0 dd 90 nor 0.70710678 -0.70710678 0 or 10 -10 0
这个范围就是那个平面的位置
回复 不支持

使用道具 举报

发表于 2007-9-2 18:19:37 | 显示全部楼层 来自 四川成都
原帖由 benjackxu 于 2007-9-2 11:37 发表



很有兴趣,比如对X+Y-10=0这个面施加法向的单向速度边界条件,如何在FLAC3D中解决?

枫斑竹也对这个问题有兴趣。
试了一下,采用apply nvel=10 plane nor 10 10 0 range id id1可实现定向的固定 单向速度边界条件。这里说的是一个通用的方法,按此法可实现诸如圆柱面,圆锥面或者抛物面等能写出曲面方程的边界面的固定。不对之处,欢迎大家拍砖。
回复 不支持

使用道具 举报

发表于 2007-9-2 18:40:00 | 显示全部楼层 来自 四川成都
原帖由 guopingye 于 2007-9-2 16:57 发表
在斜面上比如x+y=10.这个上面设置边界条件,我觉得不能用简单的 fix x range===来实现,因为你的目的应该是让其边界在x+y=10这个面上可以自由移动,如果都固定了x y那好像不对?其他的应力、速度应该可以实现, ...

单就FLAC主网格的数据存储结构来说,有网格点及网格域偏移量(也就是数据成员),与主网格有关的信息都存在网格点和网格域偏移量下,而位移、速度、加速度等点变量存在网格点偏移量下,密度、孔隙率、应力,应变、体积等域变量存在网格域偏移量下。也就是说速度只对网格点才有意义,对线、面、体的作用效应通过内插函数得到,所以固定了面上的离散点,面就固定了。
回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-2 19:53:59 | 显示全部楼层 来自 北京
原帖由 feiyulx 于 2007-9-2 18:40 发表

单就FLAC主网格的数据存储结构来说,有网格点及网格域偏移量(也就是数据成员),与主网格有关的信息都存在网格点和网格域偏移量下,而位移、速度、加速度等点变量存在网格点偏移量下,密度、孔隙率、应力,应 ...


首先表示谢谢,对你说的这个数据存储还是没搞清楚,能不能说详细一点?在哪里能找到这个详细的说明,手册中有吗?
回复 不支持

使用道具 举报

发表于 2007-9-2 21:24:29 | 显示全部楼层 来自 四川成都
原帖由 guopingye 于 2007-9-2 19:53 发表


首先表示谢谢,对你说的这个数据存储还是没搞清楚,能不能说详细一点?在哪里能找到这个详细的说明,手册中有吗?

此话是引用了刘波所著《FLAC原理、实例与应用指南》一书中,韩彦辉博士所写的前言(二)中的内容。
回复 不支持

使用道具 举报

发表于 2007-9-2 22:16:53 | 显示全部楼层 来自 湖南湘潭
~~~~~~~~
回复 不支持

使用道具 举报

发表于 2007-9-3 09:46:19 | 显示全部楼层 来自 湖南长沙

回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-3 13:41:35 | 显示全部楼层 来自 北京
现在我能用fei的方法加上边界条件,我试了没有问题,但是又会出现补一个问题就是FLAC中APPLY命令规定一个点局部坐标下的速度只能规定一个,角点处肯定有两个方向的速度,这样就还是不能实现加载速度边界,因为单加一个面没有用,不知道你们试了没有?
回复 不支持

使用道具 举报

发表于 2007-9-3 15:12:29 | 显示全部楼层 来自 安徽马鞍山
原帖由 guopingye 于 2007-9-3 13:41 发表
现在我能用fei的方法加上边界条件,我试了没有问题,但是又会出现补一个问题就是FLAC中APPLY命令规定一个点局部坐标下的速度只能规定一个,角点处肯定有两个方向的速度,这样就还是不能实现加载速度边界,因为单 ...



正是如此,是我以前没能解决的问题,呵呵。
回复 不支持

使用道具 举报

发表于 2007-9-3 16:50:11 | 显示全部楼层 来自 四川成都
原帖由 guopingye 于 2007-9-3 13:41 发表
现在我能用fei的方法加上边界条件,我试了没有问题,但是又会出现补一个问题就是FLAC中APPLY命令规定一个点局部坐标下的速度只能规定一个,角点处肯定有两个方向的速度,这样就还是不能实现加载速度边界,因为单 ...

角点为什么有两个速度?一个网格点有且只有一个速度矢量叠加.
回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-3 20:55:57 | 显示全部楼层 来自 北京
原帖由 feiyulx 于 2007-9-3 16:50 发表

角点为什么有两个速度?一个网格点有且只有一个速度矢量叠加.


举一个简单的例子,矩形上你固定四周边界和地面,这样的上面四个角点你就设定了两个速度x=0,y=0,下面四个角点是三个速度x、y、z都为0,这时候我们用的是整体坐标系,没有任何问题,但是当你用到局部坐标系的时候就不能这样设定,应为每一个角点就只能有一个速度,这样你刚开始说的那种方法我试了很多但都没有成功。
回复 不支持

使用道具 举报

 楼主| 发表于 2007-9-3 21:00:31 | 显示全部楼层 来自 北京
原帖由 benjackxu 于 2007-9-3 15:12 发表



正是如此,是我以前没能解决的问题,呵呵。

那这样的时候FLAC里面那个nvel等面上的那些边界条件会用什么用呢?有可能还有什么其他办法,或者说APPLy中设置那几个东西是用来做什么的?版主在其他地方用过那几个命令没有?
回复 不支持

使用道具 举报

发表于 2007-9-4 02:00:39 | 显示全部楼层 来自 四川成都
原帖由 guopingye 于 2007-9-3 20:55 发表


举一个简单的例子,矩形上你固定四周边界和地面,这样的上面四个角点你就设定了两个速度x=0,y=0,下面四个角点是三个速度x、y、z都为0,这时候我们用的是整体坐标系,没有任何问题,但是当你用到局部坐标系 ...

楼主烦恼的是没有3个速度分量,我现在清楚的解释一下,实际每个GRID点有个默认的局部坐标系统,同整体坐标系统X-Y-Z一样,叫d-s-n坐标系统,其默认法线方向(也就是n轴方向)是交于此点所有面的平均法线方向,这样也决定了一个默认面,这个默认面的方向是不好控制的,但好在我们可以修改默认面的方向,下面命令apply nvel=10 plane nor 10 10 0 range id id1红字部分就是为了重新指定面,指点了面,局部坐标系就指定了(具体见3D手册V 2 Command Reference 1-18页的说明),这样同在整体坐标系统中对xvel,yvel,zvel的操作一样,局部坐标速度矢量也有3个值分别为dvel,svel,nvel。这样你就可以指定了吧。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-24 10:26 , Processed in 0.078493 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表