#include <stdio.h>
#include <iostream>
#include <complex>
using namespace std;
// CCPR的相对介电常数的计算
complex<double> Permittivity()
{
complex<double> rel_permt; // 相对介电常数
complex<double> J_angular_f(0, 6e14); // 角频率
complex<double> rel_permt_inf(1.000136193409153, 0); // 无穷大频率处的介电常数
complex<double>pole[16] = {complex<double>(-0.00312e10, 0), complex<double>(-200.59e10, 0), complex<double>(-634.39e10, 45573.16e10),
complex<double>(-634.39e10, -45573.16e10), complex<double>(-268.77e10, 45577.49e10), complex<double>(-268.77e10, -45577.49e10),
complex<double>(-1656.60e10, 45549.18e10), complex<double>(-1656.60e10, -45549.18e10), complex<double>(-4240.01e10, 45410.81e10),
complex<double>(-4240.01e10, -45410.81e10), complex<double>(-10436.59e10, 44590.35e10), complex<double>(-10436.59e10, -44590.35e10),
complex<double>(-23992.76e10, 39948.55e10), complex<double>(-23992.76e10, -39948.55e10), complex<double>(-44308.45e10, 19512.16e10),
complex<double>(-44308.45e10, -19512.16e10)};
complex<double>pole_conj[16] = {complex<double>(-0.00312e10, 0), complex<double>(-200.59e10, 0), complex<double>(-634.39e10, -45573.16e10),
complex<double>(-634.39e10, 45573.16e10), complex<double>(-268.77e10, -45577.49e10), complex<double>(-268.77e10, 45577.49e10),
complex<double>(-1656.60e10, -45549.18e10), complex<double>(-1656.60e10, 45549.18e10), complex<double>(-4240.01e10, -45410.81e10),
complex<double>(-4240.01e10, 45410.81e10), complex<double>(-10436.59e10, -44590.35e10), complex<double>(-10436.59e10, 44590.35e10),
complex<double>(-23992.76e10, -39948.55e10), complex<double>(-23992.76e10, 39948.55e10), complex<double>(-44308.45e10, -19512.16e10),
complex<double>(-44308.45e10, 19512.16e10)};
complex<double>rsd[16] = {complex<double>(9952097.03e11, 0), complex<double>(-9951904.03e11, 0), complex<double>(289.31e11, 8042917.82e11),
complex<double>(289.31e11, -0.3103e11), complex<double>(87.82e11, 0.2360e11), complex<double>(87.82e11, -0.2360e11), complex<double>(760.08e11, -3.425e11),
complex<double>(760.08e11, 3.425e11), complex<double>(1880.59e11, -32.97e11), complex<double>(1880.59e11, 32.97e11), complex<double>(4442.37e11, -180.72e11),
complex<double>(4442.37e11, 180.72e11), complex<double>(9712.91e11, -642.52e11), complex<double>(9712.91e11, 642.52e11), complex<double>(17090.80e11, -771.90e11),
complex<double>(17090.80e11, 771.90e11)};
complex<double>rsd_conj[16] = {complex<double>(9952097.03e11, 0), complex<double>(-9951904.03e11, 0), complex<double>(289.31e11, -8042917.82e11),
complex<double>(289.31e11, 0.3103e11), complex<double>(87.82e11, -0.2360e11), complex<double>(87.82e11, 0.2360e11), complex<double>(760.08e11, 3.425e11),
complex<double>(760.08e11, -3.425e11), complex<double>(1880.59e11, 32.97e11), complex<double>(1880.59e11, -32.97e11), complex<double>(4442.37e11, 180.72e11),
complex<double>(4442.37e11, -180.72e11), complex<double>(9712.91e11, 642.52e11), complex<double>(9712.91e11, -642.52e11), complex<double>(17090.80e11, 771.90e11),
complex<double>(17090.80e11, -771.90e11)};
for (int i = 0; i < 16; i++)
{
rel_permt += rsd[i] / (J_angular_f - pole[i]) + rsd_conj[i] / (J_angular_f - pole_conj[i]);
}
return rel_permt + rel_permt_inf;
}
int main()
{
complex<double> Per = Permittivity();
double Per_real = Per.real();
double Per_imag = Per.imag();
cout << Per << endl;
return 0;
}
求CCPR中介电常数。
最新推荐文章于 2022-03-02 22:52:27 发布