一种仿真实现光纤激光器设计的方法与流程

文档序号:20687087发布日期:2020-05-08 18:54阅读:627来源:国知局
一种仿真实现光纤激光器设计的方法与流程

本发明涉及仿真领域,尤其涉及一种仿真实现光纤激光器设计的方法。



背景技术:

光纤激光器具有体积小、重量轻、增益高、效率高、性能稳定、光束质量好、维护简单、可长距离传输、容易实现高输出功率等优点,在印字、打标、金属焊接、先进加工制造等领域得到广泛应用。

目前,国内光纤激光器市场主要集中在中低功率领域。现有的用于光纤激光器设计的专业仿真软件主要有美国恩耐公司的liekkiapplicationdesigner(lad)、德国rpphotonics公司的rpfiberpower。lad界面友好,使用简单,不需要进行代码编写,但自2008年liekki被恩耐公司收购以后,该软件没有新版本推出,并且无法安装在64位环境下,难以满足光纤激光器快速发展的应用要求。rpfiberpower功能强大,但界面不友好,需要二次编程,对于使用者来讲,使用难度较大。

基于此,企业、研究机构往往自主研发仿真光纤激光器设计的软件。目前主要有两种实现方案,一种方案是:如图1所示,用户先确定仿真光纤激光器的特定结构,在代码中提前输入仿真模型的参数,按照特定结构对各个器件依次建模。之后,再用代码绘制仿真计算出的功率、光谱、时域等参数。如果更改参数或者调整激光器结构,需要重新编写或者调整代码。该方案的缺点是代码需要对用户开源,用户需要对代码基本框架有一定的了解,在改变激光器结构时,需要重新对代码块结构进行调整。在需要修改基本参数时,要在对应的代码块中进地修改。很容易造成遗漏或者出错。另一种实现方案是:如图2所示,使用代码块及用户界面仿真实现光纤激光器。用户将数据填充至交互式表单中,对于简单系统或特定设定结构,可直接执行运算。但对于较为复杂的模型,则需要根据编程语言规定的函数接口进行脚本语言编写。在需要更改参数或者调整激光器结构时,需要在表单中重新输入参数或者改写gui代码和脚本,该方案可以不向用户提供开源代码。该方案的缺点是如果需要实现复杂模型,需要对用户提供函数实现接口,可扩展性和便捷性较差。



技术实现要素:

为解决上述技术问题,本发明提出了一种仿真实现光纤激光器设计的方法及装置,所述方法及装置,用以解决现有技术中在改变激光器结构或参数时,需要编写代码块、以及可扩展性和便捷性较差的技术问题。

根据本发明的第一方面,提供一种仿真实现光纤激光器设计的方法,所述方法基于仿真实现光纤激光器设计的系统实现,所述仿真实现光纤激光器设计的系统自上而下具有应用层、功能层、模型层、算法层、基础层;其特征在于,所述方法包括:

步骤s601:用户向tve的交互框架发送消息,所述消息指示用于建立工程;

步骤s602:逐次加入各个光纤元器件基础模型,并建立所述各个光纤元器件的连接关系,形成仿真系统;同时,设置所述各个光纤元器件基础模型及所述仿真系统的参数;

步骤s603:对所述仿真系统进行拓扑分析及验证,若验证通过,进入步骤s604;若否,方法结束;

步骤s604:用户向所述tve的交互框架发送运行命令,由所述仿真实现光纤激光器设计的系统分析所述仿真系统的配置结构,针对所述仿真系统的各个光纤元器件选择相应的算法模型,以对所述仿真系统进行仿真计算;

步骤s605:对仿真结果进行可视化分析和存储。

进一步地,所述步骤s602:逐次加入各个光纤元器件基础模型,并建立所述各个光纤元器件的连接关系,形成仿真系统;同时,设置所述各个光纤元器件基础模型及所述仿真系统的参数,包括:

所述光纤元器件在所述仿真实现光纤激光器设计的系统中,实际是一个结构化的xml文件,所述xml文件包括名称、模块类型、界面类型、上行输入输出接口、下行输入输出接口、另方输入输出接口、初始化参数列表、图标路径、对齐方式、反转信息。

进一步地,所述对所述仿真系统进行拓扑分析及验证,包括:

步骤s1001:初始化拓扑节点,分析并加入各个元器件的前后向连接元器件的关系;

步骤s1002:对于特定输入输出元器件进行上下行分光路处理,所述特定输入输出元器件是指端口分列在两端,且包含了两种数据流向的器件;

步骤s1003:进行拓扑排序;

步骤s1004:进行拓扑归类;所述归类是将算法层的光纤速率方程模型中所需要的元件归为关联元件来处理;

步骤s1005:判断所述仿真系统的各个光纤元器件是否正确连接;若是,进入步骤s1006,若否,进入步骤s1008;

步骤s1006:验证所述仿真系统的各个光纤元器件的数据流是否正确;若是,进入步骤s1007;若否,进入步骤s1008;

步骤s1007:验证通过,方法结束;

步骤s1008:验证未通过,方法结束。

进一步地,所述步骤s1003拓扑排序包括:

步骤s1101:将没有前置节点的元器件加入队列q;

步骤s1102:判断所有元器件是否都处理完毕,若是,方法结束;若否,进入步骤s1103;

