図1は、本明細書に記載の技術の実行に使用される種々の構成要素を説明する典型的な形態最適化システム100を示している。形態最適化装置102は、例えば、切断機、旋盤、自動フライス盤、エッチング機、溶接機、多軸コンピュータ数値制御(CNC)機、三次元(3D)プリンタ、表面処理設備、またはこれらのうちの1つ以上の何らかの組み合わせであってよい工学構造物製造装置116に組み合わせられている。製造機116は、完全に自動化または部分的に自動化されてよい。いずれの場合も、システム100は、製造システム(または、製造モードにあるシステム)として説明される。したがって、製造機116は、最適化装置102から指示を受け取り、それらの指示を実行することで、工学構造物120を形成する。
いくつかの例において、システム100は、製造機116がすでに形成された工学構造物の形態を調査する解析装置を備える解析モードで動作することができる。この解析モードにおいて、システム100は、工学構造物120を解析してその構造的な層、厚さ、およびセグメントサイズを明らかにし、そこからシステム100は、構造物100が最適化されたモデルに従って作られているか否かを判断することができる。製造機116は、製造および解析の両方のモードを備えるデュアル(または、マルチ)モード装置であってよい。あるいは、製造機を完全に取り除くことができ、したがって図1の製造機116が、例えばマイクロメータ、レーザ長さ測定機、光学走査または光学撮像装置、走査型顕微鏡、などの部品解析機を呈すると考えられる。
形態最適化装置102は、入力/出力(I/O)回路112へと接続されたリンク122を介してデータベース114へと動作可能に接続されたコントローラ104を有してもよい。図示はされていないが、さらなるデータベースを公知のやり方でコントローラ104へと接続できることに、注意すべきである。コントローラ104は、プログラムメモリ106と、プロセッサ108(マイクロコントローラまたはマイクロプロセッサとも呼ばれ得る)と、ランダムアクセスメモリ(RAM)110と、入力/出力(I/O)回路112とを備え、これらはすべて、アドレス/データバス120を介して相互接続される。ただ1つのマイクロプロセッサ108が示されているが、コントローラ104が複数のマイクロプロセッサ108を備えてよい。同様に、コントローラ104のメモリは、複数のRAM110および複数のプログラムメモリ106を含むことができる。I/O回路112が単一のブロックとして示されているが、I/O回路112がいくつかの異なる種類のI/O回路を含んでよい。RAM110およびプログラムメモリ106を、例えば、半導体メモリ、磁気的に読み取ることができるメモリ、および/または光学的に読み取ることができるメモリとして実現することができる。リンク124は、コントローラ104をI/O回路112を介して製造機116へと動作可能に接続することができる。
プログラムメモリ106および/またはRAM110は、マイクロプロセッサ108による実行のための種々のアプリケーション(すなわち、機械にとって読み取り可能なインストラクション)を格納することができる。例えば、オペレーティングシステム130が、本明細書に記載のプロセスを実行するために、形態最適化装置102の動作を全体的に制御し、装置102にユーザインターフェイスを提供することができる。プログラムメモリ106および/またはRAM110は、形態最適化装置102の特定の機能にアクセスするための種々のサブルーチン132も格納することができる。例として、これらに限られるわけではないが、サブルーチン132は、とりわけ、製造機116へと加工および製造の指示をもたらすためのサブルーチン、工学構造物の設計モデルを受け取るためのサブルーチン、設計モデルにもとづいて収束目的関数値を決定するためのサブルーチン、設計モデルを使用して工学構造物を形成するためのセグメントの厚さを決定するためのサブルーチン、収束目的関数値が達成されるか否かを判断するためのサブルーチン、収束目的関数値が達成されない場合に、1つ以上の設計モデルパラメータを調節し、かつ/または許容可能厚さ範囲の下側境界を調節するためのサブルーチン、ならびに収束が達成される場合に、セグメント、セグメント境界、および厚さを含む工学構造物の最適化されたモデルを生成するためのサブルーチン、を含むことができる。
サブルーチン132は、例えばソフトウェアキーボード機能を実現する、装置102の他のハードウェアとやり取りをする、などの他のサブルーチンを含むことができる。プログラムメモリ106および/またはRAM110は、形態最適化装置102の設定および/または動作に関係し、かつ/または1つ以上のサブルーチン132の動作に関係するデータを、さらに格納することができる。例えば、データは、システム116から集められたデータ、プロセッサ108によって決定および/または計算されたデータ、などであってもよい。
コントローラ104に加えて、形態最適化装置102は、他のハードウェアリソースを含むことができる。装置102は、視覚表示装置126および入力装置128(例えば、キーパッド、キーボード、など)など、さまざまな種類の入力/出力ハードウェアも備えることができる。一実施形態において、表示装置126は、タッチセンサ式であり、ソフトウェアルーチン132のうちの1つとしてのソフトウェアキーボードルーチンと協働して、ユーザの入力を受け付けることができる。形態最適化装置が、いくつかの公知のネットワーキング装置および技術のうちのいずれかによって(例えば、イントラネット、インターネット、などのコンピュータネットワークを通じて)より広いネットワーク(図示せず)と通信することが、好都合かもしれない。例えば、装置を、形態情報のデータベース、工学材料情報のデータベース、工学構造物のパラメータのデータベース、ダイス鋼の規格のデータベース、へと接続することができる。したがって、開示される実施形態を、形態最適化が組み込まれた自動閉ループシステム製造システムの一部として使用することができる。多くの例において、本明細書においては、技術をスタンドアロンのシステムに関して説明する。
図2は、特にはサブルーチン132に格納された実行可能なサブルーチンインストラクションを使用して形態最適化システム100によって実行されることができるプロセス200を示している。最初に、ブロック202において、システム100は、工学構造物の初期設計パラメータに対応するデータを受け取る。例えば、システム100は、工学構造物の設計モデルを受け取ることができ、その設計モデルは、設計モデルデータベースにおいてデータベース114に格納される。他の例において、ブロック202は、工学構造物のパラメータデータを受け取り、自身で設計モデルを作成することができる。
設計モデルは、構造物を形成する隣接セグメント間の境界領域のセグメント境界長のデータを含むことができる。設計モデルは、各々のセグメント(例えば、プレート)の形状を表す形状データ、および各々のセグメントの厚さデータを含むことができる。
設計モデルは、工学構造物が含まれる空間ドメインの有限要素モデルを有して形成される。有限要素モデルは、その空間ドメインにおいて工学構造物を形成する各々のセグメントの材料密度値を表す調節可能な材料密度を定めることができる。
設計モデルを、システム100によって最適化される目的関数を有して形成することもできる。目的関数そのものは、いくつかの特性を定めることができる。例えば、目的関数は、材料密度値の関数として、工学構造物の外的荷重支持能力を定めることができる。目的関数は、工学構造物を形成する隣接セグメント間の境界領域のセグメント境界長も定めることができ、ここで、これらの境界領域も、材料密度値の関数として特徴付けられる。説明のように、本技術は、特徴を材料密度値に関して表現することで、従来からのモデル化技術における欠陥を克服可能にする。
いずれにせよ、工学構造物を、サイズ、境界条件、構造強度の要件(例えば、剛性、引張強度、降伏強度、たわみ、および許容される固有振動数)によって特徴付けることができる。工学構造物を、異なる材料セグメントを組み合わせて形成されると表現することができ、ここで、それらのセグメントは、正確な境界/エッジ状態あるいは柔軟/調節可能な境界/エッジ状態の範囲によって定められる。しかしながら、多くの例において、工学構造物を形成するためのセグメントの数は、システム100によって決定され、特には形態最適化コントローラ104によって決定される。以下でさらに説明されるとおり、本明細書における技術を実行するそのコントローラ104は、セグメントのサイズ、エッジ、エッジ長、他のセグメントまたはセグメントのエッジとの境界条件、ならびにセグメントの厚さを決定することができる。
システム100は、ブロック204において、設計モデルを取得し、例えば任意の数値解析法が好適であり得るが有限要素法を使用して、均衡方程式を解く。次いで、システム100は、プロセス200の現在の最適化の反復に関する目的関数の1つ以上の値を決定(ブロック206)し、ここで目的関数値は、材料密度値として決定される。状態量が、製品の特徴を改善するために設計者によって目的関数として決定される。いくつかの実施例において、いくつかの特徴を改善すべき場合、多変数関数のうちのより貴重な1つ以上だけを、最適化のために選択することができる。これらの特徴は、例えばあらかじめ定められてよい。
次いで、プロセス200は、目的関数値が所望の値に収束したか否かを判断する(ブロック208)。否である場合、プロセス200は、ブロック210において、設計モデル、特には目的関数の対応する値を更新し、更新後の設計モデルに関して均衡方程式を解くためにブロック204に制御を戻し、プロセスが繰り返される。例えば、次の反復において、プロセス200は、ブロック208において、設計モデルパラメータがそれらの所望の値に収束したか否かを判断する。工学構造物を形成するセグメントの厚さ値に対応する材料密度値を有する目的関数値を使用する場合、収束が、各セグメントの厚さについて実行される。プロセス200は、材料密度値がシステム100によって設定される許容範囲内の所定の厚さ値に対応するか否かを判断する。対応する場合、収束が目的関数について生じている。否である場合、収束は存在せず、プロセスは、設計モデルのパラメータを見直して繰り返される。
ブロック208において、プロセス200は、設計モデルを構成する任意の数のパラメータについて収束をチェックすることができる。例えば、ブロック208は、セグメントにおける境界長について収束のチェックを実行することができる。ブロック208は、各々の最適化の反復において、境界長の各々が許容される境界長範囲にあるか否かを判断する。一例においては、収束した目的関数値が許容される境界長範囲内の境界長に対応するか否かを判断するために、プロセス200は、材料密度値にメッシュフィルタを適用することができる(Rozvany,G I.N,and Niels Olhoff.Topology Optimization of Structures and Composite Continua.Dordrecht:Kluwer Academic Publishers,pp.152−153,2000を参照)。この例では、メッシュフィルタを、ステップ関数の微分可能な近似関数を使用してアウトライン長が境界長から除外されるときに現れる市松模様を減らすために材料密度値へと適用することができる(Diaz,A.,Sigmund,O.,Checkerboard patterns in layout optimization,Structural and Multidisciplinary Optimization,10,pp.40−45,1995を参照)。微分可能な近似ステップ関数を、シグモイド関数、フーリエ級数、または多項式から選択することができる。収束した目的関数値が許容される境界長範囲内の境界長に対応する場合、プロセス200は、境界長の下側境界が許容される境界長範囲の下側境界に達するか否かをさらに判断することができる。境界長が所望の値に収束しない場合、設計モデルの境界長(ブロック210)を更新してプロセスを繰り返す。
上述のように、設計モデルを定めるパラメータのいずれも、このやり方で、収束について同時に測定することができる(例えば、境界数、境界長、セグメントの厚さ、など)。ブロック208においてプロセス200の収束に使用される反復を、ステージ1の最適化と考えることができ、反復の別の組が、ステージ2の最適化を形成する。
目的関数値が収束する場合(ブロック208)、すなわちステージ1の最適化の終わりにおいて、プロセス200は、収束の判断に用いられた厚さの下側境界が剛性の要件を満たすか否か(ブロック212)、すなわちステージ2の最適化を判断する。否である場合、収束の判断に使用された下側境界が、例えば下側境界を上方に調節することによって変更され(ブロック214)、制御がブロック210へと渡され、ブロック210は、次の最適化の反復に向けて設計モデルを調節するために連続的なやり方で厚さまたは他のパラメータを調節することができる。下側境界が許容される下側境界に達しない場合、下側境界は、特定の小さな量だけ上方にずらされる(ブロック214)。
下側境界が要件を満たす場合(ブロック212)、形態最適化は完成しており、工学構造物の全体についての最適化された離散化厚さおよび最適化された境界が、出力モデル216としてもたらされる。
出力モデル216は、工学構造物の完成した形態最適化済みモデルを反映し、所望の構造物120を作るために製造機116によって消費されることができるインストラクションとしてフォーマットされ得る。
このやり方で、プロセス200は、システム100の形態最適化手順の動作を反映する。プロセス200は、反復の連続にて、工学構造物の形成の各セグメントの目的関数パラメータの最適化を繰り返す。各々の反復において、プロセス200は、適切なパラメータが満足させられ、形態の全体が最適化されるまで、セグメントの境界長(すなわち、隣接セグメント間の境界の長さ)、各セグメントの境界の数(すなわち、セグメントにおけるエッジの数)、および各セグメントの厚さを決定する。密度が厚さに対応する。したがって、プレートが許容される最大厚さによってモデル化され、密度が1である場合、中間の厚さは線形に補間される。境界長を、密度差によって除算された密度の勾配の積分として表すことができる。
いくつかの例において、ブロック208の収束プロセスは、工学構造物を形成する例えばプレートなどのセグメントのおける厚さについて課された最小値を使用して実行される。厚さ形態最適化は、各セグメントについて同時に達成され、すなわち構造物を、複数の厚さの複数のプレートで形成することができ、単一の反復プロセスを通じて最適化することができる。
本技術は、プレート間、特には異なる厚さのプレート間の境界の長さを減らすことができる。異なる形態的厚さのプレートを使用することで、設計者は、構造の種類のはるかに大きな寄せ集めを生み出すことができる。本技術は、この利点を提供することができるが、さらに異なる厚さのプレート間の境界を最適化することによって、この考え方をさらに進める。この最適化を、プレートの切断および溶接のコストを減らすために行うことができる。なぜならば、これらのコストは異なる厚さのプレート間の境界の長さに比例するからである。いくつかの例において、この境界最適化は、設計者が異なる厚さのプレート間の溶接境界の数(または、長さ)を削減することを可能にする。他の例において、この境界最適化は、設計者が異なる厚さのプレート間の溶接境界の数(または、長さ)を増大させることを可能にする。いくつかの例においては、この削減または増大を、高さにおけるしきい値差を有しているプレートについてのみ実行することができる。類似した高さのプレートは、高さの差が大きいプレートと比べ、境界最適化に関してあまり最適化されなくてもよい。逐次線形計画または移動漸近法などの種々の最小化および/または最大化アルゴリズムを、所望の最適化に影響を及ぼすために使用することができる。境界を、設計モデルからの構造因子(所望のサイズ、強度、など)、外的因子(溶接コストを含む製造コストなど)、材料の入手性、あるいはこれらの因子および他の因子の組み合わせにもとづいて、最適化することができる。
本技術は、複数の厚さのプレートで作られる構造物の形態の形成時に、プレートにおける厚さおよびそれらのプレートの分布も最適化することができる。本技術は、各々のプレートにつき、特定のプレートにつき、所望の最大厚さのプレートにつき、所望の最少厚さのプレートにつき、あるいは他の設計基準にもとづいて、プレートの厚さを最小にすることができる。
最適化を、本明細書において、いくつかの例では、ペナルティ付き固体等方性材料(solid isotropic material with penalization:SIMP)構造形態最適化の改良版を実現する実行可能なアルゴリズムモデルを使用して実行することができる(Bendsoe,M.P.,Sigmund,O.,Material interpolation schemes in topology optimization,Archive of Applied Mechanics,69,pp.635−654,1999を参照)。一例において、SIMPモデルは、1というペナルティ(ペナルティ=1)による材料密度の分布を含むように修正される。ペナルティは、最適化のための焦点をもたらすが、先行技術の特徴でなく、ペナルティは、プレートの厚さ、特にはプレートの厚さの分布の代理(または、直接的推論)として使用される。この制約されたペナルティモデルの使用は、効果的な形態最適化をもたらす。しかしながら、いくつかの例において、得られる形態は、きわめて密度の低い大きな領域を含むかもしれず、それは製造が実現不可能または非経済的であることが多いきわめて薄いプレートに対応する可能性がある。したがって、本技術は、図2のプロセスに関して述べたように、実現可能な材料密度の下側境界を課し、それを最適化の際に反復の様相で行うアルゴリズムを提供することによって、プレートの厚さをさらに最適化することもできる。下側境界を反復的に増加させることによって、最適化装置は、任意のカットオフ密度(すなわち、最小プレート厚さ)を有する形態を、カットオフのない最適形態と比べて構造的性能の小さな犠牲で生成する。
最適化のプロセスは、密度に相関する厚さの差の評価と交互に行われる密度の差を使用するアルゴリズムにもとづくことができる。典型的な最適化の表現は、Min(Max)Obj=元の状態+境界表現である。元の状態は、初期モデル(例えば、ひずみエネルギー)から決定可能であり、境界表現は、反復を通じて最適化されるべき評価式である。
図3〜図5は、本明細書における技術を使用する種々の最適化の例を提供している。図3は、プレートの境界を約135回の最適化の反復を経て最小最適化厚さへと最適化する最適化プロセスを示している。ステップ1において、工学構造物モデル300が、最初に単一プレート単一プレート厚さ構造物モデルとしてモデル化される。反復を経て、構造物モデル300は、異なる厚さの異なる密度によって反映された異なる厚さのプレートで形成される構造物モデル302へと収束し始める。最適化は、図2において説明した技術などの技術を使用して、構造物モデル302をさらに定められたプレートを有する構造物モデル304へと変換し、構造物モデル304においては、構造物モデル300における1枚のプレートの代わりに、今や異なる厚さの6枚以上のプレートが存在する。最適化は、最終的な最適化済みの形態の構造物306をもたらす収束が達成されるまで続けられる。密度、および厚さの最小化は、図3のプロットに示されるとおりの関係によって定められる。
図4A〜図4Cは、特に特定の荷重制約を有するメッサーシュミット−ベルコウ−ブローム(MBB)梁400のものである典型的な設計モデルおよび構造物のステージ1およびステージ2の両方の最適化について、多数回の最適化の反復を経る典型的な最適化を示している。梁400は、60×20の寸法を有し、ヤング率E0=1である。目的関数における重量は、0.1および0.3である。図4Bおよび図4Cは、ステージ1およびステージ2のそれぞれの後の結果モデルの最適化を示している。表1は、得られた最適化結果を示している。
図5A〜図5Dは、液化天然ガス(LNG)タンク500のための最適化されたモデルの典型的な形成を示している。図5Aは、固定された底面502および55,000mmの長さを有する体積および体積の周辺条件を示している。LNGタンク500は、外面502、504、506、508、など、ならびに対向する外壁のペアから延びている鉛直な支持壁510Aおよび510Bを備える。LNGタンク500は、一連の水平方向に延びる壁512(1つにだけ参照番号が付されている)をさらに備えることができる。LNGタンク500の初期モデルは、タンク内の液体内容物ならびに支持壁510Aおよび510Bに関する条件によって加えられる内圧を特定する。壁502以下の厚さは、それぞれ30mmであろう。タンク500は、内部体積の全体に広がる等しいサイズのセルで形成される内部構造を備える。各々のセルは、水平方向に延びる表面および鉛直方向に延びる表面によって定められる。最適化装置は、有限要素メッシュ解析を使用して、これらの内部構造表面について最適化を実行し、ここでメッシュは、図示の例については、一辺のサイズが600mmである。図5Cが、図5Dに示される最適化されたLNGタンクモデルを生み出す最適化プロセスのプロットである。最適化プロセスは、最適化の反復の関数としての内部構造のひずみエネルギーのプロットとして示されている。ステージ1の最適化およびステージ2の最適化が示されている。図示のとおり、ひずみエネルギーの最適化の大部分は、ステージ1において、10回未満の反復サイクルにおいて生じる。100回の反復サイクルの前に、両方のステージからの最適化は完了する。線514は、ペナルティが従来からの形態最適化である3に設定される事例を示している。この事例は、中間の厚さ分布を許さず、形態だけを決定する。より高いひずみエネルギーへの収束は、中間の厚さ分布が許される構造物と比べて、構造物が剛性を有さないことを意味している。
本明細書の全体を通して、単一の例として説明された構成要素、動作、または構造物を、複数のインスタンスによって実現してもよい。1つ以上の方法の個々の動作が、別々の動作として図示および説明されているが、個々の動作のうちの1つ以上を同時に実行してもよく、動作が説明における順序で実行される必要はない。典型的な構成において別々の構成要素として示された構造物および機能を、組み合わせられた構造物または構成要素として実現してもよい。同様に、単一の構成要素として示された構造物および機能を、別々の構成要素として実現してもよい。これらの変種、改良、付加、および改善、ならびに他の変種、改良、付加、および改善は、本明細書の主題の技術的範囲に包含される。
さらに、特定の実施形態が、本明細書において、ロジック、あるいはいくつかのルーチン、サブルーチン、アプリケーション、またはインストラクションを含むものとして説明される。これらは、ソフトウェア(例えば、機械にとって読み取り可能な媒体または伝送信号に具現化されたコード)またはハードウェアのいずれかを構成することができる。ハードウェアにおいて、ルーチンなどは、特定の動作を実行することができる有形のユニットであり、特定のやり方で設定または構成されてよい。典型的な実施形態において、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)あるいはコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサまたはプロセッサ群)を、本明細書に記載の特定の動作を実行するように動作するハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって設定することができる。
種々の実施形態において、ハードウェアモジュールを、機械的または電子的に実現することができる。例えば、ハードウェアモジュールは、特定の動作を実行するように(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用のプロセッサとして)恒久的に設定された専用の回路またはロジックを備えることができる。ハードウェアモジュールは、特定の動作を実行するようにソフトウェアによって一時的に設定される(例えば、汎用のプロセッサまたは他のプログラマブルなプロセッサに包含されるとおりの)プログラマブルなロジックまたは回路を備えることもできる。ハードウェアモジュールを専用の恒久的に設定された回路または一時的に設定される回路(例えば、ソフトウェアによって設定される)にて機械的に実現する決定が、コストおよび時間の考慮によって決められてよいことを、理解できるであろう。
したがって、用語「ハードウェアモジュール」を、特定の様相で動作し、あるいは本明細書に記載の特定の動作を実行するように物理的に作られ、恒久的に設定され(例えば、配線され)、あるいは一時的に設定され(例えば、プログラムされ)る有形のエンティティを包含する。ハードウェアモジュールが一時的に設定される(例えば、プログラムされる)実施形態に関して、各々のハードウェアモジュールは、いずれかの1つの時点において設定または具体化される必要はない。例えば、ハードウェアモジュールがソフトウェアを用いて設定される汎用のプロセッサを備える場合、汎用のプロセッサを、異なる時点においてそれぞれの異なるハードウェアモジュールとして設定することができる。したがって、ソフトウェアが、例えば或る時点において特定のハードウェアモジュールを構成し、別の時点において別のハードウェアモジュールを構成するように、プロセッサを設定することができる。
ハードウェアモジュールは、他のハードウェアモジュールへと情報をもたらすことができ、他のハードウェアモジュールから情報を受け取ることができる。したがって、上述のハードウェアモジュールを、通信可能に接続されると考えることができる。複数のそのようなハードウェアモジュールが同時に存在する場合、通信を、ハードウェアモジュールを接続する信号伝送(例えば、適切な回路およびバスを介する)によって達成することができる。複数のハードウェアモジュールが異なる時点において設定または具体化される実施形態においては、そのようなハードウェアモジュールの間の通信を、例えば、複数のハードウェアモジュールにとってアクセス可能なメモリ構造における情報の保存および読み出しを通じて達成することができる。例えば、或るハードウェアモジュールが、或る動作を実行し、その動作の出力を通信可能に接続されたメモリ装置に保存することができる。その後に、さらなるハードウェアモジュールが、後の時点で、メモリ装置にアクセスし、保存された出力を読み出して処理することができる。また、ハードウェアモジュールは、入力または出力装置との通信を始めることもでき、リソース(例えば、情報の集合)について動作することができる。
本明細書に記載の典型的な方法の種々の動作を、少なくとも部分的には、関連する動作を実行するように(ソフトウェアによって)一時的に設定され、あるいは恒久的に設定される1つ以上のプロセッサによって実行することができる。一時的に設計されても、恒久的に設定されても、そのようなプロセッサは、1つ以上の動作または機能を実行するように動作するプロセッサによって実現されるモジュールを構成することができる。本明細書において言及されるモジュールは、いくつかの典型的な実施形態において、プロセッサによって実現されるモジュールを含むことができる。
同様に、本明細書に記載の方法またはルーチンは、少なくとも部分的にプロセッサによって実現されてもよい。例えば、方法の動作の少なくとも一部を、1つ以上のプロセッサ、あるいはプロセッサによって実現されるハードウェアモジュールによって実行することができる。特定の動作の実行を、1つ以上のプロセッサに分配することができ、1つ以上のプロセッサは、(種々の処理能力を有する)単一の装置内に位置するだけでなく、いくつかの機械にまたがって展開される。いくつかの典型的な実施形態においては、プロセッサを、単一の場所に位置させる(例えば、フィールドに展開させ、オフィス環境に展開させ、あるいはサーバファームの一部として展開させる)ことができるが、他の実施形態においては、プロセッサをいくつかの場所にまたがって分散させてもよい。
特に明確に述べられない限り、「処理する」、「演算する」、「計算する」、「決定する」、「提示する」、「表示する」、などの用語を用いた本明細書における検討は、1つ以上のメモリ(例えば、揮発メモリ、不揮発メモリ、またはこれらの組み合わせ)、レジスタ、あるいは情報を受け取り、記憶し、伝送し、もしくは表示する他の装置構成要素における物理的(例えば、電子的、磁気的、または光学的)な量として表されるデータを操作または変換するGPUスレッドにおける行為または処理を指すことができる。
本明細書において使用されるとき、「一実施形態」または「実施形態」への言及は、その実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所に現れる「一実施形態において」という表現は、必ずしもすべてが同じ実施形態に言及しているわけではない。
いくつかの実施形態は、「組み合わせられ」および「接続され」という表現ならびにそれらの派生語を使用して説明されることがあり得る。例えば、いくつかの実施形態は、2つ以上の要素が物理的または電気的に直接接触していることを示すために「組み合わせられ」という用語を使用して説明されることがある。しかしながら、「組み合わせられ」という用語は、2つ以上の要素が互いに直接接触してはいないが、依然として互いに協働または相互作用することも意味する。実施形態は、この文脈において限定されない。
本明細書において使用されるとき、用語「・・・を備える」、「・・・を備えている」、「・・・を含む」、「・・・を含んでいる」、「・・・を有する」、「・・・を有している」、またはこれらのあらゆる他の変種は、非排他的な包含を含むように意図されている。例えば、要素の列挙を含むプロセス、方法、物品、または装置は、必ずしもそれらの要素だけに限定されず、明示的には列挙されず、あるいはそのようなプロセス、方法、物品、または装置に固有の他の要素を含んでよい。さらに、特にそのようでないと明確に述べられない限り、「または」は、包含的論理和を指し、排他的論理和を指すものではない。例えば、「AまたはB」という条件は、Aが真であり(あるいは、存在し)、Bが偽である(あるいは、存在しない)、Aが偽であり(あるいは、存在せず)、Bが真である(あるいは、存在する)、ならびにAおよびBの両方が真である(あるいは、存在する)、のうちのいずれか1つによって満たされる。
さらに、「a」または「an」の使用が、本明細書において実施形態の要素および構成要素を説明するために用いられる。これは、あくまでも便利のために、全般的な説明をもたらすために行われている。この説明および続く主張を、1つまたは少なくとも1つを含むように理解すべきであり、単数形は、他が意味されることが自明でない限り、複数も包含する。
この詳細な説明は、あくまでも例として理解されるべきであり、考えられるすべての実施形態を説明するものではなく、なぜならば、考えられるすべての実施形態を説明することは、不可能ではないかもしれないが、現実的でないからである。現在の技術、あるいは本出願の出願日よりも後に開発された技術を使用して、多数の代案の実施形態を実現することが可能である。