Abaqus的计算任务的实现方法和装置制造方法

文档序号:6517244阅读:614来源:国知局
Abaqus的计算任务的实现方法和装置制造方法
【专利摘要】本发明公开了一种ABAQUS的计算任务的实现方法和装置,其中,该实现方法包括:获取用户输入的计算指令;对计算指令进行解析,确定计算的类型以及计算参数;将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。借助于本发明的技术方案,能够使ABAQUS的计算任务的实现过程无需通过命令行,只通过基于图形界面的简单的操作,就能完成计算任务,大大降低操作难度,提高执行效率,降低出错概率,并且,通过对用户输入的资源请求指令的解析与计算资源调度语句的执行,能够合理分配和利用计算资源,提高了计算资源利用率,此外,通过对用户输入信息的合法性判断,能够很好地保证ABAQUS计算程序的安全稳定运行。
【专利说明】ABAQUS的计算任务的实现方法和装置
【技术领域】
[0001]本发明涉及科学计算领域,并且特别地,涉及一种ABAQUS的计算任务的实现方法和装置。
【背景技术】
[0002]ABAQUS是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题,ABAQUS包括一个丰富的、可模拟任意几何形状的单元库,并拥有各种类型的材料模型库,可以模拟典型工程材料的性能,其中包括金属、橡胶、高分子材料、复合材料、钢筋混凝土、可压缩超弹性泡沫材料以及土壤和岩石等地质材料,作为通用的模拟工具,ABAQUS除了能解决大量结构(应力/位移)问题,还可以模拟其他工程领域的许多问题,例如热传导、质量扩散、热电耦合分析、声学分析、岩土力学分析(流体渗透/应力耦合分析)及压电介质分析。
[0003]在传统的高性能计算集群环境中,用户要运行基于ABAQUS软件的计算程序通常有两种方式:一是在作业调度的使用环境中,需要使用远程字符终端在命令行环境下执行一系列操作,一般有以下几个流程:
[0004]准备好ABAQUS计算程序的可执行文件、输入文件、数据文件等,这些文件通常需要放置在集群的全局共享存储中,用户一般使用FTP、SFTP等工具向集群上传这些文件,在大多数情况下,用户还需要用文本编辑工具对输入文件等进行编辑修改。
[0005]确定运行该ABAQUS计算程序需要的进程数,以及在哪些节点上运行,将这些信息通过命令行参数的方式传递给ABAQUS的进程启动器,通过ABAQUS的进程启动器启动运行该ABAQUS计算程序。
[0006]程序运行完成后,查看计算结果,或使用FTP、SFTP等工具下载结果文件到用户本地终端。
[0007]以上是直接运行ABAQUS计算程序的主要流程,实际情况下,用户在高性能计算集群上提交并行计算任务,需要统一使用作业调度软件提供的接口,用户通常还需要再编写一个作业调度脚本,在脚本中申请计算资源,通过这个脚本提交并行计算任务,由作业调度软件来处理任务排队、分配资源、发起并行程序。
[0008]另一种方式是使用ABAQUS计算程序的图形化操作界面,一般有以下几个流程:
[0009]用户一般使用FTP、SFTP等工具向集群上传ABAQUS计算程序的数据文件。
[0010]启动ABAQUS计算程序的图形化操作界面,选择计算所需要的数据文件,设置计算数据文件所需的计算参数以及需要的进程数、节点数等,鼠标点击运算按钮开始运算。
[0011]程序运行完成后,查看计算结果,或使用FTP、SFTP等工具下载结果文件到用户本地终端。
[0012]以上是启动图形化操作界面运行ABAQUS计算程序的主要流程,作业调度软件无法对其进行计算任务处理排队、分配资源等操作。
[0013]上面介绍了在传统的高性能计算集群环境中,用户运行基于ABAQUS计算程序的两种操作基本流程,第一种流程通常需要在远程字符终端下,通过命令行的方式来实现,对于非骨灰级的广大普通用户来说,操作难度大,执行效率低,出错概率大;第二种流程虽然在操作难度上有所降低,人机交互上体验较好,但是无法使用高性能计算集群作业调度软件处理任务排队、分配资源、发起并行程序,是整个高性能计算资源无法有序、高效和合理的使用,甚至造成计算资源的浪费与分配不均。
[0014]以上两种执行方式的弊端主要表现在:
[0015]使用难度非常大。想要顺利提交一个ABAQUS并行计算任务,用户往往需要非常熟悉很多与其专业背景无关的很多知识和工具,比如Linux操作系统基本操作、Shell脚本语言、常用的文本编辑和字符处理工具、MPI环境的调用、作业调度软件的使用等等,这些知识或工具的学习曲线非常陡,熟练掌握常常需要花费若干年的时间,这样的使用代价对广大普通用户来说是非常巨大的。
[0016]执行效率低。想要顺利提交一个ABAQUS并行计算任务,需要执行多个流程,需要使用一些专业工具,需要在命令行环境执行复杂繁琐的操作,从而导致并行计算任务的提交费时费力,执行效率低下。
[0017]出错概率大。对于大部分普通用户来说,在命令行环境执行复杂繁琐的操作,出现人为操作失误的概率很大,特别是对于操作流程不熟悉的用户,在执行的各个环节均容易遇到问题。
[0018]对于高性能计算集群的管理员来说,对普通用户开放命令行终端,也存在安全性的风险,用户的误操作可能会影响系统的稳定运行,黑客也有可能趁虚而入。
[0019]使用ABAQUS计算程序的图形化操作界面的方法,不能使应用程序与作业调度有机地结合起来,使得作业调度软件无法来处理任务排队、分配资源、发起ABAQUS并行程序,在使用图形化操作界面时,只能手工为用户提供高性能计算集群中固定的计算节点完成计算,即无法根据计算量的大小动态调节计算资源,也同时造成了计算节点再空闲时的无法再次使用的计算资源浪费。
[0020]在现有技术中,虽然存在一些商业计算软件提供自己的并行计算任务通过图形化提交界面进行指令提交,但都是针对个别软件,没有普适性,并且,还需要专门的客户端软件配合完成,与作业调度软件的结合无法实现或存在不同程度的问题。
[0021]针对相关技术中用户运行ABAQUS计算程序时需要在远程字符终端下通过命令行的方式来实现,操作难度大,执行效率低,出错概率大的问题,目前尚未提出有效的解决方案。