步骤s1103:将队列q中未处理的元件的后置元件a加入队列中;

步骤s1104:扫描所述元器件a的后置元器件列表;

步骤s1105:按如下规则处理所述元器件a的后置元器件列表的全部后置元器件,进入步骤s1102;所述规则为:若所述元器件a的某个后置元器件b已经在队列q中,则无需再处理b;若某个后置元器件c的所有前置元件均已加入队列q,则将该元器件c加入队列q;若某个后置元器件d有前置元件沿未处理,则暂不处理该该后置元器件d。

进一步地,所述步骤s1004拓扑排序包括:

步骤s1201:分析腔内增益光纤两端数据流;

步骤s1202:判断有无光栅元器件;若有,进入步骤s1203;若否,进入步骤s1205;

步骤s1203:将光栅和光栅之间的增益光纤作为关联元件;

步骤s1204:归类为振荡器结构,使用振荡器模型;

步骤s1205:归类为放大器结构,使用放大器模型。

进一步地,所述对所述仿真系统进行仿真计算包括:

步骤s1301:建立速率方程模型;

所述速率方程模型具有多个泵浦波长、多个波长输出;泵浦波长用λp、信号波长用λs表示,考虑能级2到能级4的跃迁几率σ24为0,则可用于计算机数值模拟的速率方程的离散形式为:

n=n1(z)+n2(z)(1.4)

其中为自发辐射功率;c为光速,c=2.99792458×108m/s;

为普朗克常数,n0为总的掺杂离子浓度;

n1为基态掺杂离子浓度;n2为激发态掺杂离子浓度;为第m个泵浦光的波长;为第m个泵浦光的波长;为第n个信号光的波长;δλ为离散波长间隔;为第m个波长泵浦光的频率;为第n个波长信号光的频率;

代表第m个泵浦波长正、反向功率;代表第n个信号波长正、反向功率;为第m个泵浦(p)波长的吸收和发射截面;为第n个信号(s)波长的吸收和发射截面;代表第m个泵浦波长(p)吸收、发射截面;代表第n个信号波长(s)吸收、发射截面;代表第m个泵浦(p)波长、第n个信号(s)波长的损耗系数;对于nufern光纤,是2db/km;aeff有效模式面积:

γp、γs为泵浦光和信号光的光场模式与掺杂离子区域的重叠因子。

步骤s1302:确定振荡器初始/边界条件;

考虑激光器正向泵浦功率为反向泵浦功率为那么高反射光栅和低反射光栅的反射率分别为则:

信号光边界条件为:

z=0处,波长的正向信号功率为反向功率与高反射光栅对该波长反射率之乘积:

z=l处,波长的反向信号功率为正向功率与输出耦合光栅对该波长反射率之乘积:

这里,反射率都是关于波长的函数,波长范围可以覆盖泵浦光和信号光;

泵浦光边界条件为:

z=0处,正向注入泵浦功率总功率为正向注入泵浦功率与反射的反向注入功率之和:

z=l处,反向注入泵浦功率总功率为反向注入泵浦功率与反射的正向泵浦功率之和:

那么,即激光器的边界条件为:

公式(1.10)-(1.13)为完善的激光器边界条件。

步骤s1303:确定放大器边界条件;

对于放大器,不考虑放大器的端面反射,边界条件如下:

信号光边界条件:

z=0处,不同激光波长正向注入功率为边界条件为:

z=l处,不同激光波长反向注入功率为边界条件为:

泵浦光边界条件:

z=0处,不同泵浦波长正向注入功率为边界条件为:

z=l处,不同泵浦波长反向注入功率为边界条件为:

步骤s1304:确定振荡器、放大器统一边界条件;

放大器和激光器对于信号光和泵浦光都存在一定反馈,也就是说放大器中对信号和泵浦光的反馈都存在,只是反射率较小;考虑双端泵浦情况下,泵浦光、信号光均存在反射,振荡器、放大器的统一初始条件、边界条件描述如下。

初始条件:

边界条件:

步骤s1305:使用计算机差分法求解速率方程。

进一步地,所述步骤s1305:使用计算机差分法求解速率方程,包括:

步骤s1401:考虑到泵浦光按指数衰减的规律,给出后向泵浦光在光纤内的分布,即以此作为后向泵浦光的估计初值;

对于正向泵浦功率随光纤长度的分布,随光纤长度的分布正向泵浦功率为用ppf表示,所述ppf中的三个字母分别代表power,pump,forward,forward表示正向泵浦功率;

对于反向泵浦功率随光纤长度的分布,随光纤长度的分布反向泵浦功率为用ppb表示,所述ppb中的三个字母分别代表power,pump,backward,backward表示反向泵浦功率;

对于正向信号功率随光纤长度的分布,随光纤长度的分布正向信号功率为用psf表示,所述psf中的三个字母分别代表power,signal,forward;signal此处表示正向信号功率;

对于反向信号功率随光纤长度的分布,随光纤长度的分布反向信号功率为用psb表示,所述psb中的三个字母分别代表power,signal,backward;

对于基态粒子数目,记为n1(z),是公式(1.1)中的项,用于代表基态粒子数,以下用n1表示;

