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

[命令/FISH] 关于复杂曲面施加面力的总结

[复制链接]
发表于 2009-5-10 21:32:28 | 显示全部楼层 |阅读模式 来自 江苏南京
本帖最后由 cloud328 于 2009-5-15 21:24 编辑

先看下以下仁兄的例子
http://forum.simwe.com/viewthread.php?tid=861642&page=1#pid1553896

http://forum.simwe.com/thread-872841-1-1.html


http://forum.simwe.com/viewthread.php?tid=862796&extra=page%3D3%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D38%26amp%3Borderby%3Ddateline


http://forum.simwe.com/viewthread.php?tid=861940&extra=page%3D3%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D38%26amp%3Borderby%3Ddateline



看了论坛上很多例子,怎么在复杂模型内部施加面力,貌似都没有引起大家的注意。自己思索了很多,也想很多方法,突然发现一个很简单的命令,就是用apply nstress range group  边界1。下面就看看怎么用这个简单的方法来施加面力。关键是这个组要对。这个方法的思想来源于ANSYS中的表面效应单元。就是在需要施加面力的组中,把最外层的组,单独分成一个组,而实现这个过程可以通过先在这个组上设置接触面,然后通过通过fish函数,找到与这个接触面相邻的单元号,直接改掉这个单元号为自己重新命名的号。这些都改完了以后,就把接触面删除。

下面看看图


这个是没有处理分组


通过一个简单的fish函数就可以把重新生成一个我们需要的组,然后对这个组进行施加谁荷载或是面力,一般就没有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2009-12-1 09:49:41 | 显示全部楼层 来自 江苏南京
Simdroid开发平台
1、需要指出的是此处不考虑拱坝与基岩之间设置接触面,如果拱坝与基岩之间设置接触面会出现在与基岩接触的地方也加上面力。
2、apply nstress 这个是施加面力的命令,不是施加体力的命令。在flac3d中,能够在group上施加面力,要求该面为临空面,如果一个group周边没有任何group时,用这样一个命令,相当于给这个group施加一个静水压力,即模型每个面都施加上压力。我采用的方法就是避免拱坝上游面有很多的临空面,即让拱坝上游面只有上游和拱顶这两个临空面,然后通过z坐标来控制面力不要施加到拱顶上。
3、14楼fish语言的思路是对的,我当时也是这个思路,后来查了下fish语言,发现flac3d中好像没有很好的得到某个单元的某个面的fish变量,不知14楼知道这个变量么?
回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2009-5-10 21:42:10 | 显示全部楼层 来自 江苏南京

小湾拱坝施加上下游水压力的例子。

本帖最后由 cloud328 于 2009-5-12 19:44 编辑

明天把小湾拱坝上的例子发上来看看。

直接上图再说:这个为小湾拱坝的例子,想要在拱坝上施加面力怎么办呢?


这个是通过先在上下游拱坝面上,建立接触面,然后通过接触面来对与之接触的单元重新分组的结果。




然后通过一个简单的apply nstress range z  -100  100  group 边界1 就可以了。

这个方法的基础是要拱坝至少要有两层单元(一般满足这个要求),然后一定要加个竖直方向的范围,以防水压力施加到坝顶上去了。

这个问题困扰我很久,现在终于解决了,写出来告诉大家,以防大家再走弯路。一句话软件是死的,人是活的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-5-10 23:20:53 | 显示全部楼层 来自 新疆乌鲁木齐
厉害,学习了
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-13 11:14:53 | 显示全部楼层 来自 江苏南京
个人觉得比较有用。
回复 不支持

使用道具 举报

发表于 2009-5-18 16:41:45 | 显示全部楼层 来自 四川攀枝花
楼主你这个方法有点问题,不知你发现没有,这个样施加上去的力在边沿单元会出现不同方向的力我以前也是这样方法,不过是在ansys中直接选定面层单元作为一个组,并在面上加力,加力过程实质上是一样的

图片为表层单元,注意边缘的单元受力

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-18 18:45:35 | 显示全部楼层 来自 江苏南京
5# 男人


这个方法只要分组没有问题,个人感觉在边界也不会出现什么问题。
回复 不支持

使用道具 举报

发表于 2009-5-19 21:34:18 | 显示全部楼层 来自 湖南长沙
方法不错,值的奖励 2# cloud328
回复 不支持

使用道具 举报

