KR20020087002A - 물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터프로그램 제품 - Google Patents

물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터프로그램 제품 Download PDF

Info

Publication number
KR20020087002A
KR20020087002A KR1020020018121A KR20020018121A KR20020087002A KR 20020087002 A KR20020087002 A KR 20020087002A KR 1020020018121 A KR1020020018121 A KR 1020020018121A KR 20020018121 A KR20020018121 A KR 20020018121A KR 20020087002 A KR20020087002 A KR 20020087002A
Authority
KR
South Korea
Prior art keywords
vector
unknown
equation
matrix
coefficient matrix
Prior art date
Application number
KR1020020018121A
Other languages
English (en)
Inventor
군야스겐조
히라모토쓰네유키
Original Assignee
도시바 아이티 솔루션 가부시키가이샤
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 도시바 아이티 솔루션 가부시키가이샤 filed Critical 도시바 아이티 솔루션 가부시키가이샤
Publication of KR20020087002A publication Critical patent/KR20020087002A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Abstract

물리적 대상 시스템을 해석하기 위하여, 당해 해석을 위한 연립 방정식을 행렬 형식의 제1 식으로 변환하고 복수의 그룹으로 분할한 뒤, 각 그룹마다 인접하는 타그룹의 인접하는 행에 있어서의 미지수 벡터를 상수 벡터에 가산하여, 가산 벡터를 생성하고 행렬 형식의 복수의 제2 식을 생성한다. 복수의 제2 식으로부터, 인접하는 다른 식의 인접하는 행을 추출함으로써 행렬 형식의 압축된 제3 식을 생성한다. 계수 행렬의 역행렬을 이용하여 미지수 벡터에 포함되는 미지수의 값을 구하고, 또 이들 값을 제2 식에 대입함으로써 연립 1차 방정식에 포함되는 미지수의 값을 구하고, 이것을 대상 시스템의 해석 결과로서 출력한다.

Description

물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터 프로그램 제품 {METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR ANALYZING PHYSICAL OBJECT SYSTEM}
본 발명은 물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
진동의 전달 상황이나 방의 온도 분포 상황 등의 물리 현상을 해석하기 위해서는 일반적으로 다원 연립 1차 방정식을 풀어야 한다. 다원 연립 1차 방정식을 풀기 위하여 역행렬이 계산된다. 역행렬을 컴퓨터에 의해서 산출하는 경우 해석 소프트웨어로 다룰 수 있는 행렬의 크기에 제한이 있는 것과, 큰 행렬의 계산에는 방대인 시간이 걸린다고 하는 문제가 있다.
이러한 문제를 해소하기 위한 계산 방법이 미국특허 제5,442,569호 명세서 "유한 요소법을 이용한 시스템 특성과 분석용 방법 및 장치(Method and apparatus for system characterization and analysis using finite element methods)"에 기재되어 있다. 이 계산 방법에서는 우선 다원 연립 1차 방정식을 n개의 그룹으로분할한다. 각 그룹에 포함되는 미지수를 I, E, U의 3개의 유형으로 분류한다. 유형 I는 자기 그룹 내에만 존재하는 미지수이다. 유형 E는 원래는 자기 그룹 내에 포함되는 미지수이며 타그룹에도 포함되는 미지수이다. 유형 U는 원래는 타그룹에 포함되는 미지수이며 자기 그룹 내에도 포함되는 미지수이다. 다음에, 몇 개의 그룹에 포함되는 미지수를 유형 I, E 및 U 마다 각각 병합하고, 마찬가지로 나머지 몇 개의 그룹에 포함되는 미지수를 유형 I, E 및 U 마다 각각 병합한다. 이렇게 해서 유형 I, E 및 U 마다 병합된 미지수를 모두 병합하여 하나의 그룹에 통합한다. 하나의 그룹에 통합된 미지수군으로부터 유형 E 및 U의 미지수만을 포함하는 제1 연립 1차 방정식을 작성한다. 제1 연립 1차 방정식을 풀어 유형 E 및 U의 미지수를 구한다. 요구된 유형 E 및 U의 미지수를, 유형 I의 미지수만을 포함하는 제2 연립 1차 방정식에 대입하여 유형 I의 미지수를 구한다.
이 방법에 의해서 다원 연립 1차 방정식을 풀면 미지수의 수가 대단히 많을 때라도 단시간에 모든 미지수의 값을 구할 수 있게 된다. 이와 같이 미국 특허 제5,442,569호 명세서에 기재되어 있는 기술로서는 다원 연립 1차 방정식을 풀기 위하여 미지수의 유형별 분할과 병합을 반복한다. 이러한 미지수의 분할/병합 처리는 최종적으로 다원 연립 1차 방정식이 풀리도록 고려하면서 행해져야 하기 때문에 대단히 고도한 전문지식과 경험이 요구된다.
진동 해석, 구조 해석, 전열 해석 또는 유체 해석이라고 하는 물리 해석 시뮬레이션을 이용하여 상세한 3차원 비정상 해석을 행하기 위해서는 (a) 초기 조건 및 경계 조건 등의 각종 해석 조건을 설정한다, (b) 당해 해석 조건 하에서 다음시각의 응답을 산출한다, (c) 계산된 응답을 조건으로서 다음 시각의 응답을 산출한다라고 하는 처리를 반복하여 행해야 한다. 이로 인하여 시간 좌표계의 임의의 시각의 조건을 설정한 것만으로는 상세한 해석을 행할 수 없다. 상세한 3차원 비정상 해석을 행하기 위해서는 시간 좌표계도 고려한 예를 들면 10만∼100만이라는 대단히 많은 수의 미지수를 포함하는 연립 1차 방정식을 푸는 것이 필요하게 된다.
본 발명의 과제는 고도한 전문 지식이나 경험을 필요로 하지 않고서 미지수가 많은 연립 방정식을 고속으로 풀어 물리적인 대상 시스템의 해석을 행하는 방법과 장치 및 컴퓨터 프로그램 제품을 제공함에 있다.
본 발명의 더한 과제 및 장점은 뒤따르는 발명의 구성에서 설명될 것이다. 그것은 어느 정도 설명으로부터 자명할 것이고 또는 본 발명의 실시로 알 수 있을 것이다. 본 발명의 과제 및 장점은 이후에 특히 언급되는 도움과 결합의 수단으로 실현하고 얻을 수 있다.
명세서에 포함되고 명세서를 이루는 첨부한 도면은 본 발명의 바람직한 실시예를 도시하고 아래 발명의 구성에서 본 발명의 원리를 설명하는 데 도움이 된다.
도 1은 본 발명의 일 실시예에 따른 해석 시스템의 구성을 나타내는 블럭도이다.
도 2는 도 1중의 솔버(solver)의 보다 구체적인 구성의 일례를 나타내는 블럭도이다.
도 3a 및 3b는 도 2의 솔버의 하나의 처리 순서를 나타내는 플로차트이다.
도 4는 1질점계인 대상 시스템의 진동 해석을 행하는 경우의 도 2의 솔버의 처리 순서를 시각적으로 설명하는 도면이다.
도 5a 및 5b는 도 2의 솔버를 외력을 받는 1질점 물체의 일차원 미분 방정식에 적용한 경우의 분할수와 계산 시간과의 관계를 도시한 도면이다.
도 6은 도 1중의 솔버의 보다 구체적인 구성의 다른 예를 나타내는 블럭도이다.
도 7a, 7b 및 7c는 도 6의 솔버의 하나의 처리 순서를 나타내는 흐름도이다.
도 8은 1질점계인 대상 시스템의 진동 해석을 행하는 경우의 도 6의 솔버의 처리 순서를 시각적으로 설명하는 도면이다.
도 9a 및 9b는 도 6의 솔버를 외력을 받는 1질점 물체의 일차원 미분 방정식에 적용한 경우의 분할수와 계산 시간과의 관계를 도시한 도면이다.
도 10a 및 10b는 본 실시예에 따르는 진동 해석 결과의 출력 형태의 일례를 도시한 도면이다.
도 11은 본 실시예에 따르는 열 전달 해석의 결과의 출력 형태의 일례를 도시한 도면이다.
본 발명의 하나의 관점에 의하면, 물리적 대상 시스템을 해석하기 위한 연립 방정식은 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환된다. 제1 식은 복수의 그룹으로 분할된다. 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터가 제1 상수 벡터에 가산되어 가산 벡터가 생성된다. 제1 식의 각 그룹에 대응하여, 제1 미지수 벡터와 가산 벡터 및 제1 계수 행렬의 역행렬을 이용하여, "제1 미지수 벡터=제1 계수 행렬의 역행렬×가산 벡터" 형식의 복수의 제2 식이 각각 생성된다. 각각의 제2 식으로부터 인접하는 제2 식의 인접하는 행을 추출함으로써, "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 제3 식이 생성된다. 제2 계수 행렬의 역행렬을 이용하여 제2 미지수 벡터에 포함되는 미지수의 값을 구한다. 제2 미지수 벡터에 포함되는 미지수의 값을 제2 식에 대입함으로써 연립 1차 방정식에 포함되는 미지수의 값을 구한다. 구한 연립 1차 방정식에 포함되는 미지수의 값이 대상 시스템의 해석 결과로서 출력된다.
본 발명의 별도의 관점에 의하면, 제1 식을 복수의 그룹으로 분할하는 것, 제1 가산 벡터를 생성하는 것, 복수의 제2 식을 각각 생성하는 것 및 제3 식을 생성하는 것을 제1 식을 제3 식으로 치환하여 회수 N에 걸쳐 반복한다. 반복 후에 얻어지는 제2 계수 행렬의 역행렬을 이용하여 제2 미지수 벡터에 포함되는 미지수의 값을 구하는 것과, 제2 미지수 벡터에 포함되는 미지수의 값을 제1 식에 대입하여 제1 미지수 벡터에 포함되는 미지수의 값을 구하는 것을 회수 N 에 걸쳐 반복하여 연립 1차 방정식에 포함되는 미지수의 값을 구한다.
도 1을 참조하면 예를 들면 플랜트와 같은 물리적인 대상 시스템(10)은 인터페이스 기능을 각각 가지는 입력 프로세서(11) 및 출력 프로세서(12)를 사이에 두고 솔버 시스템(solver system)(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(central processing unit, 120), 메인 메모리(130) 및 서브 메모리(140)에 의해서 이루어진다. 제어 유닛(21)과 계산 유닛(22)의 기능은 CPU(120)에 의해서 실현된다. 메모리 유닛(23)에는 메인 메모리(130) 및 서브 메모리(140)가 포함된다.
메인 메모리(130)는 본 실시예에 따르는 연립 1차 방정식의 계산 프로그램을 기억하는 디바이스이며 구체적으로는 RAM 및 ROM이 이용된다. CPU(120)는 메인 메모리(130)에 기억되어 있는 연립 1차 방정식의 계산 프로그램에 따라서 입력 디바이스(14)로부터 입력된 해석 조건 및 분할수를 이용하여 연립 1차 방정식의 해를 구한다. 구해진 해는 해석 결과로서 출력 디바이스(15)에 의해 출력된다.
서브 메모리(140)는 CPU(120)가 해석의 계산 도중에서 구한 역행렬 등의 값을 일시적으로 기억시켜 놓기 위한 장치이고, RAM이나 하드 디스크 등의 기억 장치이다. 서브 메모리(140)는 미분 방정식 기억 영역(141), 다원 연립 1차 방정식 기억 영역(142), 해석 조건 기억 영역(143), 제1 행렬 표시식 기억 영역(144), 역행렬 기억 영역(145), 가산 벡터 기억 영역(146), 제2 행렬 표시식 기억 영역(147), 제3 행렬 표시식 기억 영역(148) 및 제2 역행렬 기억 영역(149)으로 구분되어 있다.
본 실시예에 의하면 예를 들면 3차원 비정상 해석에 있어서 초기 조건, 경계 조건, 시간 단위 폭, 시간 단위 수, 공간 단위 폭, 공간 단위 수 및 물성치 등의 해석 조건 및 필요한 분할수를 설정하는 것만으로 연립 1차 방정식의 해를 일정한 순서로 컴퓨터에 의해 고속으로 구할 수 있다.
대상 시스템(10)이 1질점계일 때의 대상 시스템(10)의 진동 해석을 행하는 경우를 예로 들어 본 실시예를 설명한다. 이 진동 해석의 처리 순서는 도 3a 및 3b에 나타낸다. 도 4는 이 처리 순서를 알기 쉽게 하기 위해서 시각화하여 나타내고 있다.
우선 대상 시스템(10)의 물리 현상을 모의하는 미분 방정식을 입력한다(S201). 미분 방정식은 통상 오퍼레이터에 의해서 작성되어 입력 디바이스(14)로 입력된다. 미분 방정식을 작성하는 데 필요한 데이터 예를 들면 진동 해석, 열 전도 해석, 정적 응력 해석 등의 해석의 종류, 물성치 및 형상 등을 오퍼레이터가 입력 디바이스(14)를 사이에 두어 입력하고, 해석 소프트웨어에 의해서 미분 방정식을 작성해도 좋다. 대상 시스템(10)에 존재하는 외력을 받는 물체의 1차원 미분 방정식을 고려한 경우 아래와 같은 미분 방정식이 입력된다.
단,m: 질량,c: 감쇠 계수,k: 스프링 상수,f(t): 외력,x: 물체의 변화
입력된 미분 방정식은 서브 메모리(140)의 기억 영역(141)에 기억된다. CPU(120)는 미분 방정식을 서브 메모리(140)의 기억 영역(141)으로부터 꺼내고, 이것을 일반적으로 이용되고 있는 유한 요소법이나 유한 차분법 등을 이용하여 이산화한다(S202). 예를 들면, [수학식 1]에 나타난 미분 방정식이 입력되었을 때에는 시각을
와 같이 놓고 중심 차분을 이용하여 미분 방정식을 아래와 같이 이산화한다.
다음에 CPU(120)는 이산화된 미분 방정식 [수학식 3]에 따라 대상 시스템(10)의 해석에 필요한 다원 연립 1차 방정식을 생성한다(S203).
미분 방정식의 이산화와 다원 연립 1차 방정식의 생성은 종래부터 일반적으로 이용되고 있는 계산 프로그램에 의해서 행하여진다. 이렇게 해서 생성되는 다원 연립 1차 방정식은 미지수가 많은 방정식이 된다. 생성된 다원 연립 1차 방정식은 서브 메모리(140)의 다원 연립 1차 방정식 기억 영역(142)에 기억된다.
다음에, 오퍼레이터는 해석에 필요한 초기 조건, 경계 조건, 시간 단위 폭, 시간 단위 수, 공간 단위 폭, 공간 단위 수 등의 해석 조건 및 분할수를 입력 디바이스(14)에 의해서 입력한다(S204). 입력된 해석 조건 및 분할수는 서브 메모리(140)의 기억 영역(143)에 기억된다.
다음에, CPU(120)는 생성된 다원 연립 1차 방정식을 서브 메모리(140)의 기억 영역(142)으로부터 인출하고, 인출한 다원 연립 1차 방정식으로부터 아래에 나타나는 제1 행렬 표시식을 생성한다(S205).
본 명세서에서는 행렬을 이용하여 표현된 방정식을 행렬 표시식(matrix form equation)이라고 부른다. [수학식 5]의 제1 행렬 표시식은 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식(form)으로 표시된다. 여기에서 제1 계수 행렬은 다원 연립 1차 방정식에 포함되는 미지수에 곱해져 있는 계수만으로 이루어지는 행렬이며, [수학식 5]에서는 α, β, γ, 0으로 표시된다. 제1 미지수 벡터는 다원 연립 1차 방정식에 포함되는 미지수만으로 이루어지는 벡터이며, [수학식 5]에서는 x(0),…, x(m×n)로 표시된다. 제1 상수 벡터는 다원 연립 1차 방정식에 포함되는 상수만으로 이루어지는 벡터이며, [수학식 5]에서는 등호의 우측에 있는 벡터이다.
CPU(120)는 오퍼레이터에 의해서 입력 디바이스(14)로부터 입력된 해석 조건을 서브 메모리(140)의 기억 영역(143)으로부터 꺼내고, 해석 조건에 따라서 제1 행렬 표시식을 복수의 그룹으로 분할한다(S206). 예를 들면, 해석 조건에 포함되는 경계 조건으로서, 초기 시각에 있어서의 x(0)와 별도의 어떤 시각에서의 x(m×n+1)를 기지로 한다. 이 때, [수학식 5]에 나타낸 제1 행렬 표시식에 경계 조건을 적용하면 제1 행렬 표시식은 다음과 같은 (m×n)행, (m×n)열의 계수 행렬을 가지는 행렬 표시식으로 변형된다.
다음에, CPU(120)는 오퍼레이터에 의해서 입력 디바이스(14)로부터 입력된 분할수(m으로 한다)를 서브 메모리(140)의 기억 영역(143)으로부터 꺼내고, 분할수에 따라서, [수학식 6]과 같이 변형된 제1 행렬 표시식을 아래에 나타낸 바와 같이 각각이 n행×n열의 사이즈를 가지는 m개의 그룹으로 분할한다(S206). 이들 각 그룹은 서브 메모리(140)의 기억 영역(144)에 기억된다. 이 예에서는 처리 효율을고려하여 제1 행렬 표시식을 등분할했지만, 등분할이 아니더라도 상관없다.
CPU(120)는 서브 메모리(140)의 기억 영역(144)으로부터 제1 행렬 표시식의 각 그룹을 꺼내고, 각 그룹마다 제1 계수 행렬 M의 역행렬 M-1을 산출한다(S207). [수학식 7]에 나타나 있는 산출된 역행렬은 서브 메모리(140)의 기억 영역(145)에 기억된다. 제1 행렬 표시식이 복수의 그룹으로 분할됨으로써 제1 계수 행렬의 크기가 작아지고 있기 때문에 역행렬은 단시간에 용이하게 구해진다. 제1 행렬 표시식을 등분할한 경우는 하나의 제1 계수 행렬의 역행렬을 구하면 되기 때문에 계산 시간은 더욱 단축된다.
CPU(120)는 다시 서브 메모리(140)의 기억 영역(144)으로부터 제1 행렬 표시식의 각 그룹을 꺼내고, 각 그룹으로부터 그것에 인접하는 타그룹의 인접하는 행을 추출한다. 추출된 행에 있어서의 제1 미지수 벡터를 제1 상수 벡터에 가산하고 제1 가산 벡터를 생성한다(S208). 제1 가산 벡터는 제1 행렬 표시식의 [수학식 7]에 나타나는 각 그룹의 우변에 위치한 2개 벡터의 합이다. 제1 가산 벡터는 서브 메모리(140)의 기억 영역(146)에 기억된다.
다음에, CPU(120)는 서브 메모리(140)의 기억 영역(144)으로부터 제1 행렬 표시식의 각 그룹에 포함되는 미지수 벡터, 기억 영역(145)으로부터 제1 계수 행렬의 역행렬, 기억 영역(146)으로부터 제1 가산 벡터를 각각 꺼내고, "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 복수의 제2 행렬 표시식을 생성한다(S209). 생성된 복수 그룹의 제2 행렬 표시식은 서브 메모리(140)의 기억 영역(147)에 기억된다.
다음에, CPU(120)는 서브 메모리(140)의 기억 영역(147)으로부터 모든 제2 행렬 표시식을 인출한다. 인출된 각각의 제2 행렬 표시식으로부터 다른 제2 행렬 표시식과 인접하는 행을 추출하여 압축된 연립 방정식을 작성하고 또 압축된 제3 행렬 표시식을 작성한다(S210). 연립 방정식은 각각의 제2 행렬 표시식의 최상행과 최하행만을 모아서 압축되어 있다. 예를 들면, [수학식 7]에 나타낸 제2 행렬 표시식의 각 그룹으로부터 타그룹과 인접하는 행만을 추출하면 다음과 같은 (2m-2)개의 연립 방정식이 얻어진다.
이 연립 방정식은, "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 제3 행렬 표시식으로 변환된다. 이렇게 해서 생성된 제3 행렬 표시식은 서브 메모리(140)의 기억 영역(148)에 기억된다.
다음에, CPU(120)는 서브 메모리(140)의 기억 영역(148)으로부터 제3 행렬 표시식을 꺼내고, 제3 행렬 표시식에 포함되는 제2 계수 행렬의 역행렬을 산출한다(S211). 산출된 제2 계수 행렬의 역행렬은 서브 메모리(140)의 기억 영역(149)에 기억된다.
다음에, CPU(120)는 서브 메모리(140)의 기억 영역(148 및 149)으로부터 제3 행렬 표시식 및 제2 계수 행렬의 역행렬을 꺼내고, 제3 행렬 표시식에 있어서의 미지수 벡터에 포함된 각 제2 미지수의 값을 구한다(S212). 이에 따라 제3 행렬 표시식에 포함되는 모든 미지수, 즉 제2 행렬 표시식의 각 그룹의 타그룹과 인접하는 행에 있어서의 모든 미지수가 구해질 때까지 [수학식 8]에 나타난 (2m-2)원 연립 1차 방정식은 미지수의 수도 (2m-2)개이기 때문에, 단계(S212)에 의해서 미지수 x(n), x(n+1), x(2n), x(2n+1),…, x(n×m-n+1)가 구해진다.
다음에, CPU(120)는 서브 메모리(140)의 기억 영역(147)으로부터 제2 행렬표시식을 꺼내고, 단계(S212)에서 구한 미지수의 값을 제2 행렬 표시식의 가산 벡터에 대입한다. 이로 인해 [수학식 4]에 나타낸 다원 연립 1차 방정식의 모든 미지수 x(i)가 구해진다(S213).
본 실시예에 있어서 이해를 더욱 깊게 하기 위하여 구체적인 연립 1차 방정식으로부터 미지수의 값을 구하는 순서를 설명한다.
(구체적인 예 1)
먼저 입력된 미분 방정식을 이산화함으로써, 아래에 나타나는 9개의 미지수를 가지는 연립 1차 방정식이 부여되었다고 한다. 입력된 경계 조건은 x0=1, x10=0이며, 분할수는 2이다.
이 연립 1차 방정식을 다음 식과 같이 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 행렬 표시식으로 변환한다.
[수학식 1]에 있어서 좌변의 행렬은 제1 계수 행렬, 좌변의 벡터는 제1 미지수 벡터, 우변의 벡터는 제1 상수 벡터이다.
다음에, 제1 행렬 표시식을 복수의 그룹, 예를 들면 상측 4행의 제1 그룹과 하측 4행의 제2 그룹으로 분할한다.
(11-1)
(11-2)
이들 제1 행렬 표시식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 미지수 벡터를 상수 벡터에 가산하여 다음 식의 제1 가산 벡터를 생성한다.
(12-1)
(12-2)
[수학식 12-1]에 나타나는 가산 벡터에는 [수학식 11-1]에 나타나는 제1 그룹의 상수 벡터에 제1 그룹과 인접하는 [수학식 11-2]에 나타나는 제2 그룹의 최상행에 있어서의 미지수 벡터 x5가 가산되어 있다. [수학식 12-2]에 나타나는 가산 벡터에는 [수학식 11-2]에 나타나는 제2 그룹의 상수 벡터에 제1 그룹과 인접하는 [수학식 11-1]에 나타나는 제1 그룹의 최하행에 있어서의 미지수 벡터 x4가 가산되어 있다.
[수학식 11-1]에 나타나는 제1 그룹의 상수 벡터를 [수학식 12-1]에 나타나는 가산 벡터로 치환하고, [수학식 11-2]에 나타나는 제2 그룹의 상수 벡터를 [수학식 12-2]에 나타나는 가산 벡터에 치환하면, 제1 행렬 표시식의 제1 및 제2 그룹은 다음과 같이 변형된다.
(13-1)
(13-2)
다음에, 아래와 같이 제1 행렬 표시식의 각 그룹에 포함되는 제1 계수 행렬의 역행렬을 구한다.
(14-1)
(14-2)
다음에, 제1 행렬 표시식의 제1 및 제2 그룹에 각각 대응하여, 다음 식에 나타낸 것처럼 "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 제1 및 제2 그룹의 제2 행렬 표시식을 생성한다.
(15-1)
(15-2)
다음에, 제1 및 제2 그룹의 제2 행렬 표시식으로부터, 인접하는 타그룹의 인접하는 행을 추출함으로써, "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 복수 그룹의 제3 행렬 표시식을 생성한다. 구체적으로는 우선 [수학식 15-1]의 최하행과 [수학식 15-2]의 최상행을 추출하여 다음 연립 1차 방정식을 생성한다.
[수학식 16]에 나타나는 연립 1차 방정식을 아래와 같이 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식으로 변환함으로써 제3 행렬 표시식을 얻는다.
다음에, 아래에 나타낸 것처럼 제3 행렬 표시식에서의 제2 계수 행렬의 역행렬을 산출한다.
이 역행렬과 제2 상수 벡터로부터 다음 식에 보이는 행렬 표시식에 의해서 제2 미지수 벡터에 포함되는 미지수 x4, x5의 값을 구한다.
이상과 같이 하여 구해진 미지수 x5의 값을 [수학식 15-1]에 나타난 제1 그룹의 제2 행렬 표시식에 대입하고 미지수 x4의 값을 [수학식 15-2]에 나타난 제2 그룹의 제2 행렬 표시식에 대입하면 다음 식에 보이는 2개의 행렬 표시식이 얻어진다.
(20-1)
(20-2)
이들 행렬 표시식으로부터 [수학식 9]에 나타난 연립 1차 방정식의 9개의 미지수를 모두 구한다.
(구체적인 예 2)
[수학식 9]에 나타난 연립 1차 방정식을 분할수를 3으로 해서 푸는 경우의 순서를 설명한다. 먼저 연립 1차 방정식을 3등분하여 얻어진 3개의 제1 행렬 표시식에 있어서 인접하는 타그룹의 미지수 벡터에서의 경계부(인접하는 행)의 벡터를 각 그룹의 제1 행렬 표시식의 상수 벡터에 가산한다. 그 결과 얻어지는 행렬 표시식은 아래와 같이 된다. 또 가산 벡터는 아래 행렬 표시식의 「=」 우변의 2개 벡터의 합이다.
그리고, 제1 행렬 표시식에 있어서의 각 그룹의 계수 행렬의 역행렬을 아래의 식과 같이 그룹마다 연산한다. 지금의 경우 같은 계수 행렬이기 때문에 하나의 그룹의 계수 행렬의 역행렬을 구하면 좋다.
연산된 역행렬에서, 미지수 벡터=역행렬×가산 벡터로서 표시되는 제2 행렬 표시식을 생성한다. 생성되는 제2 행렬 표시식은 아래와 같은 행렬 표시식이 된다.
다음에, 이 제2 행렬 표시식보다 그룹 사이의 경계부에 위치하는 것으로 된 식만을 인출하여 아래와 같은 연립 방정식을 생성한다.
이 연립 1차 방정식으로부터 행렬 표시식을 생성하면 생성되는 행렬 표시식은 계수 행렬×미지수 벡터=상수 벡터로서 표시되고 아래와 같은 제3 행렬 표시식이 된다.
그리고, 제3 행렬 표시식에서의 계수 행렬의 역행렬을 연산하고, 이 역행렬과 상수 벡터로부터 미지수 x3, x4, x6, x7의 값을 구하는 다음과 같은 행렬 표시식이 얻어진다.
이 행렬 표시식으로부터 미지수 x3, x4, x6, x7의 값이 아래와 같이 구해진다.
미지수 x3, x4, x6, x7의 값을 [수학식 23]에 나타난 제2 행렬 표시식에 대입하여 아래와 같은 행렬 표시식을 얻고 이 행렬 표시식으로부터 부여된 연립 1차 방정식의 9개의 미지수의 모두를 구한다.
로 구할 수 있다.
본 실시예와 같이 연립 1차 방정식으로부터 얻어진 행렬 표시식을 분할하고, 분할한 행렬 표시식의 경계부의 식만을 인출하여 압축한 행렬 표시식을 생성하고, 이 행렬 표시식을 풀어서 최종적으로 원래의 행렬 표시식의 모든 미지수를 구하도록 하면 대단히 단순한 순서로, 또한 사무적으로, 복잡한 연립 1차 방정식을 구할 수 있게 된다.
실제로, 본 실시예에 따라서 해석 계산을 행하면 도 9에 도시된 바와 같이 계산 시간이 현저하게 단축된다. 도 5a 및 5b는 1질점계의 진동 응답 해석을 행한 경우에 얻어진 100,000원 연립 1차 방정식, 즉 100,000행×100,000열의 계수 행렬을 가지는 행렬 표시식을 푸는 데 필요한 시간의 측정 결과를 나타낸다. 도 5a에 도시한 바와 같이 행렬 표시식을 종래의 방법으로 풀려고 하면 풀기까지 걸리는 시간을 측정할 수 없을 정도로 시간이 걸린다. 본 실시예에 따르면 20분할의 경우에 행렬 표시식을 2,500초로 풀 수 있고 50분할의 경우는 100초, 또 250분할의 경우는약 20초로 표시식을 풀 수 있다. 도 5b는 분할수와 계산 시간과의 관계를 그래프로 나타내고 있다. 50분할까지는 급격히 계산 시간이 감소되고, 그 이상의 분할수로서는 완만하게 계산 시간이 감소해 나가는 것을 알 수 있다. 이 결과에 따라 본 예의 행렬 표시식에 대해서는 분할수는 100정도에서 실용적으로 충분하다.
이와 같이 본 실시예에 의하면 미지수의 수가 대단히 많은 연립 1차 방정식이더라도 단시간에 풀 수 있게 된다. 따라서, 건축물에 있어서의 진동 전달 상황이나 방의 온도의 분포 상황 등 물리적인 대상 시스템의 상태 해석을 정밀도가 양호하게 행할 수 있다.
도 6에는 도 1중의 솔버 시스템(13)의 다른 구체적인 예가 도시된다. 도 2와는 서브 메모리(160)가 다르다. 즉, 서브 메모리(160)는 미분 방정식 기억 영역(161), 다원 연립 1차 방정식 기억 영역(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)이 1질점계일 때 대상 시스템(10)의 진동 해석을 행하는 경우를 예를 들어 설명한다. 이 진동 해석의 처리순서는 도 7a-7b에 도시된다. 도 8은 이 처리 순서를 알기 쉽게 하기 위해서 시각화하여 도시하고 있다.
우선 대상 시스템(10)의 물리 현상을 모의하는 미분 방정식을입력한다(S301). 미분 방정식은 통상 오퍼레이터에 의해서 작성되어 입력 디바이스(14)에 의해서 입력된다. 미분 방정식을 작성하는 데 필요한 데이터, 예를 들면, 진동 해석, 열 전도 해석, 정적 응력 해석 등의 해석의 종류, 물성치 및 형상 등을 오퍼레이터가 입력 디바이스(14)를 사이에 두어 입력하고, 해석 소프트웨어에 의해서 미분 방정식을 작성해도 좋다.
입력된 미분 방정식은 서브 메모리(160)의 기억 영역(161)에 기억된다. CPU(120)는 미분 방정식을 서브 메모리(160)의 기억 영역(161)으로부터 꺼내고, 이것을 일반적으로 이용되고 있는 유한 요소법이나 유한 차분법 등을 이용하고 이산화한다(S302).
다음에, CPU(120)는 이산화된 미분 방정식에 따라 대상 시스템(10)의 해석에 필요한 다원 연립 1차 방정식을 생성한다(S303). 미분 방정식의 이산화와 다원 연립 1차 방정식의 생성은 종래부터 일반적으로 이용되고 있는 계산 프로그램에 의해서 행하여진다. 이렇게 해서 생성되는 다원 연립 1차 방정식은 미지수가 많은 방정식이 된다. 생성된 다원 연립 1차 방정식은 서브 메모리(160)의 영역(162)에 기억된다.
다음에, 오퍼레이터는 해석에 필요한 초기 조건, 경계 조건, 시간 단위 폭, 시간 단위 수, 공간 단위 폭, 공간 단위 수 등의 해석 조건, 계층화 차수 N 및 각 계층의 분할수를 입력 디바이스(14)로 입력한다(S304). 계층화 차수란 행렬 표시식의 분할과 압축을 반복하는 회수이며 예를 들면 2 또는 그 이상의 수로 설정된다. 입력된 해석 조건, 계층화 차수 N 및 각 계층의 분할수는 서브 메모리(160)의기억 영역(163)에 기억된다.
다음에, CPU(120)는 생성된 다원 연립 1차 방정식을 서브 메모리(160)의 기억 영역(162)으로부터 인출하고, 인출한 다원 연립 1차 방정식을 제1 행렬 표시식으로 변환한다(S305). 제1 행렬 표시식은 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식으로 표시된다.
CPU(120)는 오퍼레이터가 입력 디바이스(14)로부터 입력한 경계 조건 등의 해석 조건과 계층화 차수 및 각 계층의 분할수를 서브 메모리(160)의 기억 영역(163)으로부터 인출하여 계층화 차수 N(예를 들면 N=2)을 설정한다(S306). 또 계층화의 초기치로서 카운터의 값 n을 n=1로 설정한다(S307).
다음에, CPU(120)는 단계(S305)에서 생성된 행렬 표시식을 단계(S306)에서 설정된 제1 계층의 분할수로 복수의 그룹으로 등분할함으로써 제1 계층의 제1 행렬 표시식을 생성한다(S308). 예를 들면, 경계 조건으로서 초기 시각 x(0)부터 x(m×n+1)가 기지일 때, 단계(S305)에서 생성된 행렬 표시식에 경계 조건을 적용하여 (m×n)행, (m×n)열의 계수 행렬을 가지는 행렬 표시식을 생성한다. 이 행렬 표시식을 n행×n열로 등분할함으로써 m그룹으로 분할된 행렬 표시식이 생성된다. 이 예에서는 처리 효율을 고려하여 행렬 표시식을 등분할했지만, 등분할이 아니더라도 상관없다. 복수의 그룹으로 분할된 행렬 표시식은 서브 메모리(160)의 기억 영역(164)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(164)으로부터 m그룹으로분할된 행렬 표시식을 그룹마다 인출하고, 인출한 행렬 표시식의 계수 행렬의 역행렬을 산출한다(S309). 구해진 역행렬은 서브 메모리(160)의 기억 영역(165)에 기억된다. 이 역행렬을 구하는 처리는 분할한 모든 행렬 표시식의 계수 행렬의 역행렬이 구해질 때까지 계속된다. 따라서 역행렬은 제1 계층의 분할수와 같은 수만큼 그룹마다 구해진다. 제1 행렬 표시식이 복수의 그룹으로 분할되는 것에 따라 제1 계수 행렬의 크기가 작아지고 있기 때문에 역행렬은 단시간에 용이하게 구해진다. 제1 행렬 표시식을 등분할한 경우는 하나의 제1 계수 행렬의 역행렬을 구하면 되기 때문에 계산 시간은 더욱 단축된다.
CPU(120)는 다시 서브 메모리(160)의 기억 영역(164)으로부터 제1 행렬 표시식의 각 그룹을 인출하고 각 그룹으로부터 그것에 인접하는 타그룹의 행을 추출한다. 추출된 행에 있어서의 미지수 벡터를 상수 벡터에 가산하여 가산 벡터를 생성한다(S310). 가산 벡터는 서브 메모리(160)의 기억 영역(166)에 기억된다.
CPU(120)는 서브 메모리(160)의 기억 영역(164)으로부터 분할 후의 행렬 표시식에 포함되는 미지수 벡터, 기억 영역(165)으로부터 역행렬, 기억 영역(166)으로부터 가산 벡터를 각각 인출하고 "미지수 벡터=역행렬×가산 벡터" 형식의 제2 행렬 표시식을 그룹마다 생성한다(S311). 생성된 복수 그룹의 제2 행렬 표시식은 서브 메모리(160)의 기억 영역(167)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(167)으로부터 모든 그룹의 제2 행렬 표시식을 인출한다. 인출된 제2 행렬 표시식의 각 그룹으로부터 타그룹과 인접하는 행을 추출하여 압축된 연립 방정식을 작성하고, 또 압축된 행렬 표시식을 작성한다(S312). 연립 방정식은 제2 행렬 표시식의 각 그룹의 최상행과 최하행만을 모아서 압축되어 있다. 연립 방정식은 "계수 행렬×미지수 벡터=상수 벡터"의 형식의 제3 행렬 표시식으로 변환된다. 이렇게 해서 생성된 제3 행렬 표시식은 서브 메모리(160)의 기억 영역(168)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(163)으로부터 계층화 차수 N의 값을 꺼내고, N의 값과 계층화 단계를 카운트하는 카운터 n의 값으로부터 n-N을 연산하고, n-N≥0인지 아닌지를 판단한다(S313). 이 시점에서는 n=1이며, 행렬 표시식의 분할ㆍ압축을 반복하는 회수가 아직 설정한 회수까지 도달되어 있지 않다. 따라서 CPU(120)는 서브 메모리(160)의 기억 영역(163)으로부터 제2 계층의 분할수를, 서브 메모리(160)의 기억 영역(168)으로부터 제3 행렬 표시식을 각각 인출하고 제3 행렬 표시식에 이 조건을 적용하여 그 분할수로 분할한다(S308). 이것에 의해 제2 계층의 제4 행렬 표시식이 생성되어 서브 메모리(160)의 기억 영역(169)에 기억된다. 그 후 CPU(120)는 카운터 n의 값을 1 증가시켜 여기에서는 n=2로 한다(S314).
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(168)으로부터 제3 행렬 표시식을 인출하고 이 행렬 표시식에 포함되는 계수 행렬의 역행렬을 산출한다(S309). 산출된 계수 행렬의 역행렬은 서브 메모리(160)의 기억 영역(172)에 기억된다. 위의 역행렬을 구하는 처리는 분할한 모든 행렬 표시식의 계수 행렬의 역행렬이 구해질 때까지, 바꾸어 말하면, 모든 그룹에 대해 계수 행렬의 역행렬이 구해질 때까지 계속된다. 따라서 역행렬은 제2 계층의 분할수와 같은수만큼 그룹마다 구해지게 된다. 행렬을 등분할한 경우는 하나의 행렬의 역행렬을 구하면 된다.
CPU(120)는 다시 서브 메모리(160)의 기억 영역(164)으로부터 제1 행렬 표시식의 각 그룹을 인출하고 각 그룹으로부터 그것에 인접하는 타그룹의 행을 추출한다. 추출된 행에 있어서의 미지수 벡터를 상수 벡터에 가산하여 가산 벡터를 생성한다(S310). 가산 벡터는 서브 메모리(160)의 기억 영역(173)에 기억된다.
CPU(120)는 서브 메모리(160)의 기억 영역(164)으로부터 분할 후의 행렬 표시식에 포함되는 미지수 벡터, 기억 영역(165)으로부터 역행렬, 기억 영역(166)으로부터 가산 벡터를 각각 인출하고 "미지수 벡터=역행렬×가산 벡터" 형식의 제5 행렬 표시식을 그룹마다 생성한다(S311). 생성된 복수 그룹의 제5 행렬 표시식은 서브 메모리(160)의 기억 영역(170)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(170)으로부터 모든 그룹의 제5 행렬 표시식을 인출한다. 인출된 제2 행렬 표시식의 각 그룹으로부터 타그룹과 인접하는 행을 추출하여 압축된 제6 행렬 표시식을 작성한다(S312). 제6 행렬 표시식은 서브 메모리(160)의 기억 영역(171)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(163)으로부터 계층화 차수 N의 값을 인출하고, 인출한 계층화 차수 N의 값과 계층화 단계를 카운트하는 카운터 n의 값으로부터 n-N을 연산하고, n-N≥0인지 아닌지를 판단한다(S310). 여기에서 n-N≥0이면(이 시점에서는 n=2이다) 행렬 표시식의 분할ㆍ압축을 반복하는 회수가 설정한 회수인 2회에 달한다. 따라서 CPU(120)는 압축된 행렬 표시식의 해를 구하기 위하여 서브 메모리(160)의 제6 행렬 표시식 기억 영역(171)으로부터 제6 행렬 표시식을 인출하고, 인출한 행렬 표시식의 계수 행렬의 역행렬을 연산한다(S315). 구한 역행렬은 서브 메모리(160)의 기억 영역(174)에 기억된다.
다음에, CPU(120)는 서브 메모리(160)의 기억 영역(171)으로부터 제6 행렬 표시식을, 제3 역행렬 기억 영역(174)으로부터 역행렬을 인출하고 제6 행렬 표시식에 있어서의 미지수 벡터의 각 미지수의 값을 구한다(S316). 여기에서 미지수가 구해짐으로써 제6 행렬식의 미지수 모두가 구해진다. 예를 들면 도 8의 단계(S316)에 도시된 바와 같이 미지수 x(m×n), x(m×n+1), x(2m×n),…가 구해지게 된다.
위와 같이 하여 모든 그룹의 제5 행렬 표시식의 경계부 미지수가 구해지면, CPU(120)는 또 서브 메모리(160)의 기억 영역(170)으로부터 제5 행렬 표시식을 인출하고 연산된 각 미지수의 값을 각 그룹의 제5 행렬 표시식의 가산 벡터에 대입하고 단계(S309)에서 계산된 역행렬을 이용하여, 제5 행렬 표시식의 모든 미지수를 연산한다(S317). 예를 들면 도 8의 단계(S317)에 도시된 바와 같이 제4 행렬 표시식의 경계부에 위치하는 미지수 모두 x(1), x(m×n), x(m×n+1),…가 구해지게 된다.
다음에, CPU(120)는 계층화의 단계를 카운트하는 카운터 n의 값이 1 이하인 지 여부를 판단한다(S318). n≤1이 아니면(이 시점에서는 n=2이다) CPU(120)는 계층화 단계를 카운트하는 카운터 n의 값을 1 감소시켜 1로 한다(S319).
위와 같이 하여 모든 그룹의 제4 행렬 표시식의 경계부 미지수가 구해지면, CPU(120)는 또 서브 메모리(160)의 기억 영역(167)으로부터 제2 행렬 표시식을 인출하고 연산된 각 미지수의 값을 각 그룹의 제2 행렬 표시식의 가산 벡터에 대입하여, 연립 1차 방정식의 모든 미지수의 값을 연산한다(S317). 예를 들면 도 8중에 도시된 바와 같이 미지수 x(1)부터 x(m×n)가 구해진다.
CPU(120)는 계층화의 단계를 카운트하는 카운터 n의 값이 1 이하인지 여부를 판단한다. n≤1이면(이 시점에서는 n=1이다) CPU(120)는 처리를 종료한다.
다음에, 더욱 이해를 깊게 하기 위하여 구체적인 연립 1차 방정식으로부터 2회의 분할ㆍ압축 처리(계층화 차수 N=2)를 경유하여 미지수의 값을 구하는 순서를 설명한다.
먼저 입력된 미분 방정식을 이산화함으로써 아래에 나타나는 16개의 미지수를 가지는 연립 1차 방정식이 부여되었다고 한다. 입력된 경계 조건은 x0=1, x17=0이다. 입력된 계층화 차수는 2, 제1 계층의 분할수는 4, 제2 계층의 분할수는 2이다.
:
이 연립 1차 방정식을 다음 식과 같이 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 행렬 표시식으로 변환한다.
[수학식 26]에서 좌변 행렬은 제1 계수 행렬, 좌변 벡터는 제1 미지수 벡터, 우변 벡터는 제1 상수 벡터이다.
다음에, 제1 행렬 표시식을 입력된 제1 계층의 분할수(=4)에 따라서 4개의 그룹으로 분할한다. 단순히 4등분하면 아래의 4개 그룹이 된다.
(31-1)
(31-2)
(31-3)
(31-4)
이들 제1 행렬 표시식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 미지수 벡터를 상수 벡터에 가산하여 아래의 제1 가산 벡터를 생성한다.
(32-1)
(32-2)
(32-3)
(32-4)
[수학식 31]에 나타나는 제1, 제2, 제3 및 제4 그룹의 상수 벡터를 [수학식 32]에 나타나는 가산 벡터로 치환하면 제1 행렬 표시식의 제1 및 제2 그룹은 다음과 같이 변형된다.
(33-1)
(33-2)
(33-3)
(33-4)
다음에, [수학식 33]에 나타나는 제1 행렬 표시식의 각 그룹에 포함되는 제1 계수 행렬의 역행렬을 아래와 같이 구한다.
다음에, 제1 행렬 표시식의 제1, 제2, 제3 및 제4 그룹에 각각 대응하여 아래에 나타난 바와 같이 "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 4개 그룹의 제2 행렬 표시식을 생성한다.
(35-1)
(35-2)
(35-3)
(35-4)
다음에, 제1 및 제2 그룹의 제2 행렬 표시식으로부터 인접하는 타그룹의 인접하는 행을 추출함으로써 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 복수 그룹의 제3 행렬 표시식을 생성한다. 구체적으로는 먼저 [수학식 35-1]의 최하행, [수학식 35-2]의 최상행과 최하행, [수학식 35-3]의 최상행과 최하행 및 [수학식 35-4]의 최상행을 추출하여 다음 연립 1차 방정식을 생성한다.
[수학식 36]에 나타나는 연립 1차 방정식을 아래와 같이 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식으로 변환함으로써 제3 행렬 표시식을 얻는다.
단, M은 제2 계수 행렬이며 아래에 표시된다.
다음에, 제3 행렬 표시식의 밸런스를 맞추기 위하여 제3 행렬 표시식에 다음과 같은 변형을 행한다. [수학식 35-1]보다는 x1=0.812271+0.208243x5, [수학식 35-4]보다는 x16=0.208243x12를 고려한다. 이 때, 계수 행렬 M으로서
를 이용함으로써 제3 행렬 표시식은
로 변형된다.
다음에, 제3 행렬 표시식을 입력된 제2 계층의 분할수=2로 분할한다. 예를 들면 아래와 같이 제3 행렬 표시식을 상측 4행의 제1 그룹과 하측 4행의 제2 그룹으로 분할한다.
(41-1)
(41-2)
이들 제3 행렬 표시식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제2 미지수 벡터를 상수 벡터에 가산하여 아래의 제2 가산 벡터를 생성한다.
(42-1)
(42-2)
[수학식 41]에 나타나는 제1 및 제2 그룹의 상수 벡터를 [수학식 42]에 나타나는 가산 벡터로 치환하면 제3 행렬 표시식의 제1 및 제2 그룹은 다음과 같이 변형된다.
(43-1)
(43-2)
다음에, 아래와 같이 제3 행렬 표시식의 각 그룹에 포함되는 제3 계수 행렬의 역행렬을 구한다.
다음에, 제3 행렬 표시식의 제1 및 제2 그룹에 각각 대응하여 다음 식에 나타낸 바와 같이 "제3 미지수 벡터=제3 계수 행렬의 역행렬×제3 가산 벡터" 형식의 제1 및 제2 그룹의 제4 행렬 표시식을 생성한다.
(45-1)
(45-2)
다음에, 제1 및 제2 그룹의 제4 행렬 표시식으로부터 인접하는 타그룹의 인접하는 행을 추출함으로써 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 복수 그룹의 제5 행렬 표시식을 생성한다. 구체적으로는 먼저 [수학식 45-1]의 최하행과 [수학식 45-2]의 최상행을 추출하여 다음 연립 1차 방정식을 생성한다.
이 연립 1차 방정식으로부터 행렬 표시식을 생성하면 생성되는 행렬 표시식은 계수 행렬×미지수 벡터=상수 벡터로서 표시되는 아래와 같은 제6 행렬 표시식으로 된다.
로 된다.
그리고, 제6 행렬 표시식에 있어서의 계수 행렬의 역행렬을 구한다.
이 역행렬과 상수 벡터로부터 미지수 x8, x9의 값이 다음과 같은 행렬 표시식으로부터 구해진다.
이 행렬 표시식으로부터 미지수 x8, x9의 값이 구해지면, 미지수 x8, x9의 값을 [수학식 45]에 나타난 제5 행렬 표시식에 대입하여, 미지수 x1, x4, x5, x12, x13, x16의 값이 다음과 같은 행렬 표시식으로부터 구해진다. 여기까지의 처리로 제5 행렬 표시식의 모든 미지수가 구해지게 된다.
(50-1)
(50-2)
이상까지의 처리로 구해진 미지수 x1, x4, x5, x6, x9, x12, x13, x16의 값을 [수학식 35]에 나타난 제2 행렬 표시식에 대입하여, 나머지의 미지수 x2, x3, x6, x7, x10, x11, x14, x15의 값이 다음과 같은 행렬 표시식으로부터 구해진다. 이에 따라 연립 1차 방정식의 16개의 미지수의 모두가 구해진다.
(51-1)
(51-2)
(51-3)
(51-4)
로 모두 구한 것이 된다.
본 실시예와 같이, 계층화 차수에 따라서 연립 1차 방정식으로부터 얻어진 행렬 표시식을 분할하고, 분할한 행렬 표시식의 경계부만을 인출하여 압축한 행렬 표시식을 생성한다는 것을 반복하고, 압축된 행렬 표시식을 분할의 순번과는 반대인 순번으로 풂으로써 최종적으로 원래의 행렬 표시식의 모든 미지수를 구하도록 하면, 대단히 단순한 순서로, 또한 사무적으로, 복잡한 연립 1차 방정식을 구할 수 있게 된다.
본 실시예에 따른 연립 1차 방정식의 계산 프로그램 또는 연립 1차 방정식의 계산 장치를 이용하여 실제로 해석 계산을 행하게 한 바, 도 9a 및 9b에 도시한 것처럼 행렬 표시식의 연산 시간을 현저하게 감소시킬 수 있다. 도 9a는 10질점계의 진동 응답 해석을 행한 경우에 얻어진 1,000,000행×1,000,000열의 계수 행렬을 가지는 행렬 표시식을 푸는 데 필요한 시간의 측정 결과를 표로 나타내고 있다. 제1 계층의 분할수(제1 분할수)를 250으로 하고, 제2 계층의 분할수(제2 분할수)를 2로 한 경우 1,000,000행×1,000,000열의 계수 행렬을 가지는 행렬 표시식을 2,650초로 풀 수 있다. 제1 분할수를 1,000으로 하고, 제2 분할수를 25로 한 경우에는 동 행렬 표시식을 350초로 풀 수 있다. 제1 및 제2 분할수와 계산 시간과의 관계를 입체 막대 그래프로 나타내면 도 9b와 같이 된다. 도 9a 및 9b에서 1,000,000행×1,000,000열의 계수 행렬을 가지는 행렬 표시식을 푸는 경우 제1 및 제2 분할수 모두 어느 정도의 범위 내에서 많아질수록 계산 시간이 적어지는 것을 알 수 있다.
이와 같이 미지수의 수가 대단히 많은 연립 1차 방정식이더라도 단시간에 해를 구할 수 있다. 따라서 본 실시예에 따라서 대상 시스템의 해석을 행하면 건축물에 있어서의 진동 전달 상황이나 방의 온도 분포 상황 등의 물리 현상의 모의 해석을 정밀도가 양호하게 할 수가 있다.
본 실시예에서는 2회 분할하여 즉 계층화 차수를 2로 하여 연립 1차 방정식을 푸는 경우에 대해 설명했지만 3회 이상 분할하는 경우에도 위와 같은 해석 순서를 이용함으로써 연립 방정식을 풀 수 있다.
이상 설명한 바와 같이 본 발명에 의하면 입력한 초기 조건ㆍ경계 조건ㆍ시간 단위 폭ㆍ시간 단위 수ㆍ공간 단위 폭ㆍ공간 단위 수ㆍ물성치 등의 해석 조건 및 분할수 등에 따라서 계수 행렬이 큰 행렬 표시식이 계수 행렬이 작은 행렬 표시식으로 자동적으로 분할된다. 따라서 고도한 전문 지식이나 경험이 없더라도 최종적으로 얻어지는 행렬 표시식을 대단히 작은 행렬 표시식으로 할 수 있다. 취급할 수 있는 행렬 크기의 제한이 현저하게 완화되는 것부터, 예를 들면, 진동 전달 상황이나 방의 온도 분포 상황 등의 물리 현상을 모의 해석하는 경우에도, 종래와 같이 해석의 모델화에 궁리하거나 해석 정밀도를 희생하여 해석의 범위를 제한할 필요가 없어진다. 고도한 전문지식이나 경험이 없더라도 다원 연립 1차 방정식을 풀 수 있게 된다. 또 분할된 행렬 표시식의 계수 행렬의 역행렬은 대단히 짧은 시간으로 풀리기 때문에 고정밀도의 해석 결과를 종래와는 비교가 되지 않는 정도의 속도로 얻을 수 있다.
다음에, 본 실시예에 따라서 실제로 해석 계산을 행하는 경우의 순서나 해석 결과의 표시 형태를 설명한다.
(예 1) 10층 건물의 응답 변위 시각 추이를 구하는 진동 해석을 행한다. 오퍼레이터는 입력 디바이스(14)로부터 다음 데이터를 입력한다.
진동체의 개수 n
시간축 상의 스텝수 f
감쇠 행렬 C (차수 n의 정방행렬)
강성 행렬 K (차수 n의 정방행렬)
질량 행렬 M (차수 n의 정방행렬)
외력 F (개수 n×f)
초기 조건 I (개수 n)
경계 조건 B (개수 n)
시간축 상의 스텝수인, 물리적 요청에 기초하는 제1 분할수(f÷제1 분할수=정수)
시간축 상의 스텝수인, 물리적 요청에 기초하는 제2 분할수(제1 분할수÷제2 분할수=정수)
이상의 데이터가 입력 디바이스(14)로부터 입력되면 CPU(120)는 데이터를 서브 메모리(160)의 소정의 영역에 기억시킨다. 다음에, CPU(120)는 다음과 같은 순서로 입력한 데이터의 해석을 행한다.
단계(S401): 다원 연립 1차 방정식으로부터 행렬 표시식을 생성하고, 생성된 행렬 표시식을 제1 분할수로 분할한다. 분할 후의 행렬 표시식을 서브 메모리(160)의 소정의 영역에 기억시킨다. 기억되는 행렬 표시식은 분할 전의 행렬 표시식은 아니기 때문에 필요한 기억 영역이 극단적으로 절약된다.
단계(S402): 외력의 벡터를 그룹으로 나누고, 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S403): 분할 후의 행렬 표시식에서 구해야 하는 미지수에 관계되는 계수 행렬의 역행렬을 구하고, 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S404): 분할 후의 행렬 표시식의 역행렬, 초기 조건, 경계 조건 및 외력 등을 이용하여 경계부에 위치하는 식을 작성 또는 계산하고, 경계부에 위치하는 식의 값을 구한다. 경계부에 위치하는 식의 값을 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S405): 분할 후의 행렬 표시식을 구하는 데 필요한 경계부에 위치하는 식의 값을 서브 메모리(160)로부터 호출하고, 또 분할 후의 행렬 표시식을 구하는 데 필요한 역행렬을 서브 메모리(160)로부터 호출한다. 이들에 의해 분할 후의 행렬 표시식을 모두 구할 수 있다. 동일한 처리를 분할된 모든 행렬 표시식(다원 연립 1차 방정식에 상당)에 적용하여 모든 필요한 미지수를 구한다. 분할되기 전의계수 행렬은 반드시 생성시키거나 기억시켜야 할 필요가 없는 것은 물론이다. 요컨대 분할된 후의 계수 행렬을 생성하고 기억시키면 좋다.
이상의 처리는 제2 분할을 행하는 경우도 동일하게 행한다. 이상의 순서로 얻어지는 해석 결과는 도 11a 및 10b에 도시된 것처럼 건물의 응답 변위 시각 추이의 그래프로서 출력 디바이스(15)로 표시된다. 도 10b는 도 10a에 대하여 시간축을 압축하여 나타내고 있다.
(예 2)
방에 점열원을 둔 경우 방의 온도 분포의 열 전달 해석을 행하는 경우에 대해 설명한다. 이 예에서는 평면 라플라스 방정식을 이용한다.
오퍼레이터는 입력 디바이스(14)로부터 다음 데이터를 입력한다.
세로 단위 수 n
가로 단위 수 m
경계 조건 B (개수 2n+2m)
초기 조건 I (개수 n×m)
물리적 요청에 기초하는 제1 분할수(n≥m이라고 하면 n÷제1 분할수=정수)
물리적 요청에 기초하는 제2 분할수(제1 분할수÷제2 분할수=정수)
이상의 데이터가 입력 디바이스(14)로부터 입력되면 CPU(120)는 데이터를 서브 메모리(160)의 소정의 영역에 기억시킨다. 다음에, CPU(120)는 다음과 같은 순서로 입력한 데이터의 해석을 행한다.
단계(S501): 다원 연립 1차 방정식으로부터 행렬 표시식을 생성하고, 생성된행렬 표시식을 제1 분할수로 분할한다. 분할 후의 행렬 표시식을 서브 메모리(160)의 소정의 영역에 기억시킨다. 기억되는 행렬 표시식은 분할 전의 행렬 표시식은 아니기 때문에, 필요한 기억 영역이 극단적으로 절약된다.
단계(S502): 초기 조건 및 경계 조건을 그룹으로 나누고, 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S503): 분할 후의 행렬 표시식에서 구해야 하는 미지수에 곱해지는 계수 행렬의 역행렬을 구하고, 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S504): 분할 후의 행렬 표시식의 계수 행렬의 역행렬, 초기 조건, 경계 조건을 이용하여, 경계부에 위치하는 식을 작성 또는 계산하고 경계부에 위치하는 식의 값을 구한다. 경계부에 위치하는 식의 값을 서브 메모리(160)의 소정의 영역에 기억시킨다.
단계(S505): 분할 후의 행렬 표시식을 구하는 데 필요한 경계부에 위치하는 식의 값을 서브 메모리(160)로부터 호출한다. 분할 후의 행렬 표시식을 구하는 데 필요한 역행렬을 서브 메모리(160)로부터 호출한다. 이들로부터 분할 후의 행렬 표시식을 모두 구할 수 있다. 동일한 처리를 분할된 모든 행렬 표시식(다원 연립 1차 방정식에 상당)에 적용하고 모든 필요한 미지수를 구한다.
이상의 처리는 제2 분할을 행하는 경우도 동일하게 행한다. 이상의 순서에 의해 얻어지는 해석 결과는 도 11에 도시된 것처럼 방의 온도 분포를 나타내는 그래프로서 출력 디바이스(15)로 표시된다.
상술한 본 발명의 각 실시예에 있어서 사용되는 연립 1차 방정식의 계산 프로그램은 광자기 디스크, 광 디스크, 플렉시블 디스크, 리지드 디스크, 자기 테이프, 플래시 메모리 등 컴퓨터에 의해서 판독 가능한 기록 매체에 기록된다. 컴퓨터는 이들 기록 매체에 기록되어 있는 계산 프로그램을 판독함으로써 연립 1차 방정식을 단시간에 풀 수 있다. 또한 본 실시예에서 나타난 해석 순서는 연립 1차 방정식의 계산 프로그램으로서 각종 기록 매체를 사이에 두거나 또는 인터넷이나 인터넷과 같은 네트워크를 사이에 두어 컴퓨터에 제공된다. 컴퓨터는 계산 프로그램을 실행함으로써 행렬 표시식의 분할이나 압축을 행하고, 연립 1차 방정식의 해를 대단히 짧은 시간에 풀 수 있다.
부가된 장점과 개조는 당업자라면 쉽게 알 수 있을 것이다. 그 결과 본 발명은 여기에서 기술된 상세한 설명과 대표적인 실시예로 제한되지 않는다. 따라서 첨부한 청구범위에 의하여 명시된 것으로서 일반적인 발명의 사상이나 범위를 벗어나지 않고 다양한 개조가 가능할 수 있다.
본 발명에 따른 물리적인 대상 시스템의 해석 방법과 장치 및 컴퓨터 프로그램 제품에 의하면 고도한 전문 지식이나 경험을 필요로 하지 않고서 미지수가 많은 연립 방정식을 고속으로 풀 수 있다. 따라서 본 발명에 따라서 대상 시스템의 해석을 행하면 건축물에 있어서의 진동 전달 상황이나 방의 온도 분포 상황 등의 물리 현상의 모의 해석을 정밀도가 양호하게 할 수가 있다.