对于激发态粒子数目,记为n2(z),是公式(1.1)中的项,用于表示激发态粒子数数目,n2f表示正向计算反转粒子数,n2b表示反向计算反转粒子数;

步骤s1402:计算正向参数;

步骤s1403:计算反向参数;

步骤s1404:判断正反向参数差异是否小于给定值,如果是,进入步骤s1405;如果否,进入步骤s1402;

步骤s1405:输出计算结果。

进一步地,所述步骤s1402:计算正向参数,包括:

步骤s14021:设置光纤长度及步进值,确定分段点数为kmax;ki表示沿着光纤长度的分段点,初始化ki=1,计算初始条件psf(ki),psb(ki),ppf(ki)和ppb(ki);

步骤s14022:将psf(ki),psb(ki),ppf(ki)和ppb(ki)代入公式(1.1)n2的表达式,得到n2f(ki);

步骤s14023:将n2f(ki)代入泵浦光迭代公式(1.2)计算出ppf(ki+1),ppb(ki+1);将n2f(ki)代入信号光迭代公式(1.3)计算出psf(ki+1),psb(ki+1),即得到ppf(ki+1),psf(ki+1),ppb(ki+1),psb(ki+1);

步骤s14024:将ki赋值为ki+1,判断ki是否大于kmax;若是,计算正向参数完成;若否,进入步骤s14022。

进一步地,所述步骤s1403:计算反向参数,包括:

步骤s14031:获取所述光纤长度及步进值,确定分段点数为kmax,将ki赋值为kmax,获取计算正向参数时获得的ppf(ki),psf(ki),ppb(ki),psb(ki)作为初始值;

步骤s14032:将ppf(ki),psf(ki),ppb(ki),psb(ki)代入公式(1.1)n2的表达式,得到n2b(n_l+1-ki);

步骤s14033:将n2b(n_l+1-ki)代入光迭代公式(1.2)和信号光迭代公式(1.3),得到ppf(n_l+1-ki),psf(n_l+1-ki),psb(n_l+1-ki);

步骤s14034:将ki赋值为ki-1,判断ki是否大于0;若是,进入步骤s14032;若否,反向参数计算完成。

根据本发明的上述方案,通过设置器件关键参数,得到系统输出功率曲线和光谱曲线,预先对实验效果进行估计,提高实验的针对性和准确性,节省成本和研发效率。同时,针对光纤激光仿真系统中所涉及的数值计算,主要以矩阵运算和数值迭代运算为主,仿真计算方案中需要对并行程序的性能因素进行分析,并针对不同因素设计对应的优化策略,采用并行加速、高性能计算库,可以提高仿真运算效率和精度。在改变激光器结构或参数时,不需要编写代码块、具有较好的可扩展性和便捷性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:

图1为现有技术基于代码块实现光纤激光器设计的方法;

图2为现有技术基于代码块及用户界面实现光纤激光器设计的方法;

图3为本发明一个实施方式的仿真实现光纤激光器设计的系统的总体架构图;

图4为本发明一个实施方式的仿真系统的元器件连接规则示意图;

图5为本发明的仿真实现光纤激光器设计的方法流程图;

图6为本发明仿真实现光纤激光器设计的系统与用户的整体协作图;

图7为本发明仿真实现光纤激光器设计的系统中每个元器件的xml文件结构图;

图8为本发明仿真实现光纤激光器设计的系统中仿真系统的xml文件结构图;

图9为本发明仿真实现光纤激光器设计的仿真系统的拓扑分析及验证的流程图;

图10为本发明一个实施方式的拓扑排序流程图;

图11为本发明一个实施方式的拓扑归类流程图;

图12为一种典型的光纤激光器的基本结构;

图13为本发明一个实施方式的差分法求解速率方程的流程图;

图14为本发明一个实施方式向用户展示结果的流程图;

图15为本发明一个实施方式的仿真实现光纤激光器设计的系统部署图;

图16为本发明光纤激光放大器的基本结构示意图;

图17为本发明光纤激光放大器的仿真设计图;

图18示出了对光纤激光放大器仿真系统进行仿真计算的方法流程图;

图19为本发明光纤激光振荡器的基本结构示意图;

图20为本发明光纤激光振荡器的仿真设计图;

图21示出了对光纤激光振荡器仿真系统进行仿真计算的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

定义:

sfl:seefiberlaser,see系列光纤激光仿真软件;

tve:tempusvisualenvironment,可视化环境;

gui:graphicaluserinterface,图形用户接口;

xml:extendedmarkuplanguage,扩展标记语言。

首先结合图3说明本发明的仿真实现光纤激光器设计的系统的总体架构,图3示出了根据本发明的一个实施方式的仿真实现光纤激光器设计的系统的总体架构图。如图3所示:

所述仿真实现光纤激光器设计的系统,自上而下具有应用层、功能层、模型层、算法层、基础层。

所述应用层提供图形化仿真界面和可视化交互环境,并向用户提供系统编辑界面。

本发明的系统编辑界面包括标题栏、菜单栏、工具栏、元件与系统区、系统编辑区、属性设置区、模块参数编辑界面和信息提示区。

所述标题栏用于显示仿真实现光纤激光器设计的系统建立的文件名等基本信息。

