(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075083
(43)【公開日】2024-06-03
(54)【発明の名称】構造物設計装置、構造物設計方法、プログラムおよび記録媒体
(51)【国際特許分類】
G06F 30/20 20200101AFI20240527BHJP
G06F 30/10 20200101ALI20240527BHJP
G06F 111/10 20200101ALN20240527BHJP
【FI】
G06F30/20
G06F30/10 100
G06F111:10
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022186263
(22)【出願日】2022-11-22
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】山田 崇恭
(72)【発明者】
【氏名】岡 大将
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DC01
5B146DC04
5B146DC05
5B146DJ01
5B146DL08
5B146EC08
(57)【要約】
【課題】構造物の最適設計を高速にまたは安定的に実現する。
【解決手段】構造物設計装置1は、構造物の設計領域を記憶する設計領域記憶部10と、構造物の目標性能値を記憶する目標性能値記憶部20と、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶部30と、レベルセット関数の係数を可変な拡散係数とした反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新するレベルセット関数更新部40と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
構造物の設計領域を記憶する設計領域記憶部と、
前記構造物の目標性能値を記憶する目標性能値記憶部と、
前記構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは前記物体領域と前記空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶部と、
前記レベルセット関数の係数を可変な拡散係数とした反応拡散方程式を解くことにより、前記構造物の性能を目標性能値に近づけるように前記レベルセット関数を更新するレベルセット関数更新部と、を含む構造物設計装置。
【請求項2】
前記反応拡散方程式は非線形反応拡散方程式であることを特徴とする請求項1に記載の構造物設計装置。
【請求項3】
前記レベルセット関数更新部は、前記設計領域内で前記物体領域のトポロジー変化および前記境界領域の移動を同時に行うことを特徴とする請求項1または2に記載の構造物設計装置。
【請求項4】
前記レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式
∂tv=△vp
の拡散係数を
p|v|p-1
で表したとき、前記レベルセット関数の可変な拡散係数はp<1であることを特徴とする請求項1または2に記載の構造物設計装置。
【請求項5】
前記レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式
∂tv=△vp
の拡散係数を
p|v|p-1
で表したとき、前記レベルセット関数の可変な拡散係数はp>1であることを特徴とする請求項1または2に記載の構造物設計装置。
【請求項6】
構造物の設計領域を記憶する設計領域記憶ステップと、
前記構造物の目標性能値を記憶する目標性能値記憶ステップと、
前記構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは前記物体領域と前記空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、
前記レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、前記構造物の性能を目標性能値に近づけるように前記レベルセット関数を更新するレベルセット関数更新ステップと、を含む構造物設計方法。
【請求項7】
構造物の設計領域を記憶する設計領域記憶ステップと、
前記構造物の目標性能値を記憶する目標性能値記憶ステップと、
前記構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは前記物体領域と前記空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、
前記レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、前記構造物の性能を目標性能値に近づけるように前記レベルセット関数を更新するレベルセット関数更新ステップと、を含む方法をコンピュータに実行させるプログラム。
【請求項8】
構造物の設計領域を記憶する設計領域記憶ステップと、
前記構造物の目標性能値を記憶する目標性能値記憶ステップと、
前記構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは前記物体領域と前記空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、
前記レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、前記構造物の性能を目標性能値に近づけるように前記レベルセット関数を更新するレベルセット関数更新ステップと、を含む方法をコンピュータに実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構造物設計装置、構造物設計方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
構造物の設計を最適化する手法の1つとして、トポロジー最適化がある(例えば、特許文献1参照)。トポロジー最適化は、構造設計問題を、与えられた設計領域内における材料分布問題に置き換えるものである。材料分布問題とは、材料が存在する領域(以下、「構造領域」と呼ぶ)と材料が存在しない領域(以下、「空洞領域」と呼ぶ)の最適な分布を決定する問題である。トポロジー最適化は、設計の変更過程におけるトポロジー変更を可能とすることから、設計自由度が高く、構造物の大幅な性能向上を実現できるものと期待される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2019/216221号
【特許文献2】国際公開第2010/029810号
【非特許文献】
【0004】
【非特許文献1】Y. Nesterov, "A method of solving a convex programming problem with convergence rate O(1/k2)", Soviet Mathematics Doklady 27 (1983), 372.376.
【発明の概要】
【発明が解決しようとする課題】
【0005】
トポロジー最適化には、均質化設計法、密度法およびレベルセット法に基づくものがある。このうちレベルセット法に基づくものは、レベルセット関数と呼ばれるスカラー関数の等位面により構造領域の境界面を表現し、このレベルセット関数の変更により構造領域の形状変更を表現するものである。均質化設計法や密度法に比べ、レベルセット法には、グレースケール(構造領域と空洞領域との中間領域)問題を排除できるというメリットがある。
【0006】
構造物設計の最適化問題に対して、レベルセット法に基づくトポロジー最適化を適用する技術が提案されている。特に特許文献2に開示された技術は、最初にレベルセット関数を定めておき、所定の制約条件下において、剛性等の構造物の性能を目標値に近づけるようにレベルセット関数を更新して、物体領域と空洞領域との境界を移動させるとともに、レベルセット関数の更新に伴う物体領域内のトポロジー変化を許容して物体領域内に新たな空洞領域を形成し、その新たな空洞領域と物体領域との境界を移動させるという手法を用いている。
【0007】
この特許文献2に記載の技術は、最適構造を明確に形状表現することができ、物体領域のトポロジー変化を許容するという点で、極めて自由度の高い構造最適化を可能としている。しかしながらこの技術には、最適構造への収束が遅いとか、境界付近での振動が原因で収束が安定しない、などといった課題がある。
【0008】
本発明はこうした状況に鑑みてなされたものであり、その目的は、構造物の最適設計を高速にまたは安定的に実現する技術を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある態様の構造物設計装置は、構造物の設計領域を記憶する設計領域記憶部と、構造物の目標性能値を記憶する目標性能値記憶部と、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶部と、レベルセット関数の係数を可変な拡散係数とした反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新するレベルセット関数更新部と、を含む。
【0010】
ある実施の形態では、反応拡散方程式は非線形反応拡散方程式であってもよい。
【0011】
ある実施の形態では、レベルセット関数更新部は、設計領域内で物体領域のトポロジー変化および境界領域の移動を同時に行ってもよい。
【0012】
ある実施の形態では、レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式∂tv=△vpの拡散係数p|v|p-1で表したとき、可変な拡散係数はp<1であってもよい。
【0013】
ある実施の形態では、レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式∂tv=△vpの拡散係数p|v|p-1で表したとき、可変な拡散係数はp>1であってもよい。
【0014】
本発明の別の態様は、構造物設計方法である。この方法は、構造物の設計領域を記憶する設計領域記憶ステップと、構造物の目標性能値を記憶する目標性能値記憶ステップと、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新するレベルセット関数更新ステップと、を含む。
【0015】
本発明のさらに別の態様は、コンピュータプログラムである。このプログラムは、構造物の設計領域を記憶する設計領域記憶ステップと、構造物の目標性能値を記憶する目標性能値記憶ステップと、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新するレベルセット関数更新ステップと、を含む方法をコンピュータに実行させる。
【0016】
本発明のさらに別の態様は、記録媒体である。この記録媒体は、構造物の設計領域を記憶する設計領域記憶ステップと、構造物の目標性能値を記憶する目標性能値記憶ステップと、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶するレベルセット関数データ記憶ステップと、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新するレベルセット関数更新ステップと、を含む方法をコンピュータに実行させるプログラムを記録する。
【0017】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によれば、構造物の最適設計を高速にまたは安定的に実現することができる。
【図面の簡単な説明】
【0019】
【
図1】第1の実施の形態に係る構造物設計装置の機能ブロック図である。
【
図2】第2の実施の形態に係る構造物設計方法の処理手順を示すフローチャートである。
【
図3】数値シミュレーションのフローチャートである。
【
図4】平均コンプライアンス問題に関する数値シミュレーションのフローチャートである。
【
図5】平均コンプライアンス問題に関する数値シミュレーションの結果を示す図である(高速拡散方程式)。
【
図6】平均コンプライアンス問題に関する数値シミュレーションの結果を示す図である(線形拡散方程式)
【
図8】高コントラスト熱拡散問題に関する数値シミュレーションのフローチャートである。
【
図9】高コントラスト熱拡散問題に関する数値シミュレーションの結果を示す図である。
【
図11】レベルセット関数の差分の時間発展を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。実施の形態は、発明を限定するものではなく例示である。実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図に示す各部の縮尺や形状は、説明を容易にするために便宜的に設定されており、特に言及がない限り限定的に解釈されるものではない。また、本明細書または請求項の中で「第1」、「第2」等の用語が用いられる場合、特に言及がない限りこの用語はいかなる順序や重要度を表すものでもなく、ある構成と他の構成とを区別するだけのためのものである。また、各図面において実施の形態を説明する上で重要ではない部材の一部は省略して表示する。
【0021】
具体的な実施の方法を述べる前に、先ず基礎となる原理を説明する。
【0022】
[レベルセット法に基づくトポロジー最適化]
有限領域Ωで微分可能な関数fの目的関数Fは次式で表される。
【数1】
ただし、u
Ωは与えられた状態変数、▽u
Ωはu
Ωの勾配である。トポロジー最適化では、この目的関数が最小となるように最適構造を求める。
【0023】
ここでD⊂ΩとなるようなDを所定の設計領域とし、以下のレベルセット関数φおよび特性関数χ
φを導入する。
【数2】
【数3】
これにより構造領域および空洞領域は、それぞれ以下のように表すことができる。
【数4】
【数5】
このとき目的関数F(Ω)を、以下の目的汎関数F(φ)に置き換えることができる。
【数6】
これは、
【数7】
と定式化すると、トポロジー最適化が材料分布問題であると解釈することができる。
【0024】
さらに
【数8】
および最適構造
【数9】
は、それぞれ以下のように表すことができる。
【数10】
【数11】
【0025】
以上を基に、
【数9】
を求めることを考える。ここで
【数12】
をレベルセット関数の関数列とし、φ
Ωを初期レベルセット関数とする。レベルセット法では、レベルセット関数を更新することにより、目的汎関数を最小化する。このために以下の最急降下法を適用する。
【数13】
ただしk>0はステップ幅を表し、Fの降下方向
【数14】
はフレシェ微分を表す。目的汎関数Fは、以下のようにF
εで近似できる。
【数15】
このように、式(1)のFをF
εで置き換えることにより、以下の反応拡散方程式が得られる。
【数16】
ここで∂=∂
tであり、τ、ρ>0であり、d
TFは以下で定義されるFのトポロジカル導関数である。
【0026】
(定義1)
関数の集合
【数17】
を考える。集合Aで定義される関数Jに以下の極限が存在するとき、トポロジカル導関数を以下で定義する。
【数18】
ここで、
【数19】
である。|B
ε(x)|は、
【数20】
のルベーグ測度である。
式(3)を解き、
【数21】
を更新することにより、
【数9】
を得ることができる。
【0027】
[レベルセット関数のための非線形拡散方程式]
レベルセット関数の更新は、以下の非線形拡散方程式を用いることにより、より実用的かつ汎用的に実行することができる。
【数22】
ここで、q、τ、ρ>0であり、
【数23】
φ
q:=q|φ|
q-1φであり、
【数24】
である。
【数25】
は
【数26】
となるようなデルタ関数の近似関数列である。
【0028】
本発明者らは、以下の命題1が成り立つことを見出した。
(命題1)
微分可能な汎関数Fを以下で定義する。
【数27】
ここで
【数28】
は式(5)に現れた関数であり、関数列
【数12】
は
【数29】
に従うものとする。
ただし、k>0、η>0に関し、
【数30】
と定義する。ここで任意のε>0に対し、
【数31】
が存在し、
【数32】
を満たすならば、
【数33】
は、好適な初期関数
【数34】
の下で
【数35】
のminimizerである。
【0029】
命題1は以下を意味する。
すなわち所定の条件を満たすとき、
【数36】
は、
【数37】
で近似することができる。
すなわち
【数38】
である。
【0030】
【0031】
[拡散項]
以下の拡散方程式を考える。
【数39】
p=1の場合、式(7)は線形拡散方程式である。一方、p≠1の場合、式(7)は非線形拡散方程式となる。p>1のとき、この非線形拡散方程式を「低速拡散方程式」と呼ぶ。一方、p<1のとき、この非線形拡散方程式を「高速拡散方程式」と呼ぶ。
【0032】
拡散項
【数40】
は、
【数41】
に拡張できる。
このとき、
【数42】
は拡散係数と考えることができる。
【0033】
このように、実数の指数pを含む物理量vに関する非線形方程式
【数39】
の拡散係数を
【数42】
で表したとき、pの値を変えることにより、拡散係数を可変とすることができる。
【0034】
[低速拡散方程式]
p>1の場合、すなわち低速拡散方程式を考える。|v|≪1(これは、構造領域と空洞領域との境界に対応する)の場合、拡散係数の値は線形拡散の場合に比べてずっと小さいものとなる。実際、自己相似解として、以下のBarenblatt解(またはZel’dovich-Kompaneets-Barenblatt解)が知られている。
【数43】
ここで、
【数44】
【数45】
C>0である。このとき
【数46】
の台は、以下のように表される。
【数47】
【0035】
【数48】
は常に拘束されており、時間とともに有限の速度で拡張する。
特に境界構造は、速度
【数49】
で拡張する。このような特性は有限伝搬特性と呼ばれ、線形拡散(p=1)の場合と著しく異なる。実際、非負の初期データv
0≧0の下で、任意のt>0でv(y、t)=0となるような
【数50】
が存在すると仮定する。
このとき解v(y、t)は
【数51】
と表される。これはv
0≡0であることを意味する(v
0以外は正の値を取るため)。しかしこれは、v
0≧0の仮定に矛盾する。よってすべての
【数52】
に関し、v(x、t)>0となるはずである。すなわち線形拡散は無限伝搬特性を持つ。
【数53】
は瞬時に拡散するからである。
【0036】
[高速拡散方程式]
これに対し、p<1の場合(すなわち高速拡散方程式)は、低速拡散方程式と異なる特性を持つ。|v|≪1の場合、式(8)に関して、拡散係数は境界付近で非常に大きな値を取ると考えられる。さらに線形拡散と同様に、高速拡散方程式は無限伝搬特性を持つ。
【0037】
[レベルセット法の解釈]
以上に基づき、vをレベルセット関数として設定する(すなわち、v=φ)。すると以下の解釈が成り立つ。
【0038】
(高速拡散方程式)
境界構造付近の拡散係数は非常に大きい。従って、感度が小さくても境界構造は拡張しようとする。すなわち、より急速に最適構造に収束することが期待できる。しかし境界構造は、最適構造付近でも依然として拡張しようとする点に注意する。これは、境界構造の問題を引き起こす可能性がある。
【0039】
(低速拡散方程式)
拡散係数が小さいため、感度が大きくても境界構造は拡張しようとしない。従って、境界構造の振動に伴う振動問題を排除することができる。
【0040】
[第1の実施の形態]
図1は、第1の実施の形態に係る構造物設計装置1の機能ブロック図である。構造物設計装置1は、設計領域記憶部10と、目標性能値記憶部20と、レベルセット関数データ記憶部30と、レベルセット関数更新部40と、を含む。
【0041】
設計領域記憶部10は、構造物の設計領域を記憶する。目標性能値記憶部20は、構造物の目標性能値を記憶する。ここで構造物の目標性能値とは、例えば強度、剛性、固有振動等に関するものや、放熱性に関するものなどであってよい。レベルセット関数データ記憶部30は、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶する。レベルセット関数更新部40は、レベルセット関数の係数を可変な拡散係数とした反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新する。
【0042】
本実施の形態によれば、構造物の最適設計を高速にまたは安定的に実現することができる。
【0043】
ある実施の形態では、反応拡散方程式は非線形反応拡散方程式であってもよい。すなわち、レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式
∂tv=△vp
の拡散係数を
p|v|p-1
で表したとき、前記レベルセット関数の可変な拡散係数はp≠1であってもよい。
【0044】
本実施の形態によれば、従来の線形反応拡散方程式でのデメリットを克服して、構造物の最適設計を高速にまたは安定的に実現ことができる。具体的には、拡散係数をp<1とすることにより、構造物の最適設計を高速化することができる。あるいは、拡散係数をp>1とすることにより、構造物の最適設計を安定的に実現することができる。
【0045】
ある実施の形態では、レベルセット関数更新部は、設計領域内で物体領域のトポロジー変化および前記境界領域の移動を同時に行ってもよい。
【0046】
本実施の形態によれば、設計領域内で物体領域のトポロジー変化および前記境界領域の移動を別々に行う場合に比べて、構造物の最適設計を効率的に実現することができる。
【0047】
ある実施の形態では、レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式
∂tv=△vp
の拡散係数を
p|v|p-1
で表したとき、前記レベルセット関数の可変な拡散係数はp<1であってもよい。
【0048】
この実施の形態によれば、高速拡散方程式を使うので、構造物の最適設計を高速化することができる。
【0049】
ある実施の形態では、レベルセット関数の可変な拡散係数を、実数の指数pを含む物理量vに関する非線形方程式
∂tv=△vp
の拡散係数を
p|v|p-1
で表したとき、前記レベルセット関数の可変な拡散係数はp>1であってもよい。
【0050】
この実施の形態によれば、低速拡散方程式を使うので、境界付近の振動が排除でき、構造物の最適設計を安定的に実現することができる。
【0051】
[第2の実施の形態]
図2に、第2の実施の形態に係る構造物設計方法の処理手順を示すフローチャートを示す。この設計支援方法は、設計領域記憶ステップS1と、目標性能値記憶ステップS2と、レベルセット関数データ記憶ステップS3と、レベルセット関数更新ステップS4と、を備える。設計領域記憶ステップS1で本方法は、構造物の設計領域を記憶する。目標性能値記憶ステップS2で本方法は、構造物の目標性能値を記憶する。レベルセット関数データ記憶ステップS3で本方法は、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶する。レベルセット関数更新ステップS4で本方法は、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新する。
【0052】
本実施の形態によれば、構造物の最適設計を高速にまたは安定的に実現することができる。
【0053】
[第3の実施の形態]
第3の実施の形態は、コンピュータプログラムである。このプログラムは、設計領域記憶ステップS1と、目標性能値記憶ステップS2と、レベルセット関数データ記憶ステップS3と、レベルセット関数更新ステップS4と、を含む方法をコンピュータに実行させる。設計領域記憶ステップS1で本方法は、構造物の設計領域を記憶する。目標性能値記憶ステップS2で本方法は、構造物の目標性能値を記憶する。レベルセット関数データ記憶ステップS3で本方法は、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶する。レベルセット関数更新ステップS4で本方法は、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新する。
【0054】
本実施の形態によれば、コンピュータを用いて、構造物の最適設計を高速にまたは安定的に実現することができる。
【0055】
[第4の実施の形態]
第4の実施の形態は、記憶媒体である。この記憶媒体は、設計領域記憶ステップS1と、目標性能値記憶ステップS2と、レベルセット関数データ記憶ステップS3と、レベルセット関数更新ステップS4と、を含む方法をコンピュータに実行させるプログラムを記録する。設計領域記憶ステップS1で本方法は、構造物の設計領域を記憶する。目標性能値記憶ステップS2で本方法は、構造物の目標性能値を記憶する。レベルセット関数データ記憶ステップS3で本方法は、構造物の各部分が、構造を有する物体領域であるか、空洞を形成する空洞領域であるかまたは物体領域と空洞領域との境界領域であるかを表すレベルセット関数のデータを記憶する。レベルセット関数更新ステップS4で本方法は、レベルセット関数の係数を可変な拡散係数とした非線形反応拡散方程式を解くことにより、構造物の性能を目標性能値に近づけるようにレベルセット関数を更新する。
【0056】
本実施の形態によれば、構造物の最適設計を高速にまたは安定的に実現するコンピュータプログラムを記録することができる。
【0057】
[数値シミュレーションによる検証]
本発明者らは本発明の技術の有効性を確認するために、実施の形態の構造物設計装置に関し、数値シミュレーションによる検証を行った。
【0058】
[数値シミュレーションの概要]
以下、体積を拘束したときの最小化問題の数値シミュレーションについて概要を説明する。この最小化問題は次式で表すことができる。
【数54】
ここでF(φ
n)は目的汎関数、G(φ
n)は制約汎関数、λ≧0はラグランジュ乗数である。具体的にはこのシミュレーションは、以下のステップで実行する。
【0059】
(ステップS11)
固定された設計領域
【数55】
および支配方程式の境界条件および初期レベルセット関数
【数56】
を設定する。
【0060】
(ステップS12)
状態値を設定する、すなわち弱形式の支配方程式を解く。
【0061】
(ステップS13)
F(φn)およびG(φn)を計算する。
【0062】
(ステップS14)
kε=1.0×10
-3について、収束条件
【数32】
を満足するかを確認する。満足する場合は、最小化が達成されたと判断する。満足しない場合は、次のステップS15に進む。
【0063】
(ステップS15)
拡張ラグランジュ乗数法を用いて、
【数22】
の反応項およびλ≧0を計算する。
【数57】
【0064】
(ステップS16)
【数22】
を解く。
【数58】
【数59】
【数60】
とする。
特に、時間方向に離散化された有限差分法を使って、
【数22】
の離散化された弱形式
【数61】
を解く。
ここで、
【数62】
は
【数63】
の部分空間であり、
【数64】
である。
本明細書全体を通して、
Δt=ρ=0.7、
τ=3×10
-4
ξ=1.0×10
-5
であるとする。
【0065】
(ステップS17)
次のレベルセット関数
【数65】
を設定した後、ステップS22に戻る。
数値シミュレーションを終了する。
【0066】
ステップS11およびS12は、最小化問題ごとに変更する必要がある。一方、ステップS13-S17は、
【数61】
の反応項
【数66】
が定まっていれば、様々な数値シミュレーションで共通である。
【0067】
図3に、上記の数値シミュレーションのフローチャートを示す。
【0068】
[検証1:平均コンプライアンス問題]
検証1として、平均コンプライアンス問題を取り扱う。平均コンプライアンス問題は、目標性能値として、剛性を最大化する値を設定する。
【0069】
平均コンプライアンス問題の目的関数Fは次式で表すことができる。
【数67】
ここで
【数68】
である。
ベクトル値関数
【数69】
は、以下の線形弾性システムのユニークな解である。
【数70】
ここで、弾性テンソル
【数71】
および、歪テンソル
【数72】
は、それぞれ以下で与えられる。
【数73】
【数74】
【0070】
最小化問題
【数67】
は、拘束のない最小化問題
【数54】
に置き換えることができる。
ここで
【数75】
【数76】
である。
【0071】
最小化問題の数値解析は、以下のステップで進める。
【0072】
(ステップS21)
ヤング率E>0、ポワソン比ν>0、表面力ベクトルt∈RdおよびGmaxを以下のように設定する。
E=2.1×1011
ν=0.3
t=(0、-1.0×103)
Gmax=0.45|D|
【0073】
(ステップS22)
以下の支配方程式を解く。
【数77】
【数78】
【数79】
【数80】
【0074】
(ステップS25)
【数70】
と
【数38】
とを組み合わせることにより、
【数61】
の反応項を以下のように得る。
【数81】
【0075】
(ステップS26)
簡単のため、
【数82】
【数83】
【数84】
と設定し、
【数61】
を解く。
【0076】
その他のステップは、前述のステップS13、S14およびS17と共通である。
【0077】
図4に、平均コンプライアンス問題に関する数値シミュレーションのフローチャートを示す。
【0078】
図5に、平均コンプライアンス問題に関する数値シミュレーションの結果を示す。この数値シミュレーションでは、q=4としている(高速拡散方程式)。この図は、
図3に示される処理を反復(イタレーション)したときの構造物の時間発展を示す。図は左から順に、初期状態、20回反復後の状態、350回反復後の状態、最終状態をそれぞれ示す。初期状態では、設計領域全体を構造領域としている。反復を繰り返すうちに構造最適化が進み、設計領域内に空洞領域が現れる。注目すべきは、20回反復後の状態で最終状態とほぼ同じ構造が得られている、すなわち20回の反復で実質的に最適化が達成できている、という点である。
【0079】
比較のため、
図6に、q=1(線形拡散方程式)のときの数値シミュレーションの結果を示す。
図5と同様に、左から順に、初期状態、20回反復後の状態、350回反復後の状態、最終状態をそれぞれ示す。最終状態では
図5とほぼ同じ結果が得られており、構造最適化が達成されている。しかし反復が20回および350回の状態では、得られた構造は最終状態と異なっており、まだ最適化が達成されていない。このことから、高速拡散方程式を使うことにより、線形拡散方程式を使った場合より遥かに高速に構造物の最適設計を実現できることが分かる。
【0080】
図7に、q=4、q=6,q=8のときの目的汎関数の時間発展を示す。qの値がいずれの場合も、一定の反復後には、目的汎関数は同じ状態に収束している。ただし収束の安定性と収束速度はqによって異なる。この場合は、収束性の速さは、q=4、q=8、q=6の順に速いことが分かる。
【0081】
[検証2:高コントラスト熱拡散問題]
検証2として、高コントラスト熱拡散問題を取り扱う。高コントラスト熱拡散問題は、それぞれ異なる熱伝導率αおよびβを持つ2種類の材料からなる2次元構造を対象とする。目標性能値として、放熱を最大化する値を設定する。
【0082】
高コントラスト熱拡散問題に関する最小化問題は次式で表すことができる。
【数85】
ここで
【数86】
である。
λ≧0はラグランジュ乗数を表し、G
max>0であり、u
φは以下の静的熱方程式のユニークな解である。
【数87】
さらに
【数88】
は熱伝導係数であり、以下で与えられる。
【数89】
【0083】
最小化問題の数値解析は、以下のステップで進める
【0084】
(ステップS31)
α=1、β=10-4、f≡1と設定する。
【0085】
【0086】
(ステップS35)
【数87】
と
【数38】
とを組み合わせることにより、
【数61】
の反応項を以下のように得る。
【数90】
【0087】
(ステップS36)
【数91】
および
【数92】
を設定する。
【数61】
を解く。
特に、
【数93】
【数94】
【数95】
と設定する。
【0088】
その他のステップは、前述のステップS13、S14およびS17と共通である。
【0089】
図8に、高コントラスト熱拡散問題に関する数値シミュレーションのフローチャートを示す。
【0090】
図9に、上記の数値シミュレーションの結果を示す。上で説明したように、この数値シミュレーションでは、反復回数が3000回まではq=1(線形拡散方程式)とし、反復回数が3001回目以降はq=0(低速拡散方程式)としている。すなわちこの実施の形態では、処理の前半と後半とでqの値を変更している。
図9は、
図8に示される処理を反復したときの構造物の時間発展を示している。図は左から順に、初期状態、1500回反復後の状態、3000回反復後の状態、3500回反復後の状態をそれぞれ示す。初期状態では、設計領域全体を熱伝導係数がαの材料で構成している。反復を繰り返すうちに構造最適化が進み、設計領域内に熱伝導係数がβの材料が現れる。
【0091】
1500回反復後の状態と3000回反復後の状態とでは、ほぼ同じ構造が得られている。これは、線形拡散方程式でも一定の最適化が達成できていることを示す。しかしながらこの段階では、2つの材料の境界付近の構造は不明確である。
【0092】
一方、低速拡散方程式を用いて処理を行った後の3500回反復後の状態では、2つの材料の境界付近に明確な構造が現れている。
【0093】
図10に、
図8に示される処理を反復したときの目的汎関数F(φ
n)の時間発展を示す。
図11に、
図8に示される処理を反復したときのレベルセット関数の差分|φ
n+1-φ
n|の時間発展を示す。
【0094】
図10および
図11に示されるように、目的汎関数、レベルセット関数ともに、反復回数が3000回まで(すなわち、線形拡散方程式を使用中の段階)は激しく振動しており収束していない。一方、反復回数が3000回を過ぎると、線形拡散方程式が低速拡散方程式に切り替わったことにより、目的汎関数、レベルセット関数ともに急速に安定化して一定値に収束している。このことから、低速拡散方程式が構造物の最適設計の安定化に大きく寄与することが分かる。低速拡散方程式が構造物の最適設計の安定化に寄与することについては、
図9において、3500回反復後に2つの材料の境界付近に明確な構造が現れていることからも分かる。
【0095】
以上、本発明のいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、いろいろな変形および変更が本開示の特許請求の範囲内で可能なこと、またそうした変形例および変更も本開示の特許請求の範囲にあることは当業者に理解されるところである。従って、本明細書での記述および図面は限定的ではなく例証的に扱われるべきものである。
【0096】
例えば前述の高速拡散方程式にネストロフの加速勾配法(例えば、非特許文献1参照)を組み合わせることによって、構造物の最適設計をより高速化できる。
【0097】
上述した各実施の形態と変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる各実施の形態および変形例それぞれの効果をあわせもつ。
【0098】
実施の形態および変形例を抽象化した技術的思想を理解するにあたり、その技術的思想は実施の形態および変形例の内容に限定的に解釈されるべきではない。前述した実施の形態および変形例は、いずれも具体例を示したものにすぎず、構成要素の変更、追加、削除等の多くの設計変更が可能である。実施の形態では、このような設計変更が可能な内容に関して、「実施の形態」との表記を付して強調している。しかしながら、そのような表記のない内容でも設計変更が許容されることは言うまでもない。
【産業上の利用可能性】
【0099】
本開示の構造物設計装置、構造物設計方法、プログラムおよび記録媒体は、建築物や乗り物などの構造物の最適設計に利用することができる。
【符号の説明】
【0100】
1・・構造物設計装置
10・・設計領域記憶部
20・・目標性能値記憶部
30・・レベルセット関数データ記憶部
40・・レベルセット関数更新部
S1・・設計領域記憶ステップ
S2・・目標性能値記憶ステップ
S3・・レベルセット関数データ記憶ステップ
S4・・レベルセット関数更新ステップ
S11・・設計領域、境界条件および初期レベルセット関数を設定するステップ
S12・・状態値を設定するステップ
S13・・F(φn)およびG(φn)を計算するステップ
S14・・収束条件を満足するかを判断するステップ
S15・・反応項およびλ≧0を計算するステップ
S16・・拡散方程式を解くステップ
S17・・次のレベルセット関数を設定ステップ
S21・・ヤング率、ポワソン比、表面力ベクトルおよびGmaxを設定するステップ
S22・・支配方程式を解くステップ
S25・・反応項を計算するステップ
S26・・レベルセット関数を更新するステップ
S31・・熱伝導率を設定するステップ
S32・・支配方程式を解くステップ
S35・・反応項を計算するステップ
S36・・レベルセット関数を更新するステップ