Claims (16)

  1. 컴퓨터 시스템이
    물리적 대상 시스템을 해석하기 위한 연립 방정식을 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환하고,
    상기 제1 식을 복수의 그룹으로 분할하고,
    상기 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터를 상기 제1 상수 벡터에 가산하여 가산 벡터를 생성하고,
    상기 제1 식의 각 그룹에 대응하여, 상기 제1 미지수 벡터와 상기 가산 벡터 및 상기 제1 계수 행렬의 역행렬을 이용하여 "제1 미지수 벡터=제1 계수 행렬의 역행렬×가산 벡터" 형식의 복수의 제2 식을 각각 생성하고,
    상기 복수의 제2 식으로부터, 인접하는 2개의 식의 인접하는 2개의 행을 추출함으로써, "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 적어도 하나의 제3 식을 생성하고,
    상기 제2 계수 행렬의 역행렬을 이용하여 상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하고,
    구해진 상기 제2 미지수 벡터에 포함되는 미지수의 값을 상기 제2 식에 대입하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하고, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력할 수 있게 하는
    컴퓨터 시스템에서 수행할 수 있도록 프로그램 명령을 저장하여 이루어진 컴퓨터 프로그램 제품.
  2. 컴퓨터 시스템이
    물리적 대상 시스템을 해석하기 위한 연립 방정식을 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환하고,
    상기 제1 식을 복수의 그룹으로 분할하고,
    상기 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터를 상기 제1 상수 벡터에 가산하여 제1 가산 벡터를 생성하고,
    상기 제1 식의 각 그룹에 대응하여, 상기 제1 미지수 벡터와 상기 가산 벡터 및 상기 제1 계수 행렬의 역행렬을 이용하여 "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 복수의 제2 식을 각각 생성하고,
    상기 복수의 제2 식으로부터, 서로 인접하는 2개 식의 서로 인접하는 2개의 행을 추출함으로써, "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 적어도 하나의 제3 식을 생성하고,
    상기 제3 식을 복수의 그룹으로 분할하고,
    상기 제3 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제2 미지수 벡터를 상기 제2 상수 벡터에 가산하여 제2 가산 벡터를 생성하고,
    상기 제3 식의 각 그룹에 대응하여, 상기 제2 미지수 벡터와 상기 제2 가산 벡터 및 상기 제2 계수 행렬의 역행렬을 이용하여 "제2 미지수 벡터=제2 계수 행렬의 역행렬×제2 가산 벡터" 형식의 복수의 제4 식을 각각 생성하고,
    상기 복수의 제4 식으로부터, 인접하는 2개 식의 인접하는 2개의 행을 추출함으로써 "제3 계수 행렬×제3 미지수 벡터=제3 상수 벡터" 형식의 압축된 적어도 하나의 제5 식을 생성하고,
    상기 제3 계수 행렬의 역행렬을 이용하여 상기 제3 미지수 벡터에 포함되는 미지수의 값을 구하고,
    구해진 상기 제3 미지수 벡터에 포함되는 미지수의 값을 상기 제4 식에 대입하여 상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하고,
    구해진 상기 제2 미지수 벡터에 포함되는 미지수의 값을 상기 제2 식에 대입하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하고, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력할 수 있게 하는
    컴퓨터 시스템에서 수행할 수 있도록 프로그램 명령을 저장하여 이루어진 컴퓨터 프로그램 제품.
  3. 컴퓨터 시스템이
    식의 분할 및 압축의 반복 회수 N을 설정하고,
    물리적 대상 시스템을 해석하기 위한 연립 방정식을 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환하고,
    상기 제1 식을 복수의 그룹으로 분할하고,
    상기 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터를 상기 제1 상수 벡터에 가산하여 제1 가산 벡터를 생성하고,
    상기 제1 식의 각 그룹에 대응하여, 상기 제1 미지수 벡터와 상기 가산 벡터 및 상기 제1 계수 행렬의 역행렬을 이용하여 "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 복수의 제2 식을 각각 생성하고,
    상기 복수의 제2 식으로부터, 인접하는 2개 식의 인접하는 2개의 행을 추출함으로써 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 적어도 하나의 제3 식을 생성하고,
    상기 제1 식을 복수의 그룹으로 분할하고, 상기 제1 가산 벡터를 생성하고, 상기 복수의 제2 식을 생성하고, 그리고 상기 복수의 제3 식을 생성하는 것을 상기 제1 식을 상기 제3 식으로 치환하여 상기 회수 N에 걸쳐 반복하고,
    상기 반복의 후에 얻어지는 상기 제2 계수 행렬의 역행렬을 이용하여 상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하고,
    구해진 상기 제2 미지수 벡터에 포함되는 미지수의 값을 상기 제1 식에 대입하여 상기 제1 미지수 벡터에 포함되는 미지수의 값을 구하고,
    상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하고, 그리고 상기 제1 미지수 벡터에 포함되는 미지수의 값을 구하는 것을 상기 회수 N에 걸쳐 반복하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하고, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력할 수 있게 하는
    컴퓨터 시스템에서 수행할 수 있도록 프로그램 명령을 저장하여 이루어진 컴퓨터 프로그램 제품.
  4. 물리적대상 시스템을 해석하기 위한 연립 방정식을 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환하는 단계,
    상기 제1 식을 복수의 그룹으로 분할하는 단계,
    상기 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터를 상기 제1 상수 벡터에 가산하여 가산 벡터를 생성하는 단계,
    상기 제1 식의 각 그룹에 대응하여, 상기 제1 미지수 벡터와 상기 가산 벡터 및 상기 제1 계수 행렬의 역행렬을 이용하여 "제1 미지수 벡터=제1 계수 행렬의 역행렬×가산 벡터" 형식의 복수의 제2 식을 각각 생성하는 단계,
    상기 복수의 제2 식으로부터, 인접하는 2개 식의 인접하는 2개의 행을 추출함으로써 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 제3 식을 생성하는 단계,
    상기 제2 계수 행렬의 역행렬을 이용하여 상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하는 단계,
    구해진 상기 제2 미지수 벡터에 포함되는 미지수의 값을 상기 제2 식에 대입하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하는 단계, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 단계
    를 포함하는 물리적인 대상 시스템의 해석 방법.
  5. 물리적 대상 시스템을 해석하기 위한 연립 방정식을 "제1 계수 행렬×제1 미지수 벡터=제1 상수 벡터" 형식의 제1 식으로 변환하는 단계,
    상기 제1 식을 복수의 그룹으로 분할하는 단계,
    상기 제1 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제1 미지수 벡터를 상기 제1 상수 벡터에 가산하여 제1 가산 벡터를 생성하는 단계,
    상기 제1 식의 각 그룹에 대응하여, 상기 제1 미지수 벡터와 상기 가산 벡터 및 상기 제1 계수 행렬의 역행렬을 이용하여 "제1 미지수 벡터=제1 계수 행렬의 역행렬×제1 가산 벡터" 형식의 복수의 제2 식을 각각 생성하는 단계,
    상기 복수의 제2 식으로부터, 인접하는 2개의 식의 인접하는 2개의 행을 추출함으로써 "제2 계수 행렬×제2 미지수 벡터=제2 상수 벡터" 형식의 압축된 제3 식을 생성하는 단계,
    상기 제3 식을 복수의 그룹으로 분할하는 단계,
    상기 제3 식의 각 그룹마다, 인접하는 타그룹의 인접하는 행에 있어서의 제2 미지수 벡터를 상기 제2 상수 벡터에 가산하여 제2 가산 벡터를 생성하는 단계,
    상기 제3 식의 각 그룹에 대응하여, 상기 제2 미지수 벡터와 상기 제2 가산 벡터 및 상기 제2 계수 행렬의 역행렬을 이용하여 "제2 미지수 벡터=제2 계수 행렬의 역행렬×제2 가산 벡터" 형식의 복수의 제4 식을 각각 생성하는 단계,
    상기 복수의 제4 식으로부터, 인접하는 2개의 식의 인접하는 2개의 행을 추출함으로써 "제3 계수 행렬×제3 미지수 벡터=제3 상수 벡터" 형식의 압축된 제5 식을 생성하는 단계,
    상기 제3 계수 행렬의 역행렬을 이용하여 상기 제3 미지수 벡터에 포함되는 미지수의 값을 구하는 단계,
    구해진 상기 제3 미지수 벡터에 포함되는 미지수의 값을 상기 제4 식에 대입하여 상기 제2 미지수 벡터에 포함되는 미지수의 값을 구하는 단계,
    구해진 상기 제2 미지수 벡터에 포함되는 미지수의 값을 상기 제2 식에 대입하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하는 단계, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 단계
    를 포함하는 물리적인 대상 시스템의 해석 방법.
  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에 걸쳐 반복하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하는 단계, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 단계
    를 포함하는 물리적인 대상 시스템의 해석 방법.
  7. 물리적 대상 시스템을 해석하기 위한 연립 방정식을 "제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차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 수단
    을 포함하는 물리적인 대상 시스템의 해석 장치.
  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 식에 대입하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하는 수단, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 수단
    을 포함하는 물리적인 대상 시스템의 해석 장치.
  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에 걸쳐 반복하여 상기 연립 1차 방정식에 포함되는 미지수의 값을 구하는 수단, 그리고
    구해진 상기 연립 1차 방정식에 포함되는 미지수의 값을 상기 대상 시스템의 해석 결과로서 출력하는 수단
    을 포함하는 물리적인 대상 시스템의 해석 장치.
  10. 제6항에서,
    상기 제1 식은 상기 대상 시스템의 물리 현상을 모의하는 미분 방정식을 이산화하고, 상기 이산화한 식을 변형함으로써 생성되는 해석 방법.
  11. 제6항에서,
    상기 제1 식은 경계 조건이 적용된 뒤에 상기 복수의 그룹으로 분할되는 해석 방법.
  12. 제6항에서,
    상기 연립 방정식은 상기 대상 시스템의 진동 해석을 위하여 준비되는 해석 방법.
  13. 제6항에서,
    상기 연립 방정식은 상기 대상물의 온도 분포의 열 전도 해석을 위해 준비되는 해석 방법.
  14. 제9항의 해석 장치, 및
    상기 해석 장치로부터의 해석 결과에 따라서 상기 대상 시스템에 공급하는 제어 데이터를 생성하는 디바이스
    를 포함하는 물리적인 대상 시스템을 제어하는 장치.
  15. 제9항의 해석 장치, 및
    상기 해석 장치로부터의 해석 결과에 따라서 상기 대상 시스템의 운전상태를 표시하는 디바이스
    를 포함하는 물리적인 대상 시스템의 운전 상태를 모니터하는 장치.
  16. 제9항의 해석 장치,
    상기 해석 장치로부터의 해석 결과에 따라서 상기 대상 시스템에 공급하는 제어 데이터를 생성하는 디바이스, 및
    상기 해석 장치로부터의 해석 결과에 따라서 상기 대상 시스템의 운전 상태를 표시하는 디바이스
    를 포함하는 물리적인 대상 시스템의 제어 및 감시를 행하는 장치.
KR1020020018121A 2001-04-12 2002-04-03 물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터프로그램 제품 KR20020087002A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001114267A JP3864059B2 (ja) 2001-04-12 2001-04-12 微分方程式の離散化により生成される連立一次方程式の計算プログラムおよびその計算プログラムを記録したコンピュータ読み取り可能な記録媒体ならびに連立一次方程式の計算装置
JPJP-P-2001-00114267 2001-04-12

Publications (1)

Publication Number Publication Date
KR20020087002A true KR20020087002A (ko) 2002-11-21

Family

ID=18965365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020018121A KR20020087002A (ko) 2001-04-12 2002-04-03 물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터프로그램 제품

Country Status (4)

Country Link
US (1) US20030014227A1 (ko)
JP (1) JP3864059B2 (ko)
KR (1) KR20020087002A (ko)
CN (1) CN1409244A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410221B2 (en) * 2008-02-07 2019-09-10 Urban Science Applications, Inc. System and method for determining a grouping of segments within a market
JP5900951B2 (ja) * 2012-01-17 2016-04-06 国立大学法人広島大学 モデル化方法、解析方法及びプログラム
CN102903176B (zh) 2012-10-09 2014-10-22 广州广电运通金融电子股份有限公司 一种金融自助设备配钞方法
CN105630741A (zh) * 2015-12-22 2016-06-01 合肥工业大学 一种改进的按位替换法求矩阵逆矩阵模块
IL274894B2 (en) 2017-12-03 2024-04-01 Lumus Ltd Optical instrument alignment methods
JP7389491B2 (ja) 2018-04-08 2023-11-30 ルムス エルティーディー. 光学サンプルの特性評価

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120276B2 (ja) * 1986-03-10 1995-12-20 株式会社日立製作所 シミュレーションプログラム生成方法
JPH01145723A (ja) * 1987-08-28 1989-06-07 Hitachi Ltd プログラム生成方法
US5424963A (en) * 1992-11-25 1995-06-13 Photon Research Associates, Inc. Molecular dynamics simulation method and apparatus
US5442569A (en) * 1993-06-23 1995-08-15 Oceanautes Inc. Method and apparatus for system characterization and analysis using finite element methods
US5548798A (en) * 1994-11-10 1996-08-20 Intel Corporation Method and apparatus for solving dense systems of linear equations with an iterative method that employs partial multiplications using rank compressed SVD basis matrices of the partitioned submatrices of the coefficient matrix
US5629845A (en) * 1995-08-17 1997-05-13 Liniger; Werner Parallel computation of the response of a physical system
JP3878345B2 (ja) * 1998-12-01 2007-02-07 富士通株式会社 シミュレーション装置及び方法並びにプログラム記録媒体
JP4720964B2 (ja) * 2001-05-31 2011-07-13 日本電気株式会社 Fem解析方法、プログラム、およびシステム