所述菜单栏包括文件、编辑、执行、视图和帮助菜单。其中文件菜单还包括新建、打开子系统、查看结果、保存、另存为、退出子菜单;编辑菜单还包括复制、粘贴、删除、全选子菜单;视图菜单包括显示风格、皮肤子菜单;帮助菜单包括帮助文档、版权信息、开发人员子菜单。

所述工具栏提供了新建、打开、保存、复制、粘贴、撤销、恢复、删除、执行、帮助、左对齐、左右居中、右对齐、顶对齐、上下居中、底对齐。

所述元件与系统区由基础元件库、仿真系统、我的系统三个标签栏组成。其中,基础元件库包含了光纤激光器所含的常用元器件。仿真系统包含内置常用激光器仿真系统。我的系统用于存储用户自己建立的仿真系统。

所述系统编辑区是放置基础元件、连接搭建仿真系统、设置系统参数的区域。其中,基础元件界面按照基础元件类型进行归类,并以能代表其物理意义的图标辅以文字图形化显示,方便用户调用和管理模型。

所述属性设置区用于设置或显示系统全局仿真参数,显示选中器件的参数。

所述模块参数编辑界面用于设置选中元器件的模块参数。

所述信息提示区用于显示系统运行时的进度和提示信息。

进一步地,所述仿真系统具有多种操作方式,包括拖拽元件、编辑界面参数、元器件连接、保存子系统以及运行仿真系统。

所述拖拽元件操作是用户从基础元件库中将所需的元件拖拽放置入系统编辑区,为搭建系统做好准备。

所述编辑界面参数操作是对各个元件的参数设置对话框,用户设置参数后保存数据。

所述元器件连接操作是用户对一个元器件的输入输出端口按照光纤传输方向连接到另一个元器件的输出或输入端口。

所述保存子系统操作是用户完成设计操作后,将所述仿真系统保存起来,以文件的形式保存所述仿真系统。可以将该文件保存到我的系统或仿真系统目录下,以便以后再需要使用该仿真系统时,直接在元件与系统区进行调用。

所述运行仿真系统操作是系统搭建完毕后,执行运行模拟光在光纤中传输过程。

仿真系统中所有元器件的光在光纤中传输的数据流向与实际的元器件相对应。可以在仿真系统的仿真图标的两侧预置连接端口,所述连接端口可以为菱形或三角形。在器件按照默认方向放置时,端口分为如下三类:

三角指向元器件内部,表示数据输入端口;

三角指向元器件外部,表示数据输出端口;

菱形,表示双向数据端口,数据可以输入、也可以输出。

以下结合图4说明本发明仿真系统的元器件连接规则。

可以连接:菱形或三角表示的方向相同,沿着数据流动方向可以连接;

禁止连接:菱形或三角表示的方向相反,与数据流动反向不可连接。

该应用层采用界面图形化、器件模块化、参数表格化、结果可视化的设计理念,能够提高设计效率,可以更好地为光纤激光理论研究、工程实验、工业加工、非线性效应研究、光纤设计以及科学研究提供帮助。

所述功能层根据不同光源体制设计要求,进行连续和脉冲光纤激光器结构的设计。

所述模型层采用模块化思路,在可视化平台下,将光纤激光器内部所需的有源或无源的各个元器件按照实际需求结构依次连接起来。用户可以自行编辑各元件的属性参数,设计的光纤激光器结构实际是一个xml文件,该xml包含了各个元器件的参数和连接关系。

所述算法层由用户提交计算任务,即对设计的光纤激光器进行仿真运算。能够按照元件类型,选择不同的算法模型。例如,利用速率方程通过迭代计算的方式,计算激光谐振腔、放大器内部的增益光纤、传能光纤具备激光发射和吸收能力。

所述基础层,集成有算法层需要用到的各种矩阵运算、复数运算、第三方数值计算库调用、并行计算环境等。

图5为本发明的仿真实现光纤激光器设计的方法流程图,图6示出了本发明仿真实现光纤激光器设计的系统与用户的整体协作图。以下结合图5-6说明本发明的仿真实现光纤激光器设计的方法。

所述方法基于仿真实现光纤激光器设计的系统实现,所述仿真实现光纤激光器设计的系统自上而下具有应用层、功能层、模型层、算法层、基础层;

所述方法包括:

步骤s601:用户向tve的交互框架发送消息,所述消息指示用于建立工程;

步骤s602:逐次加入各个光纤元器件基础模型,并建立所述各个光纤元器件的连接关系,形成仿真系统;同时,设置所述各个光纤元器件基础模型及所述仿真系统的参数;

步骤s603:对所述仿真系统进行拓扑分析及验证,若验证通过,进入步骤s604;若否,方法结束;

步骤s604:用户向所述tve的交互框架发送运行命令,由所述仿真实现光纤激光器设计的系统分析所述仿真系统的配置结构,针对所述仿真系统的各个光纤元器件选择相应的算法模型,以对所述仿真系统进行仿真计算;

步骤s605:对仿真结果进行可视化分析和存储。

如图6所示,用户可以在tve的运行框架下进行仿真的循环迭代以及监控仿真的中间过程数据。

所述步骤s601:用户向tve的交互框架发送消息,所述消息指示用于建立工程,包括:

用户在建立工程阶段,通过向tve的交互框架发送新建工程或打开工程的消息用于建立工程。

所述步骤s602:逐次加入各个光纤元器件基础模型,并建立所述各个光纤元器件的连接关系,形成仿真系统;同时,设置所述各个光纤元器件基础模型及所述仿真系统的参数,包括:

所述光纤元器件在所述仿真实现光纤激光器设计的系统中,实际是一个结构化的xml文件。

如图7所示,所述xml文件包括名称、模块类型、界面类型、上行输入输出接口、下行输入输出接口、另方输入输出接口、初始化参数列表、图标路径、对齐方式、反转等信息。

名称/英文名称/繁体名称表示不同语种下元器件名称,如果元器件重命名,名字则相应改动。

模块类型表示元器件调用的计算类的名字。

界面类型表示元器件界面属性操作调用界面类的名字。

上行/下行/另方输入输出接口表示元器件数据流的不同传输方向(默认上行是正向为1,下行是反向为0,另方是向下为2)。其中,输入/出参数列表定义元器件输入/出接口的名称和类型。

初始化参数列表定义了元器件界面属性参数的详细定义,包括名称、类型、参数值、范围等。

分类类别/英文分类类别表示不同语种下的元器件类别属性。

图标路径表示每个元器件可以用表示其物理意义的图片所在的路径位置。

所述步骤s603:对所述仿真系统进行拓扑分析及验证,若验证通过,进入步骤s604;若否,方法结束;包括:

在用户建立所述各个光纤元器件的连接关系,形成仿真系统后,所述仿真系统具有该各个光纤元器件通过连线构成的拓扑结构。由多个光纤元器件组成了所述仿真系统的xml文件,图8示出了所述仿真系统的xml文件结构。

拓扑关系表示了各个元器件直接的连接关系和数据流向。其中输入/出模块id即连线末/始端(即模块的输入/出端)所对应的元器件id。输入/出模块参数表示连线的输入/出端的接口名字。输入/出口正向默认都是1,如果输入/出模块是下行则为0。输入/出口左边表示连线的输入/出端在元器件的左边为1,右边为0。输入/出通道次序表示有多个通道的元件(如前后向泵浦信号合束器),连线的输入/出端连入/出了几个通道(对于普通元件参数为0,对于多通道通道次序依次为0,1,2…)。

对于一个完整的仿真过程来说,数据流必须从第泵浦或者种子等有源器件开始,逐个转递前后连接器件的数据流,并将整个子系统拓扑排序。以下是仿真系统拓扑分析及验证的流程图,如图9所示。包括:

步骤s1001:初始化拓扑节点,分析并加入各个元器件的前后向连接元器件的关系;

步骤s1002:对于特定输入输出元器件进行上下行分光路处理;

所述特定输入输出元器件是指端口分列在两端,且包含了两种数据流向的器件。本实施例中的特定输入输出元器件包括但不限于双向泵浦结构中,后向泵浦信号合束器和其和增益光纤之间的被动光纤需要分上下行分光路处理的光路。

步骤s1003:进行拓扑排序;

步骤s1004:进行拓扑归类;所述归类是将算法层的光纤速率方程模型中所需要的元件归为关联元件来处理;

步骤s1005:判断所述仿真系统的各个光纤元器件是否正确连接;若是,进入步骤s1006,若否,进入步骤s1008;

本实施例中,一般仿真系统中必须有种子源的放大器结构或者有光栅的振荡器结构。进而确定仿真系统的各个光纤元器件是否正确连接。

步骤s1006:验证所述仿真系统的各个光纤元器件的数据流是否正确;若是,进入步骤s1007;若否,进入步骤s1008;

本实施例中,通过判断元器件是否所有输入都连接好,是否有输入输出没有连接等方式,判断各个光纤元器件的数据流是否正确。

步骤s1007:验证通过,方法结束;

步骤s1008:验证未通过,方法结束。

至此,一个完整的仿真系统的所有元器件的拓扑关系和数据流整理完毕。

图10示出了拓扑排序流程图,如图10所示,所述步骤s1003拓扑排序包括:

步骤s1101:将没有前置节点的元器件加入队列q;

步骤s1102:判断所有元器件是否都处理完毕,若是,方法结束;若否,进入步骤s1103;

步骤s1103:将队列q中未处理的元件的后置元件a加入队列中;

步骤s1104:扫描所述元器件a的后置元器件列表;

步骤s1105:按如下规则处理所述元器件a的后置元器件列表的全部后置元器件,进入步骤s1102;所述规则为:若所述元器件a的某个后置元器件b已经在队列q中,则无需再处理b;若某个后置元器件c的所有前置元件均已加入队列q,则将该元器件c加入队列q;若某个后置元器件d有前置元件沿未处理,则暂不处理该该后置元器件d。

图11示出了拓扑归类流程图,如图11所示,所述步骤s1004拓扑归类包括:

步骤s1201:分析腔内增益光纤两端数据流;

步骤s1202:判断有无光栅元器件;若有,进入步骤s1203;若否,进入步骤s1205;

步骤s1203:将光栅和光栅之间的增益光纤作为关联元件;

步骤s1204:归类为振荡器结构,使用振荡器模型;

步骤s1205:归类为放大器结构,使用放大器模型。

图12示出了典型光纤激光器的基本结构。如图12所示,

