本发明专利技术公开了一种基于分布式建模的电气仿真方法,具体包括如下步骤:S1、在初始化时,读入网表文件;同时读入仿真配置文件;S2、并行构造Jacobian初始矩阵;S3、初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;S4、并行更新Jacobian矩阵元素和右端项;S5、分布式计算:基于MPI技术,并行求解矩阵方程,得到当前迭代的向量解;S6、对非线性迭代进行收敛判断;S7、当步骤S6中的收敛判断成立时,当前的步长迭代结束。本发明专利技术的方法针对大型复杂系统,采用分布式技术,对各节点中模型进行更新运算,从而提高仿真效率;可以显著提高复杂大系统的整体仿真效率。
【技术实现步骤摘要】
一种基于分布式建模的电气仿真方法
本专利技术涉及计算机虚拟仿真
,具体为一种基于分布式建模的电气仿真方法。
技术介绍
电气仿真技术广泛应用于航空、航天、舰船、兵器以及轨道交通等复杂电气系统的设计,目前通用的电气系统仿真器普遍采用基于LU三角分解的直接法来进行系统模拟仿真。对于大型稀疏矩阵,实现LU三角分解的并行运算有较大的技术障碍,因此,目前通用的求解器普遍采用单节点技术进行电气系统仿真。随着多电、全电技术的发展,独立供电系统越来越复杂,同时,随着建模技术的不断进步,电气系统仿真模型的复杂程度也越来越高,采用单节点硬件配置由于仿真效率低下,难以应对越来越高的复杂大系统仿真的需求。
技术实现思路
本专利技术的目的在于提供一种基于分布式建模的电气仿真方法,以解决上述
技术介绍
中提出的问题,从而提高复杂电气系统仿真的求解效率。为实现上述目的,本专利技术提供如下技术方案:一种基于分布式建模的电气仿真方法,具体包括如下步骤:S1、在初始化时,读入网表文件,所述的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息;同时读入仿真配置文件,所述的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法;S2、根据步骤S1导入的元件类型信息、元件管脚节点连接信息和元件模型参数信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;S3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;S4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;S5、分布式计算:基于MPI技术,并行求解矩阵方程,得到当前迭代的向量解;S6、根据向量解,对非线性迭代进行收敛判断,当矩阵求解收敛时,则进入步骤S7,否则返回步骤S4;根据当前计算得到的解向量,重新调用并行建模模块,更新Jacobian矩阵元素和右端项,继续求解当前矩阵,直到迭代收敛;当迭代次数超过最大迭代次数仍然不收敛时,给出警告信息;S7、当步骤S6中的收敛判断成立时,当前的步长迭代结束;根据当前仿真时刻,判断仿真任务是否完成,若已达到设定的结束时间,则结束仿真,否则根据变步长算法,返回到步骤S3,设定步长、初始化下一个步长对应的解向量,重复步骤S3~S7过程。作为本专利技术进一步的方案,所述步骤S2中求解方程的构造采用分布式技术进行,具体为:将节点信息分配到局域网计算资源中,分别对各节点模型进行建模。作为本专利技术进一步的方案,所述步骤S3中非线性迭代采用牛顿-拉斐逊算法,步长的算法采用变步长运算。作为本专利技术进一步的方案,所述步骤S4的Jacobian矩阵元素和右端项更新过程采用分布式并行技术进行,具体为:根据步骤S2中的节点分配信息,在各节点进行方程参数和右端项激励运算,各节点运算完成后,将所有信息反馈到主机,准备方程的分布式求解。作为本专利技术进一步的方案,所述步骤S4~S6为基于牛顿-拉斐逊算法的非线性迭代过程。作为本专利技术进一步的方案,在所述的非线性迭代过程中,运算量为两个方面,一方面是系数矩阵和右端项的更新,另一方面是基于系数矩阵和右端项进行方程组的求解。与现有技术相比,本专利技术的有益效果是:本专利技术的方法针对大型复杂系统,采用分布式技术,将项目网表数据分配到多个节点上,在电气仿真过程中,对各节点中模型进行更新运算,从而提高仿真效率;通过充分利用局域网内的硬件计算资源,该方法可以显著提高复杂大系统的整体仿真效率;分布式并行计算基于MPI并行环境,能够实现多进程并行运算。附图说明图1为一种基于分布式建模的电气仿真方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术提供一种技术方案:一种基于分布式建模的电气仿真方法,具体包括如下步骤:S1、在初始化时,读入网表文件,所述的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息;同时读入仿真配置文件,所述的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法;S2、根据步骤S1导入的元件类型信息、元件管脚节点连接信息和元件模型参数信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;对于复杂大系统模型,可能涉及元件非常多,为了提高构建方程的效率,这里采用分布式技术进行方程构造,将节点信息分配到局域网计算资源中,分别对各节点模型进行建模;S3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;所述步骤S3中非线性迭代采用牛顿-拉斐逊算法,步长的算法采用变步长运算;S4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;这里Jacobian矩阵元素和右端项更新过程中,由于可能涉及到大量的函数运算,其计算量可能较大,因此,这里采用分布式并行技术,根据步骤S2中的节点分配信息,在各节点进行方程参数和右端项激励运算,各节点运算完成后,将所有信息反馈到主机,准备方程的分布式求解;S5、分布式计算:基于MPI技术,并行求解矩阵方程,得到当前迭代的向量解;S6、根据向量解,对非线性迭代进行收敛判断,当矩阵求解收敛时,则进入步骤S7,否则返回步骤S4;根据当前计算得到的解向量,重新调用并行建模模块,更新Jacobian矩阵元素和右端项,继续求解当前矩阵,直到迭代收敛;当迭代次数超过最大迭代次数仍然不收敛时,给出警告信息;所述步骤S4~S6为基于牛顿-拉斐逊算法的非线性迭代过程,在该非线性迭代过程中,主要的运算量为两个方面,一方面是系数矩阵和右端项的更新,另一方面是基于系数矩阵和右端项进行方程组的求解,通过对这两方面的并行运算,可以有效提高仿真效率;S7、当步骤S6中的收敛判断成立时,当前的步长迭代结束;根据当前仿真时刻,判断仿真任务是否完成,若已达到设定的结束时间,则结束仿真,否则根据变步长算法,返回到步骤S3,设定步长、初始化下一个步长对应的解向量,重复步骤S3~S7过程。本专利技术的方法针对大型复杂系统,采用分布式技术,将项目网表数据分配到多个节点上,在电气仿真过程中,对各节点中模型进行更新运算,从而提高仿真效率;通过充分利用局域网本文档来自技高网...
【技术保护点】
1.一种基于分布式建模的电气仿真方法,其特征在于:具体包括如下步骤:/nS1、在初始化时,读入网表文件,所述的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息;同时读入仿真配置文件,所述的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法;/nS2、根据步骤S1导入的元件类型信息、元件管脚节点连接信息和元件模型参数信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;/nS3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;/nS4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;/nS5、分布式计算:基于MPI技术,并行求解矩阵方程,得到当前迭代的向量解;/nS6、根据向量解,对非线性迭代进行收敛判断,当矩阵求解收敛时,则进入步骤S7,否则返回步骤S4;根据当前计算得到的解向量,重新调用并行建模模块,更新Jacobian矩阵元素和右端项,继续求解当前矩阵,直到迭代收敛;当迭代次数超过最大迭代次数仍然不收敛时,给出警告信息;/nS7、当步骤S6中的收敛判断成立时,当前的步长迭代结束;根据当前仿真时刻,判断仿真任务是否完成,若已达到设定的结束时间,则结束仿真,否则根据变步长算法,返回到步骤S3,设定步长、初始化下一个步长对应的解向量,重复步骤S3~S7过程。/n...
【技术特征摘要】
1.一种基于分布式建模的电气仿真方法,其特征在于:具体包括如下步骤:
S1、在初始化时,读入网表文件,所述的网表文件包括元件类型信息、元件管脚节点连接信息、元件模型参数信息;同时读入仿真配置文件,所述的仿真配置文件包括收敛相关参数、变步长相关参数和积分算法;
S2、根据步骤S1导入的元件类型信息、元件管脚节点连接信息和元件模型参数信息,基于节点电压法,建立求解方程,构造Jacobian初始矩阵;
S3、根据向量解状态,初始化本次非线性迭代的起始求解向量、右端项,并根据上一步向量解状态,给定当前时刻的步长;
S4、进入求解方程的非线性迭代求解过程:如果当前运算为当前时刻的第一次求解运算,则根据步骤S3提供的步长和初始向量解,更新Jacobian矩阵元素和右端项;如果当前运算不是当前时刻的第一次求解运算,则根据步骤S6计算得到的临时向量解,更新Jacobian矩阵元素和右端项;
S5、分布式计算:基于MPI技术,并行求解矩阵方程,得到当前迭代的向量解;
S6、根据向量解,对非线性迭代进行收敛判断,当矩阵求解收敛时,则进入步骤S7,否则返回步骤S4;根据当前计算得到的解向量,重新调用并行建模模块,更新Jacobian矩阵元素和右端项,继续求解当前矩阵,直到迭代收敛;当迭代次数超过最大迭代次数仍然不收敛时,给出警告信息;
S7、当步骤S6中的收敛判断成立时,当前的步长迭代结束;...
【专利技术属性】
技术研发人员:梁文毅,高秋,
申请(专利权)人:梁文毅,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。