The invention relates to an encoding method, finite element based on the language of the compiler and the solution method, the method includes reading finite element language documents; the finite element language file according to the predefined encoding different rules compiled into source program code; call component source code in the pre storage element library, and the element the source code program and the source program code is integrated into the target source program code integrity; the target source program code for the needs of language code then replaced the needs of language code, solved the differential equations of the program code. It also involves a finite element language compiler, which includes acquiring module, compiling module, generating module and converting module, and also involves a method of automatic coding to solve differential equations. Through the method of the invention, the program can be compiled quickly, and the time of writing is short, the accuracy of the compilation is high, and the cost of compilation is also greatly reduced, which can meet various engineering needs.
【技术实现步骤摘要】
一种基于有限元语言的编码方法、编译器及求解方法
本专利技术属于数理方程编码领域,尤其涉及一种基于有限元语言的编码方法、编译器及求解方法。
技术介绍
在计算机辅助工程(ComputerAidedEngineering,简称为CAE)行业中,采用数值计算程序实现产品从设计、运行、破坏全生命周期内的仿真模拟,各行各业中面对不同的产品和项目类型,数值计算程序千差万别,工程界对该类型数值计算程序的需求种类繁多;当前这些数值计算程序都采用传统的人工组建团队的模式来一个个开发,采用计算机高级编程语言或面向对象的高级编程语言(如C、C++、Fortran语言等)去一行行代码实现,开发需要投入几十人年,并且要组织有序团队分工协作完成;传统人工编写程序存在编写程序工作量大,周期长、成本高,无法快速满足科研与工程界多样化的需求的缺点。
技术实现思路
本专利技术所要解决的技术问题是:现有的人工编写程序存在编写程序工作量大,周期长、成本高,无法快速满足科研与工程界多样化的需求等的缺点。为解决上面的技术问题,本专利技术提供了一种基于有限元语言的编码方法,该编码方法包括:S1,读取微分方程弱解形式 ...
【技术保护点】
一种基于有限元语言的编码方法,其特征在于,该编码方法包括:S1,读取微分方程弱解形式的有限元语言文件以及与所述微分方程对应的微分方程算法格式的有限元语言文件;S2,将所述微分方程弱解形式的有限元语言文件和所述微分方程算法格式的有限元语言文件按照不同的预定义编码规则编译成源程序代码;S3,在预存储元件库中调用元件化源代码程序,并将所述元件化源代码程序和所述源程序代码集成完整的目标源程序代码;S4,将所述目标源程序代码换成需求的语言代码,得到求解所述微分方程的程序代码。
【技术特征摘要】
1.一种基于有限元语言的编码方法,其特征在于,该编码方法包括:S1,读取微分方程弱解形式的有限元语言文件以及与所述微分方程对应的微分方程算法格式的有限元语言文件;S2,将所述微分方程弱解形式的有限元语言文件和所述微分方程算法格式的有限元语言文件按照不同的预定义编码规则编译成源程序代码;S3,在预存储元件库中调用元件化源代码程序,并将所述元件化源代码程序和所述源程序代码集成完整的目标源程序代码;S4,将所述目标源程序代码换成需求的语言代码,得到求解所述微分方程的程序代码。2.根据权利要求1所述的编码方法,其特征在于,所述S2中包括:将所述微分方程弱解形式的有限元语言文件按照第一预定义编码规则编译成用于计算单元特性的第一源代码程序;以及将所述微分方程算法格式的有限元语言文件按照第二预定义编码规则编译成组集代数方程组的左端矩阵和右端向量的第二源程序代码。3.根据权利要求2所述的编码方法,其特征在于,将所述微分方程弱解形式的有限元语言文件按照第一预定义编码规则编译成用于计算单元特性的第一源代码程序包括:当所述微分方程弱解形式的有限元语言文件中包含有单元插值形函数的有限元语言文件时,调用预存储形函数库中相应的函数表达式对所述单元插值形函数的有限元语言文件进行编译,生成相应的第一源程序代码;当所述微分方程弱解形式的有限元语言文件中包含有积分项的有限元语言文件时,调用预存储积分点数据库中相应的积分点坐标和权重值,并采用等参单元进行变换的方式对所述积分项的有限元语言文件进行编译,生成相应的第一源程序代码。4.根据权利要求2或3所述的编码方法,其特征在于,所述单元特性包括:单元刚度矩阵、单元质量矩阵、单元阻尼矩阵和单元载荷向量。5.根据权利要求3所述的编码方法,其特征在于,所述有限元语言文件包括:pde文件、fbc文件、gcn文件、mdi文件、sch文件。6.一种有限元语言编译器,其特征在于,该编译器包括:获取模块、编译模块、生成模块、转换模块;所述获取模块,用于读取微分方程弱解形...
【专利技术属性】
技术研发人员:梁国平,周永发,李庆定,
申请(专利权)人:元计算天津科技发展有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。