CN115906485A - 一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 - Google Patents
一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 Download PDFInfo
- Publication number
- CN115906485A CN115906485A CN202211484239.1A CN202211484239A CN115906485A CN 115906485 A CN115906485 A CN 115906485A CN 202211484239 A CN202211484239 A CN 202211484239A CN 115906485 A CN115906485 A CN 115906485A
- Authority
- CN
- China
- Prior art keywords
- simulation
- det
- restart
- time
- branch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种离散动态事件树与核仿真程序高效并行动态耦合分析方法,该方法包括:构建离散动态事件树DET仿真模型,确定核仿真程序仿真时间并运行,根据核仿真程序仿真结果解析获取所有DET仿真对象状态转移控制TRIP变量变化的时间信息,并依据DET仿真模型分支规则获取当前事故序列的所有DET仿真对象的核仿真程序回溯再启动的重启动时间与重启动号,判断重启动时间与父序列重启动时间是否相同,将更新后的失败再启动文件为输入,复制父序列中必要的再启动输入文件到当前文件夹,根据分支数回溯执行多线程并行仿真完成所有DET失败分支的仿真模拟。该方法弥补了传统安全分析方法在处理核电厂事故过程的时序动态响应不足,同时多线程并行计算方式也提高计算效率。
Description
技术领域
本申请的技术方案属于核科学与工程技术领域,特别是对核电设施(核电厂)的运行实施安全分析时,利用离散动态事件树与核仿真程序高效并行动态耦合计算进行高效、高准确度的核电厂安全分析方法,即,一种离散动态事件树与核仿真程序高效并行动态耦合分析方法。
背景技术
核电厂安全是其工作运行中最为关键的环节。在进行核电设施设计和系统构建中必须对其实施安全分析和评估。通常的分析和评估方法分为:确定论安全分析方法和概率安全评价方法两种,其中的确定论安全分析方法普遍采用核仿真程序软件进行;而概率安全评价方法则基于传统事件树/故障树方法。单一使用确定论或概率论方法在分析核电厂事故动态特性上存在较大局限性。为解决传统的确定论、概率论安全分析方法在时序动态分析上的不足,离散动态事件树(DDET,以下除特殊说明,DDET简称DET)方法被提出,并被用于模拟核电厂事故状态下的动态响应过程仿真。
基于核电厂确定论安全分析过程中,由于离散动态事件树方法需要大量的计算资源并产生大量数据,因此传统的分析人员手动设置分析边界条件的方法已经不能实现上述需求。因此,需发展一种可自动实现DET方法与确定论分析软件耦合的核电厂安全分析方法、技术方案和分析工具,进而实现在概率环境下对核电厂的事故演化过程进行动态模拟,以获得核电厂的安全冗余度特性和安全性能。已有的DET与核事故仿真程序一般采用按特定时间步长逐步迭代方式进行,即,广度优先计算方法。但当时间步长设置不合理时,则会导致计算效率低,计算结果存储空间大等问题。此外,在使用DET方法进行事故分析时,为全面仿真事故下的核电厂状态变化,会建立细致的DET模型,从而产生大量分支,而核仿真程序通常为单线程软件,在计算过程中只能指定一个输入文件进行单次仿真,如果需要对多个事故进行仿真则需要多次反复调用。在核仿真程序与DET方法耦合计算过程中,如果每次只进行单线程计算,将会产生难以承担的时间成本,因此改进为多线程并行计算,同时调用多个核仿真程序运行能有效减少计算时间,提高计算效率。
本申请就是在此基础上提出的核仿真程序与DET耦合计算方法改进,同时采用并行模式提高核电厂安全分析的效率。
发明内容
为了解决上述问题,克服逐步迭代法和单线程计算不足,本发明提供了一种基于离散动态事件树与核仿真程序高效并行动态耦合分析方法,该方法采用动态特性并行分析方法,通用性更强,适用范围更广,只需区分DET仿真对象状态转移属于变量型状态转移还是逻辑型状态转移两种即可;不需要再对仿真对象一次转移还是多次转移进行特殊处理,以及转移条件的逻辑判断。同时,计算中利用深度优先的方式替代广度优先原则,取消逐步迭代回溯环节,简化分析过程,提高分析效率。
本申请是通过下述技术方案实现上述发明目的:一种基于离散动态事件树与核仿真程序高效并行动态耦合分析方法,该方法包括如下步骤:
S1、构建离散动态事件树的DET仿真模型,根据DET仿真对象状态转移类型,通过增加通用型辅助TRIP变量的方式,修改核仿真程序输入文件的TRIP卡;其中通用型辅助TRIP变量为变量型或逻辑型;这里的DET仿真对象为核电厂系统、设备或人员操作,DET仿真对象的状态转移通过中的TRIP变量控制;TRIP变量的逻辑值分为真True,假False;DET仿真对象的TRIP变量的空间向量其中n为DET仿真对象数量,si代表第i个DET仿真对象所对应的TRIP逻辑值;即
S2、确定核仿真程序的仿真时间并运行至仿真结束,已计算完成的仿真文件作为父序列文件;此时的DET仿真对象为核电厂始发事故的分析对象,按照确定论分析方法编程模拟核电厂事故的初始程序输入卡文件,所述输入卡文件包括初始输入文件Root.input和初始再启动计算文件R0.input;其中“Root”代表符合程序要求的任意文件名,“R0”代表文件名,“.i”代表文件类型;该部分是核仿真程序与DET耦合的必需部分,Root.input文件中的DET仿真对象的TRIP卡按通用型辅助变量方式建模,使其内容上获得了简化;上述初始再启动计算文件R0.input文件包括①程序再启动控制卡;②程序时间步长控制卡;该部分是核仿真程序与DET耦合的必需部分,Root.input文件中的DET仿真对象的TRIP卡需要按通用型辅助变量方式建模,使其内容上简化;
S3、根据核仿真程序当前输出的仿真结果文件,解析仿真结果文件获取所有DET仿真对象状态转移控制TRIP变量变化的时间信息;
S4、识别所有DET仿真对象状态转移发生的DET分支时刻;上述识别DET仿真对象状态转移发生的DET分支时刻的具体方法如下:第①步:根据步骤S3获得DET仿真对象状态转移控制TRIP变量变化的时间信息;第②步:通过解析仿真结果文件获得当前父序列事故中所有DET仿真对象状态转移TRIP触发时间,然后根据DET仿真模型的分支规则获得与其核仿真程序回溯再启动信息块编号对应的核仿真程序再启动时间;传统分析方法中核仿真程序作为封装工具软件,在一个仿真时间步长内不对外交互,因此只能通过解析每一次仿真输出结果,利用上述编号确定DET分支节点;该方法通过整体仿真到结束时间,并在输出结果中自动准确识别需要修改的DET分支点以及分支时间,在对应分支时间通过重启动卡与辅助变量产生TRIP卡状态转移失效分支,避免了状态转移成功分支的重复计算,以及每个步长内的回溯计算;
S5、依据DET仿真模型的分支规则获取当前事故序列的所有DET仿真对象的核仿真程序回溯再启动的重启动时间与重启动号;这里的DET仿真对象回溯再启动的重启动时间与重启动号的方法如下:第(1)步:根据DET分支时刻获取的TRIP触发时间集合{TRIPT1,TRIPT2,…,TRIPT Mi},其中Mi为父序列需要进行DET分支的TRIP个数,根据触发时间排序依次获取分支信息,识别其触发时间TRIPTime以及TRIPTime对应TRIP号,获取仿真结果中所有触发的TRIP号以及其对应的触发时间{TRIPTime1,TRIPTime1,...TRIPTimeMi};
第(2)步:判断TRIPTime对应的DET仿真对象是否为单次状态转移类型,若是则执行第(4)步;否则执行第(3)步;
第(3)步:DET仿真对象可能发生多次状态转移,解析仿真结果文件中所有重启动信息块信息,获得其中多次转移DET分支仿真对象第一次发生状态转移的时刻,并赋值给TRIPTime,然后执行第(4)步;
第(4)步:将TRIPTime替换{TRIPT1,TRIPT2,…,TRIPT Mi}中对应的元素,然后执行第(5)步;
第(5)步:计算DET回溯再启动信息块编号BloNum;BloNum是利用下述公式计算:
Δt=CpuTimemax×ResFre
其中:
BloNum:根据DET仿真对象状态转移的TRIP触发时间TRIPTime计算的核仿真程序回溯重启信息块编号;
CpuTimemax:核仿真程序输入卡中时间控制卡中的CPU最大仿真步长时间;
INT[]:取整函数;
ResFre:核仿真程序输入卡中时间控制卡的再启动频率;
TRIPTime:仿真计算结果中DET仿真对象状态转移TRIP触发时间;
△t:核仿真程序输入卡中时间控制卡中两个再启动信息块的时间间隔;
计算结束后获得当前序列下所有TRIP触发卡对应的重启动编号{BloNum1,BloNum2,...BloNumMi};
第(6)步:针对DET分支数进行Mi次循环,根据TRIP触发时间先后依次生成对应分支;
上述步骤可以自动、准确识别DET仿真对象状态转移发生的时刻从而确定核仿真程序再启动时刻;
S6、判断当前序列重启动时间与父序列重启动时间是否相同,若不同则以一个包含重启动计算所有需求信息的初始输入文件为基础复制生成用于当前事故序列中所有失败分支的核仿真程序计算的再启动输入文件,确定DET仿真对象状态转移类型,更新核仿真程序计算的再启动输入文件;这里的再启动输入文件的更新需要针对存在的DET分支进行DET仿真对象状态转移,此时的再启动文件更新方法为:第1步:将当前节点核仿真程序再启动输入文件中的再启动号更新为ResNum,ResNum是核仿真程序回溯重启信息块编号BloNum对应的再启动号;第2步:仿真时间卡信息不变;第3步:更新DET仿真对象状态转移失效控制TRIP信息;若当前序列重启动时间与父序列重启动时间相同,复制父序列重启动输入文件,并在此基础上确定DET仿真对象状态转移类型,更新核仿真程序计算的再启动输入文件;该步骤中,所述多线程并行计算需要使用核仿真程序重启动功能,一般具有重启动计算功能的核仿真程序仿真结束后会生成用于存储输出数据的输出文件,重启动计算过程会需要重启动输入文件与父序列仿真计算的输出文件作为基础;重启动输入文件通过分支过程产生,输出文件通过将父序列输出文件复制到每个子序列文件夹中生成;核仿真程序一般为单线程仿真程序,即每次计算只能输入一个文件,通过将分支文件的调用信息存放到计算队列中,如果计算队列不为空则不断调用计算实现并行计算功能;
S7、以更新后的失败再启动文件为输入,复制父序列中必要的再启动输入文件到当前文件夹,根据分支数回溯执行多线程并行仿真,完成所有DET失败分支的仿真模拟;
S8、以失败分支作为新的父序列,根据失败分支的仿真结果判断是否有新的DET分支产生,如果有,循环执行步骤S5-S8,如果没有新的DET分支产生则仿真结束;
其中失败分支为DET对象状态转移失败的分支,成功分支为DET对象状态转移成功的分支;
初始父序列为所有DET对象状态转移成功的分支,以父序列为基础根据获得的输出信息模拟后续失败分支,即子序列。
上述技术方案中,通过增加辅助TRIP变量及深度优先方法简化了核仿真程序输入文件中DET仿真对象状态转移TRIP的设定流程和方法,降低了复杂性,减少了逐步循环迭代环节,提高了分析效率。
与现有技术相比,本发明具有以下优点:
(1)本发明基于离散动态事件树方法和核仿真程序的动态耦合可以自动获得大量的核电厂事故仿真结果,弥补传统安全分析方法在处理核电厂事故过程中对时序动态响应的不足,从而获得核电厂事故工况下的安全特性,为基于风险指引的核电厂设计、运行和管理决策支持提供了支撑,优化了核电厂设计、运行和管理,提升了核电厂的安全性和经济性;
(4)相比于基于广度优先的分步长回溯式DET分支方法,本方法采用深度优先方式,每次分支仿真到本序列结束再生成新的序列,免于在每个仿真步长内的重复计算,提高了计算效率;
(5)多线程并行计算方式提高计算效率;
(6)本方法适用性广,可模拟核电厂事故分析过程中绝大多数核电厂系统、设备、人员操作状态转移、系统过程参数变化过程;
(7)本方法通用型强,可用于核电厂事故及瞬态的动态性能分析,也适用于可以利用核仿真程序进行仿真模拟的其他复杂系统的性能分析。
附图说明
图1为本申请基于离散动态事件树与核仿真程序高效并行动态耦合分析方法流程图;
图2为核电厂状态演化的DET模型结构示意图;
图3为是DET与程序动态耦合示意图;
图4为DET仿真对象单次状态转移示意图;
图5为是DET仿真对象多次状态转移示意图。
具体实施方式
为了更清楚阐述本申请的安全分析方法,下面结合附图对本申请的技术方案进行介绍。
基于离散动态事件树与核仿真程序耦合的动态特性分析方法,其步骤如图1所示,包括以下步骤:
S1、构建离散动态事件树的DET仿真模型,根据DET仿真对象状态转移类型,通过增加通用型辅助TRIP变量的方式修改核仿真程序输入文件的TRIP卡;其中通用型辅助TRIP变量为变量型或逻辑型;
S2、确定核仿真程序的仿真时间并运行至仿真结束,以计算完成的仿真文件作为父序列文件;
S3、根据核仿真程序当前输出的仿真结果文件,解析结果文件获取所有DET仿真对象状态转移控制TRIP变量变化的时间信息;
S4、识别所有DET仿真对象状态转移发生的DET分支时刻;
S5、依据DET仿真模型的分支规则获取当前事故序列的所有DET仿真对象的核仿真程序回溯再启动的重启动时间与重启动号;
S6、判断当前序列重启动时间与父序列重启动时间是否相同,若不同以一个包含重启动计算所有需求信息的初始输入文件为基础复制生成用于当前事故序列中所有失败分支的核仿真程序计算的再启动输入文件,确定DET仿真对象状态转移类型,更新核仿真程序计算的再启动输入文件;
S7、若当前序列重启动时间与父序列重启动时间相同,复制以父序列输入文件并在此基础上写入当前分支信息;
S8、以更新后的失败再启动文件为输入,复制父序列中必要的再启动输入文件到当前文件夹,根据分支数回溯执行多线程并行仿真,完成所有DET失败分支的仿真模拟;
S9、失败分支作为新的父序列,根据失败分支的仿真结果判断是否有新的DET分支产生,如果有,循环执行步骤S5-步骤S8,如果没有新的DET分支产生则仿真结束。
基于上述技术方案,步骤S1的具体实现原理如下:
首先以需要仿真模拟的核电厂系统、设备或人员操作为DET仿真对象,根据DET分析方法进行下列分析:
如图2所示,图中每个节点代表由DET仿真对象状态组合构成的一个核电厂特定状态Si,其中根代表DET与核仿真程序动态耦合仿真时核电厂的初始状态S0,中间节点代表核电厂系统、设备不同状态组合,终节点代表预先定义的核电厂某一个吸收终止状态,如达到核电厂堆芯损坏或稳定状态;
DET与核仿真程序动态耦合时将从根节点开始,随着时间变化,DET仿真对象状态将发生随机性转移;在达到预设分支规则时,从该时刻产生的“分支”代表仿真对象的一次状态转移;且从父节点到子节点代表仿真对象的一次状态转移;
当DET仿真对象状态转移触发条件满足时,DET仿真对象状态转移仅存在状态转移成功和状态转移失败两种状态。Root代表根节点,以Root开始,全部DET仿真对象状态转移成功的序列为初始父序列,编号为Root-f,以初始父序列为基础生成的子序列分支为Root-a1-f、Root-a2-f、Root-a3-f,分别代表初始父序列的第一个DET仿真对象状态转移失败,其他仿真对象转移成功、第二个DET仿真对象状态转移失败,其他仿真对象转移成功、第三个DET仿真对象状态转移失败,其他仿真对象转移成功。这三个分支计算完成后为新的父序列。以Root-a1-f为父序列,产生的子序列分支有Root-a1-b1-f,代表在Root-a1-f父序列仿真结果中的第一个DET仿真对象状态转移失败,其他仿真对象转移成功分支,以此类推;终节点代表DET与核仿真程序耦合终止,节点名称编码方式是“序列名称-f”,并且从父序列到子序列之间的系统演化过程由核仿真程序仿真计算。
在上述方案的基础上,如图2所示,当DET与核仿真程序耦合时,就是在每个节点之间进行计算;与传统的事件树方法不同,DET中节点分支发生的时间是由仿真的物理过程决定的,减小了传统方法中对分析人员经验依赖或保守的工程判断。
实施例
基于上述技术方案,步骤S2-步骤S8的具体实现过程如下:
如图3所示,针对图中所示符号定义如下:
BloNum:根据DET仿真对象状态转移的TRIP触发时间TRIPTime计算的核仿真程序回溯再启动信息块编号;
CpuTimemax:核仿真程序输入卡中时间控制卡中的CPU最大仿真步长时间;
ErrNum:核仿真程序异常终止计数;
MT:运行型状态转移DET仿真对象的状态转移任务时间;
NorNum:核仿真程序正常时间终止计数;
ResFre:核仿真程序输入卡中时间控制卡的再启动频率;
ResNum:与核仿真程序回溯重启信息块编号BloNum对应的再启动号;
T:DET与核仿真程序耦合仿真的任务时间,也是仿真最终终止的仿真终止时间;
TRIPTime:仿真计算结果中DET仿真对象状态转移TRIP触发时间,当前DET分支产生后则更新为下一个分支TRIP触发时间;
△t:核仿真程序输入卡中时间控制卡中的重启频率;
结合图3说明DET与核仿真程序动态耦合的总体过程如下:
第1步:编写DET与核仿真程序耦合仿真事故分析输入文件Root.input和初始再启动文件R0.input文件;
第2步:根据DET仿真对象状态转移类型,通过增加辅助变量的方法,修改Root.input中的TRIP信息,形成新的Root.input输入文件;
第3步:在DET根节点,以仿真事故分析输入文件Root.input为初始输入文件,运行程序仿真计算;
第4步:在仿真结束以后,生成结果文件包含运行过程中所有的TRIP转移信息以及重启动信息,Root.input文件计算结果即为所有DET分支状态都正常转移的成功分支结果,亦为初始父序列分支Root-f;解析结果文件中的DET仿真对象状态控制TRIP变量变化的时间信息;
第5步:获取父序列分支Root-f的所有DET分支信息,并根据DET分支触发时间排序;
第6步:通过解析父序列结果文件获得所有DET仿真对象状态转移{TRIP1,TRIP2...TRIPMi}触发时间{TRIPTime1,TRIPTime2,...TRIPTimeMi},然后根据规则获得核仿真程序回溯再启动编号{ResNum1,ResNum...ResNumMi};
第7步:根据DET仿真对象状态转移类别,更新R0.input,生成所有DET失败分支再启动输入文件R0-a1.input,R0-a2.input以及R0-a3.input;
第8步:以失败分支再启动文件R0-a1.input、R0-a2.input、R0-a3.input以及父序列Root-f计算输出的结果文件Root.output作为输入,进行失败分支的并行重启动计算,所有的失败分支同时调用并行计算,R0-a1节点计算结束即为其它节点均成功分支的序列Root-a1-f,同理R0-a2节点计算完成即为序列Root-a2-f,R0-a3节点计算完成即为序列Root-a3-f。DET的节点输出文件名称根据规则更新;
第9步:以生成的失败分支Root-a1-f、Root-a2-f、Root-a3-f为新的父序列,通过失败分支仿真结果判断是否有新的DET分支信息,如果有则循环执行步骤5至步骤8,如果没有新的分支产生则结束仿真。
在上述方案的基础上,在第1步中,确定核电厂始发事故的分析对象,按照确定论分析方法编程模拟核电厂事故的初始核仿真程序输入卡文件,其中输入卡文件包括初始输入输出文件Root.input,Root.output和初始再启动计算文件R0.input;其中“Root”代表符合核仿真程序要求的任意文件名,“R0”代表文件名,“.input”,“.output”代表文件类型;并且始发事故仿真模型需调试稳定,典型的事故序列分析结果符合预期。
在第1步中,核仿真初始再启动计算文件R0.input文件包括①、核仿真程序程序再启动控制卡;②、核仿真程序程序时间步长控制卡;③、其它保证重启动文件正常运行的必要信息;具体地,以图2结合图3中根节点第1次DET分支为例:
第①步:根据第4步获得DET仿真对象状态转移控制TRIP变量变化的时间信息;
第②步:通过解析仿真结果文件获得DET仿真对象状态转移TRIP触发时间,然后根据DET仿真模型的分支规则获得与其回溯再启动信息块编号对应的再启动号。
在上述方案的基础上,在第2步中,针对需求型分支通过辅助变量法修改TRIP卡信息,实现DET分支状态转移;针对运行型分支使用任务时间MT替换原TRIP逻辑中的时间信息。
在上述方案的基础上,以图2结合图3中核仿真程序输出文件第1个分支,也就是t1时刻的分支,说明DET回溯再启动号识别方法如下:
第(1)步:根据DET分支时刻获取的TRIP触发时间集合{TRIPT1,TRIPT 2,…,TRIPTMi},其中M为父序列需要进行DET分支的TRIP卡个数。根据触发时间排序,依次获取分支信息,识别其触发时间TRIPTime以及TRIPTime对应TRIP号,获取仿真结果中所有触发的TRIP号以及其对应的触发时间{TRIPTime1,TRIPTime1,...TRIPTimeMi};
第(2)步:判断TRIPTime对应的DET仿真对象是否为单次状态转移类型,若是则执行第(4)步;否则执行第(3)步;
第(3)步:DET仿真对象可能发生多次状态转移,解析仿真结果文件中所有的重启动信息块信息,获得其中多次转移DET分支仿真对象第一次发生状态转移的时刻,并赋值给TRIPTime,然后执行第(4)步;
第(4)步:将TRIPTime替换{TRIPT1,TRIPT 2,…,TRIPT Mi}中对应的元素,然后执行第(5)步。
第(5)步:计算DET回溯再启动信息块编号BloNum。
在上述方案的基础上,上述BloNum是利用如下公式计算:
Δt=CpuTimemax×ResFre
其中:
BloNum:根据DET仿真对象状态转移的TRIP触发时间TRIPTime计算的回溯再启动信息块编号;
CpuTimemax:核仿真程序输入卡中时间控制卡中的CPU最大仿真步长时间;
INT[]:取整函数;
ResFre:核仿真程序输入卡中时间控制卡的再启动频率;
TRIPTime:核仿真程序仿真计算结果中DET仿真对象状态转移最小TRIP触发时间,当前DET分支产生后则更新为下一个分支TRIP触发时间;
△t:核仿真程序输入卡中时间控制卡中两个再启动信息块的时间间隔。
计算结束后获得当前序列下所有TRIP触发卡对应的重启动编号{BloNum1,BloNum2,...BloNumMi}
第(6)步:针对父序列DET分支数进行Mi次循环,根据TRIP触发时间先后依次生成对应分支。
在上述方案的基础上,在第7步中,核仿真程序再启动文件的更新方法是在仿真结束,在分支节点产生状态转移的失效分支与原状态的成功分支,成功分支已经计算完成,只需生成失效分支的再启动文件。
具体地,针对DET分支的DET仿真对象状态转移,核仿真程序再启动文件更新方法如下:
第1步:将当前节点核仿真程序再启动输入文件中的再启动号更新为ResNum;
第2步:仿真时间卡信息不变;
第3步:更新DET仿真对象状态转移失效控制TRIP信息。
在上述方案的基础上,针对需求型分支通用型TRIP变量为变量型或逻辑型变量设置,具体设置内容如下:
若DET仿真对象状态转移控制TRIP属于变量型,则按如下方式更新TRIP信息:
CC1控制DET仿真对象状态转移的判断逻辑
1、检测到CC1为True且状态将发生改变,则其分支逻辑如下:
状态不变:CC1永真逻辑
状态转移:CC1继承初始TRIP逻辑
所有状态转移的成功分支都不需要再通过在分支时间回溯重启动号生成重启动文件来重新计算,父序列的仿真结果即为该节点成功分支。
2、检测到CC1为False且状态将发生改变,则其分支逻辑如下:
状态不变:CC1永假逻辑
状态转移:CC1继承初始TRIP逻辑
若识别DET仿真对象初始状态为true(真)状态,则上下分支再启动文件按如下方式更新:
上分支(成功分支、状态转移分支):当前分支节点的父序列,无需单独计算,每次父序列的产生即包含其它成功分支的信息;
下分支(失败分支、状态不转移分支):当前节点分支产生的子序列,在再启动文件中按核仿真程序规则增加一行TRIP信息。
CC1控制DET仿真对象状态转移的判断逻辑
其中CC1是初始DET仿真对象状态转移控制的TRIP号。
若DET仿真对象状态转移控制TRIP属于逻辑型,则按如下方式更新TRIP信息:
辅助TRIP变量1:其逻辑值是一个“真”的常量;
辅助TRIP变量2:其逻辑值是一个“假”的常量;
CC1单次需求状态转移DET仿真对象的TRIP逻辑
辅助TRIP变量3:原CC1TRIP逻辑
1、检测到CC1为True且状态将发生改变,则其分支逻辑如下:
状态不变:CC1辅助TRIP变量3or辅助TRIP变量1
状态转移:CC1继承初始TRIP逻辑
2、检测到CC1为False且状态将发生改变,则其分支逻辑如下:
状态不变:CC1辅助TRIP变量3and辅助TRIP变量2
状态转移:CC1继承初始TRIP逻辑
若识别DET仿真对象初始状态为true(真)状态,则上下分支再启动文件按如下方式更新:
上分支(成功分支、状态转移分支):当前分支节点的父序列,无需单独计算,每次父序列的产生即包含其它成功分支的信息;
下分支(失败分支、状态不转移分支):当前节点分支产生的子序列,在再启动文件中按核仿真程序规则增加一行TRIP信息。
CC1辅助TRIP变量3or辅助TRIP变量1
其中
CC1:是初始DET仿真对象状态转移控制的TRIP号;
辅助TRIP变量3:任意辅助变量TRIP号,该TRIP号符合核仿真程序要求,并满足独立性和唯一性即可。
辅助TRIP变量1:辅助变量TRIP号,逻辑值为永“真”
若识别DET仿真对象初始状态为false(假)状态,则上下分支再启动文件按如下方式更新:
上分支(成功分支、状态转移分支):当前分支节点的父序列,无需单独计算,每次父序列的产生即包含其它成功分支的信息;
下分支(失败分支、状态不转移分支):当前节点分支产生的子序列,在再启动文件中按核仿真程序规则增加一行TRIP信息。
CC1辅助TRIP变量3and辅助TRIP变量2
CC1:是初始DET仿真对象状态转移控制的TRIP号;
辅助TRIP变量3:任意辅助变量TRIP号,该TRIP号符合核仿真程序要求,并满足独立性和唯一性即可。
辅助TRIP变量2:辅助变量TRIP号,逻辑值为永“假”
其中:辅助TRIP变量1是一个核仿真程序中一个逻辑TRIP的编号,是为便于实现DET与核仿真程序动态耦合而额外增加的一个辅助变量,其逻辑指是永“真”。在实际应用过程中可根据需要在满足核仿真程序的要求下,符合唯一性、独立性要求的逻辑变量号均可;
辅助TRIP变量2是一个核仿真程序中一个逻辑TRIP的编号,是为便于实现DET与核仿真程序动态耦合而额外增加的一个辅助变量,其逻辑值是永“假”。在实际应用过程中可根据需要在满足核仿真程序的要求下,符合唯一性、独立性要求的逻辑变量号均可;
针对运行型分支使用任务时间MT替换原TRIP逻辑中的时间信息,具体设置内容如下:
CC1控制DET仿真对象状态转移的判断逻辑
1、检测到CC1为状态将发生改变,则其分支逻辑如下:
分支1:CC1继承初始TRIP逻辑
分支2:CC1任务时间修改为MT
根据任务时间MT的个数,可以生成多个运行型失效分支。
效果实施例
根据事故特征和仿真计算资源条件,初始化DET与核仿真程序动态耦合相关参数,包括:
BloNum:根据DET仿真对象状态转移的TRIP触发时间TRIPTime计算的回溯再启信息块编号,初始值为0;
CpuTimemax:核仿真程序输入卡中时间控制卡中的CPU最大仿真步长时间,初始值用户自定义;
ErrNum:核仿真程序异常终止计数,初始值为0;
MT:运行型状态转移DET仿真对象的状态转移任务时间,根据涉及到的运行型状态转移对象的数量确定需要的任务时间随机变量的数量,并根据用户自定义的离散方式对每个任务时间随机变量进行离散,获得离散的任务时间序列;
NorNum:核仿真程序正常时间终止计数,初始值为0;
ResFre:核仿真程序输入卡中时间控制卡的再启动频率,用户自定义;
ResNum:与回溯重启信息块编号BloNum对应的再启动号,初始值为0;
T:DET与核仿真程序耦合仿真的任务时间,也是仿真最终终止的仿真终止时间,初始值用户自定义;
TRIPTime:仿真计算结果中DET仿真对象状态转移TRIP触发时间,初始值为0,当前DET分支产生后则更新为下一个分支TRIP触发时间;
△t:核仿真程序输入卡中时间控制卡中的重启频率,初始值用户自定义;
如图3所示,DET与核仿真程序动态具体耦合过程:
第1步:将DET根节点的初始核仿真程序输入文件Root.input和初始再启动文件R0.input作为一对文件放入计算队列中;
第2步:判断计算队列中是否存在核仿真程序输入文件。若存在核仿真程序输入文件,判断计算队列中的输入文件个数,并依照“先进后出”原则进行多线程并行调用计算,获得输出结果文件;若计算队列中不存在核仿真程序输入文件,则执行第4步;
第3步:根据DET仿真对象类别,按照再启动文件更新方法生成DET失败分支的再启动文件,命名为*-1.input,并与核仿真程序的输出结果组成计算案例放入计算队列中,然后执行第2步;
第4步:每个DET分支都达到用户指定的仿真任务时间或仿真终止条件,DET与核仿真程序的动态耦合结束;
综上所述,DET与核仿真程序动态耦合以后,可以通过解析每个分支节点及终节点的输入文件,提取不同分支序列的核电厂的物理特性;可以通过统计分析、聚类分析等,获得核电厂的安全特性等。
本发明中的具体实施例仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (2)
1.一种离散动态事件树与核仿真程序高效并行动态耦合分析方法,其特征在于,包括以下步骤:
S1、构建离散动态事件树的DET仿真模型,根据DET仿真对象的状态转移类型,通过增加通用型辅助TRIP变量方式修改核仿真程序输入文件的TRIP卡;其中通用型辅助TRIP变量为变量型或逻辑型;这里的DET仿真对象为核电厂系统、设备或人员操作,DET仿真对象的状态转移通过核仿真程序中的TRIP变量控制;TRIP变量的逻辑值分为真True,假False;DET仿真对象的TRIP变量的空间向量其中n为DET仿真对象数量,si代表第i个DET仿真对象所对应的TRIP逻辑值;即
S2、确定核仿真程序的仿真时间并运行至仿真结束,已计算完成的仿真文件作为父序列文件;此时的DET仿真对象为核电厂始发事故的分析对象,按照确定论分析方法编程模拟核电厂事故的初始核仿真程序输入卡文件,所述输入卡文件包括初始输入文件Root.input和初始再启动计算文件R0.input;其中“Root”代表符合核仿真程序要求的任意文件名,“R0”代表文件名,“.i”代表文件类型;
S3、根据核仿真程序当前父序列输出的仿真结果文件,解析结果文件获取所有DET仿真对象状态转移控制TRIP变量变化的时间信息;
S4、识别DET仿真对象状态转移发生的DET分支时刻;上述识别DET仿真对象状态转移发生的DET分支时刻的具体方法如下:第①步:根据步骤S3获得DET仿真对象状态转移控制TRIP变量变化的时间信息;第②步:通过解析仿真结果文件获得当前父序列事故中所有DET仿真对象状态转移TRIP触发时间,根据DET仿真模型的分支规则获得与其核仿真程序回溯再启动信息块编号对应的核仿真程序再启动时间;
S5、依据DET仿真模型的分支规则获取当前父序列事故序列的所有DET仿真对象的核仿真程序回溯再启动的重启动时间与重启动号;这里的DET仿真对象回溯再启动的重启动时间与重启动号的方法如下:
第(1)步:根据DET分支时刻获取的TRIP触发时间集合{TRIPT1,TRIPT 2,…,TRIPT Mi},其中Mi为父序列需要进行DET分支的TRIP个数,根据触发时间排序,依次获取分支信息,识别其触发时间TRIPTime以及TRIPTime对应TRIP号,获取仿真结果中所有触发的TRIP号以及其对应的触发时间{TRIPTime1,TRIPTime1,...TRIPTimeMi};
第(2)步:判断TRIPTime对应的DET仿真对象是否为单次状态转移类型,若是则执行第(4)步;否则执行第(3)步;
第(3)步:DET仿真对象可能发生多次状态转移,解析仿真结果文件中所有的重启动信息块信息,获得其中多次转移DET分支仿真对象第一次发生状态转移的时刻,并赋值给TRIPTime,然后执行第(4)步;
第(4)步:将TRIPTime替换{TRIPT1,TRIPT2,…,TRIPT Mi}中对应的元素,然后执行第(5)步;
第(5)步:计算DET回溯再启动信息块编号BloNum;BloNum是利用下述公式计算:
Δt=CpuTimemax×ResFre
其中:
BloNum:根据DET仿真对象状态转移的TRIP触发时间TRIPTime计算的核仿真程序回溯重启信息块编号;
CpuTimemax:核仿真程序输入卡中时间控制卡中的CPU最大仿真步长时间;
INT[]:取整函数;
ResFre:核仿真程序输入卡中时间控制卡的再启动频率;
TRIPTime:仿真计算结果中DET仿真对象状态转移TRIP触发时间;
△t:核仿真程序输入卡中时间控制卡中两个再启动信息块的时间间隔;
计算结束后获得当前序列下所有TRIP触发卡对应的重启动编号{BloNum1,BloNum2,...BloNumMi};
第(6)步:针对DET分支数进行Mi次循环,根据TRIP触发时间先后依次生成对应分支;
S6、判断当前序列重启动时间与父序列重启动时间是否相同,若不同则以一个包含重启动计算所有需求信息的初始输入文件为基础复制生成用于当前事故序列中所有失败分支的核仿真程序计算的再启动输入文件,确定DET仿真对象状态转移类型,更新核仿真程序计算的再启动输入文件,这里的再启动输入文件的更新需要针对存在的DET分支进行DET仿真对象状态转移,此时的再启动文件更新方法为:第1步:将当前节点核仿真程序再启动输入文件中的再启动号更新为ResNum,ResNum是核仿真程序回溯重启信息块编号BloNum对应的再启动号;第2步:仿真时间卡信息不变;第3步:更新DET仿真对象状态转移失效控制TRIP信息;若当前序列重启动时间与父序列重启动时间相同,复制父序列重启动输入文件,并在此基础上确定DET仿真对象状态转移类型,更新核仿真程序计算的再启动输入文件;
S7、以更新后的失败再启动文件为输入,复制父序列中必要的再启动输入文件到当前文件夹,根据分支数回溯执行多线程并行仿真,完成所有DET失败分支的仿真模拟;
S8、以失败分支作为新的父序列,根据失败分支的仿真结果判断是否有新的DET分支产生,如果有,循环执行步骤S5-S8,如果没有新的DET分支产生则仿真结束;
失败分支为DET对象状态转移失败的分支,成功分支为DET对象状态转移成功的分支;上述初始父序列为所有DET对象状态转移成功的分支,以父序列为基础根据获得的输出信息模拟后续失败分支,即子序列。
2.根据权利要求1所述的离散动态事件树与核仿真程序高效并行动态耦合分析方法,其特征在于,在步骤S2中,所述初始再启动计算文件R0.input文件包括①程序再启动控制卡;②程序时间步长控制卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484239.1A CN115906485A (zh) | 2022-11-24 | 2022-11-24 | 一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484239.1A CN115906485A (zh) | 2022-11-24 | 2022-11-24 | 一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115906485A true CN115906485A (zh) | 2023-04-04 |
Family
ID=86472389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211484239.1A Pending CN115906485A (zh) | 2022-11-24 | 2022-11-24 | 一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906485A (zh) |
-
2022
- 2022-11-24 CN CN202211484239.1A patent/CN115906485A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579459B2 (en) | Log events for root cause error diagnosis | |
CN111274134A (zh) | 基于图神经网络的漏洞识别与预测方法、系统、计算机设备和存储介质 | |
Feng et al. | Automated learning of probabilistic assumptions for compositional reasoning | |
Cengic et al. | On formal analysis of IEC 61499 applications, part B: Execution semantics | |
US11935664B2 (en) | Dynamic characteristic analysis method of DET and RELAP5 coupling based on universal instrumental variable method | |
CN110287002A (zh) | 一种以太坊虚拟机缺陷检测方法及系统 | |
US20080244592A1 (en) | Multitask processing device and method | |
CN113238924A (zh) | 分布式图数据库系统中的混沌工程实现方法和系统 | |
CN110648124A (zh) | 在区块链中并发执行交易的方法和装置 | |
US7661099B2 (en) | Using idempotent operations to improve transaction performance | |
CN112506802B (zh) | 测试数据的管理方法及系统 | |
CN112784447B (zh) | 一种用于det与relap5程序动态耦合框架的核电厂事故建模方法 | |
CN113052443B (zh) | 一种基于辅助变量法的ddet与relap5耦合的动态特性分析方法 | |
CN113051722B (zh) | 利用嵌入离散动态事件树改进核电厂安全性能分析的方法 | |
CN113051726B (zh) | 基于离散动态事件树与relap5耦合的动态特性分析方法 | |
CN115906485A (zh) | 一种离散动态事件树与核仿真程序高效并行动态耦合分析方法 | |
Baier et al. | ProbMela and verification of Markov decision processes | |
Mohammadi et al. | Machine learning assisted stochastic unit commitment: A feasibility study | |
CN111221731B (zh) | 一种快速获取到达程序指定点测试用例的方法 | |
CN110705051B (zh) | 时间约束触改逻辑的动态故障树模型及仿真方法 | |
CN115906410A (zh) | 基于通用型辅助变量法的DET与cosSYST程序耦合的动态特性分析方法 | |
BELL et al. | Model-based mutation testing using pushdown automata | |
Prosvirnova et al. | AltaRica 3.0 project: Compile guarded transition systems into fault trees | |
CN111046556B (zh) | 考虑维修的含间歇性工作逻辑门的动态故障树仿真方法 | |
Yin | Test suite generation for software reliability testing based on hybrid Musa and Markov method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |