freefem++ 中的电容

计算科学 pde 有限元 数值分析
2021-12-24 13:01:45

我想用 freefem++ 模拟 2d 中的电容器。这是我使用的代码:

int C0=0;
int C1=1;
int C2=2;


border C01(t=0,4.25){x=t; y=0; label=C0;}
border C02(t=0,2.25){x=4.25; y=t;label=C0;}
border C03(t=4.25,0){x=t; y=2.25; label=C0;}
border C04(t=2.25,0){x=0; y=t; label=C0;}


border C11(t=0.25,0){x=1.75+t; y=0.75; label=C1;}
border C12(t=0,0.75){x=1.75; y=0.75+t; label=C1; }
border C13(t=0,0.25){x=1.75+t; y=1.50;label=C1; }
border C14(t=0,0.75){x=2; y=1.5-t;  label=C1;}


border C21(t=0.25,0){x=2.25+t; y=0.75; label=C2;}
border C22(t=0,0.75){x=2.25; y=0.75+t; label=C2; }
border C23(t=0,0.25){x=2.25+t; y=1.50;label=C2; }
border C24(t=0,0.75){x=2.5; y=1.5-t;  label=C2;}

Th=buildmesh(C01(50)+C02(50)+C03(50)+C04(50)+C11(+20)+C12(+40)+C13(+20)+C14(+40)+C21(+20)+C22(+40)+C23(+20)+C24(+40));


fespace Vh(Th,P2);
Vh uh,vh;

real voltc1=1;
real voltc2=-1;

//1 e -1 volt dirichlet conditions
problem Poisson(uh,vh)=int2d(Th)(dx(uh)*dx(vh)+dy(uh)*dy(vh))+on(C0,uh=0)+on(C1,uh=voltc1)+on(C2,uh=voltc2);

Poisson;

plot(uh,wait=true,fill=true,value=1);


real energy=int1d(Th) ((dx(uh))^2+(dy(uh))^2);

cout<<"Energy (double)"<<endl<<"E =  "<<energy<<endl;

cout<<"Capacitance"<<endl<<"C =  "<<energy/(voltc1-voltc2)^2<<endl;

运行这段代码,它给了我一个 36.319 F 的电容值。这个值可靠吗?使用最简单的公式C=ϵAdA面积和d两个板之间的距离结果是完全不同的。这一切有什么问题?

3个回答

问题之一(代码中的一维集成除外)是您使用的公式对您的测试用例无效。

实际上,您使用的公式是为两个平行板制作的

  • 无限薄
  • 有一个有限的区域

所以,它们应该就像方形汉堡的两片超薄面包。

您用 2D 机箱代表的是两个平行板

  • 厚(0.25厚)
  • 有一个无限的区域,因为你忽略了第三维(所以它就像在那个方向上是无限的)。

所以这个公式不适用。

要检查您的 2D 实现,您最好为同轴电缆创建一个测试(公式在 wiki 上找到),将其限制为 2D 测试用例要容易得多。

同轴网

如果我将新几何形状用于定义如下的同轴外壳:

border C01(t=0,5){x=t; y=0; label=C0;}
border C02(t=0,5){x=5; y=t;label=C0;}
border C03(t=5,0){x=t; y=5; label=C0;}
border C04(t=5,0){x=0; y=t; label=C0;}
border C11(t=0,2*pi){x=2.5+sin(t);y=2.5+cos(t);label=C1;};
border C21(t=0,2*pi){x=2.5+1.1*sin(t);y=2.5+1.1*cos(t);label=C1;};
border C31(t=0,2*pi){x=2.5+0.3*sin(t);y=2.5+0.3*cos(t);label=C2;};

我用相同的代码获得了电容的值C=6.96877F. 我仍然没有看到与wiki中公式的关系......

好的,对于平板电容器,我按照@rchilton1980 的建议使用像这样的新几何形状解决了这个问题。与板的侧面相比,厚度非常小,因此近似值有效,我获得了大约 3 的电容。在此处输入图像描述