⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globalelement.h

📁 三维框架梁单元C++版本的源程序 可以使结构力学的概念更上升一个层次
💻 H
字号:
// GlobalElement.h: interface for the CGlobalElement class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GLOBALELEMENT_H__4F82F39D_EC2E_4DE2_A8FB_3AB2953B164B__INCLUDED_)
#define AFX_GLOBALELEMENT_H__4F82F39D_EC2E_4DE2_A8FB_3AB2953B164B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Matrix.h"
#include "SparseMatrix.h"
//*
#include "BaseElement.h"
#include "Node.h"
#include "BaseMaterial.h"
#include "BaseRealConstant.h"
#include "load.h"
//*
#include "ElasticSteelMat.h"
#include "SpaceFrameRC.h"
#include "SpaceFrameBeam.h"

class CGlobalElement  
{
public:
	CGlobalElement();
	virtual ~CGlobalElement();

	private: 
	CString m_cFilePath;                                      //读取文件的路径
//	CSparseMatrix m_smatGK;                                   //结构总刚度矩阵

private:	
	int m_iCurLoadGroup;                                      //当前荷载组索引
	int m_nKindMaterial;                                      //材料类型总数
	int m_nEle;                                               //单元类型总数
	int m_nNode;                                              //节点类型总数
	double *m_adLoadVector_C1;                                //荷载向量
	double *m_adLoadVector_C2; 
	double *m_adDisp1,*m_adDisp2;                             //位移向量

	//(荷载向量-过程变量)
	CArray<double,double&> m_adCase1_Node_LoadVector ;        //节点荷载向量
	CArray<double,double&> m_adCase2_Node_LoadVector ;         
	CArray<double,double&> m_adCase1_ElemDis_LoadVector;      //单元荷载向量
	CArray<double,double&> m_adCase1_ElemCen_LoadVector;         
	CArray<double,double&> m_adCase2_ElemDis_LoadVector;         
	CArray<double,double&> m_adCase2_ElemCen_LoadVector;  
	CArray<double,double&> LoadVector;                        //用作求解支座反力

private:
	CNode m_Node;                                             
	CTypedPtrArray <CPtrArray,CBaseMaterial*> m_apMaterial;
	CTypedPtrArray <CPtrArray,CBaseRealConstant*> m_apBaseRealConstant;
	CTypedPtrArray <CPtrArray,CBaseElement*> m_apEle;	
	CLoad m_Load;	

public:
	void Initial(CString);                                    //成员变量初始化	
	void StiffAssemble();                                     //刚度矩阵形成、组装
	void Loading();                                           //静力加载计算
	void StructureSolve();                                    //结构(位移内力)计算

private:
	void OutputParameter();                                   //输出计算参数
	//
	void Node_LoadVectorAssemble();                           //节点荷载向量组装
	void ElemDis_LoadVectorAssemble();                        //单元均布荷载向量组装
	void ElemCen_LoadVectorAssemble();                        //单元集中荷载向量组装
	//
	void DisplacementSolve();                                 //求解节点位移
    void CalcuInternalForce();                                //计算单元内力
	void OutputInternalForce();                               //输出单元内力(CASE 2)
	void OutputDisplacement();                                //输出节点位移(CASE 1)
	void CalElemDeflection();                                 //求解单元的挠度曲线
	void CalcuSupportReaction();                              //计算支座反力

};

#endif // !defined(AFX_GLOBALELEMENT_H__4F82F39D_EC2E_4DE2_A8FB_3AB2953B164B__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -