物理对象系统的解析方法和装置以及计算机程序产品的利记博彩app

文档序号:6482546阅读:233来源:国知局
专利名称:物理对象系统的解析方法和装置以及计算机程序产品的利记博彩app
技术领域
本发明涉及物理对象系统的解析方法和装置以及计算机程序产品。
背景技术
为了解析振动的传递状况、房屋温度分布状况等物理现象,通常必须求解多元联立一次方程式。为了求解多元联立一次方程式,要作逆矩阵计算。靠计算机计算逆矩阵时,存在着能用解析软件处理的矩阵大小受到限制,和计算大矩阵要耗费大量时间的困难。
为了解决这样的困难,所有的计算方法在美国专利第5,442,569号说明书“Method and apparatus for system characterization and analysis using finiteelement methods”中被揭示。在这一计算方法中,首先将多元联立一次方程式分成几个组,将各组所含的未知数分成I、E、U三种类型。类型I为只存在自己组内的未知数。类型E为原来是自己组内所含的未知数,其它组内也含的未知数。类型U为原来是其它组内所含的未知数,自己组内也含的未知数。接着,将几个组所含的未知数分别合并成每一个类型I、E、及U。同样,将剩余的几个组所含的未知数分别合并成每一个类型I、E、及U。然而,将合并在每一种类型I、E及U中的未知数全部合并,统一成一个组。从统一成一个组的未知数群中,生成只包括类型E及U的未知数的第1联立一次方程式。解第一联立一次方程式分类型E及U的未知数。将求得的类型E及U的未知数代入只含类型I未知数的第2联立一次方程式,求解类型I的未知数。
若采用该方法求解多元联立一次方程式,即使未知数的数量非常多,也能在短时间内求出所有未知数之值。这样,为了求解多元联立一次方程式,用美国专利第5,442,569号说明书揭示的技术,反复对不同类型未知数进行划分和合并,这样的未知数划分/合并处理因为要考虑最终能够求解多元联立一次方程式,并必须进行求解,所以需极高的专业知识和经验。
为了利用振动解析、结构解析、传热解析或流体解析之类的物理解析仿真,进行详细的三维暂态解析,(a)设定初始条件及边界条件等各种解析条件,(b)计算出在该解析条件下,下一时刻的响应,(c)以计算出的响应作为条件,计算下一时刻的响应,必须反复进行以上处理。因此,只设定时间坐标系的任意时刻的条件,不能进行详细的解析。为了进行详细的三维暂态解析,也要考虑到时间坐标标系,例如会要求解包括甚至多达10万~100万个未知数的联立一次方程式。

发明内容
本发明之目的在于,提供不需高度专业知识、经验,就能高速求解未知数众多的联立方程式以解析物理对象系统的方法和装置以及计算机程序产品。
以下将阐明发明的其它对象和优势,其中部分将和说明书有显著的区别,或者可以在发明的实施中认识到这一点。通过在下文中特别指出的手段和组合,可以意识到发明的对象和优势。
根据本发明的第一个观点,解析物理对象系统用的联立方程式为变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式。第1式划分成多组。在第1式的各组中,通过在相邻其它组的相邻行中第1未知数矢量加上第1常数矢量生成加法矢量。与第1式的各组相对应,利用上述第1未知数矢量和上述加法矢量、以及上述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×加法矢量”形式的多组的第2式。通过从各组的上述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式。应用第2系数矩阵的逆矩阵,求上述第2未知数矢量所含的未知数的值。通过将该第2未知数矢量所含的未知数值代入上述第2式,从而求上述联立一次方程式所含的未知数的值。求出的上述联立一次方程式所含的未知数的值作为上述对象系统的解析结果而输出。
根据本发明的其它观点,将上述第1式划分成多组,生成上述第1加法矢量,分别生成上述多组的第2式后,生成上述第3式,从而把上述第1式置换成上述第3式,并且反复进行达次数N上述划分及生成。利用该反复进行后所得的上述第2系数矩阵的逆矩阵,求上述第2未知数矢量所含未知数的值,将该上述第2未知数矢量所含未知数的值代入第1式,求出上述第1未知数矢量所含未知数的值,并且,反复进行该求解达次数N,就能求出上述联立一次方程式所含未知数的值。


