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

[分享]做磁-流体耦合的注意了,把电磁力加载到流体或其他的物质上?给你个参考程序

[复制链接]
发表于 2006-12-3 18:06:49 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
好酒以前了,网友给的,自认为还是比较经典的,程序的作者就是为了把电磁力加载到流体上而作的

! MACRO TO CALCULATE MAGNETIC MODAL FORCES
!  8 NODE 3D ELEMENT ONLY

!  THIS MACRO HAS NOT BEEN TESTED

/POST1
SET,LAST
NELEM = ELMIQR(0,14)         ! GET MODEL SIZE
NNODE = NDINQR(0,14)
*DIM,VOLUME,,NELEM           ! DIMENSION ARRAYS
*DIM,J,,NELEM,3
*DIM,B,,NELEM,3
*DIM,EF,,NELEM,3
*DIM,F,,NNODE,3

ETABLE,BX,B,X                ! GET B AND J
ETABLE,BY,B,Y
ETABLE,BZ,B,Z
*VGET,B(1,1),ELEM,1,ETAB,BX
*VGET,B(1,2),ELEM,1,ETAB,BY
*VGET,B(1,3),ELEM,1,ETAB,BZ
ETABLE,JX,JS,X
ETABLE,JY,JS,Y
ETABLE,JZ,JS,Z
*VGET,J(1,1),ELEM,1,ETAB,JX
*VGET,J(1,2),ELEM,1,ETAB,JY
*VGET,J(1,3),ELEM,1,ETAB,JZ

*VOPER,EF(1,1),J(1,1),CROSS,B(1,1)   ! ELEMENT FORCE
*VGET,VOLUME(1),ELEM,1,GEOM          ! ELEMENT VOLUME

*DO,I,1,3
   *VMULT,,,0.125
   *VOPER,EF(1,I),EF(1,I),MULT,VOLUME(1)  ! FORCE PER NODE
*ENDDO

*ABSET,'CALCULATE NODAL FORCES',BAR    ! SET UP STATUS BAR

*DO,I,1,NELEM
   *IF,MOD(I,200),EQ,0,THEN            ! UPDATE STATUS BAR
      *ABCHECK,(I*100)/NUMEL,'FINISHED_%I%_OF_%NELEM%_ELEMENTS'
   *ENDIF

   *DO,INODE,1,8                       ! SUM FORCES AT NODES
      NODE = NELEM(I,INODE)
      *DO,IDIR,1,3
         F(NODE,IDIR) = F(NODE,IDIR) + EF(I,IDIR)
      *ENDDO
   *ENDDO
*ENDDO

*ABFINI
FINISH

/PREP7
F,(1:NNODE),FX,F(1:NNODE,1)      ! APPLY FORCES
F,(1:NNODE),FY,F(1:NNODE,2)
F,(1:NNODE),FZ,F(1:NNODE,3)
FINISH

NELEM=                           ! CLEAN UP PARAMETERS
NNODE=
VOLUME(1)=
J(1,1)=
B(1,1)=
EF(1,1)=
F(1,1)=
I=
INODE=
NODE=
IDIR=

[ 本帖最后由 北极熊甲 于 2006-12-3 20:34 编辑 ]

评分

1

查看全部评分

发表于 2006-12-4 10:05:34 | 显示全部楼层 来自 辽宁沈阳
Simdroid开发平台
这个程序好象不完整啊?
 楼主| 发表于 2006-12-4 12:03:44 | 显示全部楼层 来自 黑龙江哈尔滨
是完整的,你仔细看看,对于一般的模型都是适用的。他就是提取何在然后再加载。
发表于 2006-12-4 19:45:29 | 显示全部楼层 来自 广东东莞
*DO,INODE,1,8                       ! SUM FORCES AT NODES
      NODE = NELEM(I,INODE)
      *DO,IDIR,1,3
         F(NODE,IDIR) = F(NODE,IDIR) + EF(I,IDIR)      !这一步好像是把单元上的力map到节点上,直接把单元上的力加载到8个节点上就可以了吗?我忘了有限元是怎样根据节点上的力算单元上的力了!哪位可以指点一下啊?

[ 本帖最后由 koyan725 于 2006-12-5 08:22 编辑 ]
 楼主| 发表于 2006-12-5 10:15:59 | 显示全部楼层 来自 黑龙江哈尔滨
没理解错的话,作者的意思是单元的力平均分配到节点上的
发表于 2006-12-5 10:55:28 | 显示全部楼层 来自 广东东莞
如果把单元上的力直接除以节点个数8再map到节点上是不是合理一点呢?
那样上面的命令流是不是就改成:
      *DO,IDIR,1,3
         F(NODE,IDIR) = F(NODE,IDIR) + EF(I,IDIR)/8 ?

[ 本帖最后由 koyan725 于 2006-12-5 13:23 编辑 ]
发表于 2007-1-26 09:34:32 | 显示全部楼层 来自 湖南长沙
这个精华显然是错误的。



你说呢?
发表于 2009-4-21 19:19:34 | 显示全部楼层 来自 陕西西安
试一下
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-9 00:55 , Processed in 0.067653 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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