(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023154404
(43)【公開日】2023-10-19
(54)【発明の名称】ニューラルネットワークと統合された物理ソルバを使用する設計の最適化
(51)【国際特許分類】
G06F 30/10 20200101AFI20231012BHJP
G06F 30/27 20200101ALI20231012BHJP
G06F 30/23 20200101ALI20231012BHJP
G06F 113/26 20200101ALN20231012BHJP
G06F 111/04 20200101ALN20231012BHJP
G06F 113/10 20200101ALN20231012BHJP
【FI】
G06F30/10 100
G06F30/27
G06F30/23
G06F113:26
G06F111:04
G06F113:10
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023043916
(22)【出願日】2023-03-20
(31)【優先権主張番号】17/714,849
(32)【優先日】2022-04-06
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】アーディティヤ、チャンドラセカール
(72)【発明者】
【氏名】アミールマスード、ミルゼンデデル
(72)【発明者】
【氏名】モラド、ベハンディッシュ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA05
5B146AA10
5B146DC03
5B146DC04
5B146DC05
5B146DE12
5B146DJ02
5B146DJ07
(57)【要約】 (修正有)
【課題】付加支持構造を考慮して幾何学的形状を最適化する異方性要素を含む複合材料の設定方法を提供する。
【解決手段】コンピュータ実施物理ソルバは、ニューラルネットワークフレームワーク内で動作する。ニューラルネットワークは、設計ドメイン内の各位置に対する座標を受け入れ、各位置に対する局所組成を出力する。設計ドメインのモデルは、物理ソルバにおいて形成される。モデルは、設計ドメインを包含する離散要素を含む。モデルの解は、設計目的の値を提供する。複数の反復に対して、以下が実行される:ニューラルネットワークは、離散要素に対応する設計ドメイン内の位置に対する現在の局所組成を決定し、現在の局所組成は物理ソルバの離散要素に入力して、設計目的の現在の値を取得し、設計目的の現在の値を使用して損失関数の勾配を見つける。損失勾配は、反復中にニューラルネットワークを更新するために使用される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
構造の設計ドメインを定義することであって、前記構造は、マトリックス材料に埋め込まれた異方性要素を含む複合材料から形成され、前記設計ドメインは、前記構造への入力及び前記構造に対する制約を含む、定義することと、
前記設計ドメイン内の各位置に対する座標を受け入れ、各位置に対する、局所組成を出力するニューラルネットワークを形成することであって、前記局所組成は、前記マトリックス材料の密度と、前記異方性要素の配向と、前記異方性要素の濃度と、を含む、形成することと、
物理ソルバにおいて前記設計ドメインのモデルを形成することであって、前記モデルは、前記設計ドメインを包含する複数の離散要素を含み、前記モデルの解は、設計目的の値を提供する、形成することと、
複数の反復の各反復に対して、
前記ニューラルネットワークから、前記離散要素の各々に対応する前記設計ドメイン内の前記位置についての現在の局所組成を決定することと、
前記現在の局所組成を前記物理ソルバの前記離散要素に入力して、前記設計目的の現在の値を取得することと、
前記設計目的の前記現在の値を使用して、前記ニューラルネットワークを更新するための感度値として使用される損失関数の勾配を見つけることと、
前記反復の完了後に、更新された前記ニューラルネットワークを使用して、前記構造のトポロジを定義することと、
を含む、方法。
【請求項2】
前記損失関数の前記勾配は、前記ニューラルネットワークを介した自動微分によって求められる、請求項1に記載の方法。
【請求項3】
前記設計ドメインは、幾何学的範囲、力制約、及び入力を含み、前記損失関数はコンプライアンスを含む、請求項1に記載の方法。
【請求項4】
前記現在の局所組成は、前記離散要素の幾何学的中心に対して決定される、請求項1に記載の方法。
【請求項5】
前記異方性要素は繊維を含む、請求項1に記載の方法。
【請求項6】
前記マトリックス材料は等方性材料としてモデル化される、請求項1に記載の方法。
【請求項7】
前記物理ソルバは有限要素解析ソルバを含む、請求項1に記載の方法。
【請求項8】
前記マトリックス材料の前記密度及び前記異方性要素の前記濃度は、連続場[0,1]として表され、前記マトリックス密度の密度を{0;1}に向けて駆動するペナルティ関数を有する固体等方性材料が使用され、前記異方性要素の前記濃度はペナルティを課されない、請求項1に記載の方法。
【請求項9】
前記設計ドメイン内の前記座標を周波数空間に変換して周波数ドメイン特徴を取得することを更に含み、前記周波数ドメイン特徴を前記ニューラルネットワークに入力して、各位置に対する前記局所組成を取得する、請求項1に記載の方法。
【請求項10】
前記ニューラルネットワークは、中間隠れ層から分離する第1及び第2の二股層を有し、前記二股層のうちの1つは、前記マトリックス材料の前記密度及び前記異方性要素の前記濃度に対して訓練され、前記第2の二股層は、前記異方性要素の前記配向を最適化するように訓練される、請求項1に記載の方法。
【請求項11】
前記反復の完了後に、前記モデルの前記離散要素よりも1桁小さいスケールで前記ニューラルネットワークに問い合わせて前記異方性要素の経路及び長さを決定することを含む後処理を実行することを更に含む、請求項1に記載の方法。
【請求項12】
命令を記憶するメモリに結合されたプロセッサを備える装置であって、前記プロセッサは、前記命令を介して請求項1に記載の方法を実行するように動作可能である、装置。
【請求項13】
システムであって、
ニューラルネットワークフレームワーク内で動作するコンピュータ実施物理ソルバと、
構造の設計ドメインを定義することを容易にするコンピュータユーザインタフェースであって、前記構造は、マトリックス材料に埋め込まれた異方性要素を含む複合材料から形成され、前記設計ドメインは、前記構造への入力及び前記構造に対する制約を含む、コンピュータユーザインタフェースと、を備え、
前記物理ソルバは、
前記設計ドメイン内の各位置に対する座標を受け入れ、各位置に対する局所組成を出力するニューラルネットワークを形成し、前記局所組成は、前記マトリックス材料の密度と、前記異方性要素の配向と、前記異方性要素の濃度と、を含み、
前記設計ドメインを包含する複数の離散要素を含む前記設計ドメインのモデルを形成し、前記モデルの解は、設計目的の値を提供し、
複数の反復の各反復に対して、
前記ニューラルネットワークから、前記離散要素の各々に対応する前記設計ドメイン内の前記位置についての現在の局所組成を決定し、
前記現在の局所組成を前記物理ソルバの前記離散要素に入力して、前記設計目的の現在の値を取得し、
前記設計目的の前記現在の値を使用して、前記ニューラルネットワークを更新するための感度値として使用される損失関数の勾配を見つけ、
前記反復の完了後に、更新されたニューラルネットワークを使用して、前記構造のトポロジを定義する、ように構成されている、システム。
【請求項14】
前記損失関数の前記勾配は、前記ニューラルネットワークを介した自動微分によって求められる、請求項13に記載のシステム。
【請求項15】
前記異方性要素は繊維を含む、請求項13に記載のシステム。
【請求項16】
前記物理ソルバは有限要素解析ソルバを含む、請求項13に記載のシステム。
【請求項17】
前記マトリックス材料の前記密度及び前記異方性要素の前記濃度は、連続場[0,1]として表される、請求項13に記載のシステム。
【請求項18】
前記設計ドメイン内の前記座標を周波数空間に変換して周波数ドメイン特徴を取得することを更に含み、前記周波数ドメイン特徴を前記ニューラルネットワークに入力して各位置に対する前記局所組成を取得する、請求項13に記載のシステム。
【請求項19】
前記ニューラルネットワークは、中間隠れ層から分離する第1及び第2の二股層を有し、前記二股層のうちの1つは、前記マトリックス材料の前記密度及び前記異方性要素の前記濃度に対して訓練され、前記第2の二股層は、前記異方性要素の前記配向を最適化するように訓練される、請求項13に記載のシステム。
【請求項20】
前記反復の完了後に、前記モデルの前記離散要素よりも1桁小さいスケールで前記ニューラルネットワークに問い合わせて前記異方性要素の経路及び長さを決定することを含む後処理を実行することを更に含む、請求項13に記載のシステム。
【発明の詳細な説明】
【発明の概要】
【0001】
本明細書に記載の実施形態は、付加支持構造を考慮して幾何学的形状を最適化する製造システムを含む。一実施形態では、構造の設計ドメインが定義される。この構造は、マトリックス材料に埋め込まれた異方性要素を含む複合材料から形成される。設計ドメインは、構造への入力及び構造に対する制約を含む。設計ドメイン内の各位置に対する座標を受け入れ、各位置に対する局所組成を出力するニューラルネットワークが使用される。局所組成は、マトリックス材料の密度と、異方性要素の配向と、異方性要素の濃度と、を含み、設計ドメインのモデルは、物理ソルバにおいて形成される。モデルは、設計ドメインを包含する複数の離散要素を含む。モデルの解は、設計目的の値を提供する。複数の反復の各反復に対して、ニューラルネットワークから、離散要素の各々に対応する設計ドメイン内の位置についての現在の局所組成を決定することと、現在の局所組成を物理ソルバの離散要素に入力して、設計目的の現在の値を取得することと、設計目的の現在の値を使用して損失関数の勾配を見つけることと、を実行する。損失勾配は、反復中にニューラルネットワークを更新するための感度値として使用される。反復の完了後、更新されたニューラルネットワークは、構造のトポロジを定義するために使用される。
【0002】
様々な実施形態のこれら及び他の特徴及び態様は、以下の詳細な考察及び添付の図面を考慮して理解され得る。
【図面の簡単な説明】
【0003】
以下の考察は、以下の図を参照するが、同じ参照番号は、多数の図において類似の/同じ構成要素を識別するために使用されてもよい。図面は必ずしも縮尺どおりではない。
【
図1】例示的な実施形態によるニューラルネットワーク解のフレームワークを示す図である。
【
図2】例示的な実施形態によるニューラルネットワークの特徴を示す図である。
【
図3】例示的な実施形態によるニューラルネットワークの特徴を示す図である。
【
図4】例示的な実施形態によるニューラルネットワークで使用される出力関数方程式である。
【
図5】例示的な実施形態によるアルゴリズムのリストである。
【
図6】例示的な実施形態による最適化方法を実証する例示的な問題ドメインの図である。
【
図7】別の例示的な実施形態によるニューラルネットワークの図である。
【
図8】別の例示的な実施形態によるアルゴリズムのリストである。
【
図9】例示的な実施形態による解パラメータの表である。
【
図10】例示的な実施形態による最適化フレームワークの図である。
【
図11】数値問題と、例示的な実施形態による方法を使用して発見された解と他の解との比較とを示す図のセットである。
【
図12】例示的な実施形態による方法を使用した異なる繊維体積分率の解を示すプロットである。
【
図13】例示的な実施形態によるソルバを使用して有限要素の数を変化させた場合の計算コストを示すグラフである。
【
図14】例示的な実施形態による反復の関数として提案されたアルゴリズムの収束を示す図である。
【
図15】例示的な実施形態によるソルバに対する入力パラメータの関数としての異なる結果を示す図である。
【
図16】例示的な実施形態による後処理を示すフロー図である。
【
図17】
図16に記載された後処理を用いた設計解のプロットである。
【
図18】
図16に記載された後処理を用いた設計解のプロットである。
【
図19】別の例示的な実施形態によるコンプライアント機構の最適化を示す図である。
【
図20】例示的な実施形態によるシステム及び装置のブロック図である。
【発明を実施するための形態】
【0004】
本開示は、アディティブ製造法(AM)などのプロセスを使用して形成される部品の設計に関する。部品をアディティブ製造法により作製することは、部品が熱溶解積層法(Fused Deposition Modeling、FDM)による三次元(3D)プリンティングと共に用いられるような意図された形状及びサイズに近似するまで、作製されている部品上に素材を漸進的に追加又は堆積する、しばしば連続的層を追加することを伴う。他のAMプロセスは、レーザ金属焼結を含む。
【0005】
アディティブ製造法は、航空宇宙、自動車、医療などの産業用途においてますます人気を得ており、幾何学的に複雑な部品を製作するその能力は、高性能、軽量、及び費用効率の高い設計を生産する際に活用され得る。現実世界の用途に適したミッションクリティカルな部品の設計は、洗練された物理学を解決し、複数の性能及び製造制約を組み込むことを必要とする。更に、現在の設計フレームワークは、ドメイン固有の知識をカプセル化するブラックボックスソルバと直接協働することができない。したがって、ケースバイケースでエンドツーエンドの解を開発することは、非常に時間がかかり、高価であり、その適用範囲が制限される可能性がある。
【0006】
対象となる複雑な物理量、ブラックボックスソルバ、並びに設計段階において前もって製造制約を直接組み込むことができる一般的な手法は、試行錯誤コストを大幅に削減することができる。そのような用途の1つは、最適化された繊維強化複合材(FRC)構造の設計である。本開示では、異方性の最適に配向された繊維含有物及び空隙を有する等方性ベースマトリックスの領域を含む、そのような構造の設計のためのトポロジ最適化(TO)方法が説明される。含有物の濃度は、必要に応じてマトリックス内で空間的に変化させることができる。後処理アルゴリズムは、得られた濃度に基づいて繊維間隔を調整することができる。トポロジは、マトリックス及び繊維体積を制約しながら、規定された構造性能目的を最大化するように調整される。
【0007】
この研究は、連続的なFRCの製造を可能にする現代の製造方法の出現、並びにそれらの高い剛性対重量比に起因して自動車産業、ロボット工学用途、並びに航空及び航空宇宙工学におけるそれらのより広い用途によって部分的に動機付けられている。提案される方法は、ニューラルネットワーク(NN)ベースのTOフレームワークを拡張し、ネットワークの重みは、空間座標の陰関数として密度場を捕捉するように最適化される。(Chandrasekhar,A.and Suresh,K.(2020b)、「TOuNN:Topology optimization using neural networks」Structural and Multidisciplinary Optimizationを参照されたい。コンパクトでメッシュに依存しないNNベースの表現は、後処理を介して長い繊維を抽出することに適応する。更に、自動微分(ニューラルネットワークを介した逆伝搬によって提供され得る)は、エンドツーエンド微分可能様式で計算を表すことによって、感度解析のために使用され得る。これにより、感度式を再導出する必要なく、材料モデル及び設計目的を用いて迅速に実験することが可能になる。それはまた、感度式を解析的に導出することなく、より洗練された物理学及び制約を考慮することを可能にする。本方法の有効性、ロバスト性、及び計算効率を確立するために、いくつかの数値実験が行われた。
【0008】
TOの分野は、密度ベース、モーフィング可能なコンポーネントの方法、レベルセット法、位相感度などの様々な手法を用いて十分に確立されている。密度ベースの定式化が、以下で説明する実施形態で使用される。ペナリゼーションを伴う固体等方性材料(Solid Isotropic Material with Penalization)(SIMP)などの密度ベースの手法は、古典的には、コンプライアンス最小化、コンプライアント機構の設計、応力制約、熱流体目的などの様々な目的のための2相固体/空隙最適化問題を解くことに充てられてきた。密度の最適化を拡張して、材料の配向を最適化に更に含めた。最適に配向された材料は、性能を著しく改善し、より高い剛性対重量比を提供する。
【0009】
TOにおける繊維の配向を最適化するために制限的な解析方法が提案されてきたが、TOを使用するFRCの勾配ベースの設計における現在の傾向は、(a)連続繊維角度最適化(CFAO)、(b)離散的材料最適化(DMO)、及び(c)自由材料最適化(FMO)に広く分類することができる。CFAOでは、繊維の配向は設計変数として直接提示され、任意の値を取ることができる。対照的に、DMOは、多相最適化に基づいて構築され、配向を所定の離散値に制限する。DMO手法は、より良好な収束でより単純であることが多いが、結果として得られる設計が短い不連続繊維経路を有するなどの制限を被る。短い繊維は製造が困難であるだけでなく、長い連続繊維よりも機械的に劣っている。FMOでは、弾性テンソルの個々の成分が設計変数として扱われ、理論的には最適であり得るが物理的対応を欠く設計をもたらす。
【0010】
本明細書で説明される実施形態は、その重みが空間座標の陰関数としてトポロジを直接捕捉するNNベースの表現を含む。解析的表現は、ドメインにわたって滑らかに繊維濃度を捕捉することを可能にする。更に、最適化後の任意の位置でNNに問い合わせる能力は、連続した長い繊維の抽出を可能にする。エンド-エンド微分可能な方法で計算を実行することは、より速くかつより容易な実験のための自動化された感度解析方法を可能にする。NNは、比較的少数の設計変数を使用して、マトリックス密度、繊維濃度、及び配向をコンパクトに捕捉することを可能にする、メッシュ非依存表現を提供する。
【0011】
次いで、勾配ベースの最適化、定義された最適化問題を反映する損失関数に依存することによって、3つの位相場が、ネットワークの重みを介して同時に最適化される。設計変数として直接的な配向の代わりに、設計変数としてNN重みを用いて最適化した結果、オプティマイザは、局所的な最適化に立ち往生せず、CFAO技法においてしばしば報告されるような他の収束問題に直面しない。
【0012】
SIMP密度場を表すためのNNの使用をより良く理解するために、
図1~5の図は、材料の異方性がオプティマイザによって考慮されない構造のトポロジを最適化するためにNNを使用する例を示す。典型的な単一材料SIMPでは、設計は、離散的有限要素0≦ρ
e≦1における擬似密度値によって表される。同じ離散化をFEAに使用して、フィールド変数uを評価し、それに対応して性能目的関数(J)及び他の制約(g)を評価する。擬似密度設計変数に関する勾配の解析式が与えられると、基本感度値が計算される。次いで、標準的なSIMPペナリゼーション技法に依存することによって、密度値は、勾配ベースの方法(例えば、漸近線を移動させる最適性基準又は方法)を使用して更新される。
【0013】
解析及び設計のための表現のこの結合は、異なるスケールにわたる設計特徴の忠実度及び精度に制限を課す可能性がある。更に、感度定式化のための解析式を導出することは、単調で困難であり得る。提案されたNN手法は、FEA(離散要素)の表現から設計(NN重み)の表現を分離し、これは、FEAの効率を活用しながら、高分解能(例えば、繊維配向)での幾何学的クエリを可能にする。言い換えれば、設計変数(例えば、要素の組成)は、NNの活性化関数及び重みを使用して外部から取り込まれ、基礎となるメッシュとは無関係である。したがって、目的及び制約問題を反映する適切な材料モデル及び損失関数に依存することによって、設計は、NNの組み込みオプティマイザを使用して最適化される。
【0014】
SIMP手法では、TO問題は、ドメインにわたって定義された補助密度場ρを使用して連続最適化問題に変換される。そのようなコンプライアンス最小化問題において典型的に仮定されるように、体積制約がアクティブであると仮定すると、トポロジ最適化問題は、以下のように提示され得る。
【0015】
【数1】
ここで、uは変位場であり、Kは有限要素剛性マトリックスであり、fは加えられた力であり、ρ
eは要素eに関連する密度であり、v
eは要素の体積であり、V
*は規定体積である。
【0016】
密度場は、典型的には有限要素メッシュを使用して表されるが、この例では、NNに関連付けられた活性化関数を介して独立して構築することができる。言い換えれば、ドメイン内の任意の点が与えられると、NNは、この例で使用されるNN100及び問題ドメインの図である
図1に示されるような密度値を出力する。この変換を使用して、式(1)の制約付き最適化問題は、損失関数を構築することによって非制約ペナルティ問題に変換される(以下で説明するように)。損失関数は、標準的な機械学習(ML)技術を使用することによって最小化される。MLでは、最適化はしばしばトレーニングと呼ばれ、感度解析は逆伝搬(又は自動微分)と呼ばれ、反復はエポックと呼ばれる。
【0017】
様々なタイプのNNが存在するが、この例は、
図2の図に示されるように、単純な全結合フィードフォワードNN100を使用する。ネットワーク100への入力200は、2D問題の場合は2次元(x,y)であり、3D問題の場合は3次元(x,y,z)である。NNの出力202は、その点における密度値ρである。言い換えれば、NN100は、ドメイン内の任意の点について出力202として密度値を返す評価器である。返される値は、以下で説明するように、重み、バイアス、及び活性化関数に依存する。
【0018】
NN自体は、バッチ正規化と結合されたリーキー正規化線形ユニット(leaky rectified linear unit:LeakyReLU)などの活性化関数に関連付けられた一連の隠れ層204を含む。NN100の最終層206は、密度が0と1との間にあることを保証するSoftMax活性化関数を有する分類器層である。
図2に示すように、NN100は、通常、いくつかの隠れ層(深さ)を含む。各レイヤは、いくつかの活性化関数(高さ)を含み得る。これら2つを変化させることによって、NNの表現能力は、問題ドメインに適合するように必要に応じて調整され得る。例として、
図3は、高さ2の単一の隠れ層を有するNN300を示す。NN内の各接続が重みに関連付けられ、各ノードが活性化関数及びバイアスに関連付けられることに留意されたい。Z
1
[1]の値は、まずz
1
[1]=w
11
[1]x+w
21
[1]y+b
1
[1]として計算され、ここで、w
ij
[k]は、前の層の第iのニューロンから層kの第jのニューロンに関連付けられた重みであり、b
j
[k]は、第kの層の第jのニューロンに関連付けられたバイアスである。次に、ノードの出力a
1
[1]は、a
1
[1]=s(z
1
[1])として計算され、ここでsは選択された活性化関数である。例えば、ReLU活性化関数は、s(z)≡max(0,z)として定義される。この例では、ReLUの変形、すなわち微分可能なLeakyReLUが使用される。この活性化関数及び他の微分可能な活性化関数は、pyTorchなどの様々なNNソフトウェアライブラリによってサポートされる。
【0019】
前述したように、最終層は、隠れ層からの出力を0と1の間の値にスケーリングするSoftMax関数である。例えば、図において
図4に示すように計算された
【0020】
【数2】
が得られる。SoftMax関数は、入力として多くの出力を有する。ここでは第1の出力のみが使用され、それは密度場として解釈される(ρ=y
1
[2]y
1
[2])。残りの出力は無視されるが、例えば、マルチ材料設定において使用することができる。
【0021】
上記の説明から明らかなように、活性化関数が選択されると、出力ρ(x,y)はグローバルに定義され、重み及びバイアスによってのみ決定される。重み及びバイアスのセット全体は、wによって示される。したがって、NNを使用する最適化問題は、以下のように提示され得る。
【0022】
【0023】
上記の式における要素密度値ρ
e(w)は、要素の幾何学的中心において評価される密度関数である。2D有限要素解析では、通常の4ノードクワッド要素を使用することができ、高速コレスキー分解はCVXOPTライブラリに基づく。3Dの場合、通常の8ノード六面体要素を、組み立て自由の収縮された有限要素ソルバと共に使用することができる。再び
図1を参照すると、FEソルバ102はNN100の外部にあり、NN100によってブラックボックスとして扱われることに留意されたい。各反復中に、各要素の中心における密度104がNN100によって計算され、FEソルバ102に提供される。FEソルバ102は、要素の中心で評価された密度に基づいて、各要素の剛性マトリックスを計算する。密度関数は各要素内の複数の点で評価することができるので、高度な積分方式を使用して要素剛性マトリックスのより正確な推定値を計算することが可能であることに留意されたい。次に、組み立てられたグローバル剛性マトリックスを使用して、変位ベクトルuと、以下の式(3)で与えられる各要素のスケーリングされていないコンプライアンスとを計算する。総コンプライアンスは式(4)で与えられ、式中、pは通常のSIMPペナルティパラメータである。
【0024】
【0025】
最適化は通常、最適性基準又はMMAを使用して実行されるが、この例は、アダム最適化などの組み込み手順を使用して非制約損失関数(
図1の損失関数106を参照)を最小化するように設計されたNNを使用する。したがって、式(1)における制約付き最小化問題は、式(5)に示されるように損失関数を定義するためにペナルティ定式に依存することによって非制約最小化問題に変換され、ここで、αはペナルティパラメータであり、J0は、ここでスケーリングのために使用されるシステムの初期コンプライアンスである。
【0026】
【0027】
制約付き問題の解は、以下のように損失関数を最小化することによって得られる。ペナルティパラメータαの小さな正の値から開始して、勾配駆動ステップが、損失関数を最小化するために取られる。次に、ペナルティパラメータが増加され、プロセスが繰り返される。極限α→∞において、損失関数が最小化されるとき、等式制約が満たされ、それによって目的が最小化されることに留意されたい。実際には、通常、最大値100がαに割り当てられる。完全更新方式については、アルゴリズム1で後述する。等式制約付き問題を等価な非制約問題に変換するために、拡張ラグランジュ法などの他の方法を使用してもよい。
【0028】
感度解析は、NNを含む任意の最適化フレームワークの不可欠な部分である。ニューラルネットワークは、重み及びバイアスに関する損失関数の感度を解析的に計算するために、逆伝播に依存する。これは、活性化関数が解析的に定義され、出力がそのような関数の合成として表現され得るので、可能である。したがって、理論的には、ネットワークが定義されると、感度を計算するために追加の作業は必要ない。これは、逆伝搬を介して自動的に(かつ解析的に)計算することができる。しかしながら、現在のシナリオでは、FE実装はNNの外部にある(
図1参照)。したがって、感度項のいくつかは明示的に計算される。本開示の範囲外であるが、1つの技法が、参照により本明細書に組み込まれる、Chandrasekhar,A.及びSuresh,K.による「TOuNN:Topology optimization using neural networks」、Structural and Multidisciplinary Optimization(2020b)に記載されている。
【0029】
図5の表に見られるように、提案されたフレームワークは、明示的アルゴリズムを通して要約される。NNは、pyTorchなどのツールを使用して、所望の数の層、層ごとのノード、及び活性化関数で構築されていると仮定する。ネットワークの重み及びバイアスは、Glorot normal初期化を使用して初期化される。アルゴリズムの第1のステップは、各要素の中心でドメインをサンプリングすることである。これに続いて、ペナルティパラメータ及びSIMPパラメータpの初期化が行われる。主反復では、要素密度は、wの現在の値を使用してNNを使用して計算される。次いで、これらの密度は、FEソルバによって使用されて、構造問題を解き、式(3)で定義されるスケーリングされていない要素コンプライアンスJ
eを計算する。更に、第1の反復では、基準コンプライアンスJ
0もスケーリングの目的で計算される。次に、式(5)を用いて損失関数を計算し、感度を計算する。次に、重みwは、組み込みオプティマイザ(ここではアダムオプティマイザ)を使用して更新される。これに、ペナルティパラメータαの更新が続く。最後に、極小値を回避するためにパラメータpが増分される継続方式が使用される。このプロセスは、終了するまで繰り返される。典型的なメッシュベースの密度最適化では、要素密度の最大変化が規定値未満である場合、アルゴリズムは終了する。ここで、密度はグローバル関数であるので、アルゴリズムは、グレー要素(0.05と95との間の密度を有する要素)のパーセンテージの場合に終了するように設定される。ε
g=N
grey/N
totalは、所定値未満である。実験を通して、この基準は、ロバストであり、説明と一致するものとして観察される。
【0030】
上記の例は、材料の異方性を考慮することなく構造を最適化する。ニューラルネットワークが同様の最適化を実行することを可能にし得るが、マトリックス材料に埋め込まれた異方性要素を含む複合材料を使用する追加の特徴が説明され、これは、他の異方性材料及び構造、例えば、3D体積に埋め込まれた構造補強シートに適用され得るが、本明細書ではFRC-TO最適化として説明される。なお、マトリックス材料は、等方性であっても異方性であってもよい。アルゴリズムは、最適化中にマトリックス材料の配向を明示的に調整しないが、マトリックス異方性は、依然として、FEソルバを使用して得られるコンプライアンス結果に影響を及ぼし得る。異方性要素(例えば、繊維)の配向は、最適化中に調整される。
【0031】
図6~
図10において、図は、異方性材料の解の詳細を提供し、ユークリッド空間からの空間座標が周波数空間にマッピングされる。設計は、マトリックストポロジ、繊維密度、及び繊維配向に対応する3つのニューロンを含む出力層を有する完全結合フィードフォワードNNによって暗黙的に表される。有限要素解析(FEA)がNNフレームワーク(例えば、PyTorch)内で実行されるので、NNを介した自動微分は、感度を計算し、NN重みを更新するために活用される(例えば、アダムオプティマイザ)。NNがトレーニングされると、例えば最適化が完了すると、高解像度FRC設計が抽出され、例えばアディティブ製造法(AM)を使用して製造され得る。
【0032】
図6の図に見られるように、例示的な設計ドメインは、最適化手順を実証し、計算結果を提供するために使用される幾何学的拡張、負荷、及び制約(境界条件)を含む。ここでの目的は、マトリックス及び繊維の両方に対する体積制約を満たしながら、目的関数を最小化するために、マトリックス幾何学形状及び繊維レイアウトを同時に最適化することである。繊維レイアウトを定義することは、その空間的に変化する濃度及び配向を最適化することを含む。したがって、FRC-TO問題は、以下の(6a)~(6d)のように数学的に表すことができ、ここで、Jは、設計変数であるマトリックス密度ρ
m、繊維濃度ρ
f及び配向θによって記述されるトポロジを有する設計目的である。
【0033】
【0034】
任意の点xにおける材料記述は、任意の点xにおいて、ζ(x)={ρm(x)、ρf(x)、θ(x)}として表される。マトリックスは、SIMPベースの密度場ρm∈[0,1]を使用してモデル化される。繊維濃度は、連続変数ρf∈[0,1]としてモデル化され、ここで、ρf=0は繊維を含まないことを表し、ρf=1は完全な繊維を含むマトリックスを表す(以下のr*
fによって定義される制限内)。角度θε[-π/2;π/2]は含まれる繊維の配向である。更に、K(ζは、材料組成に依存する標準有限要素剛性マトリックスであり、fは、加えられる荷重であり、uは、変位場である。式(6c)及び(6d)は、それぞれマトリックス及び繊維の体積に対する制約である。ここで、veは、要素の体積/面積であり、V*
mは、マトリックスの課された許容体積分率である。r*
fの値ε[0,1]は、マトリックスのどの部分が繊維で充填され得るかを示す。変数r*
f=1は、マトリックスが繊維で完全に充填されて、最も剛性の設計につながることを示し、逆もまた同様である。制約条件(式6c~6d)は、不等式として表されることが多いが、それらは、ここでは、それらが最適条件で常にアクティブであると仮定して、等式として表される。最後に、設計変数の範囲はボックス制約として課されることが多いが、ここではNNの出力層における活性化関数の賢明な選択を介して課される。
【0035】
典型的には、密度ベースのTOでは、ドメインΩ0上に定義された材料記述は、基礎となるFEメッシュΩ0
hを使用して捕捉される。一方、材料記述は、NN活性化関数及び重みを使用して暗黙的に捕捉される。このメッシュ非依存NNベースの表現は、(1)NNの逆伝搬能力を利用することによる感度の正確かつ自動的な計算、(2)連続繊維の抽出を可能にする、トポロジの解析的かつ微分可能な定義、及び(3)メッシュサイズ又はドメイン寸法が増加しても設計変数の数が一定のままである簡潔な記述を可能にする。
【0036】
図7のブロック図に見られるように、完全に接続されたフィードフォワードNN800は、設計変数を最適化するために使用される。ネットワークへの入力802は、2D問題の場合は2次元(x,y)であり、3D問題の場合は3次元(x,y,z)である。NN800の出力804は、その時点での材料記述である。言い換えれば、NN800は、ドメイン内の任意の点について材料記述を評価し、戻される値は、ネットワークの重み、バイアス、及び活性化関数に依存する。NNの構成を以下に詳述する。
【0037】
NNへの入力802は、入力ドメインからサンプリングされたnp個の点の集合、すなわち、
【0038】
【数7】
であり、ここでdは入力ドメインの次元である。比較的低次元の座標入力は、これらのNNに座標ベースのニューラルネットワーク(CBNN)という名称を与える。ブロック806において、ユークリッド入力空間からサンプリングされた点は、周波数ドメイン特徴をNN800に渡す前に、まず周波数空間X→φ(X)に変換される。NNがより微細な特徴、例えば高周波変動を捕捉することに悩まされていることを認識すると、投影はこれを改善し、より微細な位相特徴の捕捉を容易にする。これはまた、収束率を改善するだけでなく、長さスケールに対する近似制御を提供する。埋め込みφ(X)=[cos(2πXB];sin(2πXB)]
Tであり、マトリックス
【0039】
【0040】
【数9】
から均一にサンプリングされ、hは基準長(ここではFEメッシュサイズ)であり、l
max、l
minはトポロジにおける近似長スケールである。詳細な考察については、Tancik,M.、Srinivasan,P.P.、Mildenhall,B.、Fridovich-Keil、S.,Raghavan,N.、Singhal,U.、Ramamoorthi,R.、Barron,J.T.、and Ng,R、(2020)、「Fourier features let networks learn high frequency functions in low dimensional domains」arXiv preprint arXiv:2006.10739を参照されたい。
【0041】
隠れ層(φ(X)→fw(φ(X))は、Swish活性化関数(Swish(x)=x.sigmoid(x))によって活性化される一連の完全に接続されたフィードフォワード層を含む。更に、出力は、材料配置(マトリックス密度を介して)並びに繊維濃度及び繊維の材料配向を定義する。この論理的な区別を捉えるために、隠れ層に二股が導入され、ここでは隠れ層800cから分離する二股層800a、800bとして示される、完全に接続された層の2つの突起が中間隠れ層から分離する。一方の二股層800aは、繊維のマトリックス密度及び濃度(ρm、ρf)を最適化するように調整され、他方の二股層800bは、繊維配向(θ)を最適化するように調整される。
【0042】
出力層fw(φ(X))→ζ(X)は、ζ={ρm;ρf;θ}を集合的に表す3つのニューロンを含む。出力層は、シグモイド関数σ(・)を介して活性化され、出力が範囲内にあることを確実にする(0;1)。更に、シグモイド活性化された配向ニューロンは、
【0043】
【0044】
【数11】
の範囲となる。得られた材料記述は、次に、以下に説明するように、材料モデルを介して処理される。
【0045】
入力ドメインの各点における材料は、空隙、等方性ベースマトリックス、又は異方性繊維が埋め込まれたマトリックスのいずれかと考えられる。繊維材料は一般にベースマトリックスよりも強く、繊維軸に沿ってかなりの強度を有する。これらの繊維の配向及び濃度は、オプティマイザによって決定されるように空間的に変化し、図示された例は、平面的な定式化である。ベース材料は、その弾性率Em及びポアソン比νmによって特徴付けられる。複合材は2軸
【0046】
【数12】
ポアソン比ν
f及びせん断弾性率G
fによって特徴付けられる。マトリックスは、標準的な2相SIMP材料モードを使用して表される。HPBペナルティ関数は、マトリックス密度を{0;1}に向けて駆動する。一方、繊維濃度はペナルティを課されないままである。更に、繊維の基本構成テンソルは、その配向によって決定されるように回転される。点xにおける有効弾性テンソル[D]は、次式(7)のように表すことができ、ここでpはSIMPペナルティパラメータであり、[T
1]及び[T
2]は、変換マトリックスであり(式(8)参照、ここでm=cosθn=sinθ)
【0047】
【数13】
は、それぞれ繊維及び基本マトリックスの構成マトリックスである。
【0048】
【0049】
物理シミュレーションは、従来の有限要素解析を用いて実行される。入力ドメインは、幾何学的に合同な4ノードグリッドメッシュを使用して離散化される。要素剛性マトリックスは、以下の式(9)であり、ここで[∇Ne]は、形状マトリックスの勾配であり、Ωeは要素ドメインであり、[D(xe)]は、要素eの中心で評価される式(7)のような弾性テンソルである。要素の幾何学的合同性を利用して、計算コストを大幅に削減する。特に、テンプレート剛性マトリックスが事前計算される、
【0050】
【数15】
次いで、最適化中に、要素の弾性テンソルのみが式(7)のように計算され、剛性マトリックスが式(10)のように得られる。FE計算は、スパースエンド-エンド微分可能ソルバを使用してPyTorchで表すことができる。これは、感度の手動導出及び実装ではなく、自動感度解析を可能にする。
【0051】
【0052】
式(6)の制約付き最適化問題は、NNトレーニング/最適化フレームワークに適した等価な非制約損失に変換することができる。単純なペナルティ定式化に依存して、式(6a)、(6c)及び(6d)は、以下のように表すことができる。
【0053】
【0054】
ここで、αはペナルティパラメータであり、J0は、ここでスケーリングに使用される初期コンプライアンスである。コンプライアンス、ここではスケーリングのために使用される。式(6b)は、FEAを介して状態変数を計算するときに自動的に満たされることに留意されたい。αに対する小さな正の値から開始して、勾配駆動ステップが、損失関数を最小化するために取られる(アダム最適化)。次に、ペナルティパラメータが増加され、プロセスが繰り返される。損失関数としての
【0055】
【数18】
は、最小化され、それによって等式制約を満たすことに留意されたい。α
m及びα
fはしばしば独立しているが、すなわちこれらの実験ではα
m=α
f=αとして同じように処理される。
【0056】
最適化中に更新方式について考慮すべき重要な要因は、NNの重みに関して式(11)に示された損失の感度、すなわち導関数である。これらの導出及び実装は、典型的には手動で実行されるが、これは面倒であり、しばしば誤りを起こしやすい。代わりに、NNフレームワークのautograd能力(本明細書では自動微分又は逆伝播とも呼ばれる)を使用して、それらの計算を自動化することができる。Autogradは、チェーンルールを使用して感度の系統的導出を行う。したがって、より広い導関数項のみが式(12)で表される。なお、式12の中括弧内の項は、
図10に示した感度A,B,Cを表している。
【0057】
【0058】
提案されたフレームワークは、
図8に示されるアルゴリズムに要約される。これは、課された体積制約と共に、初期ドメイン及び関連するBCからなる問題設定を入力として受け取る。様々なパラメータ及びそれらのデフォルト値は、
図9の表に要約されている。順方向計算及び感度計算を含む最適化フレームワークを
図10に概略的に示す。
【0059】
図11では、図の組は、数値問題と、上述の配置を用いた解との他の解の比較とを示す。
図1200は、最適化されるべき2D問題の概略表現であり、これは、その上縁部にわたって均一に加重される片持ち梁である。制約限界を以下のように設定した:V
*
m=r
*
f=1。得られた結果をプロット1202に示し、プロット1204及び1206における他の報告されたトポロジと比較する。プロット1204は、各点においてバイナリ値の繊維濃度を有するCFAOベースのフレームワークを使用する解を示す(Desai,A.、Mogra,M.、Sridhara,S.、Kumar,K.、Sesha,G.、及びAnanthasuresh,G.(2021)、「Topological-derivative based design of stiff fiber-reinforced structures with optimally oriented continuous fibers」Structural and Multidisciplinary Optimization、63(2):703~720)。プロット1206は、可変配向を有するSIMPを使用した解を示す(Pedersen,P.(1991年)、「On thickness and orientational design with orthotropic materials」、Structural Optimization、3(2):(69~78)。トポロジが同等であることが分かる。
【0060】
第2の検証実験として、材料モデルを修正し、得られた結果をDesaiら(2021)と比較した。2相モデルが、Desaiら(2021)において提案され、ここで、繊維埋め込みは、マトリックス中の任意の位置に完全に存在するか又は存在しない。これを実施するために、モデルはV*
m=1で解かれ、式(7)の材料モデルは以下のように修正される。
【0061】
【0062】
繊維濃度にペナルティを課すことは、その値を1又は0のいずれかにすることに留意されたい。更に、感度式を再導出する代わりに自動微分を使用することができる。許容繊維濃度r
*
fを変化させ、その結果を
図12に示す。報告されたコンプライアンス値は、互いに密接に一致しており、したがって、本発明の実装を検証する。更に、結果を、式(7)において提案された材料モデルと比較し、コンプライアンス及び得られたトポロジを報告した。繊維の間隔/濃度を変化させることによって得られるような材料グラデーションは、より低いコンプライアンスを有するより良好な設計をもたらすことが観察された。
【0063】
図13では、グラフが、例示的な実施形態によるソルバを使用して、FEA要素の数を変化させた場合の計算コストを要約している。FEA要素の数以外の全ての他のパラメータは、デフォルト値で一定に保たれた。
図8にラベル付けされた最適化ループにおける様々な動作、すなわち、順伝搬(こと10)、アセンブリ(ステップ11及び12)、スパースFEA解法(ステップ13~17)、逆伝搬(ステップ18)、及びアダムオプティマイザ(ステップ19)。計算は、4.5GHzで動作する8つのプロセッサを有するIntel Corei7-7820X CPU、32GBのホストメモリ、並びに2,560個のCUDAコア及び8GBのデバイスメモリを有するNVIDIA GeForce GTX 1080 GPUを有するデスクトップマシン上で行われた。計算コストは、NNにおける逆伝搬によって支配され、これは、全CPUの約60~80%及び全GPUの約50~75%を消費した。
図13のグラフは、異なるFEAモデル解像度におけるCPU対GPU上の逆伝搬の計算時間を示す。
【0064】
図14において、図は、V
*
m=0.5及びr
*
f=0.4片持ち梁(
図6参照)を使用する提案されたアルゴリズムの典型的な収束を示す図である。相対コンプライアンスの収束、並びにマトリックス及び繊維に対する体積制約は、
図14のグラフに見ることができる。様々な反復におけるトポロジが挿入図に示されている。収束は、単純なペナルティ定式化の安定性と、MMAを用いた密度ベースのTOなどの古典的な定式化との競合する反復数とを示す。他の実験も同様の収束挙動を示した。
【0065】
設計段階中の1つの考慮事項は、パレートフロントを探索して賢明な工学的決定を行うことである。その目標に向けて、ミシェル構造の対称な半分が考慮され、V
*
f及びV
*
mの値を変化させるためのコンプライアンス及びトポロジが
図15において調査される。V
*
f≦V
*
mの制限が、物理的有効性のために適用される。予想通り、許容される体積分率が低下するにつれて、コンプライアンスの増加が観察される。
【0066】
最適化が完了すると、トポロジのグローバル表現に起因して、ニューラルネットワークから、滑らかで、長く、最適に配向され、集中した繊維の定義を抽出することができる。詳細には、最適化された重みは、任意の位置
【0067】
【数21】
例えば、FEAメッシュサイズより小さい大きさのオーダーであるスケールにおけるトポロジを問い合わせることを可能にする。次いで、経路に沿って細かくステッピングすることによって、所望の幾何学的形状(例えば、個々の繊維の経路及び長さ)を得ることができる。後処理アルゴリズムは、
図16において詳細に説明される。最適化された設計が
図17に示されており、繊維濃度及び配向、並びに記載された後処理を介して得られた連続繊維が示されている。
【0068】
可変繊維濃度を可能にすることによって、最適化は主に、濃縮繊維の領域がほとんどなく、部分的に濃縮された繊維の領域がほとんどなく、繊維のない領域がある設計をもたらす。しかしながら、製造の観点から、繊維がマトリックス中の至る所に存在する領域を有することが重要であり得る。この充填により、ドメイン全体のツール経路を表現することができる。そのような分布を得るために、最小(及び任意選択で最大)繊維濃度が強化される。繊維濃度ニューロンの出力は、次のように活性化される。
【0069】
【数22】
ここで、「op」はニューロンの活性化前出力であり、σ(・)はシグモイド活性化関数である。その結果
【0070】
【数23】
となる。例えば、V
*
f=0:6、V
*
m=0:5、更に、
【0071】
【数24】
を有する先端片持ち梁を考える。得られたトポロジ及びコンプライアンスを
図18に示す。濃度に対する追加の制約は、規定されたノードにおける性能のわずかな低下(J=2.06からJ=2.11への)をもたらす。
【0072】
TOは、指定された要件に対して自動的に設計を導出することを可能にするが、設計段階中の要因は、最適化の目的及び制約自体を実験することである。現在の傾向は、目的及びそれらの感度の誤りがちな導出及び面倒な実施を伴う。この研究では、PyTorchを完全に使用して計算を表現することによって、エンド-エンド微分可能フレームワークである。説明のために、
図19の図に示されるような準拠機構の最適化を検討する。ここで、入力f
inが与えられると、規定されたノードとしての出力変位を最大化することに関心がある。自動微分を使用することによって、式(15)に示すように、式(6a)の目的を変更し得る。V
*
m=0.3及びr
*
m=0.3で得られた設定及び設計を
図20に示す。
【0073】
【0074】
上述の方法及びプロセスは、技術分野において既知のように、コンピュータハードウェア、例えば、ワークステーション、サーバ上に実装することができる。
図20では、ブロック図が、例示的一実施形態による方法を実施するために使用され得るシステム及び計算装置2000を示す。装置2000は、中央処理ユニット、コプロセッサ、デジタル信号プロセッサなどの1つ以上のプロセッサ2002を含む。プロセッサ2002は、1つ以上の入力/出力バス2008を介してランダムアクセスメモリ2004及び永続的ストレージ2006の両方を含み得るメモリに結合される。他の汎用又は専用ハードウェアは、グラフィック処理ユニット(GPU)2011及びネットワークインタフェース2012などのバス2008に結合されてもよい。以下に説明する装置2000の機能は、例えば、クライアント-サーバ構成、クラスタ化コンピューティング、クラウドコンピューティングなどを介して、複数のデバイスを介して実装されてもよいことに留意されたい。
【0075】
ネットワークインタフェース2012は、有線又は無線媒体を使用してネットワーク2014を介して、製造作業を実行することができる2つ以上の製造装置2016との通信を容易にする。製造装置2016の例としては、3Dプリンター、選択的レーザ金属焼結機、コンピュータ数値制御(CNC)ミル、CNC旋盤、CNCレーザーカッター、CNCウォーターカッターなどが挙げられる。データはまた、例えば、ポータブルデータ記憶ドライブ、ポイントツーポイント通信などを介して、非ネットワークデータ転送インタフェースを使用して、製造装置2016に転送されてもよい。
【0076】
装置2000は、ソフトウェア2020を含む。ソフトウェア2020は、例えば、ユーザレベルプログラムとハードウェアとの間の通信を容易にするオペレーティングシステム2022及びドライバ2024を含む。ソフトウェア2020は、ニューラルネットワークライブラリ2030の使用を介して最適化される部品の性能をモデル化することを容易にする物理ソルバ2026を含む。言い換えれば、物理ソルバ2026は、ニューラルネットワークライブラリ2030によって提供されるNNフレームワーク内で動作する。物理ソルバ2026は、部品ジオメトリ及び他の要因(例えば、ビルド公差、材料など)を含むジオメトリデータベース2034とインタフェースすることができる。物理ソルバ2026は、FEA、有限差分解析、計算流体力学などを実行してもよい。ニューラルネットワークライブラリ2030は、カスタムコード又はPyTorch、TensorFlowなどの既存のライブラリを使用してもよい。ソフトウェア2020は、ユーザが、とりわけ、設計ドメイン及びソリューションパラメータを入力し、解結果を閲覧することを可能にするユーザインタフェース2009と相互作用する。なお、
図20に示す機能構成要素は、ネットワーク等を介して通信する複数のコンピューティング装置に分散されていてもよい。
【0077】
特段の指示がない限り、本明細書及び特許請求の範囲で使用される特徴サイズ、量及び物理的特性を表す全ての数は、全ての場合において、「約」という用語によって修飾されるものとして理解されるべきである。したがって、それと異なる指示がない限り、前述の明細書及び添付の特許請求の範囲に記載される数値パラメータは、本明細書に開示される教示を利用して当業者が得ようとする所望の特性に応じて変化し得る近似値である。端点による数値範囲の使用は、その範囲内の全ての数(例えば、1~5は、1、1.5、2、2.75、3、3.80、4、及び5を含む)、並びにその範囲内の任意の範囲を含む。
【0078】
上記の様々な実施形態は、特定の結果を提供するために相互作用する回路、ファームウェア、及び/又はソフトウェアモジュールを使用して実施され得る。当業者は、当該技術分野において一般的に公知である知識を使用して、モジュール式レベル又は全体でのいずれかで、こうして記載された機能を容易に実施することができる。例えば、本明細書に例解されるフローチャート及び制御図は、プロセッサにより実行されるためのコンピュータ可読命令/コードを作成するために使用されてもよい。こうした命令は、非一時的コンピュータ可読媒体上に格納され、当該技術分野において既知であるように実行するためにプロセッサに転送されてもよい。上記の構造及び手順は、上述の機能を提供するために使用され得る実施形態の代表的な例に過ぎない。
【0079】
例示的な実施形態の前述の説明は、図解及び説明の目的のために提示される。これは、網羅的であること、又は実施形態を、開示される形態に厳密に限定することを意図するものではない。上記の教示に照らして、多くの修正及び変形が可能である。開示される実施形態の任意の又は全ての特徴は、個別に、又は任意の組み合わせで適用することができ、限定することを意図するものではなく、純粋に例示である。本発明の範囲は、この「発明を実施するための形態」に限定されるものではなく、むしろ本明細書に添付の「特許請求の範囲」によって決定されることが意図される。