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

📄 femunit.h

📁 用vc写的有限元计算代码
💻 H
字号:
//
// 有限元单元类
//
// 黄玉洲 2008.08.01

#pragma once

#include "FemNode.h"

class CFemUnit : public CObject
{
public:
	CFemUnit(void);
	CFemUnit(const CFemUnit & femUnit);
	CFemUnit & operator =(const CFemUnit & femUnit);
	CFemUnit(int nUnitNo, CFemNode *pFemNode1, CFemNode *pFemNode2, CFemNode *pFemNode3);
public:
	~CFemUnit(void);

	CFemNode* GetNode(int nNodeNo = 0)
	{
		if( nNodeNo > 2 )
			return NULL;

		return m_pNode[ nNodeNo];
	}

	int GetUnitNo()
	{
		return m_nUnitNo;
	}

	// 取得节点的系数
	double GetNodeCoefficient(int nNodeIndex1, int nNodeIndex2);
	// 显示
	void Show(CDC* pDC, double nZoom);
	// 判断节点是否在三角形单元内
	bool IsInUnit(double nX, double nY);
	// 取得三角形单元内的插值
	double GetPosValue(double nX, double nY);
	// 计算插值函数的参数
	void MakeInterposeFuncCoef(void);
	// 画等位线
	void DrawEqualLine(CDC* pDC, double nZoom);
	// 生成系数矩阵
	void MakeCoefficientMatrix(void);
	// 设置介电系数
	void SetDielectric(double nDielectric){ m_nDielectric = nDielectric; }
	// 获取介电系数
	double GetDielectric(void) { return m_nDielectric; }
	// 显示电压值
	void ShowNodeValue(CDC* pDC, double nZoom);

private:
	CFemNode* m_pNode[3];
	int m_nUnitNo;
	double m_CoefMatrix[3][3];	
	double m_nCoefA,m_nCoefB,m_nCoefC;
	double m_nDielectric;	// 介电系数
};

⌨️ 快捷键说明

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