关于附图的几点简要说明所附的图,合并在一起组成了说明书的一部分,举例说明了目前发明中较好的实施例,加上以上的描述和以下对较好实施例的详细说明将用来说明发明的原理。
图1为表示根据本发明一实施形态的解析系统的构成的方框图。
图2为表示由图1中的解算机具体构成的一个示例的方框图。
图3A及3B为表示图2的解算机的一处理步骤的流程图。
图4为形象地说明以1质点系统为对象系统进行振动解析时图2的解算机处理步骤图。
图5A及5B为表示将图2的解算机应用于受外力的一个自由度物体的一次微分方程式时的划分数和计算时间的关系图。
图6为表示由图1的解算机具体构成的其它示例的方框图。
图7A、7B、7C为表示图6解算机的一个处理步骤的流程图。
图8为形象地说明在1质点系统为对象系统进行振动解析时图6的解算机的处理步骤图。
图9A及9B表示图6的解算机应用于受外力的一个质点的物体的一次微分方程式时的划分数和计算时间的关系图。
图10A及10B表示根据本实施形态的振动解析结果的输出形态的一示例图。
图11为根据本实施形态的热传递解析结果的输出形态的一示例图。
具体实施形态参照图1,例如,成套设备那样的物理对象系统10通过分别有接口功能的输入处理器11及输出处理器12连接在解算机系统13上。在解算机系统13上连接输入装置14及输出装置15。表示对象系统10的运算状态的物理数据21通过输入处理器11取得,取入解算机系统13。
在解算机系统13,根据通过输入装置14输入的操作人员的指示进行解析。解算机系统13的解析结果通过输出装置15输出。根据解算机13的解析结果通过输出处理器12生成控制数据22,该控制数据22供给对象系统10。输出处理器12再根据解析结果生成易于理解对象系统10运行状态用的显示数据23,靠该显示数据23在显示器16显示运行状态。
输入装置14例如为键盘或触摸屏,用于输入操作人员解析必需的例如初始条件、边界条件、时间间距宽度、时间间距数、空间间距宽度、空间间距数、物理参数(将这些汇总称为解析条件)和划分数及分层次数。
输出装置15包括液晶显示器、CRT显示器、等离子显示器等各种显示器,用于显示促使输入解析条件及划分数的画面或显示解析结果。输入装置15包括用于将解析结果作为硬拷贝输出而用的喷墨打印机、激光打印机等各种打印机。
解算机系统13具有控制单元21、运算单元22及存储单元23。参照图2,解算机系统13更具体地为由分别连接在总线110上的CPU(中央处理器)120、主存130及辅存140构成。控制单元21和计算单元22的功能靠CPU120实现。在存储单元23中包括主存130及辅存140。
主存130为存储根据本实施形态的联立一次方程式的计算程序的装置,具体使用RAM或ROM。CPU120遵照存在主存130中的联立一次方程式的计算程序,应用输入装置14输入的解析条件及划分数求联立一次方程式的解。求出的解作为解析结果自输出装置15输出。
辅存140为用于暂存CPU120解析运算中求得的逆矩阵等的值的装置,为RAM或硬盘之类的存储装置。辅存140能分成微分方程式存储区141、多元联立一次方程式存储区142、解析条件存储区143、第1矩阵表示式存储区144、逆矩阵存储区145、加法矢量存储区146、第2矩阵表示式存储区147、第3矩阵表示式存储区148及第2逆矩阵存储区149。
利用本实施形态,例如在解析三维暂态时,只要设定初始条件、边界条件、时间间距宽度、时间间距数、空间间距宽度、空间间距数、以及物理参数等解析条件与划分数,就能以一定的步骤用计算机高速求出联立一方程式的解。
以对象系统10为1质点度系统时进行对象系统10的振动解析为例,说明本实施形态。该振动解析的处理步骤为图3A及图3B所示。图4为易于理解该处理步骤而形象地进行表示。
先输入模拟对象系统10的物理现象的微分方程式(步骤S201)。微分方程式通常由操作人员编写,用输入装置14输入。编写微分方程式必需的数据,例如操作人员通过输入装置14中介输入振动解析、热传导解析、静态应力解析等解析种类、物理参数及形状等,也可借助解析软件编写微分方程式。考虑对象系统10存在的、受到外力的物体的一次微分方程式时,输入下述的微分方程式。mx··+cx·+kx=f(t)---(1)]]>式中m质量c衰减系数k弹簧常数f(t)外力x物体的变化被输入的微分方程式存放在辅存140的存储区141。CPU120从辅存140的存储区141取出微分方程式,利用通常所用的有限要素法或有限差分法等对其作离散处理(步骤S202)。例如在输入式(1)所示的微分方程式时,将时刻设定如下式(2)t(v)=vt (2)用中心差分使微分方程离散如下式(3)。m(x(v+1)-2x(v)+x(v-1)τ2)+(x(v+1)-x(v-1)2τ)+kx(v)=f(t(v))----(3)]]>接着,CPU120根据离散处理后的微分方程式(3),生成解析对象系统10必需的多元联立一次方程式(步骤S203)。
(2m-cτ)x(v-1)+(2τ2k-4m)x(v)+(2m+cτ)x(v+1)=2τ2f(t(v))(4)微分方程式的离散化和多元联立一次方程式的生成,靠以前通常使用的计算程序来执行。这样生成的多元联立一次方程式成为未知数甚多的方程式。生成的多元联立一次方程式存放在辅存140的多元联立一次方程式存储区142。
接着,借助输入装置14操作者将解析所需的初始条件、边界条件、时间间距宽度、时间间距数、空间间距宽度、空间间距数等解析条件及划分数等输入(步骤S204)。输入的解析条件及划分数存在辅存140的存储区143中。
然后,CPU120从辅存140的存储区142取出生成的多元联立一次方程式,从取出的多元联立一次方程式生成以下示出的第1矩阵表示式(步骤S205)。 其中α=(2m-cτ)β=(2τ2k-4m)λ=(2m+cτ)本说明书中将用矩阵表现的方程式称为矩阵表示式(matrix form equation)。式(5)的第1矩阵表示式用“第1系数矩阵×第1未知数矢量=第1常数矢量”形式表示。在此,第1系数矩阵为仅由与多元联立方程式所含未知数相乘的系数组成的矩阵,在式(5)中以α、β、γ、0表示。第1未知数矢量为只由多元联立一次方程式所含的未知数组成的矢量,式(5)中以X(0)、…、X(m×n)表示。第1常数矢量是只由多元联立一次方程式所含的常数组成的矢量,为式(5)中位于等号右侧的矢量。
CPU120从辅存140的存储区143取出由操作者从输入装置14输入的解析条件,遵照该解析条件将第1矩阵表示式划分成多个组(步骤S206)。例如作为该解析条件所包含的边界条件,设初始时刻的X(0)和在另一某时刻的X(m×n+1)为已知,这时,将该边界条件应用(5)所示的第1矩阵表示式,则第1矩阵表示式变形成如下的具有(m×n)行、(m×n)列的系数矩阵的矩阵表示式 然后CPU120从辅存140的存储区143取出由操作者从输入装置14输入的划分数(设为m),根据该划分数将如式(6)般变形后的第1矩阵表示式划分成如下所示分别具有n行×n的规模的m个组(步骤S206)。这些组都存放在辅存140的存储区144中。在该例中,考虑到处理效率将第1矩阵表示式作等分,也可不是等分。Mx(1)x(2)x(3)··x(n)=2τ2f(t(1))f(t(2))f(t(3))··f(t(n))+-αx(0)0···-γx(n+1)]]> 其中 CPU120从辅存140的存储区144取出第1矩阵表示式的各组,对每一组计算出第1系数矩阵M的逆矩阵M-1(步骤S207)。示于式(7)的算出的逆矩阵存放在辅存140的存储区145中。通过将第1矩阵表示式划分成多组,第1系数矩阵的规模变小,故能在短时间内容易求出逆矩阵。等分第1矩阵表示式时,因为可以求出一个第1系数矩阵的逆矩阵即可,所以计算时间还能缩短。
CPU120再从辅存140的存储区144取出第1矩阵表示式的各组,从该各组中抽出与具相邻的其它组的相邻行。将抽出的行中第1未知数矢量加上第1常数矢量生成第1加法矢量(步骤S208)。该第1加法矢量为位于第1矩阵表示式的式(7)所示的各组的右边位置的两个矢量之和。第1加法矢量存放在辅存140的存储区域146。
接着CPU120分别从辅存140的存储区144取出第1矩阵表示式各组所包含的未知数矢量、从存储区145中取出第1系数矩阵的逆矩阵、从存储区146中取出第1加法矢量,生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2矩阵表示式(步骤S209)。生成的多组的第2矩阵表示式存放在辅存140的存储区147。
然后,CPU120从辅存140的存储区147取出所有的组的第2矩阵表示式。从取出的第2矩阵表示式的各组中抽出和其它的组相邻的行,编成压缩后的联立方程式,再编成压缩过的第3矩阵表示式(步骤S210)。该联立方程式通过只汇集第2矩阵表示式的各组的最上面的行与最底下的行而被压缩。例如从式(7)所示的第2矩阵表示式的各组中只抽出与其它的组相邻的行,就能获得以下的(2m-2)个联立方程式。x(n)=2τ2Σi=1n(M-1)n,ifi(1)-a(M-1)n,1x(0)-γ(M-1)n,nx(n+1)]]> x(2n)=2τ2Σi=1n(M-1)n,ifi(2)-a(M-1)n,1x(n)-γ(M-1)n,nx(2n+1)]]>x(2n+1)=2τ2Σi=1n(M-1)1,ifi(3)-a(M-1)1,lx(2n)-γ(M-1)1,nx(3n+1)]]>......x(m×n-n+1)=2τ2Σi=1n(M-1)1,ifi(m)-a(M-1)1,lx(m×n-n)-γ(M-1)1,nx(m×n+1)]]>其中 该联立方程式变换成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的第3矩阵表示式。这样生成的第3矩阵表示式存放在辅存140的存储区148中。
然后CPU120从辅存140的存储区148中取出第3矩阵表示式,算出第3矩阵表示式所含的第2系数矩阵的逆矩阵(步骤S211)。将计算出的第2系数矩阵的逆矩存入辅存140的存储区149。
然后CPU120从辅存的存储区148及149取出第3矩阵表示式及第2系数矩阵的逆矩阵,求出第3矩阵表示式中未知数矢量所含的各第2未知数的值(步骤S212)。由此,可以求得第3矩阵表示式所含的全部未知数,即与第2矩阵表示式的各组的其它的组相邻行中的全部未知数。式(8)示出的(2m-2)元联立一次方程式未知数的数量也是(2m-2)个,所以,根据步骤S212可以求得未知数X(n),X(n+1),X(2n),X(2n+1),…,X(n×m-n+1)。
然后,CPU120从辅存140的存储区147取出第2矩阵表示式,将在步骤S212求得的未知数的值代入第2矩阵表示式的加法矢量。由此,求出式(4)所示的多元联立一次方程式的全部的未知数X(i)(步骤S213)。
为了再加深对本实施形态的理解,从具体的联立一次方程式着手,对求未知数值的步骤进行说明。
首先通过对输入的微分方程式作离散处理,设能给出下列示出的有9个未知数的联立一次方程式。输入的边界条件为X0=1,X10=0,划分数为2。
-x0+1.99x1-x2=1-x1+1.99x2-x3=0-x2+1.99x3-x4=0-x3+1.99x4-x5=0-x4+1.99x5-x6=0-x5+1.99x6-x7=0-x6+1.99x7-x8=0-x7+1.99x8-x9=0-x8+1.99x9-x10=0(9)将该联立一次方程式变换成如下式那样“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1矩阵表示式。 在式(1),左边的矩阵为第1系数矩阵,左边的矢量为第1未知数矢量,右边的矢量为第1常数矢量。
然后,将第1矩阵表示式分成多组,例如上面4行的第1组和下面4行的第2组。1.99-100-11.99-100-11.99-100-11.99x1x2x3x4=1000----(11)]]>1.99-10-11.99-100-11.99-1000-11.99-1000-11.99x5x6x7x8x9=00000----(12)]]>在这些第1矩阵表示式的各组中,将相邻的其它组的相邻行中的未知数矢量加上常数矢量,生成下式的第1加法矢量。1000+000x5----(13-1)]]>00000+x40000----(13-2)]]>式(13-1)示出的加法矢量中,在式(12-1)示出的第1组的常数矢量上加上和第1组相邻的式(12-2)所示的第2组的最上面一行的未知数矢量X5。式(13-2)示出的加法矢量中,在式(12-2)示出的第2组的常数矢量上加上和第1组相邻的式(12-2)所示的第1组的最底下一行的未知数矢量X4。
如将式(12-1)所示的第1组的常数矢量置换成式(13-1)所示的加法矢量,式(12-2)所示的第2组的常数矢量置换成式(13-2)所示的加法矢量,则第1矩阵表示式的第1及第2组就变形成如下那样1.99-100-11.99-100-11.99-100-11.99x1x2x3x4=1000+000x5----(14-1)]]>1.99-10-11.99-100-11.99-1000-11.99-1000-11.99x5x6x7x8x9=00000+x40000----(14-2)]]>然后,如下那样,求第1矩阵表示式的各组所含第1系数矩阵的逆矩阵。1.99-100-11.99-100-11.99-100-11.99-1=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.812271----(15-1)]]>1.99-10-11.99-100-11.99-1000-11.99-1000-11.99-1=0.8490920.6896920.5233960.3518660.1768170.6896921.372491.041560.7002130.3518660.5233961.041561.54931.041560.5233960.3518660.7002131.041561.372490.6896920.1768170.3518660.5233960.6896920.849092----(15-2)]]>然后,分别与第1矩阵表示式的第1及第2组相对应,生成如下式所示的“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的第1及第2组的第2矩阵表示式。x1x2x3x4=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.812271100x5----(16-1)]]>x5x6x7x8x9=0.8490920.6896920.5233960.3518660.1768170.6896921.372491.041560.7002130.3518660.5233961.041561.54931.041560.5233960.3518660.7002131.041561.372490.6896920.1768170.3518660.5233960.6896920.849092x40000----(16-2)]]>然后,通过从第1及第2组的第2矩阵表示式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的多组的第3矩阵表示式。具体为先抽出式(16-1)的最底下的行和式(16-2)的最上面的行,生成以下的联立一次方程式。
x4-0.81227x3=0.208243x5-0.849092x4=0 (17)通过将式(17)所示的联立一次方程式变换成如下那样的“第2系数矩阵×第2未知数矢量=第2常数矢量”形式,得到第3矩阵表示式。1-0.812271-0.8490921x4x5=0.2082430----(18)]]>然后,如下那样,算出第3矩阵表示式中第2系数矩阵的逆矩阵。1-0.812271-0.8490921=3.222612.617632.736293.22261----(19)]]>从该逆矩阵和第2常数矢量,根据下式所示的矩阵表示式,求第2未知数矢量所含的未知数X4、X5的值。x4x5=3.222612.617632.736293.222610.2082430=0.6710840.569812----(20)]]>如上那样,将求得的未知数X5的值代入式(16-1)所示的第1组的第2矩阵表示式,未知数X4的值代入式(16-2)所示的第2组的第2矩阵表示式,就得到下式所示的两个矩阵表示式x1x2x3x4=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122711000.569812----(21-1)]]>x5x6x7x8x9=0.8490920.6896920.5233960.3518660.1768170.6896921.372491.041560.7002130.3518660.5233961.041561.54931.041560.5233960.3518660.7002131.041561.372490.6896920.1768170.3518660.5233960.6896920.8490920.6710840000----(21-2)]]>从这些矩阵表示式,式(10)所示的联立一次方程式的9个未知数就全部求出。
对式(10)所示的联立一次方程式以划分数为3求解时的步骤进行说明。先将该联立一次方程式3等分,在所得的三个第1矩阵表示式中,将相邻的其它组的未知数矢量的边界部(相邻行)的矢量加上各组的第1矩阵表示式的常数矢量。其结果,所得的矩阵表示式变成以下那样。加法矢量为以下矩阵表示式的“=”号右边的两个矢量的和。1.99-10-11.99-10-11.99x1x2x3=100+00x4]]>1.99-10-11.99-10-11.99x4x5x6=000+x30x7----(22)]]>1.99-10-11.99-10-11.99x7x8x9=000+x600]]>然后,将第1矩阵表示式中各组的系数矩阵的逆矩阵如以下的算式那样逐组运算。在本例中,因为是相同系数的矩阵,所以求一个组的系数矩阵的逆矩阵即可。1.99-10-11.99-10-11.99-1=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.758883----(22)]]>从运算后的逆矩阵,生成以未知数矢量=逆矩阵×加法矢量形式表示的第2矩阵表示式。生成的第2矩阵表示式变成以下那样的矩阵表示式。x1x2x3=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.75888310x4]]>x4x5x6=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.758883x30x7----(23)]]>x7x8x9=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.758883x600]]>接着,自该第2矩阵表示式只取出变成位于各组之间边界部位置的式,生成下述的联立方程式。x3=0.256371+0.758883x4x4=0.758883x3+0.256371x7x6=0.256371x3+0.758883x7(24)x7=0.758883x6从该联立一次方程式生成矩阵表示式,则生成的矩阵表示式以系数矩阵×未知数矢量=常数矢量的形式表示,变成下述第3矩阵表示式。1-0.75888300-0.75888310-0.256371-0.25637101-0.75888300-0.7588831x3x4x6x7=0.256371000----(25)]]>然后,运算第3矩阵表示式的系数矩阵的逆矩阵,得到从该逆阵和常数矢量求未知数X3、X4、X6、X7值的、如下式那样的矩阵表示式。x3x4x6x7=2.986482.266391.039711.370062.617632.986481.370061.805361.805361.370062.986482.617631.370061.039712.266392.986480.256371000----(26)]]>从该矩阵表示式,未知数X3、X4、X6、X7的值可以如下述那样求得。x3x4x6x7=0.7656460.6710840.4628420.351243----(27)]]>将未知数X3、X4、X6、X7的值代入式(23)所示的第2矩阵表示式后得下述的矩阵表示式,求从该矩阵表示式给出的联立一次方程式的全部9个未知数。x1x2x3=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.758883100.671084]]>x4x5x6=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.7588830.76564600.351243----(28)]]>x7x8x9=0.7588830.5101780.2563710.5101781.015250.5101780.2563710.5101780.7588830.46284200]]>如本实施形态那样通过划分从联立一次方程式得到的矩阵表示式,只取出划分后的矩阵表示式边界部的算式,生成压缩过的矩阵表示式,求解该矩阵表示式从而最终求出原来的矩阵表示式的所有未知数,则能以非常简单的步骤、事务性地求解复杂的联立一次方程式。
实际上如根据本实施形态进行解析计算,就能如图9所示显著地缩短计算时间。图5A及图5B表示求解进行一个自由度系统的振动响应解析时所得的100,000元联立一次方程式,即具有100,000行×100,000列的系数矩阵的矩阵表示式所需时间的测定结果。如图5A所示,如想要用常规方法解该矩阵表示式,则到解出为止所费时间之长简直不能测定。若依照本实施形态,在划分数为2的场合能用2500秒解出该矩阵表示式,划分数为50的场合为100秒,进而划分数在250时仅用20秒就能解该表示式。图5B为以线图形式表示划分数和计算时间的关系。划分数到50时,计算时间急激减少,可知划分数大于50计算时间慢慢地减少。根据该结果,对本例的矩阵表示式,划分数为100左右在实用上已能满足。
这样,采用本实施形态即使未知数的个数很多的联立一次二与程式也能在短时间内解出。因此,能够高精度地解析诸如建筑物内振动传递状况、房屋温度分布状况等物理对象系统的状态。
图6表示图1中的解算机系统13的其它的具体示例。辅存160和图2的不同。即辅存160区分成微分方程式存储区161、多元联立一次方程式存储区162、解析条件存储区163、第1矩阵表示式存储区164、第1逆矩阵存储区165、第1加法矢量存储区166、第2矩阵表示式存储区167、第3矩阵表示式存储区168、第4矩阵表示式存储区169、第5矩阵表示式存储区170、第6矩阵表示式存储区171、第2逆矩阵存储区172、第2加法矢量存储区173及第3逆矩阵存储区174。
以对象系统10为一个自由度系统、进行对象系统10振动解析的场合为例作一说明。该振动解析处理步骤如图7A一7B所示。图8为便于对该处理步骤的理解而形象地进行表示。
首先,输入模拟对象系统10的物理现象的微分方程(步骤S301)。通常由操作者生成微分方程式,靠输入装置14输入。操作者通过输入装置14将编写微分方程式必需的数据,例如振动解析、热传导解析、静应力分析等解析种类、物理参数及形状等输入,也可借助解析软件编写微分方程式生成。
输入的微分方程式存放在辅存160的存储区161。CPU120从辅存160的存储区161取出微分方程式;利用通常使用的有限要素法或有限差分法等对其作离散处理(步骤S302)。
然后,CPU120根据离散处理后的微分方程式,生成解析对象系统10必需的多元联立一次方程式(步骤S303)。
微分方程的离散化及多元联立一次方程式的生成能通过以往就通常使用的计算程序来进行。这样生成的多元联立一次方程式变成未知数甚多的方程式。生成的多元联立一次方程式存放在辅存160的存储区162中。
然后操作者靠输入装置14将解析必需的初始条件、边界条件、时间间距宽度、时间间距数、空间间距宽度、空间间距数等解析条件、层次分层次数N及各层的划分数输入(步骤S304)。所谓分层次数即反复进行矩阵表示式划分和压缩的次数,例如设定成2或大于2的数。输入的解析条件、分层次数N及各层的划分数存放在辅存160的存储区163中。
然后,CPU120从辅存160的存储区162取出生成的多元联立一次方程式,取出的多元联立一次方程式变换成第1矩阵表示式(步骤S305)。第1矩阵表示式以“第1系数矩阵×第1未知矢量=第1常数矢量”形式表示。
CPU120将操作者从输入装置14输入的边界条件等解析条件和分层次数及各层的划分数从辅存160的存储区163取出,设定分层次数N(例如N=2)(步骤S306)。再作为层次分层的初始值,将计数器的值n设定成n=1(步骤S307)。
然后,CPU120通过用步骤S306设定的第一层次的划分数将步骤S305生成的矩阵表示式等分划分成多个组,从而生成第1层的第1矩阵表示式(步骤S308)。例如作为边界条件,在初始时刻X(0)处的X(m×n+1)为已知的时,将该边界条件应用于步骤S305生成的矩阵表示式,生成具有(m×n)行、(m×n)列的系数矩阵。通过将该矩阵表示式等分成n行×n列,就生成划分成m组的矩阵表示式。在该例中,考虑到处理效率将矩阵表示式等分,也可不是等分。划分成多组的矩阵表示式存放在辅存160的存储区164中。
然后,CPU120从辅存160的存储区164逐组取出划分成m组的矩阵表示式,计算取出的矩阵表示式的系数矩阵的逆矩阵(步骤S309)。求得的逆矩阵存放在辅存160的存储区165中,求该逆矩阵的处理,一直继续下去直到求得所有划分过的矩阵表示式的系数矩阵的逆矩阵为止。因此,逆矩阵只对每一个组未取,次数和第1层的划分数相同。通过第1矩阵表示式划分成多个组,第1系数矩阵的规模就变小,所以就能够容易地在短时间里求解逆矩阵。等分第1矩阵表示式时,求一个第1系数矩阵的逆矩阵即可,所以进一步缩短计算时间。
CPU120再从辅存160的存储区164取出第1矩阵表示式的各个组,从该各个组中抽出与其相邻的其它组的行。将抽出的行中的未知数矢量加上常数矢量生成加法矢量(步骤S310)。加法矢量存放在辅存160的存储区166中。
CPU120分别从辅存160的存储区164取出划分后的矩阵表示式所含的未知数矢量、分别从存储区165取出逆矩阵、从存储区166取出加法矢量,逐组生成“未知数矢量=逆矩阵×加法矢量”形式的第2矩阵表示式(步骤S311)。生成后的多组的第2矩阵表示式存放在辅存160的存储区167中。
然后,CPU120从辅存160的存储区167取出所有的组的第2矩阵表示式。从取出的第2矩阵表示式的各组抽出和其它的组相邻的行,生成压缩过的联立方程式,再生成压缩后的矩阵表示式(步骤S312)。在该联立方程式,通过只汇集第2矩阵表示式的各组的最上面的行和最底下的行来压缩。该联立方程式变换成“系数矩阵×未知数矢量=常数矢量”的形式的第3矩阵表示式。这样生成的第3矩阵表示式存放在辅存160的存储区168中。
然后,CPU120从辅存160的存储区163取出分层次数N的值,从该N的值和对分层的阶段计数的计数器n的值作n-N运算,判断n-N≥0否(步骤S313)。在该时刻n=1,矩阵表示式反复划分、压缩的次数还没有达到设定的次数。于是,CPU120分别从辅存160的存储区163取出第2层的划分数,从辅存160的存储区168取出第3矩阵表示式,将该条件应用在第3矩阵表示式,并且以该划分数划分(步骤S308)。由此,生成第2层的第4矩阵表示式,存放在辅存160的存储区169中,之后,CPU120将计数器n的值增加1,在此为n=2(S314)。
然后,CPU120从辅存160的存储区168取出第3矩阵表示式,算出该矩阵表示式所含的系数矩阵的逆矩阵(步骤S309)。将计算出的系数矩阵的逆矩阵存放在辅存160的存储区172中。连续进行以上的求逆矩阵的处理,直到可以求得所有划分过的矩阵表示式的系数矩阵的逆矩阵为止,换言之,直到对所有的组求得系数矩阵的逆矩阵为止。因此,逆矩阵相当于只对每一个组求取,次数和第2层的划分数相同。等分矩阵时求得一个矩阵的逆矩阵即可。
CPU120再度从辅存160的存储区164取出第1矩阵表示式的各个组,从该各个组中抽出与其相邻的其它组的行。将抽出的行中的未知数矢量加上常数矢量生成加法矢量(步骤S310)。加法矢量存放在辅存160的存储区173中。
CPU120分别从辅存160的存储区164取出划分后的矩阵表示式所含的未知数矢量、从存储区165取出逆矩阵、从存储区166取出加法矢量,逐组生成“未知数矢量=逆矩阵×加法矢量”形式的第5矩阵表示式(步骤S311)。生成后的第5矩阵表示式存放在辅存160的存储区170中。
然后,CPU120从辅存160的存储区170取出所有组的第5矩阵表示式。从取出的第2矩阵表示式的各组中抽出与其它的组相邻的行,生成压缩过的第6矩阵表示式(步骤S312)。第6矩阵表示式存放在辅存160的存储区171中。
然后,CPU120从辅存160的存储区163取出分层次数N的值,从取出的分层次数N的值和对分层的阶段计数的计数器n的值作n-N运算,判断n-N≥0否(步骤S310)。在此,若n-N≥0(在该时刻n=2),则矩阵表示式反复划分、压缩次数达到设定的次数2次。于是,CPU120为了求压缩后的矩阵表示式的解,从辅存160的第6矩阵表示式存储区171取出第6矩阵表示式,对取出的矩阵表示式的系数矩阵的逆矩阵进行运算(步骤S315)。求出的逆矩阵存在辅存160的存储区174。
然后,CPU120从辅存160的存储区171取出第6矩阵表示式,从第3逆矩阵存储区174取出逆矩阵,求第6矩阵表示式中未知数矢量的各未知数的值(步骤S316)。在此,通过求得未知数,可以求得第6矩阵的全部未知数(步骤S316)。例如如图8的步骤S316所示,可以求得X(m×n)、X(m×n+1)、X(2m× n)…。
如上所述的处理,若可以求得所有组的第5矩阵表示式边界部的未知数,则CPU120从辅存160的存储区170取出第5矩阵表示式,将算出的各未知数之值代入各组的第5矩阵表示式的加法矢量中,利用步骤S309计算出的逆矩阵,运算第5矩阵表示式中所有的未知数(步骤S317)。例如,如图8的步骤S317所示可以求得位于第4矩阵表示式的边界部位置的所有未知数X(m×n)、X(m×n+1)、X(2m×n)…。
然后,CPU120判断对分层的阶段计数的计数器n的值是否小于1(步骤S318)。若不是n≤1(这时n=2),CPU120对分层的阶段计数的计数器n的值递减1后取为1(步骤S319)。
以上这样的处理,若可以求得所有的组的第4矩阵表示式的边界部的未知数,则CPU120从辅存160的存储区167取出第2矩阵表示式,将运算出的各未知数的值代入各组的第2矩阵表示式的加法矢量,计算联立一次方程式的全部未知数的值(步骤S317)。例如如图8所示从未知数X(1)到X(m×n)均可求得。
CPU120判断对分层的阶段计数的计数器n的值是否小于1。若n≤1(这时n=1),CPU120处理结束。
下面,为了加深理解,对从具体的联立一次方程式开始经2次划分、压缩处理(分层次数N=2),求未知数之值的步骤进行说明。
首先,通过对输入的微分方程式作离散处理,假设给出下述的具有16个未知数的联立一次方程式。输入的边境条件为X0=1,X17=0。输入的分层次数为2,第1层次的划分数为4、第2层的划分数为2。
-x0+1.99x1-x2=1-x1+1.99x2-x3=0-x2+1.99x3-x4=0-x3+1.99x4-x5=0-x4+1.99x5-x6=0-x5+1.99x6-x7=0-x6+1.99x7-x8=0..
-x14+1.99x15-x16=0 (29)-x15+1.99x16-x17=0将该联立方程式如下式那样变换成“第1系数矩阵×第1未知数矢量=第1常矢量”形式的第1矩阵表示式。 在式(26),左边的矩阵为第1系数矩阵、左边的矢量为第1未知数矢量,右边的矢量为第1常数矢量。
接着根据输入的第1层的划分数(n=4),将第1矩阵表示式划分成4个组。若单纯地4等分,则可得到以下的4个组。1.99-100-11.99-100-11.99-100-11.99x1x2x3x4=1000----(31-1)]]>1.99-100-11.99-100-11.99-100-11.99x5x6x7x8=0000----(31-2)]]>1.99-100-11.99-100-11.99-100-11.99x9x10x11x12=0000----(31-3)]]>1.99-100-11.99-100-11.99-100-11.99x13x14x15x16=0000----(31-4)]]>在这些第1矩阵表示式的每组上,将相邻其它组的相邻行中的未知数矢量加上常数矢量,生成以下的第1加法矢量。1000+000x3----(32-1)]]>0000+x400x9----(32-2)]]>0000+x800x13----(32-3)]]>0000+x12000----(32-4)]]>将式(31-1)、(31-2)、(31-3)、(31-4)所示的第1、第2、第3及第4组的常数矢量置换成式(32-1)、(32-2)、(32-3)、(32-4)所示的加法矢量,第1矩阵表示式的第1及第2组就变形成如下。1.99-100-11.99-100-11.99-100-11.99x1x2x3x4=1000+000x3----(33-1)]]>1.99-100-11.99-100-11.99-100-11.99x5x6x7x8=0000+x400x9----(33-2)]]>1.99-100-11.99-100-11.99-100-11.99x9x10x11x12=0000+x800x13----(33-3)]]>1.99-100-11.99-100-11.99-100-11.99x13x14x15x16=0000x12000----(33-4)]]>然后,示于式(33-1)、(33-2)、(33-3)、(33-4)的第1矩阵表示式的各组所含第1系数矩阵的逆矩阵可以下那样地求解。1.99-100-11.99-100-11.99-100-11.99-1=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.812271----(34)]]>然后,分别与第1矩阵表示式的第1、第2、第3及第4组相对应,生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的4个组的第2矩阵表示式,如下所示x1x2x3x4=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122711000+000x5----(35-1)]]>x5x6x7x8=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710000+x400x9----(35-2)]]>x9x10x11x12=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710000+x800x13----(35-3)]]>x13x14x15x16=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710000+x12000----(35-4)]]>然后,通过从第1及第2组的第2矩阵表示式抽出相邻的其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的多组的第3矩阵表示式。具体为,首先抽出式(35-1)的最底下的行、式(35-2)最上面的行和最底下的行、式(35-3)的最上面的行和最底下的行、及式(35-4)的最上面的行,生成以下的联立一次方程式。
x4=U.208243+0.812271x5x5=0.812271x5+0.208243x9x8=0.208243x4+0.812271x9x9=0.812271x8+0.208243x13(36)x12=0.208243x8+0.812271x13x13=0.812271x12通过将式(36)所示的联立一次方程式变换成以下的“第2系数矩阵×第2未知数矢量=第2常数矢量”形式,得到第3矩阵表示式。Mx4x5x8x9x12x13=0.20824300000----(37)]]>但M为第2系数矩阵,在以下表示。M=1-0.81227100-0.81227110-0.208243-0.20824301-0.81227100-0.81227110-0.208243-0.20824301-0.812271-0.8122711----(38)]]>
然后,为了与第3矩阵表示式平衡,第3矩阵表示式作以下的变形。考虑由式(35-1),得X1=0.812271+0.208243×5,由式(35-4),得X16=0.208243×12。这时,设系数矩M为M=10-0.20824301-0.812271000-0.81227110-0.2082430-0.20824301-0.812271000-0.81227110-0.2082430-0.20824301-0.8122710-0.81227110-0.20824301----(39)]]>利用式(39),第3矩阵表示式变形成Mx1x4x5x8x9x12x13x16=0.8122710.208243000000----(40)]]>然后,用输入第3矩阵表示式的第2层的划分数=2来划分。例如将以下的第3矩阵表示式划分成上面4行的第1组和下面4行的第2组。10-0.208243001-0.81227100-0.812271100-0.20824301x1x4x5x6=0.8122710.20824300----(41-1)]]>10-0.208243001-0.81227100-0.812271100-0.20824301x9x12x13x16=0000----(41-2)]]>在这些第3矩阵表示式的各个组上,将相邻其它组的相邻行中的第2未知数矢量加上常数矢量,生成以下的加法矢量。0.8122710.20824300+000.208243x90.812271x9----(42-1)]]>0000+0.812271x80.208243x600----(42-2)]]>如将式(41-1)及(41-2)所示的第1及第2组的常数矢量置换成式(42-1)及(42-2)所示的加法矢量,则第3矩阵表示式的第1及第2组变形成以下那样。10-0.208243001-0.81227100-0.812271100-0.20824301x1x4x5x6=0.8122710.20824300+000.208243x90.812271x9----(43-1)]]>10-0.208243001-0.81227100-0.812271100-0.20824301x9x12x13x16=0000+0.812271x80.208243x600----(43-2)]]>然后,如以下那样,求第3矩阵表示式各组所含的第3系数矩阵的逆矩阵。10-0.208243001-0.81227100-0.812271100-0.20824301-1=10.4971820.612089002.939312.38751002.387512.93931000.6120890.4971821----(44)]]>然后,与第3矩阵表示式的第1及第2组相对应,如下式那样,生成“第3未知数矢量=第3系数矩阵的逆矩阵×第3加法矢量”形式的第1及第2组的第4矩阵表示式。x1x4x5x8=10.4971820.612089002.939312.38751002.387512.93931000.6120890.4971821
----(45-1)]]>x9x12x13x16=10.4971820.612089002.939312.38751002.387512.93931000.6120890.49718210.812271x80.208243x800----(45-2)]]>然后,通过从第1及第2组的第4矩阵表示式抽出相邻的其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的多组的第5矩阵表示式。具体为,先抽出式(45-1)的最底下的行、式(45-2)的最上面的行,生成以下的联立一次方程式。
x8=0.612089×0.208243+0.497182×0.208243x9+0.812271x9(46)x9=0.812271x8+0.497182×0.208243x8若从该联立一次方程式生成矩阵表示式,则生成的矩阵表示式以系数矩阵×未知数矢量=常数矢量形式表示,变成下述的第6矩阵表示式。1-0.915805-0.9158051x8x9=0.1274630----(47)]]>然后,求第6矩阵表示式中的系数矩阵的逆矩阵1-0.915805-0.9158051-1=6.19965.677625.677626.1996----(48)]]>从该逆矩阵和常数矢量,未知数X6、X9的值可从以下的矩阵表示式求得。x8x9=6.19965.677625.677626.19960.1274630]]>=0.7902190.723687----(49)]]>若从该矩阵表示式求得未知数X8、X9的值,则将未知数X8 X9的值代入式(45-1)、(45-2)示出的第5矩阵表示式,未知数X1、X4、X5、X12、X13、X16的值可以从以下的矩阵表示式求得。到此为止的处理能求出第5矩阵表示式的全部未知数。x1x4x5x8=10.4971820.612089002.939312.38751002.387512.93931000.6120890.49718210.8122710.2082430.1507020.58783=1.008050.9718930.9401430.790219----(50-1)]]>x9x12x13x16=10.4971820.612089002.939312.38751002.387512.93931000.6120890.49718210.6418720.16455700=0.7236870.4836840.3928830.100724----(50-2)]]>将至以下为止的处理求得的未知数X1、X4、X5、X6、X9、X12、X16的值代入式(35-1)、(35-2)、(35-3)、(35-4)所示的第2矩阵表示式,余下的未知数X2、X3、X6、X7、X10、X11、X14、X15的值可以从以下的矩阵表示式求得。由此,可求得联立一次方程式16个未知数所有的值。x1x2x3x4=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122711000.940143]]>=1.008051.006020.9939240.971893-----(51-1)]]>x5x6x7x8=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710.971893000.723687]]>=0.9401430.8989910.8488490.790219----(51-2)]]>x9x10x11x12=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710.790219000.392883]]>=0.7236870.6499180.5696490.483684----(51-3)]]>x13x14x15x16=0.8122710.6164190.4144030.2082430.6164191.226670.8246610.4144030.4144030.8246611.226670.6164190.2082430.4144030.6164190.8122710.483684000]]>=0.3928830.2981520.200440.100724----(51-4)]]>则可全部求出。
如本实施形态,通过与分层次数相对应将从联立一次方程式所得的矩阵表示式进行划分,只取出划分过的矩阵表示式的边界部并生成压缩后的矩阵表示式,重复以上过程,以与划分的顺序相反的顺序求解压缩后的矩阵表示式,从而最终求出原来的矩阵表示式的所有未知数,能以非常简单的步骤、事务性地求解复杂的联立一次方程式。
利用依照本实施形态的联立一次方程式的计算程序或联立一次方程式的计算装置,实际进行解析计算时,如图9A及图9B所示能显著减少矩阵表示式的运算时间。图9A为在进行10质点系统的振动响应解析时所得,以表格形式表示求解具有1000,000行×1000,000列的系数矩阵的矩阵表示式所需时间的测定结果。取第一层的划分数(第1划分数)为250,第2层次的划分数(第2划分数)为2时,能用2650秒解出具有1000,000行×1000,000列的系数矩阵的矩阵表示式。取第1划分数为1000,第2划分数为25时,同一矩阵表示式能用350秒解出。如以立体条形图表示第1划分数及第2划分数和计算时间的关系,就变成图9B。由图9A及9B可知,求解具有1000,000行×1000,000列系数矩阵的矩阵表示式时,第1划分数及第2划分数都在某一程度的范围内越大,计算时间就越短。
这样,即使未知数非常多的联立一次方程式也能在短时间内解出。因此,按照本实施形态进行对象系统的解析,就能高精度地作建筑物内振动传递状况、房屋温度分布情况等物理现象的模拟解析。
用本实施形态,曾对通过两次划分,即将分层次数取2解联立一次方程式时作过叙述,在三次以上划分时,通过用和上述同样的解析步骤,能求解联立方程式。
如以上说明,采用本发明,根据所输入的初始条件、边界条件、时间间距宽度、时间间距数、空间间距宽度、空间间距数、物理参数等的解析条件及划分数等,系数矩阵的大的矩阵表示式自动地划分成系数矩阵小的矩阵表示式。因此,即使没有高度的专业知识及经验,也能将最终所得的矩阵表示式做成非常小的矩阵表示式。因为明显地缓和了对能处理的矩阵大小的限制,例如,在模拟解析振动的传递状况、房屋的温度分布状况等物理现象时,就不会再象以前那样在解析的建模上化工夫,牺牲解析精度、限制解析范围。没有高度的专业知识、经验,也能求解多元联立一次方程式。另外,因为划分后的矩阵表示式的系数矩阵的逆矩阵能在非常短的时间内解出,所以能够以过去无法比拟的速度取得高精度的解析结果。
接着说明按照本实施形态实际进行解析计算时的步骤、解析结果的表示形态。
(例1)进行求解10层建筑物的响应位移时刻履历的振动解析。操作者从输入装置14输入如下的数据。
振动物体个数n时间轴上的步数f衰减矩阵c(次数n的正方阵)刚性矩阵k(次数n的正方阵)质量矩阵M(次数n的正方阵)外力F(个数n×1)初始条件I(个数n)边界条件B(个数n)作为时间轴上的步数为的物理要求第1划分数(f÷第1划分数=整数)作为时间轴上的步数的物理要求第2划分数(第1划分数÷第2划分数=整数)以上的数据从输入装置14一输入,CPU120就将该数据存入辅存160的预定区域。接着CPU120以下面的步骤解析输入的数据。
步骤S401从多元联立一次方程式生成矩阵表示式,以第1划分数划分生成的矩阵表示式。划分后的矩阵表示式存放在辅存160的预定区域。存储的矩阵表示式不是划分前的矩阵表示式,所以能极其节约所需的存储区。
步骤S402将外力的矢量分组,存放在辅存160的预定区域。
步骤S403求划分后的矩阵表示式所求的未知数涉及的系数矩阵的逆矩阵,存放在辅存160的预定区域。
步骤S404利用划分后的矩阵表示式的逆矩阵、初始条件、边界条件、及外力等,生成或计算位于边界部位置的算式,求位于边界部位置的算式之值。将位于边界部位位置的算式之值存放在辅存160的预定区域。
步骤S405从辅存160中调用位于求划分后矩阵表示式必需的边界部位置的算式之值,再从辅存160中调用求划分后矩阵表示式必需的逆矩阵。由此,能全部求出划分后的矩阵表示式。将同样的处理用于划分后的全部的矩阵表示式(相当于多元联立一次方程式)求全部必需的未知数。自然,划分前的系数矩阵不一定要生成或存储。重要的是要生成或存储划分后的系数矩阵。
第2划分时也同样地进行以上的处理。以上述的步骤取得的解析结果作为如图10A及10B所示的建筑物的响应位移时刻履历图,用输出装置15显示。图10B为相对于图10A将时间轴压缩后表示。
(例2)叙述有关在房内放置点热源时房内温度分布的热传递解析,在该例中,使用平面的拉普拉斯方程式。
操作者从输入装置14输入以下的数据。
纵的间隔数n横的间隔数m边界条件 B(个数2n+2m)初始条件 I(个数n×m)物理要求第1划分数(设n≥m,n÷第1划分数=整数)物理要求第2划分数(第1划分数÷第2划分数=整数)以上的数据从输入装置14输入,CPU120就将该数据存放在辅存160的预定区域。接着,CPU120以下面的步骤解析输入的数据。
步骤S501从多元联立一次方程式生成矩阵表示式,用第1划分数划分生成的矩阵表示式。划分后的矩阵表示存在辅存160的预定区域。因为存储的矩阵表示式不是划分前的矩阵表示式,所以就极其节约所需的存储区。
步骤S502将初始条件及边界条件分组,存放在辅存160的预定区域中。
步骤S503求与划分后的矩阵表示式的须求的未知数相乘的系数矩阵的逆矩阵,存放在辅存160的预定区域中。
步骤S504利用划分后的矩阵表示式的系数矩阵的逆矩阵、初始条件、边界条件,生成或计算位于边界部位置的算式,求位于边界部位置的算式的值。将位于边界部位位置的算式之值存放在辅存160的预定区域中。
步骤S505从辅存160中调用位于求划分后矩阵表示式必需的边界部位置的算式之值,从辅存160中调用求划分后矩阵表示式必需的逆矩阵。由此,能全部求出划分后的矩阵表示式。同样的处理用于划分过的所有的矩阵表示式(相当于多元联立一次方程式)求出所有必需的未知数。
在进行第2划分时也同样做以上的处理。由以上的步骤所得的解析结果作为表示如图11所示的房屋温度分布图靠输出装置15显示。
在上述本发明的各实施形态中,所用的联立一次方程式的计算程序都记录在靠计算机能读取的光电磁盘、光盘、软盘、硬盘、磁带、暂时存储器等记录媒体上。计算机通过读入这些记录在记录媒体上的计算程序,能在短时间内解联立一次方程式。再有,以本实施形态示出的解析步骤作为联立一次方程式的计算程序,通过上述的各种记录媒体的中介,或通过诸如交换网、内部网的网络中介提供给计算机。计算机通过执行该计算程序、划分或压缩矩阵表示式,能在非常短的时间内求出联立一次方程式的解。
其他的优势和修改将容易联想到那些已有技术。因此,发明的更主要的方面不应被局限于在此所描述的细节和有代表性的实施例中。从而不背离附加权利要求所定义的普通发明概念的精神和范围,可以做出不同的修改。
权利要求
1.一种计算机程序产品,其特征在于,配置成存储在计算机系统执行的程序指令,使该计算机系统能完成以下处理将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式;将所述第1式划分成多组;在所述第1式的各组上,将相邻的其它组的相邻行中的第1未知数矢量与所述第1常数矢量相加,生成加法矢量;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×加法矢量”形式的多组的第2式;通过从各组的所述第2式,抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;利用所述第2系数矩阵的逆矩阵,求所述第2未知数矢量所含未知数的值;将求得的所述第2未知数矢量所含的未知数的值代入所述第2式,求所述联立一次方程式所含的未知数的值;将求得的所述联立一次方程式所含的未知数的值作为所述对象系统的解析结果输出。
2.一种计算机程序产品,其特征在于,配置成存储在计算机系统执行的程序指令,使让计算机系统能完成以下处理将解析物理对象系统用的联立方程式变换成“第1系数×第1未知数矢量=第1常数矢量”形式的第1式;将所述第1式划分成多组;在所述第1式的各组上,将相邻的其它组的相邻行中的第1未知数矢量与所述第1常数矢量相加,生成第1加法矢量;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式;通过从各组的所述第2式,抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;将所述第3式划分成多组;在所述第3式的各组上,将相邻其它组的相邻行中的第2未知数矢量和所述第2常数矢量相加,生成第2加法矢量;与所述第3式的各组相对应,利用所述第2未知数矢量和所述第2加法矢量及所述第2系数矩阵的逆矩阵,分别生成“第2未知数矢量=第2系数矩阵的逆矩阵×第2加法矢量”形式的多组的第4式;通过从各组的所述第4式中抽出相邻其它组的相邻行,生成“第3系数矩阵×第3未知数矢量=第3常数矢量”形式的压缩过的第5式;利用所述第3系数矩阵的逆矩阵,求所述第3未知数矢量所含的未知数的值;将求得的所述第3未知数矢量所含的未知数的值代入所述第4式,求所述第2未知数矢量所含未知数的值;将求得的所述第2未知数矢量所含的未知数的值代入所述第2式,求所述联立一次方程式所含的未知数的值;将求得的所述联立一次方程式所含的未知数的值作为所述对象系统的解析结果输出。
3.一种计算机程序产品,其特征在于配置成存储在计算机系统上执行的程序指令,使该计算机系统能完成以下处理设定式的划分及压缩的反复次数N;将解析物理对象系统用联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式;将第1式划分成多组;在所述第1式的各组中,将相邻其它组的相邻行中的第1未知数矢量与所述第1常数矢量相加,生成第1加法矢量;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量;及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式;通过从各组的所述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;将所述第1式划分成多组,生成所述第1加法矢量,分别生成所述多组的第2式后,生成所述第3式,从而将所述第1式置换成所述第3式,并且反复进行达所述次数N;利用所述反复后所得的所述第2系数矩阵的逆矩阵,求所述第2未知数矢量所含的未知数的值;将求得的所述第2未知数矢量所含未知数的值代入所述第1式,求所述第1未知数矢量所含的未知数的值;将所述第2未知数矢量所含的未知数的值及求所述第1未知数矢量所含的未知数的值反复进行达所述次数N,求所述联立一次方程式所含未知数的值;将求得的所述联立一次方程式所含的未知数的值作为所述对象系统的解析结果输出。
4.一种物理对象系统的解析方法,其特征在于具备将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式;将所述第1式划分成多组;在所述第1式的各组上,将相邻其它组的相邻行中的第1未知数矩阵和所述第1常数矢量相加生成加法矢量;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加加矢量;及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×加法矢量”形式的多组的第2式;通过从各组的所述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;利用第2系数矩阵逆矩阵,求所述第2未知数矢量所含的未知数的值;将求得的所述第2未知数矢量所含的未知数的值代入所述第2式,求所述联立一次方程式所含的未知数的值;将求得的所述联立一次方程式所含的未知数的值作为所述对象系统的解析结果输出。
5.一种物理对象系统的解析方法,其特征在于具备将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数知疸”形式的第1式;将所述第1式划分成多组;在所述第1式的各组上,将相邻其它组的相邻行中的第1未知数矢量与第1常数矢量相加生成第1加法矢量、与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量;及所述第1系数矩阵的逆矩阵;分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式;通过从各组的所述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;将所述第3式划分成多组;在所述第3式的各组上,将相邻其它组的相邻行中的第2未知数矢量和所述第2常数矢量相加,生成第2加法矢量;与所述第3式的各组相对应,利用所述第2未知数矢量和所述第2加法矢量;及所述第2系数矩阵的逆矩阵,分别生成“第2未知数矢量=第2系数矩阵的逆矩阵×第2加法矢量”形式的多组的第4式;通过从各组的所述第4式中抽出相邻其它组的相邻行,生成“第3系数矩阵×第3未知数矢量=第3常数矢量”形式的压缩过的第5式;利用所述第3系数矩阵的逆矩阵,求所述第3未知数矢量所含的未知数的值;将求得的所述第3未知数矢量所含的未知数的值代入所述第4式,求出所述第2未知数矢量所含未知数的值;将求得的所述第2未知数矢量所含的未知数的值代入所述第2式、求所述联立一次方程式所含未知数的值;将求得的所述联立一次方程式所含未知数的值作为所述对象系统的解析结果输出。
6.一种物理对象系统的解析方法,其特征在于具备设定式的划分及压缩的反复次数N;将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式;将第1式划分成多组;在所述第1式的各组上,将相邻其它组的相邻行中的第1未知数矢量和所述第1常数矢量相加,生成第1加法矢量;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式;通过从各组的所述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式;将所述第1式划分成多个组,生成所述第1加法矢量,分别生成所述多组的第2式后,生成所述的第3式,从而将所述第1式置换成所述第3式,并且反复进行达所述次数N次;利用所述反复后所得的所述第2系数矩阵的逆矩阵,求所述第2未知数矢量所含的未知数的值;将求得的所述第2未知数矢量所含未知数的值代入所述第1式,求所述第1未知数矢量所含未知数的值;将求所述第2未知数矢量所含未知数的的值及求所述第1未知数矢量所含未知数的值反复进行达所述次数N次,求所述联立一次方程式所含未知数的值;将求得的所述联立一次方程式所含未知数的值作为所述对象系统的解析结果输出。
7.一种物理对象系统的解析装置,其特征在于具备将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式的手段;将所述第1式划分成多组的手段;在所述第1式的各组中,将相邻其它组的相邻行中的未知数矢量与所述第1常数矢量相加,生成加法矢量的手段;与所述第1式的各组相对应;利用所述第1未知数矢量和所述加法矢量及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×加法矢量”形式的多组第2式的手段;通过从各组的所述第2式中抽出相邻其它的组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式的手段;利用所述第2系数矩阵的逆矩阵,求所述第2未知数矢量所含的未知数的值的手段;将求得的所述第2未知数所含的未知数的值代入所述第2式,求所述联立一次方程式所含未知数的值的手段;将求得的所述联立一次方程式所含未知数的值作为所述对象系统的解析结果输出的手段。
8.一种物理对象系统的解析装置,其特征在于具备将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式的第1式的手段;将所述第1式划分成多组的手段;在所述第1式的各组上,将相邻其它组的相邻行中的第1未知数矢量与所述第1常数矢量相加,生成第1加法矢量的手段;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量;及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式的手段;通过从各组的所述第2式中抽出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式的手段;将所述第3式划分成多组的手段;在所述第3式的各组上,将相邻其它组的其它行中的第2未知数矢量与所述第2常数矢量相加,生成第2加法矢量的手段;与所述第3式的各组相对应,利用所述第2未知数矢量和所述第2加法矢量及所述第2系数矩阵的逆矩阵,分别生成“第2未知数矢量=第2系数矩阵的逆矩阵×第2加法矢量”形式的多组的第4式的手段;通过从各组的第4式中抽出相邻其它组的相邻行,生成“第3系数矩阵×第3未知数矢量=第3常数矢量”形式的压缩过的第5式的手段;利用所述第3系数矩阵的逆矩阵,求所述第3未知数矢量所含未知数的值的手段;将求得的所述第3未知数矢量所含未知数的值代入所述第4式,求所述第2未知数矢量所含未知数的值的手段;将求得的所述第2未知数矢量所含未知数的值代入所述第2式,求所述联立一次方程式所含未知数的值的手段;将求得的所述联立一次方程式所含未知数的值作为所述对象系统的解析结果输出的手段。
9.一种物理对象系统的解析装置,其特征在于具备设定式的划分及压缩的反复次数N用的输入装置;将解析物理对象系统用的联立方程式变换成“第1系数矩阵×第1未知数矢量=第1常数矢量”形式第1式的手段;将所述第1式划分成多组的手段;在所述第1式的各组上,将相邻其它组的相邻行中的第1未知数矢量和所述的第1常数矢量相加,生成第1加法矢量的手段;与所述第1式的各组相对应,利用所述第1未知数矢量和所述加法矢量;及所述第1系数矩阵的逆矩阵,分别生成“第1未知数矢量=第1系数矩阵的逆矩阵×第1加法矢量”形式的多组的第2式的手段;通过从各组的所述第2式中取出相邻其它组的相邻行,生成“第2系数矩阵×第2未知数矢量=第2常数矢量”形式的压缩过的第3式的手段、将所述第1式划分成多个组,生成所述第1加法矢量,分别生成所述多组的第2式后,生成所述的第3式,从而将所述第1式置换成所述第3式,并且反复进行达所述次数N的手段、利用所述反复后所得的所述第2系数矩阵的逆矩阵,求所述第2未知数矢量所含未知数的值的手段;将求得的所述第2未知数矢量所含未知数的值代入所述第1式,求所述第1未知数矢量所含未知数的值的手段;将求所述第2未知数矢量所含未知数的值及求所述第1未知数矢量所含未知数的值反复进行达所述次数N,求所述联立一次方程式所含未知数的值的手段;将求得的所述联立一次方程式所含未知数的值作为所述对象系统的解析结果输出的手段。
10.根据权利要求6所述的解析方法,其特征在于,所述第1式是通过对模拟对象系统的物理现象的微分方程式进行离散处理,将该离散处理后的式子变形而生成。
11.根据权利要求6所述的解析方法,其特征在于,所述的第1式在运用边界条件后分成所述多组。
12.根据权利要求6所述的解析方法,其特征在于,所述联立方程式为所述对象系统作振动解析而备。
13.根据权利要求6所述的解析方法,其特征在于,所述联立方程式为所述对象物作温度分布的热传导解析而备。
14.一种控制物理对象系统的装置,其特征在于,具备权利要求9所述的解析装置以及根据该解析装置的解析结果,生成供给所述对象系统的控制数据的装置。
15.一种监视物理对象系统运转状态的装置,其特征在于,具备权利要求9所述的解析装置以及根据该解析装置的解析结果,显示所述对象系统的运转状态的装置。
16.一种对物理对象系统进行控制及监视的装置,其特征在于,具备权利要求9所述的解析装置、根据该解析装置的解析结果生成供给所述对象系统控制数据的装置,以及根据该解析装置的解析结果显示所述对象系统的运转状态的装置。
全文摘要
本发明涉及物理对象系统的解析方法和装置以及计算机程序产品。为了解析物理对象系统,将该解析用的联立方程式变换成矩阵形式的第1式,分成多组后,在每一组上,将相邻其它组的相邻行中的未知数矢量和常数矢量相加,生成加法矢量,生成矩阵形式的多组的第2式。通过从各组的上述第2式中抽出相邻其它组的相邻行,生成矩阵形式的压缩过的第3式。利用系数矩阵的逆矩阵求未知数矢量所含未知数的值,再将这些值代入第2式,从而求上述联立一次方程式所含未知数的值,将其作为所述对象系统的解析结果而输出。
文档编号G06F17/16GK1409244SQ02106098
公开日2003年4月9日 申请日期2002年4月12日 优先权日2001年4月12日
发明者郡安宪三, 平本经幸 申请人:东芝情报技术开发株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1