sicheng6699 发表于 2013-7-16 06:02:22

[Fortran编程]三维实体单元的几何非线性动力计算+结构优化

本帖最后由 sicheng6699 于 2013-7-25 04:19 编辑

自己开发的软件Fortran+VTK
有兴趣可以看
http://blog.sina.com.cn/sicheng6699


实例1,几何非线性

悬臂梁杆端定义4个节点力形成弯矩,并根据迭代结果计算向量,最终可以拧成一个环形。
细心的可以发现,最后并没有完全吻合。

http://blog.sina.com.cn/s/blog_609af0750101c22g.html

http://img2.ph.126.net/dhJzILKzlpyGxG5lzrcK2A==/3147453189678606842.gif



.



tianyafeng1987 发表于 2013-7-16 15:55:23

加强学习

sicheng6699 发表于 2013-7-16 17:11:20

更新了图片,不好意思,压缩之后,质量差了很多。。。。

sicheng6699 发表于 2013-7-16 19:22:58

本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

再来一个计算实例

线性动力计算,与非线性动力计算的比较
http://img2.ph.126.net/-Db7do8MHTxtJduJOwJ8mw==/1143351355498745384.gif



.



http://img0.ph.126.net/vi4Borbd5N0imsGQi_4ALQ==/6598233049960125771.gif




.





sicheng6699 发表于 2013-7-16 19:25:00

本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

几何优化

BESO,双向渐进结构优化
http://img2.ph.126.net/z0gOWztYX-lYM7FXYndFRA==/6598003252030145729.gif

.



SIMP+OC法
http://img0.ph.126.net/6_BeaIw33QWkJfPK6FLDiA==/6598295722122924627.gif



.

sicheng6699 发表于 2013-7-16 19:35:06

本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

ESO,渐进结构优化
http://img2.ph.126.net/dmldKk5wfj9b5Y1SbKrreg==/3048373997876450837.gif
.




BESO,双向渐进结构优化
http://img0.ph.126.net/JymYestjohpxVpnkfivi0A==/6598247343611286171.gif

.

SIMP+OC法
http://img1.ph.126.net/pNP8TTmfpupF-njHL4Vcgw==/3382766270208855361.gif

.

sicheng6699 发表于 2013-7-16 19:36:10

本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

悬臂梁,线性动力计算
http://img0.ph.126.net/buojaonWIKt5qKsPTENAZA==/814870057677401739.gif

.


悬臂梁,几何非线性动力计算
http://img1.ph.126.net/anzqFJccdqkd4VBqoBWhfQ==/6597267678750644341.gif

.

xswang 发表于 2013-7-17 22:19:11

膜拜一个

tonnyw 发表于 2013-7-24 23:42:31

Since this section is about finite element theory, it would be great if you can put something about finite element formulation.

sicheng6699 发表于 2013-7-25 04:25:55

版主说的对,但是我觉得理论的东西都需要看书,论坛里面可以讨论点什么就可以了,没法系统的介绍很多。
博客里有一篇文章,适合放在这里,关于Fortran面向对象的编程,看看有没有人看兴趣




Fortran面向对象编程,节点类,示例
http://blog.sina.com.cn/s/blog_609af0750101c09y.html


一个简化的模块,定义节点类。不做解释,具体功能参考书籍。

使用的话,首先用use,然后通过下面的命令来测试,生成一个节点对象,保存数组里面。

node(1) = create_node(999,(/12.D0,13.D0,14.D0/))
callnode(1)%SetCoord((/13.D0,13.D0,13.D0/))
write(88,*) node(1)%GetCoord



定义节点的模块:

******************************************************************************

module ktClassNode
    Implicit none

    !private

    ! Object public Methode
    public      ::newNode
    integer   ::NumOfNode

    ! Object Class
    type NodeType
      integer :: nr=0
      real(8),dimension(6)   :: x=zero
      contains
      procedure :: GetCoord
      procedure :: SetCoord
    end type NodeType

    ! Object constructor
    interface newNode
      module procedure create_node
    end interface

    ! Object node
    type(NodeType),allocatable,dimension(:):: node

    contains

    ! Node Methode
   Type(NodeType) function create_node(nr,x,pin)
      integer,intent(in)          :: nr
      real(8),intent(in)          :: x(3)! only Translation
      character(len=6),intent(in) ,optional :: pin

      create_node%Nr = nr
      create_node%x(1:3) = x(1:3)
    end function create_node


    ! Node Methode
    function GetCoord(this)
      class(NodeType)         :: this
      real(8)    :: GetCoord(3)! only Translation
      GetCoord(1:3) = this%x0(1:3)
      return
    end function GetCoord


    ! Node Methode
    subroutine SetCoord (this,x0)
      class(NodeType)         :: this
      real(8),intent(in)    :: x0(3)! only Translation
      this%x0(1:3) =x0(1:3)
    end subroutine SetCoord



end Module

jiajiao840516 发表于 2013-12-28 21:16:45

请问楼主 ,拓扑优化的有没有 matlab程序可以让我学习一下,关于几何非线性的?谢谢

liangyongzhiyi 发表于 2014-1-24 16:50:54

谢谢楼主,好东西认真学习中

yangjiajiaji 发表于 2014-6-24 08:35:29

楼主很给力!

springer_ 发表于 2014-7-28 22:59:19

请教一下楼主,VTK做后处理大致是怎样一个思路。能否说一下

sicheng6699 发表于 2014-7-30 14:36:11

springer_ 发表于 2014-7-28 22:59
请教一下楼主,VTK做后处理大致是怎样一个思路。能否说一下

用Tcl/Tk从每个工况的文本文件中读出结果数据,然后更新VTK的数据,最后一个命令update一下数据流
OpenFoam好像也是这么个思路,没有搞商业开发的,数据结果都是文本公开保存,当然效率低,但是开发容易

leezhengjiang 发表于 2014-9-13 05:24:26

:victory:做的非常漂亮,这是公司的产品还是您自己的作品。呵呵, 看您的新浪博客,竟然之前加过好友。感觉世界真小
页: [1]
查看完整版本: [Fortran编程]三维实体单元的几何非线性动力计算+结构优化