两个具有一定反射率的光栅构成激光器谐振腔,泵浦光从两段注入,信号光和泵浦光在谐振腔内来回传播。而功率方程和能级粒子数需要采用光纤速率方程来描述。同时考虑光纤激光振荡器和放大器,仅考虑光束在增益光纤及与增益光纤边界相关器件中的传播,仿真模型里可以认为放大器中也有两个光栅,在放大器中光栅的反射率为0。

本实施例按照模块化思路进行算法层仿真。具体地,所述步骤s604:用户向所述tve的交互框架发送运行命令,由所述仿真实现光纤激光器设计的系统分析所述仿真系统的配置结构,针对所述仿真系统的各个光纤元器件选择相应的算法模型,以对所述仿真系统进行仿真计算;包括:

步骤s1301:建立速率方程模型;

本实施例的方程模型为不考虑含时的、仅考虑自发辐射和背景损耗的稳态模型。所述速率方程模型具有多个泵浦波长、多个波长输出。泵浦波长用λp、信号波长用λs表示,考虑能级2到能级4的跃迁几率σ24一般为0,则可用于计算机数值模拟的速率方程的离散形式为:

n=n1(z)+n2(z)(1.4)

其中为自发辐射功率;c为光速,c=2.99792458×108m/s;

为普朗克常数,n0为总的掺杂离子浓度;

n1为基态掺杂离子浓度;n2为激发态掺杂离子浓度;为第m个泵浦光的波长;为第m个泵浦光的波长;为第n个信号光的波长;δλ为离散波长间隔;为第m个波长泵浦光的频率;为第n个波长信号光的频率;公式(1.5)计算的是自发辐射功率。

代表第m个泵浦波长正、反向功率;代表第n个信号波长正、反向功率;为第m个泵浦(p)波长的吸收和发射截面;为第n个信号(s)波长的吸收和发射截面;代表第m个泵浦波长(p)吸收、发射截面;代表第n个信号波长(s)吸收、发射截面;代表第m个泵浦(p)波长、第n个信号(s)波长的损耗系数;一般:对于nufern光纤,一般是2db/km;aeff有效模式面积:

γp、γs为泵浦光和信号光的光场模式与掺杂离子区域的重叠因子。

步骤s1302:确定振荡器初始/边界条件;

考虑激光器正向泵浦功率为反向泵浦功率为那么高反射光栅和低反射光栅的反射率分别为则:

信号光边界条件为:

z=0处,波长的正向信号功率为反向功率与高反射光栅对该波长反射率之乘积:

z=l处,波长的反向信号功率为正向功率与输出耦合光栅对该波长反射率之乘积:

这里,反射率都是关于波长的函数,波长范围可以覆盖泵浦光和信号光。

泵浦光边界条件为:

z=0处,正向注入泵浦功率总的功率为第m个泵浦波长的泵浦功率为正向注入泵浦功率与反射的反向注入功率之和:

z=l处,反向注入泵浦功率总功率第m个泵浦波长反向泵浦功率与反射的正向泵浦功率之和:

那么,即激光器的边界条件为:

公式(1.10)-(1.13)为完善的激光器边界条件。

步骤s1303:确定放大器边界条件;

对于放大器,不考虑放大器的端面反射,边界条件如下:

信号光边界条件:

z=0处,不同激光波长正向注入功率为边界条件为:

z=l处,不同激光波长反向注入功率为边界条件为:

泵浦光边界条件:

z=0处,不同泵浦波长正向注入功率为边界条件为:

z=l处,不同泵浦波长反向注入功率为边界条件为:

步骤s1304:确定振荡器、放大器统一边界条件;

放大器和激光器对于信号光和泵浦光都存在一定反馈,也就是说放大器中对信号和泵浦光的反馈都存在,只是反射率较小;考虑双端泵浦情况下,泵浦光、信号光均存在反射,振荡器、放大器的统一初始条件、边界条件描述如下。

初始条件:

边界条件:

步骤s1305:使用计算机差分法求解速率方程,包括:

图13示出了差分法求解速率方程的流程图。如图13所示,

步骤s1401:考虑到泵浦光按指数衰减(即信号光按照指数规律增加)的规律,给出泵浦光在光纤内的分布,即以此作为泵浦光的估计初值;

对于正向泵浦功率随光纤长度的分布,随光纤长度的分布正向泵浦功率为用ppf表示,所述ppf中的三个字母分别代表power,pump,forward,forward表示正向泵浦功率;

为对应公式(1.2)中的项;

对于反向泵浦功率随光纤长度的分布,随光纤长度的分布反向泵浦功率为用ppb表示,所述ppb中的三个字母分别代表power,pump,backward,backward表示反向泵浦功率;

为对应公式(1.2)中的项;

对于正向信号功率随光纤长度的分布,随光纤长度的分布正向信号功率为用psf表示,所述psf中的三个字母分别代表power,signal,forward;signal此处表示正向信号功率;

为对应公式(1.3)中的项;

对于反向信号功率随光纤长度的分布,随光纤长度的分布反向信号功率为用psb表示,所述psb中的三个字母分别代表power,signal,backward;

为对应公式(1.3)中的项;

对于基态粒子数目,记为n1(z),是公式(1.1)中的项,用于代表基态粒子数,以下用n1表示;

