一种基于迭代法的电气仿真方法
文献发布时间:2023-06-19 11:22:42
技术领域
本发明涉及计算机虚拟仿真技术领域,具体为一种基于迭代法的电气仿真方法。
背景技术
电气仿真技术广泛应用于航空、航天、舰船、兵器以及轨道交通等复杂电气系统的设计,目前通用的求解技术普遍采用直接法求解系统仿真模型。随着多电、全电技术的发展,独立供电系统越来越复杂,采用直接法进行复杂电气系统仿真时,求解过程中面临着系统发散、效率低下等问题。
发明内容
本发明的目的在于提供一种基于迭代法的电气仿真方法,以解决上述背景技术中提出的问题,以便提高复杂电气系统仿真的收敛性能和求解效率。
为实现上述目的,本发明提供如下技术方案:
一种基于迭代法的电气仿真方法,具体包括如下步骤:
S1、在初始化时,读入网表文件;同时读入仿真配置文件;
S2、根据步骤S1导入的网表文件中的信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;
S3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;
S4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;
S5、对Jacobian矩阵进行预处理,以减小系数矩阵的条件数;根据所选择的预处理子,对右端项同步进行处理;
S6、采用Krylov子空间迭代法求解矩阵方程;
S7、根据迭代结果,进行收敛判断,当矩阵求解收敛后,进入步骤S8,否则返回步骤S6,继续迭代求解当前矩阵,直到迭代收敛;当超过最大迭代次数仍然不收敛时,给出警告信息;
S8、根据求解向量和右端项状态与收敛准则进行比较,综合判断当前非线性迭代求解收敛条件是否成立,当收敛条件不成立时,将迭代得到的解向量代入到Jacobian矩阵和右端项中,重新更新方程系数和激励元,进行方程求解,直到非线性求解收敛;当非线性迭代超过设定的最大迭代次数仍然不收敛时,减小步长重新进行迭代求解;
S9、当步骤S8收敛判断成立时,当前步长迭代结束;根据当前仿真时刻,判断仿真任务是否完成,若已达到设定的结束时间,则结束仿真,否则根据变步长算法,返回到步骤S3,设定步长、初始化下一个步长对应的解向量,重复步骤S3~S7过程。
优选的,所述步骤S3中非线性迭代采用牛顿-拉斐逊算法,步长的算法采用变步长运算。
优选的,所述步骤S1中的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息。
优选的,所述步骤S1中的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法。
优选的,所述步骤S6中,在初始化过程中配置Krylov子空间迭代法的参数。
优选的,所述的Krylov子空间迭代法的参数包括最大迭代次数、收敛误差。
与现有技术相比,本发明的有益效果是:本发明提供了一种基于迭代法的电气仿真方法,该方法采用Krylov子空间迭代法,替代通用求解器中对Jacobian矩阵进行三角分解求解方程的方法,通过本发明的方法可以有效改进大系统仿真的收敛性能,并基于迭代法可以进一步开发并行求解技术,从而有效提高求解效率。
附图说明
图1为一种基于迭代法的电气仿真方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于迭代法的电气仿真方法,具体包括如下步骤:
S1、在初始化时,读入网表文件,所述的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息;同时读入仿真配置文件,所述的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法;
S2、根据步骤S1导入的元件类型信息、元件管脚节点连接信息和元件模型参数信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;
S3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;所述步骤S3中非线性迭代采用牛顿-拉斐逊算法,步长的算法采用变步长运算;
S4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;
S5、对Jacobian矩阵进行预处理,以减小系数矩阵的条件数;根据所选择的预处理子,对右端项同步进行处理;
S6、采用Krylov子空间迭代法求解矩阵方程;Krylov子空间迭代法的参数,如最大迭代次数、收敛误差等均在初始化过程中配置;
S7、根据迭代结果,进行收敛判断,当矩阵求解收敛后,进入步骤S8,否则返回步骤S6,继续迭代求解当前矩阵,直到迭代收敛;当超过最大迭代次数仍然不收敛时,给出警告信息;
S8、根据求解向量和右端项状态与收敛准则进行比较,综合判断当前非线性迭代求解收敛条件是否成立,当收敛条件不成立时,将迭代得到的解向量代入到Jacobian矩阵和右端项中,重新更新方程系数和激励元,进行方程求解,直到非线性求解收敛;当非线性迭代超过设定的最大迭代次数仍然不收敛时,减小步长重新进行迭代求解;
S9、当步骤S8收敛判断成立时,当前步长迭代结束;根据当前仿真时刻,判断仿真任务是否完成,若已达到设定的结束时间,则结束仿真,否则根据变步长算法,返回到步骤S3,设定步长、初始化下一个步长对应的解向量,重复步骤S3~S7过程。
本发明提供了一种基于迭代法的电气仿真方法,该方法采用Krylov子空间迭代法,替代通用求解器中对Jacobian矩阵进行三角分解求解方程的方法,通过本发明的方法可以有效改进大系统仿真的收敛性能,并基于迭代法可以进一步开发并行求解技术,从而有效提高求解效率。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
- 一种基于迭代法的电气仿真方法
- 一种基于分布式建模的电气仿真方法