成像代码初始化部分

Posted 曙光晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了成像代码初始化部分相关的知识,希望对你有一定的参考价值。

成像实验代码

数据读入
迭代部分

声明

由于实验的老师特有的查重方式以及计算成绩的方法,所以请不要直接照抄本文的代码。

这里的代码可能会有一些BUG,请大家注意

注:我这里的使用的是C++,VS2019 ,Graph2019,可能之后的版本会不同这里说明一下,说不定等我啥时间闲了,我写个C#版本的。(笑)

代码初始化部分

这里我默认你是已经将数据进行了完整的读入。
首先 计算行列的大小;

这里我先定义一下:
左到右-》0到行
轴上到外壳-》0到列

= 电极内半径网格数+电极内孔边沿到边界处的径向网格数
lin  = M1+M2;


//
行 row= 相邻电极之间划分的步数之和+电极个数(老师文件上写的总网格数N1+N2+....+Nn+n-1,我感觉这个是行数,不想是总网格数)


//之后是开空间
电场的空间大小=  row*lin;

//由于电极孔径内是空的,所以这里初始化时将他们都设为0
for (int i=0;i<lin;i++)

if (i<电极内孔径半径)
for (int j=0;j<row;j++)
		E[j,i]=0;


if (电极内孔径半径<i<电极内孔到边缘的半径)
//这里遇到了电极,所以将电极之间的部分设定为0,
for (int j=前一个电极的位置;j<后一个电极的位置;j++)
E[j,i]=0;


这里再加一个将电极的电位赋予的部分。
这里写一个电极跳转,把j的参数更新。



//注:这里要注意一下荧光屏的位置

if(i==最外面的一行)
		将电极定位
		for(int k = 上一个电极的位置;k<后一个电极的位置;k++)
			for (int x =1;x<N;x++)
			E[k,i]=后一个电极的电位V2-前一个电极的电位V1)/这两个之间的步长N *x
			
		//大致意思就是最外面电极之间的电位是逐渐改变的,有一定的梯度。

注意荧光屏幕
记得电极要跳转,k的参数记得改变





BUG:

上面这个逻辑,大概率是有一些问题,有些细节没有太注意,大家留心。

这里其实也可以写一些关于Z,R轴的坐标问题,我感觉这里其实不算是初始化就没写。
这里我说一下我的思路
loop
Z轴的步长 = 每个电极之间的距离/电极之间对应的步长

R轴步长 = 对应的半径/对应的步长
loop
Z轴坐标 =Z轴每次叠加对应步长之和的结果

loop
R轴坐标 = R轴每次叠加对应步长之和的结果

同样记得关闭空间,记得注意;

大家加油!(这里如此麻烦就2分,不知该说啥,哭)

以上是关于成像代码初始化部分的主要内容,如果未能解决你的问题,请参考以下文章

成像代码初始化部分

成像代码初始化部分

成像代码读入部分

成像代码读入部分

成像代码读入部分

成像代码迭代部分