对于激发态粒子数目,记为n2(z),是公式(1.1)中的项,用于表示激发态粒子数数目,n2f表示正向计算反转粒子数,n2b表示反向计算反转粒子数;

步骤s1402:计算正向参数,包括:

步骤s14021:设置光纤长度及步进值,确定分段点数为kmax;ki表示沿着光纤长度的分段点,初始化ki=1,计算初始条件psf(ki),psb(ki),ppf(ki)和ppb(ki);

例如光纤长度为10米,步进值0.1米,分段点就是100份,则kmax=100。1≤ki≤100,ki就表示从1-100个点。此处psf(1)表示第一个长度分段点的所有波长正向信号功率;psb(1)表示第一个长度分段点的所有波长反向信号功率,ppf(1)表示第一个长度分段点的所有波长正向泵浦功率、ppb(1)表示第一个长度分段点的所有波长反向泵浦功率。

步骤s14022:将psf(ki),psb(ki),ppf(ki)和ppb(ki)代入公式(1.1)n2的表达式,得到n2f(ki);

步骤s14023:将n2f(ki)代入泵浦光迭代公式(1.2)计算出ppf(ki+1),ppb(ki+1);将n2f(ki)代入信号光迭代公式(1.3)计算出psf(ki+1),psb(ki+1),即得到ppf(ki+1),psf(ki+1),ppb(ki+1),psb(ki+1);

步骤s14024:将ki赋值为ki+1,判断ki是否大于kmax;若是,计算正向参数完成;若否,进入步骤s14022。

本实施例中,进行正向参数计算时,光迭代公式(1.2)和信号光迭代公式(1.3)中,等号左侧的算式均取正号。

步骤s1403:计算反向参数,包括:

步骤s14031:获取所述光纤长度及步进值,确定分段点数为kmax,将ki赋值为kmax,获取计算正向参数时获得的ppf(ki),psf(ki),ppb(ki),psb(ki)作为初始值;

步骤s14032:将ppf(ki),psf(ki),ppb(ki),psb(ki)代入公式(1.1)n2的表达式,得到n2b(n_l+1-ki);

步骤s14033:将n2b(n_l+1-ki)代入光迭代公式(1.2)和信号光迭代公式(1.3),得到ppf(n_l+1-ki),psf(n_l+1-ki),psb(n_l+1-ki);

步骤s14034:将ki赋值为ki-1,判断ki是否大于0;若是,进入步骤s14032;若否,反向参数计算完成。

本实施例中,进行反向参数计算时,光迭代公式(1.2)和信号光迭代公式(1.3)中,等号左侧的算式均取负号;反向参数计算是从l端开始计算。

步骤s1404:判断正反向参数差异是否小于给定值,如果是,进入步骤s1405;如果否,进入步骤s1402;

步骤s1405:输出计算结果。

所述步骤s605:对仿真结果进行可视化分析和存储,包括:

仿真结束后,将计算出的参数及变量保存成二进制文件,存入硬盘或数据库指定路径。

用户可选择结果显示,向数据库发送检索请求,并将解析后的文件实体发送到桌面界面框架下或客户端下渲染显示。如图14所示,图14示出了向用户展示结果的流程。

对于仿真方案中需要展示的数据类型。首先需要指定显示模块数据保存的路径可以按照“{工程结果存放路径}:{固定路径}/{用户名}/{工程名称}/{结果文件}/”来存放。

数据库读取显示结果路径:

正向读取文件为:{工程结果存放路径}/{元件类型}{元件id}_{端口id}.dat

反向读取文件为:{工程结果存放路径}/{元件类型}{元件id}_backward_{端口id}.dat

下方读取文件为:{工程结果存放路径}/{元件类型}{元件id}_bottom_{端口id}.dat

可视化展示的数据有输出光谱可以根据泵浦/信号功率和泵浦/信号波长绘制,还有沿轴向功率分布可以根据泵浦/信号沿着光纤长度的正反向分布和光纤长度来绘制等等。

以下实施例说明基于仿真实现光纤激光器设计的系统的光纤激光器仿真设计方案的部署方式。

仿真实现光纤激光器设计的系统可以是桌面端应用程序,也可以部署成c/s或b/s架构模式。对于需要部署服务端的应用情况,cs或bs架构的仿真实现光纤激光器设计的系统部署环境类似,可以基于桌面端应用程序直接改造,将其主体功能拆分为前台和后台两大部分,如图15所示。

用户在客户端或浏览器上新建仿真任务,搭建仿真系统,提交任务给后台计算,后台计算完成后返回结果,由前台解析并可视化呈现给用户。前台功能主要包括可视化编辑、元件属性编辑、仿真系统结果可视化显示等功能。可视化编辑通过“所见即所得”的方式,根据仿真目标,将所需元件从元件库列表拖放到绘图区,以连线将相关元件的输入输出接口连接起来,构建仿真系统;元件属性编辑为每个元件提供一个参数配置页面,用于配置元件的各种输入输出参数;仿真系统结果可视化负责根据输出类型,解析结果文件,并将结果数据以可视化方式显示出来。因此,前台功能基于b/s架构,选择合适的开发框架和组件重新开发。