【发明内容】

[0022]针对相关技术中用户运行ABAQUS计算程序时需要在远程字符终端下通过命令行的方式来实现,操作难度大,执行效率低,出错概率大的问题,本发明提出一种ABAQUS的计算任务的实现方法和装置,能够使用户无需通过命令行的方式,只通过简单的操作输入计算指令,就能实现整个运算过程。
[0023]本发明的技术方案是这样实现的:
[0024]根据本发明的一个方面,提供了一种ABAQUS的计算任务的实现方法,该实现方法包括:[0025]获取用户输入的计算指令;
[0026]对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;
[0027]将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。
[0028]此外,在执行代入计算参数的语句之前,该实现方法进一步包括:
[0029]判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;
[0030]其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:
[0031 ] 计算指令的格式、计算指令中计算参数的范围。
[0032]此外,在执行代入计算参数的语句之前,该实现方法进一步包括:
[0033]获取用户输入的资源请求指令,对资源请求指令进行解析,得到资源参数,其中,资源参数用于表示用户所请求的资源量;
[0034]将资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。
[0035]此外,在执行计算资源调度语句之前,该实现方法进一步包括:
[0036]判断用户输入的资源请求指令是否合法,并在判断结果为否的情况下,禁止执行计算资源调度语句并进行提示;
[0037]其中,判断用户输入的资源请求指令是否合法的条件包括以下至少之一:
[0038]计算资源请求指令的格式、用户所请求的资源量。
[0039]其中,计算资源包括以下至少之一:
[0040]计算节点、CPU核数、计算时长、计算结果的存储路径。
[0041]此外,获取用户输入的计算指令包括:
[0042]通过预先提供图形界面,获取用户在图形界面中的参数输入框内输入的计算参数、和/或根据用户在图形界面中的路径输入框内输入的存储路径获取包含计算参数的文件并确定该文件中的输入参数。
[0043]其中,图形界面包括web界面。
[0044]根据本发明的另一方面,提供了一种ABAQUS的计算任务的实现装置,该实现装置包括:
[0045]第一获取模块,用于获取用户输入的计算指令;
[0046]解析模块,用于对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;
[0047]第一执行模块,用于将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。
[0048]此外,该实现装置进一步包括:
[0049]判断模块,用于在执行代入计算参数的语句之前,判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;
[0050]其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:
[0051 ] 计算指令的格式、计算指令中计算参数的范围。
[0052]此外,该实现装置进一步包括:
[0053]第二获取模块,用于在执行代入计算参数的语句之前,获取用户输入的资源请求指令,对资源请求指令进行解析,得到资源参数,其中,资源参数用于表示用户所请求的资
源量;
[0054]第二执行模块,用于将资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。
[0055]本发明通过从用户输入的计算指令中解析得到的计算参数和计算类型,并将计算参数代入到预先配置好的与该计算类型相对应的计算命令语句,并执行该计算命令语句,能够使用户只需输入简单的计算指令,无需进行复杂的命令行操作,就能完成计算,降低了用户使用ABAQUS计算程序的难度,提高了执行效率,降低了出错概率。
【专利附图】

