📄 mesh.h
字号:
/////////////////////////////////////////////////////////////////////////////
// CNode -- structure that holds information about each mesh point.
class CNode
{
public:
double x,y;
int bc;
private:
};
class CMeshline
{
public:
int n0,n1;
private:
};
class CElement
{
public:
int p[3];
int e[3];
CComplex mu1,mu2;
int blk;
int lbl;
private:
};
class CBlockLabel
{
public:
double x,y;
double MaxArea;
double MagDir;
int BlockType;
int InCircuit;
int InMask;
int InGroup;
int Turns;
BOOL IsExternal;
// used for proximity effect regions only.
CComplex ProximityMu;
private:
};
class CCommonPoint
{
public:
int x,y,t;
private:
};
/////////////////////////////////////////////////////////////////////////////
// Classes that hold property data: CMaterialProp, CBoundaryProp, CPointProp
class CMaterialProp
{
public:
double mu_x,mu_y; // permeabilities, relative
int BHpoints;
double *Bdata;
CComplex *Hdata;
CComplex *slope;
double H_c; // magnetization, A/m
double Theta_m; // orientation of magnetization, degrees
double Jr,Ji; // applied current density, MA/m^2
double Cduct; // conductivity of the material, MS/m
double Lam_d; // lamination thickness, mm
double Theta_hn; // hysteresis angle, degrees
double Theta_hx; // hysteresis angle, degrees
double Theta_hy; // hysteresis angle, degrees
int LamType; // lamination type/orientation
double LamFill; // lamination fill factor;
double WireD; // strand diameter, mm
int NStrands; // number of strands per wire
CMaterialProp();
~CMaterialProp();
void GetSlopes();
void GetSlopes(double omega);
CComplex GetH(double B);
CComplex GetdHdB(double B);
CComplex Get_dvB2(double B);
CComplex Get_v(double B);
void GetBHProps(double B, CComplex &v, CComplex &dv);
void GetBHProps(double B, double &v, double &dv);
CComplex LaminatedBH(double omega, int i);
private:
};
class CBoundaryProp
{
public:
int BdryFormat; // type of boundary condition we are applying
// 0 = constant value of A
// 1 = Small skin depth eddy current BC
// 2 = Mixed BC
double A0,A1,A2,phi; // set value of A for BdryFormat=0;
double Mu,Sig; // material properties necessary to apply
// eddy current BC
double c0,c1; // coefficients for mixed BC
// TO DO: ``flux pipe?'' and ''line currents''
// Line currents might be redundant, since we already have magnetization.
private:
};
class CPointProp
{
public:
double Jr,Ji; // applied point current, A
double Ar,Ai; // prescribed nodal value;
private:
};
class CCircuit
{
public:
double dVolts_re, dVolts_im;
double Amps_re, Amps_im;
int CircType;
int OrigCirc;
// some member variables used to store some results
CComplex J;
CComplex dV;
int Case;
private:
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -