1. 引言
从上世纪80年代末开始,为了提升核能应用水平、提高国家核能应用技术,我国在核电领域引进了当时国外的先进核电技术,建设现代化核电厂,并确立了“引进、吸收、再创新”的后发追赶战略。经过几十年的发展,我国核电行业和核电技术迎来了快速成长,对核电技术也由最初的完全从国外引进,逐渐形成了具有技术再优化和设计自主创新的能力,我国已经从最初的核电技术引入国,发展为核电技术领先、具备核电出口能力的核电大国。但与此同时,我国核电行业的“软实力”相较国际核电大国仍存在不足,尤其在核电的软件方面与世界先进国家仍有不小差距,核电相关软件几乎全部来自国外引进,软件的开发和技术应用完全受制于人。此外,软件本身的开发难度大、验证流程多,使得国内核电行业普遍存在“重硬件、轻软件”的情况。
而这其中,核电厂安全分析软件又是核电软件的重中之重。核电厂安全分析软件是通过对核电厂进行建模处理计算,以进行核电厂安全设计,并支撑其执照申请活动。一般涵盖燃料行为、堆芯物理、热工水力、设计基准事故、严重事故、概率安全评价、放射性及应急响应、辐射剂量、结构材料等相关专业。核电厂安全分析软件应尽可能保证其计算结果的真实性和可靠性,并且具备合理的可操作性。常见的核电厂安全分析软件 [1] 及其用途见表1。
Table 1. Common nuclear power plant safety analysis software
表1. 常见核电厂安全分析软件
2010年以来,为解决关键核电软件依赖国外进口的状况,国内各大核电集团、相关设计院所和高校开始着手开发具有国内自主知识产权的核电安全分析软件或核电设计软件包。随着各方面软件研发的逐步推进,对于核电软件的监管认可研究也提上日程。我国核电软件相关监管工作面临着起步较晚,体系建设仍待进一步强化等问题。
因此,本文将根据相关法律法规的要求,对核安全分析中采用的计算机软件的监管要求进行研究。通过研究相关法律法规和相关技术文件要求,了解其针对核安全分析软件的监管审评的流程、方法、要求和关注重点,总结归纳其过程中所需要提供和审查的资料文件、源程序、物理模型、支持文件、使用手册等,并建议符合我国情况的核安全分析软件监管流程。
2. 核电厂安全分析软件监管现状
2.1. 安全分析软件定义及分类
我国的核安全法规和国外都针对核电厂安全分析程序的范围进行了明确说明。核电厂安全分析软件是指在核电厂设计和安全分析中所使用的相关计算机软件,一般不包括用于解释研究实验结果的软件、核电厂实时监控软件和仪控系统的支持软件。目前,我国主要的核电安全分析软件主要包括1989年随大亚湾核电厂一同引入的法国软件、1998年随秦山三期核电厂引入的加拿大软件、1999年随田湾核电厂引入的俄式软件以及2009年AP1000的美国西屋设计软件。
核安全导则《核动力厂安全评价与验证》(HAD102/17)中的4.6节“使用的计算机程序的评价”中 [2] ,规定了用于核安全分析中使用的计算机程序,通常包括:
· 放射学分析程序:评估工作人员遭受的辐照剂量;
· 中子物理程序:模拟反应堆堆芯的行为;
· 燃料行为程序:模拟核动力厂正常运行期间及事故后燃料元件的行为;
· 热工水力程序:模拟核动力厂正常运行及事故发生后反应堆堆芯及相关冷却剂系统的行为;
· 安全壳热工水力程序:模拟冷却剂丧失或二回路管道破裂后安全壳压力和温度的行为;
· 结构程序:模拟各部件和构筑物在载荷及载荷组合下的应力应变行为;
· 严重事故分析程序:模拟自堆芯损坏至安全壳失效的事故序列进程;
· 放射性后果分析程序:模拟放射性物质在厂区内外的迁移,以确定其对工作人员及公众的影响;
· 概率程序:构筑逻辑模型,以确定在假设始发事件后可能发生的事故序列并估计其发生频率;
· 其他需要认可的核安全分析相关的计算机程序。
同时,国外核安全监管方也对核电厂的相关安全分析软件的给出对应分类建议,如美国核管理委员会就将核电厂安全分析软件分为9类,具体包括: 概率评价分析软件;燃料行为软件;反应堆动力软件;热工水力软件;严重事故软件;设计基准事故软件;应急准备及响应软件;健康影响/剂量计算软件;放射性核素运输软件(用于许可终止和退役)。且上述软件监管还可根据应用范围和情况分为通用商业软件和专门软件监管。两者的监管流程和内容也存在不同之处,需要进行适当调整。按照软件的开发修改情况,相关软件还可分为已开发软件的适用范围改变、已开发软件的修改、新软件的开发等不同情况。
2.2. 国内相关法规标准
我国与核电厂安全分析软件相关的法规及标准主要包括如下内容,如表2所示。
《核动力厂安全评价与验证》(HAD102/17)对安全分析中使用的计算机软件进行如下规定:
1) 工程设计使用大量软件工具,如图表、单线图、公式、算法和计算机程序(中子物理学、流体动力学、结构分析等)。这些工具以及其中所用的数学模型应该遵守相应的质量保证大纲,包括其在本导则第4章(4.6.1~4.6.8)中所描述的计算机程序的验证与确认。
Table 2. Regulatory and standards for safety analysis software for nuclear power plants
表2. 核电厂安全分析软件法规标准
2) 应该对用于预计运行事件和设计基准事故分析的计算机程序进行适当地验证和确认。用于预计运行事件和设计基准事故分析的计算机程序应该引用从类似的核动力厂获得的运行经验和相关的实验数据。
3) 4.6节“使用的计算机程序的评价”则对安全分析中使用计算机程序的范围、评价、验证、确认等提出了明确要求。在安全分析中使用的所有计算机程序都应予以确认和验证。
关于计算机程序,应该确定:物理模型和简化假设合理;关系式合理,适用范围确定;程序的适用范围已确定。数值方法具有足够精度;系统的方法应用;已按照程序的技术规格对源程序进行了评价(对于大型程序可能无法实现)。
4) 关于计算机程序的输出结果,应该确定程序的预测结果已经与以下数据和程序进行了比较:重要现象的实验数据,包括“单项效应”和 “整体”实验比较;核动力厂数据,包括调试或启动期间试验,以及运行事件或事故;独立开发的和使用不同方法的其它程序;标准题和/或数值基准。
5) 对于程序的使用者,应该保证:足够的培训并且理解所使用的程序;有足够的程序使用经验;有合适的程序使用手册;已经用该程序对标准题进行分析。
6) 关于计算机程序的使用,应该确定:节点化和核动力厂模型能很好地反映核动力厂的行为;输入数据正确;正确理解和使用程序的输出结果。
此外,而对于软件开发则有通用的国家标准《计算机软件产品开发文件编制指南》(GB 8567-88),规定了文件的编制指导和各种文件的内容要求。
3. 国外监管体系
3.1. 美国
美国核管理委员会(NRC)的法律法规和相关技术文件等监管文件,很多涉及到安全分析软件的认证和评价的相关内容,其中主要强调了软件的质量保证、软件模型的认证和评价等方面。以下简述其中主要的法律法规和技术文件。
10.CFR 50. 附录B,核电厂和燃料后处理厂质量保证准则,要求对软件的开发与维护必须在质量保证大纲的监督下进行,质量保证大纲必须满10.CFR50.附录B的要求 [3] 。
10.CFR 50. 附录 K (2000) 应急堆芯冷却系统的评价模型。提出对核电厂的应急堆芯冷却系统行为模拟的评价模型的物理模型选择方面的要求,并对模型的保守要求进行了详细规定 [4] 。
RG 1.203瞬态与事故分析方法。该导则针对核电厂在其设计基准范围内的事故及瞬态工况的分析以及相关评价模型的开发与评价的过程的提出了要求 [5] 。从软件工程的开发规范和质保要求的角度出发,要求核电厂用特别是用于核电厂安全系统用的计算机软件开发流程必须具有最高可信度。为用于核电厂设计分析的评价模型的开发和评估过程提供指导。
NUREG-0800:SECTION 15.0.2安全分析程序的审评。该导则描述了执照申请者用于事故与瞬态行为的解析模型与计算机程序的审查过程与接受准则。审评的目的在于验证评价模型足以对所考虑的事故进行模拟 [6] 。
DG-1120 瞬态和事故分析方法。该文件说明相关质保文件的要求,其包括:模型评价要求报告;模型评价方法;程序说明手册;用户手册和用户指南;缩比报告;评估报告;不确定性分析报告。对于通用的瞬态分析计算机程序,如RELAP5、TRAC、RETRAN,可以对这些程序进行一定的模型评价开发和过程评估以确定其适用性。
3.2. 国际原子能机构
国际原子能机构(IAEA)也在其法规和技术文件体系中涉及了关于安全分析软件的相关内容。此处也将其中主要的文件简述如下。
· IAEA,NS-G-1.2 (2005) 核动力厂安全评价与验证
导则对假设始发事件、预期运行事件和设计基准事故、敏感性和不确定性分析、使用的计算机程序的评价等内容给出了原则要求。
· IAEA,No. NS-G-1.1 (2000) 核动力厂基于计算机的安全重要系统软件
导则对基于计算机的安全重要系统的软件提出相关技术建议,并对软件在上述系统的应用可能导致潜在的利弊、安全性和可靠性问题进行了论述。以及开发该项目的组织条件。
· IAEA,No. SSG-2 (2010) 核动力厂确定论安全分析
导则的目的是为设计、运行、监管人员和技术支持机构使用确定论安全分析提供指导,其内容包括了计算机程序的验证与确认(Verification & Validation)的要求。
程序的确认用于证明程序设计是否遵从程序的需求,以保证其数值方法、求解流程、用户的权限及约束与需求一致。应对设计概念、基本逻辑、流程图、数值方法、求解流程、计算机运行环境进行评审。所有的确定论安全分析的程序必须经过验证。验证程序的参考数据的来源包括分析解、实验、电厂、基准算例库。验证的过程包括两个阶段:开发阶段,由程序开发者评价程序;独立评价阶段,由与程序开发独立的验证方执行。验证的范围应与程序的目标范围一致,根据程序的复杂性与物理现象的复杂性,程序使用者对计算结果进行评价。在验证报告中指出验证的范围、程序的限制、程序能满足的需求。验证的结果用于确定程序的不确定性。
· IAEA,No.SSR-2/1(2012)核电厂安全:设计特定安全要求
安全的主要技术设计准则的要求,包括:对基本安全功能、实施纵深防御和建造准备的要求;对安全与核安保以及与国家核材料衡算和控制系统相互接口的要求;以及对确保由核电厂引起的辐射危险水平保持在可合理达到的尽量低的要求。反应堆堆芯、反应堆冷却剂系统、安全壳系统以及仪器仪表和控制系统等电厂特定系统的设计要求。安全分析必须提供关于已经在电厂设计中充分考虑了各种不确定因素的保证。如果核电厂的安全重要系统依赖于基于计算机的设备,则必须制订开发和测试计算机硬件和软件的适当标准和实践并在该系统的整个使用期内特别是软件的整个开发周期执行这些标准和实践,必须将整个开发工作纳质量管理系统的管理。
· IAEA,TECDOC-1539
导则对耦合程序(coupled codes)的认可方法进行了讨论。说明了耦合程序的确认活动通过耦合程序的结果与实验数据和其他程序的结果进行比较完成,并建议了验证所需要的工作内容。也同时要求针对不确定性进行分析和敏感度进行分析。
4. 国外核电厂安全分析软件的监管案例
4.1. 西屋公司的事故分析软件的审查认可
美国核管理委员会(NRC)对西屋公司的安全分析软件的认可流程如图1所示。
Figure 1. The general process of the NRC reviewing safety analysis software
图1. NRC审查安全分析软件的一般流程
在审查西屋公司AP1000核电厂的安全分析报告时,西屋公司向NRC提交的专题报告WCAP-15644-NP,“AP1000程序应用报告”以便NRC审查 [7] 。该报告分别就AP1000中使用的计算机程序:用于破口失水事故(LOCA)的NOTRUMP和WCOBRA/TRAC、用于长期冷却的WCOBRA/TRAC、用于安全壳完整性分析的WGOTHIC等软件的应用做了评价。
1) WCOBRA/TRAC程序对AP1000的验证
这部分主要介绍了AP1000的大LOCA现象,对WCOBRA/TRAC用于AP1000LBLOCA分析的程序验证和WCOBRA/TRAC用于AP1000长期冷却分析的程序验证进行详细的描述,重点介绍了NRC对该程序在AP600中的接受以及对AP1000的分析的可接受性,最后评价了DG-1906相关的问题。最终NRC认为:WCOBRA/TRAC程序,满足于10CFR50.46要求的AP1000应急堆芯冷却系统的性能分析,可用于AP1000的最佳估算分析。
2) 对NOTRUMP验证
这部分重点描述了AP1000的NOTRUMP程序可接受性,包括现象问题、缩比问题、裕量问题等在AP1000中的解决方式,并讨论了相关方法的评价,最后NRC认为:NOTRUMP程序可用于AP1000的小LOCA事件的保守分析。
3) WGOTHIC对AP1000安全壳完整性分析的适用性
NRC认为WGOTHIC程序在西屋公司的早期核电厂设计AP600中获得批准,和AP600相比,对安全壳完整性的挑战(即大LOCA和小的蒸汽管线破裂)在AP1000中没有新的现象,能够支持AP600程序验证的实验数据适用于AP1000。况且,AP600设计认证审查时的问题的解决方法适用于AP1000。使用WGOTHIC分析时,AP1000对安全壳设计压力有足够的裕量。WGOTHIC程序可用于AP1000的安全壳分析。
4.2. 法国FRAMATOME公司SCIENCE V2程序包执照申请
SCIENCE V2程序包用于进行压水堆堆芯设计、安全分析和堆芯负荷的堆芯物理计算,包括输运程序APOLLO2-F、堆芯计算程序SMART以及图形用户界面程序COPILOTE。FRAMATOME向NRC进行程序执照申请时提交的程序认可相关文件包括有物理模型报告(Science V2 Physical models)和程序认可报告(Science V2 Qualification report) [8] 。
上述文件中,物理模型报告主要描述程序所采用的物理模型、理论公式和数据数值。程序认可报告陈述APOLLO2-F程序和SMART程序的所进行的验证活动,APOLLO2-F通过实验、基准比较对程序功能分别进行验证;SMART程序主要通过对计算数据和测得数据进行比较以完成验证。
NRC对SCIENCE程序包进行审评后,认为其执照申请是可以接受的,但是须满足下列要求:
1) 程序包应用的预计结果应在执照申请提交文件所确定的确认准则和测量不确定性范围内;
2) 程序包的燃料设计功能应在专题报告(Topic Report) BAW-10228P确认的范围内使用;
3) 程序包应用时需要考虑特定的不确定性;
4) 程序包仅由FRAMATOME用于压水堆执照申请的安全分析,除非NRC批准其他组织使用。
同时,对于SCIENCE程序包的更新升级,NRC认为需要对程序的改动进行基准测试和确认活动,以确保程序新功能所得结果满足专题报告中提出的认可准则。如果程序的变更满足相关准则,不会改变程序的不确定性或相关应用,FRAMATOME可在内部记录程序和相关结果的变更而不需要通知NRC。但是,如果发生了不确定性的变更,只要变更影响到程序在执照申请应用中的不确定性时,FRAMATOME要向NRC提交相关支持文件。对于程序包未来有的新的应用,如果未在专题报告内提供,将需要对程序包进行再次确认活动。
4.3. 加拿大ACEL公司ACR堆型设计程序认可审评
NRC认为ACR堆型所用的设计和安全分析的计算机程序中大多数程序是已认证的,少部分需要进行审核确认活动,极少数程序需要根据ACR的设计做出更改。对于已认可程序,如果要将其使用于新的安全或执照分析中,需要在软件质保大纲中列出对这些程序的要求。ACR安全分析软件认可计划,针对特定的事故现象增加相关的程序确认活动。
程序认可计划一般包括:
1) 确定符合AECL软件质保手册中设计和开发要求的计算机程序范围。
2) 不符合这些要求的程序的理由。
3) 额外验证需求和执行的验证活动的定义。
安全程序评价:认可计划的第一步是对程序分析的适用性评价。安全分析软件的适用性评价必需结合反应堆设计和可能事故序列的相关现象。由程序持有者召集的专家组进行程序的适用性评价,包括相关学科专家、ACR设计人员和安全分析专家。评价主要集中在ACR和CANDU设计差异的影响上。
程序的认可工作需要和设计工作同步进行。认可工作优先关注重要的设计和安全分析软件以及重要的确认活动变更。由于ACR是对现有CANDU6的扩展,程序的确认工作没有大的变化。程序的认可工作首先关注关键程序的确认以确保程序预计的不确定性最小化。
由于没有要求对ACR开发新的程序,现有CANDU6程序在ACR设计和安全分析中均可使用,对其进行认可时,需要关注三个因素:
1) 对程序适用性和现有确认工作是否足够的评估;
2) 针对ACR设计做出的程序修改;
3) 程序额外的确认工作、确认工作的扩展、或程序的适用范围和确认的范围相适应。
程序认可分为完全认可和不完全认可。完全认可的计算机程序,需要完成整套质保文件、对程序进行了验证并完成确认报告,能够在其指定范围内使用。不完全认可的程序只有在判断其使用对整体项目风险影响可接受或本身没有重要安全应用时可以使用。
4.4. 三菱公司的核电厂设计和安全分析软件审评
三菱公司向美国核管理委员会(NRC)提交用于US-APWR压水堆的设备及管线设计软件的认可申请,这些软件包括静态分析、动态分析、热工瞬态分析,包括通用商业软件和三菱内部开发软件程序。NRC对三菱公司申请软件认可的审评范围规定为:
1) 描述作者、源代码、执行文件、输入卡片(组)、之前版本、用户手册和理论公式的程序文件;
2) 程序验证报告;
3) 程序的流程图逻辑;
4) 程序的VV基准包;
5) 程序的输入输出数据和程序的限制条件;
6) 需要对程序进行试运行(未审评);
7) 程序控制和维护的质量保证流程大纲。
根据软件的情况,NRC的审评团队要求MHI提供软件的编译文件(translated documents)以便于用于NRC审评,并经审查确认三菱公司用于US-APWR相关设计软件符合10CFR50附录B的要求。
4.5. IAEA关于耦合程序的认可讨论
IAEA讨论关于耦合程序(coupled codes)的认可方法,将用于分析瞬态和设计基准事故的程序分为六类:
· 反应堆物理程序
· 燃料行为程序
· 热工水力程序
· 安全壳分析程序
· 大气扩散和剂量程序
· 结构程序
耦合程序的确认活动通过耦合程序的结果与实验数据和其他程序的结果进行比较完成,对耦合程序进行验证时,需要做到:
· 定义所有需要的核电厂数据,并进行审查
· 核电厂数据包括设计特性和实验数据
· 所用数据也应可用于比较计算中
· 使用的数据应来源于运行电厂的试验或由设备的试验(tests)所确认
· 核电厂稳态和瞬态获得的数据均要使用,并与实验的结果进行比较
最后对计算结果进行不确定性分析,并对影响的参数进行敏感度分析。
为了减少耦合程序认可时的工作,要求程序开发者只使用经确认过的程序版本。此外,还要求开发者:
· 设计的耦合要便于审查
· 提供指导手册以最大程度减少使用者的影响
· 允许合理的保守性
· 构建程序使得耦合可行并易于实现
· 标准化耦合步骤
· 尽可能整合现有认可的计算方法
5. 核电厂安全分析软件的监管建议
综上所述,国外对于核电厂安全分析软件的主要监管流程可归纳为如下步骤:第一阶段进行资料初审,开展相关软件的初步合规性审查。第二阶段则是详细审查,首先是确定软件的具体审查范围,明确审查关注事项以及是否相关方需要提交源代码以备查;同时,分别开展软件的质量保证、验证确认、文件齐备等文档类审查,以及软件模型及条件假设、输入输出数据、相关限制条件、软件结果验证、基准题比较等技术问题审查 [9] 。同时,对于升级软件,还提出了差异化审评的相关要求 [10] 。
因此,在参考国外成熟经验的基础上,提出对我国关于核电厂安全分析软件的监管认可流程建议,同样分为初步审查阶段,详细审查阶段,以及后续的审评对话和最终认可,具体流程如图2所示。此流程主要针对专业软件而进行,一般的通用型商用软件可在此流程上进行简化。
初步审查阶段。申请者提交申请后的初步审查主要是形式审查。关注格式、内容是否符合要求,所提交资料是否完全,申请认可的软件是否满足认可条件等。
详细审查阶段。在完成初步审查并且通过之后,则进入对软件的详细审查阶段,这部分工作建议从两个方面着手,一个是开展软件相关的技术审查,另一个则注重对文档体系的审查。
其中,文档审查主要针对申请者所提交的文档进行审查,其中包括软件的需求报告、研制报告、验证和确认报告、质量保证大纲、软件说明书、软件适用范围、详细的软件应用情况、软件适用性的分析、验证报告等,以及所需要审查的其他文档。
Figure 2. The regulatory and recognition process for software
图2. 软件认可的流程
技术审评是更深入的软件审评。主要针对申请方提供的程序模型、程序源代码、实验数据报告和程序应用等,组织相关人员进行深入审查。主要内容包括:
1) 软件需求的确认与评价,针对最初的软件需求相关文件进行评价,确认需求的正确性和完整性。
2) 软件适用范围的分析和评价,针对软件的适用范围进行相关分析和评价,如果需要则开展相关试验验证。
3) 物理模型的审查,主要审查模型的正确性,模型的应用范围,模型边界的合理性;开展物理模型相关的报告评价和物理模型的测试及验证。
4) 标准例题的编制,为测试程序的正确性和适用性,编制合适的样题。
5) 程序的测试,应用测试体例对软件进行测试,主要测试程序的正确性,结果的合理性。
6) 软件验证和确认过程的评价和审查,确定验证和确认过程的正确性、合理性和有效性。
6. 结论
本文通过研究国外核电安全分析软件的相关审评认可方法及流程,梳理总结提出适用于我国核电厂安全分析软件监管的模式流程和审查内容建议。首先通过形式审查确定相关报告格式的正确性,随后进入详细审查阶段,分别开展文档审查和具体的技术审查,以确认软件的相关文件报告的齐备性、完整性和可接受性,以及软件模型在模型上的准确性和技术上的可行性,并提出技术审查的具体需求和评价内容。通过上述内容建议,探索形成一套适当的监管体系,以期对我国核电厂安全分析软件的监管提供一定助益。