Also Published As

Publication number Publication date
US20030014227A1 (en) 2003-01-16
JP3864059B2 (ja) 2006-12-27
CN1409244A (zh) 2003-04-09
JP2002312341A (ja) 2002-10-25

Similar Documents

Publication Publication Date Title
US5557710A (en) Computer aided design system
Papadimitriou et al. The effect of prediction error correlation on optimal sensor placement in structural dynamics
US5801969A (en) Method and apparatus for computational fluid dynamic analysis with error estimation functions
US5581489A (en) Model generator for constructing and method of generating a model of an object for finite element analysis
Rewienski et al. A trajectory piecewise-linear approach to model order reduction and fast simulation of nonlinear circuits and micromachined devices
Hwang et al. Damage detection in structures using a few frequency response measurements
Agrawal et al. IGA: A simplified introduction and implementation details for finite element users
Murray-Smith Continuous system simulation
Kang et al. An interior-point method for efficient solution of block-structured NLP problems using an implicit Schur-complement decomposition
Fierz et al. Maintaining large time steps in explicit finite element simulations using shape matching
US20220405440A1 (en) Systems and methods for generating reduced order models
González et al. Inverse mass matrix for isogeometric explicit transient analysis via the method of localized Lagrange multipliers
JP5405641B2 (ja) 挙動解析システム、挙動解析方法及び挙動解析プログラム
KR20020087002A (ko) 물리적인 대상 시스템의 해석의 방법과 장치 및 컴퓨터프로그램 제품
Musa Finite element analysis: a primer
Aulisa et al. Monolithic coupling of the implicit material point method with the finite element method
de la Fuente An efficient procedure to obtain exact solutions in random vibration analysis of linear structures
Annuš et al. Algorithmic and simulation-based teaching of computer science and mathematics in higher education
Lee et al. Interactive simulation of eigenmodes for instruction of finite element behavior
Liang et al. Model updating with the Kriging predictor: Effect of code uncertainty
Phalippou et al. Remarks on mixed-integer formulations for hyper-reduction schemes in nonlinear dynamics
JP7373475B2 (ja) 解析装置、解析方法及びプログラム
Ghasemi et al. Geometrical design modes of dynamic structures
Morkos Development of a Sensible Reduced-Order Modeling Framework for Geomechanics Simulation: With Application to Coupled Flow and Geomechanics Simulation
Yang Multigrid solution methods for nonlinear time-dependent systems

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid