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

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

[复制链接]
发表于 2013-7-16 06:02:22 | 显示全部楼层 |阅读模式 来自 德国
本帖最后由 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





.



本帖子中包含更多资源

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

×
发表于 2013-7-16 15:55:23 | 显示全部楼层 来自 陕西咸阳
Simdroid开发平台
加强学习
回复 不支持

使用道具 举报

 楼主| 发表于 2013-7-16 17:11:20 | 显示全部楼层 来自 德国
更新了图片,不好意思,压缩之后,质量差了很多。。。。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-7-16 19:22:58 | 显示全部楼层 来自 德国
本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

再来一个计算实例

线性动力计算,与非线性动力计算的比较




.








.





回复 不支持

使用道具 举报

 楼主| 发表于 2013-7-16 19:25:00 | 显示全部楼层 来自 德国
本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

几何优化

BESO,双向渐进结构优化


.



SIMP+OC法




.
回复 不支持

使用道具 举报

 楼主| 发表于 2013-7-16 19:35:06 | 显示全部楼层 来自 德国
本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

ESO,渐进结构优化

.




BESO,双向渐进结构优化


.

SIMP+OC法


.
回复 不支持

使用道具 举报

 楼主| 发表于 2013-7-16 19:36:10 | 显示全部楼层 来自 德国
本帖最后由 sicheng6699 于 2013-7-25 18:29 编辑

悬臂梁,线性动力计算


.


悬臂梁,几何非线性动力计算


.

回复 不支持

使用道具 举报

发表于 2013-7-17 22:19:11 | 显示全部楼层 来自 四川成都
膜拜一个
回复 不支持

使用道具 举报

发表于 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.
回复 不支持

使用道具 举报

 楼主| 发表于 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/))
call  node(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
回复 不支持

使用道具 举报

发表于 2013-12-28 21:16:45 | 显示全部楼层 来自 北京
请问楼主 ,拓扑优化的有没有 matlab程序可以让我学习一下,关于几何非线性的?谢谢
回复 不支持

使用道具 举报

发表于 2014-1-24 16:50:54 | 显示全部楼层 来自 山东济南
谢谢楼主,好东西认真学习中
回复 不支持

使用道具 举报

发表于 2014-6-24 08:35:29 | 显示全部楼层 来自 辽宁鞍山
楼主很给力!
回复 不支持

使用道具 举报

发表于 2014-7-28 22:59:19 | 显示全部楼层 来自 广东
请教一下楼主,VTK做后处理大致是怎样一个思路。能否说一下
回复 不支持

使用道具 举报

 楼主| 发表于 2014-7-30 14:36:11 | 显示全部楼层 来自 德国
springer_ 发表于 2014-7-28 22:59
请教一下楼主,VTK做后处理大致是怎样一个思路。能否说一下

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

使用道具 举报

发表于 2014-9-13 05:24:26 | 显示全部楼层 来自 美国
  做的非常漂亮,这是公司的产品还是您自己的作品。呵呵, 看您的新浪博客,竟然之前加过好友。感觉世界真小
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-28 09:08 , Processed in 0.036840 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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