Photonics – Chinese

Photonics – Chinese

高斯形状的几何体该如何实现?

    • vision
      Subscriber

      老师,您好,我看到在structure group里有parabola 形状的几何体,我现在想把这个parabola形状修改成gauss形状的,该如何修改呢?

    • Guilin Sun
      Ansys Employee
      可以的,你试一下,不够要注意Unit,脚本里面的都是米,而GUI 里面可能是微米
    • vision
      Subscriber
      孙老师,您好!

      感谢您的回答!

      我根据高斯函数的公式,修改了parapola里代码里的公式,但是运行之后没有相应几何体出现,代码也没有提示错误,不知道是什么原因呢?请您帮我看一下,谢谢!

      高斯公式:

    • vision
      Subscriber
      孙老师,您好!

      感谢您的回答!

      我根据高斯函数的公式,修改了parapola代码里的公式,但是运行之后没有相应几何体出现,代码也没有提示错误,不知道是什么原因呢?请您帮我看一下,谢谢!

      高斯公式:
    • Guilin Sun
      Ansys Employee
      遗憾的是,脚本和软件只检查语法有无错误,但是无法判断你的式子是否正确,你需要检查你的脚本能不能画出来。你可以把脚本拷贝出来,再提供一个x 矩阵,给出其它参数,看看能否画出来高斯形状。你给出的公式是标准正态分布,结果是以米为单位的,你自己手工画一下看看。我不记得脚本能认识Sigma这个希腊字符。
    • vision
      Subscriber
      老师,您好!
      根据您的建议,我根据半圆形的代码修改成高斯形的代码,半圆形的代码只显示了半圆,为何改成高斯形的代码后,高斯形状感觉产生了两个高斯形,并且两个高斯形状在高斯顶相互覆盖了,如何只显示一个高斯形状呢?这种情形该如何修改呢?


    • Guilin Sun
      Ansys Employee
      如果中Z方向,可以通过改变Zmin Zmax 来控制它!请检查你的公式,指数应该是负的吧?我上次指出的问题:这种分布的最大值可不是1,而是反比sigma, Sigma很小,幅值很大,这是你需要的吗?我感觉你不应该将它作为幅值的一部分,仅需要指定最大幅值即可,你要的是高斯分布,而不是完全按高斯公式计算,你可能需要再琢磨一下,你看看这个高度是你需要的吗?

      suppose sigma=0.5e-6:

      Normalized to max=1( you can modify it to proper value for the height, in meter or in um):  
    • vision
      Subscriber
      孙老师,您好!

      感谢您的回复!

      指数确实应该是负的,我需要是图里您画的这种高斯分布的形状,您说不完全按照高斯公式计算,我把sigma去掉,使用下图中公式计算也不对啊,请问您是如何画出上面图里面的高斯分布的形状呢?期待您的回复,谢谢!

    • Guilin Sun
      Ansys Employee
      当然不对,你可能还没有理解我之前图示例子的意义:指数里的Sigma你当然不能去掉;

      高斯函数之前没有系数,表示最大值是1,在坐标里代表1米!你需要将其最大值设置为需要的高度。

      在用表示式定义曲面之前,你先给定,都在微米范围,看看高度Y是什么数值,你想要什么数值。下面是我的脚本。

      x=linspace(-1,1,100)*1e-6;

      sigma=0.5e-6;

      y=(1/sigma/sqrt(2*pi))*exp(-x^2/(2*sigma^2));

      sigma=0.5*sigma;

      y2=(1/sigma/sqrt(2*pi))*exp(-x^2/(2*sigma^2));

      plot(x*1e6,y,y2,"x um","Y","Gaussian normal distribution");

      legend("sigma","sigma/2");

      y=exp(-x^2/(2*sigma^2));

      sigma=0.5*sigma;

      y2=exp(-x^2/(2*sigma^2));

      plot(x*1e6,y,y2,"x um","Y","Gaussian normal distribution");

      legend("sigma","sigma/2");

      以y2=exp(-x^2/(2*sigma^2))为例,其最大值为1,就是1米,你希望这样的高度y2吗?所以你需要先考虑好,先用一般脚本画出曲线,理解是什么意思,在用自定义形状。

      请再琢磨一下,把前面的回复都再看一遍,看看哪里没有理解,要动手测试看看。
Viewing 8 reply threads
  • You must be logged in to reply to this topic.