发表于 2009-5-21 16:00:27 | 显示全部楼层 来自 四川攀枝花
楼主可以查看自己的模型就知道了
回复 不支持

使用道具 举报

发表于 2009-5-22 07:24:54 | 显示全部楼层 来自 四川成都
很好 学习了
回复 不支持

使用道具 举报

发表于 2009-5-22 08:19:33 | 显示全部楼层 来自 重庆
楼主好厉害啊
回复 不支持

使用道具 举报

发表于 2009-6-10 16:34:58 | 显示全部楼层 来自 北京工业大学
我也感觉楼主很厉害!顶起!
回复 不支持

使用道具 举报

发表于 2009-7-2 17:45:58 | 显示全部楼层 来自 广西南宁
楼主辛苦了,THs
回复 不支持

使用道具 举报

发表于 2009-11-30 23:32:43 | 显示全部楼层 来自 挪威
apply nstress 这个命令是对面而言的,如果后面跟的是range group,那么使用该命令时就会对group的所有外表面加上面力,按照小湾拱坝例子中apply nstress range group  边界1的命令,实际上不仅是边界1和边界2的面上的所有节点被赋了力,边界1的迎水面上的所有节点也被赋了力,拱坝和基岩结合的面商的所有节点也被赋了力。对于拱坝要模拟上游水压力,应该着力于面力而不是体力。用group为范围加面力的时候是在group边界1的内外面上都加上了力,与实际不符。实际上该是只在边界1和水的界面上加力,边界1和2之间的力由计算得出。下面是1个例子,运行后可以查看用apply nstress range group 命令后每个节点和面上力的分布。

new
gen zon cshell p0 50 50 0 &
                      p1 44 50 0 &
                      p2 50 50 40 &
                      p3 50 56 0 &
                     dimension 4 4 4 4 &
                     size 3 10 11 23 &
                     ratio 1 1 1 1
group weak_zone
plot show
plot add surf
model mohr
prop dens 2550 bul 2.2e9 shea 1e9 cohesion 0.2e6 friction 20 tension 0
step 1
apply nstress 0.05e6 range group weak_zone
step 1
plot add fap
回复 不支持

使用道具 举报

发表于 2009-11-30 23:54:30 | 显示全部楼层 来自 挪威
如果需要考虑大坝迎水面水压力的话,在已经定义了group边界1的情况下,可以通过fish语言找到边界1上所有的面,然后排除边界1与边界2,边界1与基岩相交的面,选择剩下的面中低于库水位的面就可以得到需要的面的范围,然后再这个面上施加apply nstress的命令。
回复 不支持

使用道具 举报

发表于 2009-12-1 19:16:09 | 显示全部楼层 来自 挪威
1,楼主说的对拱坝一例加静水压力的情况根据以上解释似乎是可行的,因为没有通过直接施加面力方法验证,不知道最后计算结果是否合理。如果楼主运用过类似方法在相对简单的算例上并与直接施加面力的方法相对比,赋的力和计算结果应该一致。
2,这个变量 z facenorm(p z, arr1, arr2),可以试一试。
回复 不支持

使用道具 举报

发表于 2010-11-19 16:17:26 | 显示全部楼层 来自 重庆沙坪坝区
深刻的学习了。
楼主很强大。
回复 不支持

使用道具 举报

发表于 2011-2-28 18:28:44 | 显示全部楼层 来自 武汉大学
困扰我好久的问题,终于有人搞定了,谢谢
回复 不支持

使用道具 举报

发表于 2011-3-6 16:07:58 | 显示全部楼层 来自 湖北武汉
感谢楼主奉献
回复 不支持

使用道具 举报

发表于 2011-4-3 21:04:06 | 显示全部楼层 来自 湖北武汉
额,不需要interface那么麻烦的吧,坝体分三层,直接apply nstress -1000000 grad 0 0 9810 range group shangyou z 0 980就可以了,因为它本来就是搜索的临空面啊~~~

我用Fortran写了一个FLAC给每个单元施加计算好的水荷载的(就是9810*高程差)命令流 ,结果跟apply nstress基本一样(FLAC加面力貌似也是取的单元形心点~~~)

关于5l的问题,个人觉得是:荷载要分配给面上四个点,山体与坝体接触的那个点同时受到两个面力分配,所以会出现不是单纯的指向下游~  ~~
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-23 22:33 , Processed in 0.053510 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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