正文

有限元节点类\单元类(手把手有限元编程)2007-08-03 15:41:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/oopfem/28175.html

分享到:

本篇讨论有限元中最基本的两个类, 节点类和单元类: 节点类首先需要基本的坐标信息,还需要节点位移、荷载、约束等信息,节点类代码如下: #ifndef MVNODE_H#define MVNODE_H #include "vector"using namespace std;class MVNode {public: MVNode(); virtual ~MVNode(); inline int GetCodeNum(int iPos) const; inline int getDOF() const;       inline vector <double> getDispVector() const;   inline double GetX() const;    inline double GetY() const;    inline double GetZ() const;    int GetNum()  const;    void SetData(int n,       double x, double y, double z, int iDOF); void setDspVct(double displacement, int iPos); void Init();      void Draw();private: int m_iNodeNum;       double m_dX,m_dY,m_dZ;     vector <double> m_dDispVector;    int m_iDOF;        int m_iConnectElementNum;  };#endif 单元类需要单元属性、材料、节点连接等信息,单元类代码如下: #ifndef MVELEMENT_H#define MVELEMENT_H#include "MVNode.h"#include "MVDrawBox.h" class MVElement {public: MVElement();         virtual ~MVElement();       int GetNodeDOF();        inline int GetDimension() const;          inline vector <MVNode *> GetNodePointerVector() const;  int getCMNum() const;        int getPrpNum() const;        int GetNum() const;         inline int GetNodeAmount() const;     vector <int> GetNodeNumVector();    void SetNode(int NodeNum);      void SetNum(int iElmNum);     void SetNodePointer(MVNode * pNode);    virtual void Init();       virtual  void draw(){}     virtual void ReadEleResult(istream &ifile){}//读入单元解 virtual void ReturnMaxMQy(double *_maxM,double *_maxQ,double *_maxy){} virtual void DrawNaxis(){}    virtual void DrawShear(){}    virtual void DrawMoment(){}   virtual void DrawElement(){} virtual void DrawDeformation(){} virtual void DrawNodeContour(int item){} virtual void DrawNodeCloud(int item,int subitem){} virtual void DrawEleContour(int item){} protected: int m_iNodeAmount;        int m_iElmNum;         int m_iCMNum;         int m_iDOF;         int m_iElmDmm;         vector <int> m_NodeNumVector;     vector <MVNode *> m_pNodePointerVector;  vector<double> m_dEleResult; };#endif 参考:1 MyFEM程序2 SFea程序  

阅读(10800) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册