【附图说明】
[0056]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0057]图1是根据本发明实施例的ABAQUS的计算任务的实现方法流程图;
[0058]图2是根据本发明实施例的ABAQUS的计算任务的实现装置框图。
【具体实施方式】
[0059]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0060]根据本发明的实施例,提供了一种ABAQUS的计算任务的实现方法。
[0061 ] 如图1所示,该实现方法包括:
[0062]步骤S101,获取用户输入的计算指令;
[0063]步骤S103,对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;
[0064]步骤S105,将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。
[0065]此外,在执行代入计算参数的语句之前,该实现方法进一步包括:
[0066]判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;
[0067]其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:
[0068]计算指令的格式、计算指令中计算参数的范围。
[0069]此外,在执行代入计算参数的语句之前,该实现方法进一步包括:
[0070]获取用户输入的资源请求指令,对资源请求指令进行解析,得到资源参数,其中,资源参数用于表示用户所请求的资源量;
[0071]将资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。
[0072]此外,在执行计算资源调度语句之前,该实现方法进一步包括:[0073]判断用户输入的资源请求指令是否合法,并在判断结果为否的情况下,禁止执行计算资源调度语句并进行提示;
[0074]其中,判断用户输入的资源请求指令是否合法的条件包括以下至少之一:
[0075]计算资源请求指令的格式、用户所请求的资源量。
[0076]其中,计算资源包括以下至少之一:
[0077]计算节点、CPU核数、计算时长、计算结果的存储路径。
[0078]此外,获取用户输入的计算指令包括:
[0079]通过预先提供图形界面,获取用户在图形界面中的参数输入框内输入的计算参数、和/或根据用户在图形界面中的路径输入框内输入的存储路径获取包含计算参数的文件并确定该文件中的输入参数。
[0080]其中,图形界面包括web界面。
[0081]根据本发明的实施例,还提供了一种ABAQUS的计算任务的实现装置。
[0082]如图2所示,该实现装置包括:
[0083]第一获取模块21,用于获取用户输入的计算指令;
[0084]解析模块22,用于对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;
[0085]第一执行模块23,用于将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。
[0086]此外,该实现装置进一步包括:
[0087]判断模块(未示出),用于在执行代入计算参数的语句之前,判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;
[0088]其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:
[0089]计算指令的格式、计算指令中计算参数的范围。
[0090]此外,该实现装置进一步包括:
[0091]第二获取模块(未示出),用于在执行代入计算参数的语句之前,获取用户输入的资源请求指令,对资源请求指令进行解析,得到资源参数,其中,资源参数用于表示用户所请求的资源量;
[0092]第二执行模块(未示出),用于将资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。
[0093]例如,在一个实施例中,根据本发明的技术方案,针对ABAQUS计算程序进行了 web封装,并编写了相应软件界面实现具体功能。
[0094]通过封装,将ABAQUS计算程序的任务提交流程隐藏在底层,提供给用户一个简单直观的web界面,用户只需要在web界面上执行简单的操作,例如:输入计算所需参数,选择计算类型,输入计算所需要的资源,选择计算结果的存储路径,等等,本发明的实施例所提供的ABAQUS计算任务的实现方法和装置,可以获取上述用户输入的计算参数和计算类型,并将获取得到的计算参数代入到预先配置的与该计算类型相对应的计算命令语句,执行该计算命令语句并返回计算结果,而且,用户可以根据自己申请的计算结果的存储路径查看计算结果。
[0095]并且,根据本发明的实施例所提供的ABAQUS计算任务的实现方法和装置,还可以对用户输入的计算指令进行合法性判断,如果用户输入的计算指令格式不能被预先配置好的计算命令语句识别,则拒绝执行该语句,并发出提示消息,从而避免了用户错误操作或者对软件的恶意攻击。
[0096]此外,在用户申请计算资源的过程中,只需要将欲申请的计算资源的数量、和/或资源类型在相应的文本框中输入,或者在相应的下拉菜单中进行选择,本发明实施例中提供的ABAQUS计算任务的实现方法可以获取用户输入的资源请求内容,将服务器中的资源进行调度,提供给用户,例如,通过远程控制软件VNC (Virtual Network Computing)管理功能,能够在作业调度系统中实现图形交互式操作,在作业系统自动分配的头计算节点上远程打开CAE等软件的图形界面,在图形界面设置完计算题目后,点击计算按钮可直接将作业投递到作业调度所分配的计算节点上,同时,如果用户所申请的计算资源数量超出了服务器目前能够提供的资源总量,则拒绝用户的申请,并发出提示消息。
[0097]通过上述实施例提供的web封装方法,用户只需要在web界面上执行简单的操作就能实现数据文件准备、计算资源申请、计算任务提交、计算结果查看等整套流程,无需通过命令行的方式,大大降低用户的使用门槛,提高使用效率,减小出错概率。
[0098]在本实施例中,针对ABAQUS计算程序进行web封装,为用户带来全新的使用方式,效果主要体现在:
[0099]大大降低使用难度。用户不再需要熟练掌握Linux操作系统基本操作、Shell脚本语言、常用的文本编辑和字符处理工具、MPI环境的调用、作业调度软件等与其专业背景无关的知识和工具,就能轻松完成ABAQUS并行计算任务的准备、执行等工作,大大降低了使用门槛。
[0100]大大提高使用效率。繁琐复杂的命令行操作全部隐藏在底层,在底层自动批量执行,可以节省大量的人为操作时间,提高使用效率。
[0101]提高任务提交的成功率。根据实施例所提供的web封装方法,会对用户在web界面提交的参数和数据进行不同纬度的合法性检查,比如,检查用户申请的计算资源是否超过其权限,用户输入的参数是否合法,用户的输入文件格式是否正确等,如果判断出错误,会在web界面给出相应提示,通过这些合法性检查可以大大提高并行任务提交的成功率。
[0102]轻松实现复杂功能。ABAQUS并行程序运行时的一些复杂或高级功能,比如计算网络的选择,启动CPU进程绑定等,如果通过命令行方式需要指定复杂的参数,操作繁琐,使用难度较大,经过Web封装后,用户只需要通过界面上的一些选项框就能实现这些功能。
[0103]提高高性能计算集群的使用安全性。将普通用户的任务提交操作封装在web界面后,用户执行的都是封闭式的操作,很大程度上避免了影响系统稳定或安全的用户非法操作。
[0104]软件图形化界面与作业调度无缝结合。实现了在作业调度系统中实现图形交互式操作,在作业系统自动分配的头计算节点上远程打开CAE等软件的图形界面,在图形界面设置完计算题目后,点击计算按钮可直接将作业投递到作业调度所分配的计算节点上。
[0105]综上所述,借助于本发明的上述技术方案,通过获取用户在图形界面中的参数输入框内输入的计算指令、和/或资源申请指令,并将从指令中解析得到的参数信息代入到相应的命令语句,并执行该命令语句,能够使ABAQUS的计算任务的实现过程无需通过命令行,大大降低操作难度,提高执行效率,降低出错概率,并且,通过对用户输入的资源请求指令的解析与计算资源调度语句的执行,能够合理分配和利用计算资源,提高了计算资源利用率,此外,通过对用户输入信息的合法性判断,能够很好地保证ABAQUS计算程序的安全稳定运行。
[0106] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种工程模拟的有限元软件ABAQUS的计算任务的实现方法,其特征在于,包括: 获取用户输入的计算指令; 对所述计算指令进行解析,确定计算的类型以及所述计算指令中包含的计算参数;将所述计算参数代入到预先配置的与所述计算类型对应的计算命令语句中,并执行该计算命令语句。
2.根据权利要求1所述的实现方法,其特征在于,在执行代入计算参数的语句之前,所述实现方法进一步包括: 判断所述用户输入的计算指令是否合法,并在所述判断的结果为否的情况下,禁止执行计算命令语句并进行提示; 其中,判断所述用户输入的计算指令是否合法的条件包括以下至少之一: 所述计算指令的格式、所述计算指令中计算参数的范围。
3.根据权利要求1所述的实现方法,其特征在于,执行代入计算参数的语句之前,所述实现方法进一步包括: 获取用户输入的资源请求指令,对所述资源请求指令进行解析,得到资源参数,其中,所述资源参数用于表示用户所请求的资源量; 将所述资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。
4.根据权利要求3所述的实现方法,其特征在于,在执行计算资源调度语句之前,所述实现方法进一步包括: 判断所述用户输入的 资源请求指令是否合法,并在所述判断结果为否的情况下,禁止执行计算资源调度语句并进行提示; 其中,判断所述用户输入的资源请求指令是否合法的条件包括以下至少之一: 所述计算资源请求指令的格式、用户所请求的资源量。
5.根据权利要求3所述的实现方法,其特征在于,所述计算资源包括以下至少之一: 计算节点、CPU核数、计算时长、计算结果的存储路径。
6.根据权利要求1至5中任意一项所述的实现方法,其特征在于,获取用户输入的计算指令包括: 通过预先提供图形界面,获取用户在所述图形界面中的参数输入框内输入的计算参数、和/或根据用户在所述图形界面中的路径输入框内输入的存储路径获取包含计算参数的文件并确定该文件中的输入参数。
7.根据权利要求1至5中任意一项所述的实现方法,其特征在于,所述图形界面包括web界面。
8.—种工程模拟的有限元软件ABAQUS的计算任务的实现装置,其特征在于,包括: 第一获取模块,用于获取用户输入的计算指令; 解析模块,用于对所述计算指令进行解析,确定计算的类型以及所述计算指令中包含的计算参数; 第一执行模块,用于将所述计算参数代入到预先配置的与所述计算类型对应的计算命令语句中,并执行该计算命令语句。
9.根据权利要求8所述的实现装置,其特征在于,进一步包括: 判断模块,用于在执行代入计算参数的语句之前,判断所述用户输入的计算指令是否合法,并在所述判断的结果为否的情况下,禁止执行计算命令语句并进行提示; 其中,判断所述用户输入的计算指令是否合法的条件包括以下至少之一: 所述计算指令的格式、所述计算指令中计算参数的范围。
10.根据权利要求8所述的实现装置,其特征在于,进一步包括: 第二获取模块,用于在执行代入计算参数的语句之前,获取用户输入的资源请求指令,对所述资源请求指令进行解析,得到资源参数,其中,所述资源参数用于表示用户所请求的资源量; 第二执行模块,用于将所述资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度 语句。
【文档编号】G06F17/50GK103544355SQ201310526963
【公开日】2014年1月29日 申请日期:2013年10月30日 优先权日:2013年10月30日
【发明者】杨亮, 马少杰, 曹振南, 李斌, 曹征, 何沧平, 姜金良, 苗春葆, 田相桂, 易成, 沈杰, 侯雪峰, 赵明坤, 胡耀国, 范娟 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1