后台功能主要包括任务调度、仿真模型计算和仿真结果推送等功能。该部分功能是光纤激光器仿真设计方案的核心。其中,任务调度是为了支持多用户多任务,通过采用负载均衡策略,对后台计算资源做合理的分配;仿真模型计算负责解析用户提交的仿真系统,根据用户设置的元件属性及元件关联关系进行计算,生成仿真结果,并将后台计算的仿真结果推送给前台。

以下实施例说明基于仿真实现光纤激光器设计的系统的设置光纤激光放大器的实现方式。

图16示出了光纤激光放大器的基本结构,如图16所示:

种子激光器输出的激光与光纤耦合半导体激光器(ld)输出的泵浦光经前向泵浦信号合束器(fpsc)合束后,注入增益光纤中;在增益光纤后端,利用后向泵浦信号合束器(bpsc)注入泵浦激光,并将信号激光输出。增益光纤在种子激光的诱导和泵浦光的激励下,将种子激光放大后输出。一般激光器输出后利用光纤端帽(endcap)扩束输出。

图17示出了光纤激光放大器的仿真设计图,如图17所示:

以图17所示的操作方式为例。在系统编辑区拖拽元件顺序为:连续泵浦源(id:1),前向泵浦信号合束器(id:2),双包层掺镱光纤(id:3),连续种子源(id:4),光纤端帽(id:5),再将各个元件接口按实际光传输数据流向进行连接。

本发明的光纤激光放大器的仿真xml文件结构:

先进行拓扑分析和排序,最终计算时按照连续泵浦源(id:1)、连续种子源(id:4)、前向泵浦信号合束器(id:2)、双包层掺镱光纤(id:3)、光纤端帽(id:5)的顺序进行计算。

图18示出了光纤激光放大器仿真系统进行仿真计算的方法流程图,如图18所示;

根据模块化的思想在进入某个器件的数据流时各个元器件模块读取xml中保存的参数值进行数值运算。泵浦根据不同光谱类型将功率分配给不同泵浦波长通道,信号光根据不同光谱类型将功率分配给不同信号波长通道,前向泵浦合束器进行功率合束并计算不同泵浦臂和信号臂的插入损耗,经过增益光纤按照光纤速率方程计算过程计算出正反向泵浦和信号功率分布,端帽处提供插入损耗。最后输出光谱和功率。

仿真结束后可以点击想要观察的元器件,得到该元器件的功率和光谱等数据,类似于实际实验时光谱仪和功率计测的曲线。

图19示出了光纤激光振荡器的基本结构,如图19所示:

高反射光纤光栅(hrfbg)、增益光纤(ydf)和低反射光纤光栅(ocfbg)构成激光器谐振腔。本实施例以掺镱光纤为例。光纤耦合半导体激光器(ld)输出的泵浦光经前向泵浦信号合束器(fpsc)合为一束分别从谐振腔的两个端口注入,增益光纤吸收泵浦光后产的信号光经fbg反馈,在谐振腔内多次往返传输后从低反射光纤光栅(ocfbg)输出。一般激光器输出后利用光纤端帽(endcap)扩束输出。在实际激光器中,根据泵浦源从谐振腔的注入方向,分为前向、后向和双向泵浦激光器。

图20示出了光纤激光振荡器的仿真设计图,如图20所示:

以图20所示的操作方式为例。在系统编辑区拖拽元件顺序为:连续泵浦源(id:1),前向泵浦信号合束器(id:2),双包层掺镱光纤(id:3),双包层光纤光栅(id:4),双包层光纤光栅(id:5)(id:5),光纤端帽(id:6),再将各个元件接口按实际光传输数据流向进行连接。

本发明的光纤激光振荡器的仿真xml文件结构:

先进行拓扑分析和排序,计算时按照连续泵浦源(id:1)、前向泵浦信号合束器(id:2)、双包层光纤光栅(id:4),双包层掺镱光纤(id:3)、双包层光纤光栅(id:5),光纤端帽(id:5)。其中,关联元件为双包层光纤光栅(id:4),双包层掺镱光纤(id:3)、双包层光纤光栅(id:5)的顺序进行计算。

图21示出了光纤激光振荡器仿真系统进行仿真计算的方法流程图,如图21所示;

根据模块化的思想在进入某个器件的数据流时各个元器件模块读取xml中保存的参数值进行数值运算。泵浦根据不同光谱类型将功率分配给不同泵浦波长通道,前向泵浦合束器进行功率合束并计算不同泵浦臂的插入损耗,关联元件(双包层光纤光栅(3)、双包层掺镱光纤、双包层光纤光栅(4))中按照光纤速率方程计算过程计算出正反向泵浦和信号功率分布,端帽处提供部分功率反射和插入损耗,最后输出光谱和功率。

仿真结束后可以点击想要观察的元器件,得到该元器件的功率和光谱等数据,类似于实际实验时光谱仪和功率计测的曲线。

本实施例的仿真实现光纤激光器设计的系统的应用程序采用vc开发平台,将模型库封装成可供仿真软件系统和光纤仿真实例系统使用的动态库,采用gdi+xtp技术给用户提供友好的操作界面。另外,操作界面还可以通过服务端界面统一管理,采用c/s或b/s架构模式,同样可以实现类似的效果。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装windows或者windowsserver操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1