public void Cal_Z_Data() { Z_Data = new ClsData(); for (double i = StartValue; i <= EndValue; i = i + StepValue) { Z_Data.AddData(i); } }
public bool Calc() { if (EstData.Count > 0) { int DataCount = EstData.Count; for (int i = 0; i < DataCount; i++) { ((MPEData)EstData[i]).Calc(); Thickness = Thickness + ((MPEData)EstData[i]).Thickness; BulkDensity = BulkDensity + ((MPEData)EstData[i]).BulkDensity; FResist = FResist + ((MPEData)EstData[i]).FResist; SFactor = SFactor + ((MPEData)EstData[i]).SFactor; Porosity = Porosity + ((MPEData)EstData[i]).Porosity; ViscousCL = ViscousCL + ((MPEData)EstData[i]).ViscousCL; ThermalCL = ThermalCL + ((MPEData)EstData[i]).ThermalCL; Ymodulus = Ymodulus + ((MPEData)EstData[i]).Ymodulus; PoissonR = PoissonR + ((MPEData)EstData[i]).PoissonR; LossFactor = LossFactor + ((MPEData)EstData[i]).LossFactor; MAbsorption.Sum(((MPEData)EstData[i]).MAbsorption); MRealSurfaceImpedance.Sum(((MPEData)EstData[i]).MRealSurfaceImpedance); MImagSurfaceImpedance.Sum(((MPEData)EstData[i]).MImagSurfaceImpedance); CAbsorption.Sum(((MPEData)EstData[i]).CAbsorption); CRealSurfaceImpedance.Sum(((MPEData)EstData[i]).CRealSurfaceImpedance); CImagSurfaceImpedance.Sum(((MPEData)EstData[i]).CImagSurfaceImpedance); } Thickness = Thickness / DataCount; BulkDensity = BulkDensity / DataCount; FResist = FResist / DataCount; SFactor = SFactor / DataCount; Porosity = Porosity / DataCount; ViscousCL = ViscousCL * 1000000 / DataCount; ThermalCL = ThermalCL * 1000000 / DataCount; Ymodulus = Ymodulus / DataCount; PoissonR = PoissonR / DataCount; LossFactor = LossFactor / DataCount; Frequency = ((MPEData)EstData[0]).Frequency; MAbsorption.Divide(DataCount); MRealSurfaceImpedance.Divide(DataCount); MImagSurfaceImpedance.Divide(DataCount); CAbsorption.Divide(DataCount); CRealSurfaceImpedance.Divide(DataCount); CImagSurfaceImpedance.Divide(DataCount); return(true); } else { bool result = false; return(result); } }
public void Temp() { Frequency = ((MPEData)EstData[0]).Frequency; MAbsorption = ((MPEData)EstData[0]).MAbsorption; MRealSurfaceImpedance = ((MPEData)EstData[0]).MRealSurfaceImpedance; MImagSurfaceImpedance = ((MPEData)EstData[0]).MImagSurfaceImpedance; CAbsorption = ((MPEData)EstData[0]).CAbsorption; CRealSurfaceImpedance = ((MPEData)EstData[0]).CRealSurfaceImpedance; CImagSurfaceImpedance = ((MPEData)EstData[0]).CImagSurfaceImpedance; }
public SAClass() { // // TODO: 여기에 생성자 논리를 추가합니다. // Frequency = new ClsData(); Sgraph = new ArrayList(); // List of ClsData TMCalc = new TM.TMclassClass(); }
public MPALayer() { // // TODO: ��� ������ ����� �߰��մϴ�. // MatCollection = new ArrayList(); Frequency = new ClsData(); RigidBacking = new ClsData(); AnechoicTermination = new ClsData(); TransmissionLoss = new ClsData(); TMCalc = new TM.TMclassClass(); }
public MPALayer() { // // TODO: 여기에 생성자 논리를 추가합니다. // MatCollection = new ArrayList(); Frequency = new ClsData(); RigidBacking = new ClsData(); AnechoicTermination = new ClsData(); TransmissionLoss = new ClsData(); TMCalc = new TM.TMclassClass(); }
public void Sum(ClsData NewData) { if (Data.Count == 0) { for (int i = 0; i < NewData.GetCount(); i++) { Data.Add((double)0.0); } } for (int i = 0; i < Data.Count; i++) { Data[i] = (double)Data[i] + NewData.GetData(i); } }
public void Sum(ClsData NewData) { if (Data.Count == 0) { for (int i=0;i<NewData.GetCount();i++) { Data.Add((double)0.0); } } for (int i=0;i<Data.Count;i++) { Data[i] = (double)Data[i] + NewData.GetData(i); } }
public MPEClass() { // // TODO: 여기에 생성자 논리를 추가합니다. // EstData = new ArrayList(); Frequency = new ClsData(); MAbsorption = new ClsData(); MRealSurfaceImpedance = new ClsData(); MImagSurfaceImpedance = new ClsData(); CAbsorption = new ClsData(); CRealSurfaceImpedance = new ClsData(); CImagSurfaceImpedance = new ClsData(); }
public MPEClass() { // // TODO: ��� ������ ����� �߰��մϴ�. // EstData = new ArrayList(); Frequency = new ClsData(); MAbsorption = new ClsData(); MRealSurfaceImpedance = new ClsData(); MImagSurfaceImpedance = new ClsData(); CAbsorption = new ClsData(); CRealSurfaceImpedance = new ClsData(); CImagSurfaceImpedance = new ClsData(); }
public bool InitCalc() { setInitialData(); setFrequency(); Calc(); switch (GraphType) { case 1: Igraph = Rgraph_TL; break; case 2: Igraph = Rgraph_RB; break; default: Igraph = Rgraph_AT; break; } return(true); }
public bool InitCalc() { setInitialData(); setFrequency(); Calc(); switch (GraphType) { case 1: Igraph = Rgraph_TL; break; case 2: Igraph = Rgraph_RB; break; default: Igraph = Rgraph_AT; break; } return true; }
public bool Calc() { if (EstData.Count > 0) { int DataCount =EstData.Count; for (int i=0;i<DataCount;i++) { ((MPEData)EstData[i]).Calc(); Thickness = Thickness + ((MPEData)EstData[i]).Thickness; BulkDensity = BulkDensity + ((MPEData)EstData[i]).BulkDensity; FResist = FResist + ((MPEData)EstData[i]).FResist; SFactor = SFactor + ((MPEData)EstData[i]).SFactor; Porosity = Porosity + ((MPEData)EstData[i]).Porosity; ViscousCL = ViscousCL + ((MPEData)EstData[i]).ViscousCL; ThermalCL = ThermalCL + ((MPEData)EstData[i]).ThermalCL; Ymodulus = Ymodulus + ((MPEData)EstData[i]).Ymodulus; PoissonR = PoissonR + ((MPEData)EstData[i]).PoissonR; LossFactor = LossFactor + ((MPEData)EstData[i]).LossFactor; MAbsorption.Sum(((MPEData)EstData[i]).MAbsorption); MRealSurfaceImpedance.Sum(((MPEData)EstData[i]).MRealSurfaceImpedance); MImagSurfaceImpedance.Sum(((MPEData)EstData[i]).MImagSurfaceImpedance); CAbsorption.Sum(((MPEData)EstData[i]).CAbsorption); CRealSurfaceImpedance.Sum(((MPEData)EstData[i]).CRealSurfaceImpedance); CImagSurfaceImpedance.Sum(((MPEData)EstData[i]).CImagSurfaceImpedance); } Thickness = Thickness/DataCount; BulkDensity = BulkDensity/DataCount; FResist = FResist/DataCount; SFactor = SFactor/DataCount; Porosity = Porosity/DataCount; ViscousCL = ViscousCL*1000000/DataCount; ThermalCL = ThermalCL*1000000/DataCount; Ymodulus = Ymodulus/DataCount; PoissonR = PoissonR/DataCount; LossFactor = LossFactor/DataCount; Frequency = ((MPEData)EstData[0]).Frequency; MAbsorption.Divide(DataCount); MRealSurfaceImpedance.Divide(DataCount); MImagSurfaceImpedance.Divide(DataCount); CAbsorption.Divide(DataCount); CRealSurfaceImpedance.Divide(DataCount); CImagSurfaceImpedance.Divide(DataCount); return true; } else { bool result = false; return result; } }
public bool Calc() { double IncAngleStart; double IncAngleEnd; int IncAngleCount; int k; Rgraph_RB = new ClsData(); Rgraph_AT = new ClsData(); Rgraph_TL = new ClsData(); if (Incidence == 1) { IncAngleStart = 0.1 * Math.Pow(10, -10); IncAngleEnd = IncAngleStart; IncAngleCount = 1; } else { IncAngleStart = 0.5; IncAngleEnd = IncAngle; IncAngleCount = (int)(IncAngle / IncAngleStart); } setInitialData(); setFrequency(); double[,] Rigid = new double[limitfreq, IncAngleCount]; double[,] Anechoic = new double[limitfreq, IncAngleCount]; double[,] TL = new double[limitfreq, IncAngleCount]; for (int i = 0; i < limitfreq; i++) { double freq = Frequency.GetData(i); k = 0; for (double IncAngleTemp = IncAngleStart; IncAngleTemp <= IncAngleEnd; IncAngleTemp = IncAngleTemp + IncAngleStart) { m_tempOut = TMCalc.TMInit(); m_TM = m_tempOut[1]; m_Result = m_tempOut[2]; double theta = IncAngleTemp * Math.PI / 180; switch (MID) { case 5: m_TM = TMCalc.TMLimp(BulkDens, m_c, m_Densityo, FlowRes, freq, Porosity, m_HeatRatio, m_ItaAir, Thick, m_Npr, m_P0, SFactor, ThermalCL * 0.000001, theta, ViscousCL * 0.000001); break; case 6: m_TM = TMCalc.TMRigid(BulkDens, m_c, m_Densityo, FlowRes, freq, Porosity, m_HeatRatio, m_ItaAir, Thick, m_Npr, m_P0, SFactor, ThermalCL * 0.000001, theta, ViscousCL * 0.000001); break; case 7: m_TM = TMCalc.TMElastic(BulkDens, m_c, m_Densityo, Ymodulus, FlowRes, freq, Porosity, m_HeatRatio, m_ItaAir, Thick, LossFactor, m_Npr, PoissionR, SFactor, ThermalCL * 0.000001, theta, ViscousCL * 0.000001); break; } m_Result = TMCalc.TMMul(m_TM, m_Result); m_Out = TMCalc.TMCalc(freq, theta, Thick); if (Incidence == 1) { Rgraph_RB.AddData(double.Parse(m_Out[1].ToString())); Rgraph_AT.AddData(double.Parse(m_Out[2].ToString())); Rgraph_TL.AddData(10 * Math.Log10(1 / double.Parse(m_Out[3].ToString()))); } else { Rigid[i, k] = 2 * double.Parse(m_Out[1].ToString()) * Math.Sin(theta) * Math.Cos(theta); Anechoic[i, k] = 2 * double.Parse(m_Out[2].ToString()) * Math.Sin(theta) * Math.Cos(theta); TL[i, k] = 2 * double.Parse(m_Out[3].ToString()) * Math.Sin(theta) * Math.Cos(theta); } k = k + 1; } } if (Incidence != 1) { double width = IncAngleStart * Math.PI / 180; for (int i = 0; i < limitfreq; i++) { double freq = Frequency.GetData(i); double RigidLast = 0; double AnechoicLast = 0; double TLLast = 0; for (int j = 0; j < (IncAngleCount - 2); j = j + 2) { RigidLast = RigidLast + (width / 3) * (Rigid[i, j] + 4 * Rigid[i, j + 1] + Rigid[i, j + 2]); AnechoicLast = AnechoicLast + (width / 3) * (Anechoic[i, j] + 4 * Anechoic[i, j + 1] + Anechoic[i, j + 2]); TLLast = TLLast + (width / 3) * (TL[i, j] + 4 * TL[i, j + 1] + TL[i, j + 2]); } Rgraph_RB.AddData(RigidLast); Rgraph_AT.AddData(AnechoicLast); Rgraph_TL.AddData(10 * Math.Log10(1 / TLLast)); } } return(true); }
public bool Calc() { double IncAngleStart; double IncAngleEnd; int IncAngleCount; int k; Rgraph_RB = new ClsData(); Rgraph_AT = new ClsData(); Rgraph_TL = new ClsData(); if (Incidence == 1) { IncAngleStart = 0.1*Math.Pow(10,-10); IncAngleEnd = IncAngleStart; IncAngleCount = 1; } else { IncAngleStart = 0.5; IncAngleEnd = IncAngle; IncAngleCount = (int)(IncAngle / IncAngleStart); } setInitialData(); setFrequency(); double[,] Rigid= new double[limitfreq, IncAngleCount]; double[,] Anechoic= new double[limitfreq, IncAngleCount]; double[,] TL= new double[limitfreq, IncAngleCount]; for (int i=0; i<limitfreq;i++) { double freq=Frequency.GetData(i); k = 0; for (double IncAngleTemp = IncAngleStart;IncAngleTemp <= IncAngleEnd; IncAngleTemp = IncAngleTemp + IncAngleStart) { m_tempOut = TMCalc.TMInit(); m_TM = m_tempOut[1]; m_Result = m_tempOut[2]; double theta=IncAngleTemp*Math.PI/180; switch (MID) { case 5: m_TM = TMCalc.TMLimp(BulkDens, m_c,m_Densityo,FlowRes, freq, Porosity, m_HeatRatio,m_ItaAir,Thick,m_Npr,m_P0,SFactor,ThermalCL * 0.000001, theta,ViscousCL * 0.000001); break; case 6: m_TM = TMCalc.TMRigid(BulkDens,m_c,m_Densityo,FlowRes,freq,Porosity,m_HeatRatio,m_ItaAir,Thick,m_Npr,m_P0,SFactor,ThermalCL * 0.000001,theta,ViscousCL * 0.000001); break; case 7: m_TM = TMCalc.TMElastic(BulkDens, m_c, m_Densityo, Ymodulus, FlowRes, freq, Porosity, m_HeatRatio, m_ItaAir, Thick, LossFactor, m_Npr, PoissionR, SFactor, ThermalCL * 0.000001, theta, ViscousCL * 0.000001); break; } m_Result = TMCalc.TMMul(m_TM, m_Result); m_Out = TMCalc.TMCalc(freq, theta, Thick); if (Incidence == 1) { Rgraph_RB.AddData(double.Parse(m_Out[1].ToString())); Rgraph_AT.AddData(double.Parse(m_Out[2].ToString())); Rgraph_TL.AddData(10 * Math.Log10(1 / double.Parse(m_Out[3].ToString()))); } else { Rigid[i, k] = 2 * double.Parse(m_Out[1].ToString()) * Math.Sin(theta) * Math.Cos(theta); Anechoic[i, k] = 2 * double.Parse(m_Out[2].ToString()) * Math.Sin(theta) * Math.Cos(theta); TL[i, k] = 2 * double.Parse(m_Out[3].ToString()) * Math.Sin(theta) * Math.Cos(theta); } k = k+1; } } if (Incidence != 1) { double width = IncAngleStart*Math.PI/180; for (int i=0; i<limitfreq;i++) { double freq=Frequency.GetData(i); double RigidLast = 0; double AnechoicLast = 0; double TLLast = 0; for (int j=0;j<(IncAngleCount-2);j=j+2) { RigidLast = RigidLast + (width/3)*(Rigid[i,j]+4*Rigid[i,j+1]+Rigid[i,j+2]); AnechoicLast = AnechoicLast + (width/3)*(Anechoic[i,j]+4*Anechoic[i,j+1]+Anechoic[i,j+2]); TLLast = TLLast + (width/3)*(TL[i,j]+4*TL[i,j+1]+TL[i,j+2]); } Rgraph_RB.AddData(RigidLast); Rgraph_AT.AddData(AnechoicLast); Rgraph_TL.AddData(10*Math.Log10(1/TLLast)); } } return true; }
public void Cal_Z_Data() { Z_Data = new ClsData(); for(double i = StartValue ; i <= EndValue ; i = i + StepValue) { Z_Data.AddData(i); } }
public MPEData() { // // TODO: ��� ������ ����� �߰��մϴ�. // Frequency = new ClsData(); MAbsorption = new ClsData(); MRealSurfaceImpedance = new ClsData(); MImagSurfaceImpedance = new ClsData(); CAbsorption = new ClsData(); CRealSurfaceImpedance = new ClsData(); CImagSurfaceImpedance = new ClsData(); MeritCalcClass = new MPE.MPEclassClass(); FResistEst = true; SFactorEst = true; ViscousCLEst = true; ThermalCLEst = true; PorosityEst = true; YmodulusEst = true; PoissonREst = true; LossFactorEst = true; }
public SAClass() { // // TODO: ��� ������ ����� �߰��մϴ�. // Frequency = new ClsData(); Sgraph = new ArrayList(); // List of ClsData TMCalc = new TM.TMclassClass(); }