globalelement.h

来自「一个计算悬臂梁的有限元vc源码」· C头文件 代码 · 共 77 行

H
77
字号
// GlobalElement.h: interface for the CGlobalElement class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GLOBALELEMENT_H__0EF79D16_559E_11D5_B917_444553540000__INCLUDED_)
#define AFX_GLOBALELEMENT_H__0EF79D16_559E_11D5_B917_444553540000__INCLUDED_

#include "afxtempl.h"
#include "fstream.h"
#include "Matrix.h"
#include "SparseMatrix.h"
#include "Node.h"
#include "BaseMaterial.h"
#include "BaseElement.h"
#include "MaterialA.h"
#include "MaterialB.h"
#include "Truss.h"
#include "Beam.h"
#include "BeamHinge.h"
#include "Plane8NodeEle.h"
#include "Load.h"
#include "LoadGroup.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CGlobalElement  
{
public:
	void WilsonMethod();
	void NewmarkMethod();
	double	m_dNewmarkGama;
	double	m_dNewmarkBeta;
	double	m_dWilsonXita;
	double m_dLoadDuration;
	double m_dPeakAcc;
	void GetMassMatrix(CSparseMatrix& smatMass);
	void ModeSuperposition();
	void JacobiEigen(CMatrix& matA, CMatrix& matB);
	int m_iMassMatrixType;
	int m_iDynamicLoadType;
	int m_nMode;
	CString m_sGroundAccFile;
	CArray<double, double&> m_adEigen;
	CArray<double, double&> m_adDampRatio;
	CMatrix m_matEigenVector;
	double m_dTimeStep,m_dResponseDuration;
	void ModeAnalysis();
	bool m_bFlagForceAnalyzed,m_bFlagModeAnalyzed,m_bFlagDynamicAnalyzed;
	void CalcuSupportReaction();
	void Initial();
	void OutputData(ofstream& fout);
	void CalcuGKDiagAddress();
	int FindKeyWordsPos(CString& sKeyWords, CString& sData);
	void Loading();
	void GetLoadVector();
	double ReadDouble(int& iCurCharPos, const CString &sData);
	int ReadInt(int& iCurCharPos, const CString &sData);
	void DataInput(CString &sData);
	CNode m_Node;
	CGlobalElement();
	virtual ~CGlobalElement();
	CTypedPtrArray <CPtrArray,CLoadGroup*> m_apLoadGroup;
	CTypedPtrArray <CPtrArray,CBaseMaterial*> m_apMaterial;
	CTypedPtrArray <CPtrArray,CBaseElement*> m_apEle;
	CLoadGroup m_LumpMass;
private:
	CSparseMatrix m_smatGK;
	int m_iCurLoadGroup;
	int m_nKindMaterial;
	int m_nEle,m_nNode;
	double *m_adDisp,*m_adLoadVector;
};

#endif // !defined(AFX_GLOBALELEMENT_H__0EF79D16_559E_11D5_B917_444553540000__INCLUDED_)

⌨️ 快捷键说明

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