前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象的有限元编程|综述

面向对象的有限元编程|综述

作者头像
fem178
发布2020-09-18 11:17:35
6360
发布2020-09-18 11:17:35
举报
一个重要的概念:类的聚合

一个类可以包含诸多成员,而其中某些成员又可以是其他类的的对象。当一个类Person 包含一个成员name时,Person中的每个对象都将拥有一个string类的对象,这就是Has-a关系。每个person的实例都有(has)sring类的一个实例。术语聚合(Aggregation)通常用来描述一个类的对象拥有其它类的对象的情况。

代码语言:javascript
复制
class person
{
    std::string  name;
    int          age;
};
//...
面向对象有限元编程综述

在面向对象的有限元分析领域,具体的有限元模型可看作一个对象,叫作整体结构对象。整体结构对象又是一个聚合对象,它包含了多种其它类的对象,例如节点对象,单元对象,材料对象,荷载对象等等。如图1所示,将这些对象通过算法又形成整体结构对象。

  • 单元类

单元对象是构成整个结构对象的基本要素,如杆单元,梁单元,板单元,壳单元等等。虽然单元形状和特性各不相同,但基本特征和功能是相同的。比如都具有一定的几何形状,通过节点与其它单元连接,包含材料信息,在结构分析中各单元皆以单元刚度矩阵的形式组装成整体结构。

  • 节点类

节点是连接各单元的关节,单元按照节点分布组合成整体结构对象。节点类的属性主要有:节点坐标,节点自由度,节点力,节点约束等等。

  • 约束类

约束类的节点类是Has-a关系,也就是说,节点对象的一个成员 是约束类的成员。以一个桁架节点约束为例

代码语言:javascript
复制
class TrussRestrain 
{
 protected:
 int  RX;
 int  RY;
//...
};


class TrussNode 
{
protected:
   size_t id;
   double coordX, coordY;
   TrussRestrain  nodeRestrain;
  
//...
};
  • 材料类

材料类用于对材料特性的描述,如弹性模量,密度,线膨胀系数等等。对于线弹性静力分析,只需要弹性模量就可以了。对于非线性分析,还需要材料的本构关系。

  • 数值计算类

数值计算类用于求解以及数据结构的组织,比如刚度矩阵,位移向量,节点力向量等等。

  • 整体结构类

整体结构对象代表了整个结构,是一个聚合对象。整体结构类通过算法管理成员对象之间的关系,进行结构的计算分析。整体结构类只有一个实例,即结构对象。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个重要的概念:类的聚合
  • 面向对象有限元编程综述
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档