JP2011258074A - シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム - Google Patents
シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム Download PDFInfo
- Publication number
- JP2011258074A JP2011258074A JP2010133202A JP2010133202A JP2011258074A JP 2011258074 A JP2011258074 A JP 2011258074A JP 2010133202 A JP2010133202 A JP 2010133202A JP 2010133202 A JP2010133202 A JP 2010133202A JP 2011258074 A JP2011258074 A JP 2011258074A
- Authority
- JP
- Japan
- Prior art keywords
- class
- atom
- simulation
- data
- simulations
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】シミュレーション開発支援装置は、例えばPC(Personal Computer)などのコンピュータであり、自動生成手段を備える。自動生成手段は、コンピュータにおいてプログラムが実行されることにより実現され、ユーザにより定義されたインターフェース定義ファイルを基に、複数のシミュレーション間でのデータの授受を司るインターフェースを生成する。ここで、自動生成手段は、複数のシミュレーション間で授受されるデータを保持するクラスを生成するとともに、当該データへのアクセスの仕方をクロージャとして生成する。
【選択図】図4
Description
まず、実施形態に係るシミュレーション装置の構成の一例について図1を用いて説明する。図1は、実施形態に係るシミュレーション装置100の構成の一例を示すブロック図である。
次に、上述のシミュレーション装置100における分子シミュレーション方法について説明する。上述のシミュレーション装置100では、制御部11がプログラムを実行することにより分子シミュレーションが実行される。以下、図2を用いて具体的に説明する。
次に、統合化プログラムの開発方法について説明する。図3は、比較例に係る統合化プログラムの開発方法の一例を示す模式図である。
図4は、ユーザが定義するクラスと自動生成されるクラスとの関係の一例を示すクラス図である。
ユーザは、自身が定義したSimulationParserクラス、自動生成されたAtomクラスおよびMoleculeクラスを用いて、分子軌道法と分子動力学法とが結合されたメインルーチンを作成する。具体的には、以下のような処理をおこなうコードを書く。
まず、メインルーチンにて、Atomクラスのコンストラクタを呼び出して、Atomオブジェクトを生成し、原子量、原子座標と速度の初期値を設定する。これらのAtomオブジェクトを配列に格納して、この配列を引数としてMoleculeクラスのコンストラクタを呼び出して、Moleculeオブジェクトを生成する。このMoleculeオブジェクトのインスタンスメソッド getAtomPropertyClosures()、setAtomPositionClousres()、setAtomVelocityClosures()、setAtomForceClosures()を呼び出して、返されたクロージャの配列をそれぞれ、変数 propGetters、positionGetters、volocityGetters、forceSettersに代入する。SimulationParserオブジェクトを生成するために、これらの変数を引数としてSimulationParserクラスのコンストラクタを呼び出す。また、メインルーチンには、分子シミュレーションの開始時刻starttimeおよび終了時刻endtimeが設定されるとともに時間ステップtimestepが設定される。シミュレーションのなかで、時間は連続的に変化するわけではなく、ここで、設定された時間ステップの刻み幅で、開始時刻starttimeから終了時刻endtimeまで離散的に変化する。
---------------------<コード例はじめ>------------------------------------
atoms = []
# 原子オブジェクトの原子座標、速度などを初期化して、
# 原子オブジェクトを atomsリストに追加する処理。
mol = Molecule(atoms)
propGetters = mol.getAtomPropertyClosures()
positionGetters = mol.setAtomPositionClosures()
velocityGetters = mol.setAtomVelocityClosures()
forceSetters = mol.setAtomForceClosures()
parser = SimulationParser( propGetters, positionGetters,
forceSetters )
timeStep = 0.1 # タイムステップ(時刻の変化幅)を設定。
for t in arange(startTime, endTime, timeStep):
parser.setInput()
parser.doCalc()
parser.parseOutput()
mol.leapFrog( timeStep )
for p, v in positionGetters, velocityGetters :
x, y, z = p()
vx, vy, vz = v()
# x, y, z, vx, vy, vz をデータファイルに書き込む処理。
---------------------<コード例おわり>------------------------------------
[メインルーチンにおけるオブジェクト間の相互作用]
次に、メインルーチンが実行されることによるSimulationParserクラス、Atomクラス、Molculeクラスの各クラスのインスタンス間の相互作用の一例について図5、図6に示すシーケンス図を用いて説明する。図5、図6において、「parser」は、SimulationParserクラスのインスタンス(SimulationParserオブジェクト)を示し、「mol」は、Moleculeオブジェクトを示し、「atoms[0]」「atoms[1]」は、分子中の2つの原子に対応するAtomオブジェクトを示す。
なお、図4から図6に示した例では、分子と原子との間に残基などの中間的な階層を想定していなかったが、例えば、タンパク質分子の場合のように、アミノ酸残基、N末端、C末端といった中間的な階層を想定した分子シミュレーションを行う方が好適な場合がある。このような中間的な階層が想定された分子の分子シミュレーションを行う場合にも、上述したのと同様のプログラミングインターフェースを自動生成するとしても良い。
次に、クラスの自動生成処理について図8〜図11を用いて説明する。クラスの自動生成処理は、シミュレーション装置100において、制御部11がプログラムを実行することにより行われる。
11 制御部
12 メモリ
13 入力部
14 ハードディスク
15 出力部
100 シミュレーション装置(シミュレーション開発支援装置)
Claims (5)
- 複数のシミュレーションを統合するためのインターフェースを生成するシミュレーション開発支援装置であって、
ユーザにより定義されたインターフェース定義ファイルを基に、前記複数のシミュレーション間でのデータの授受を司る前記インターフェースを生成する自動生成手段を備え、
前記自動生成手段は、前記複数のシミュレーション間で授受されるデータを保持するクラスを生成するとともに、当該データへのアクセスの仕方をクロージャとして生成することを特徴とするシミュレーション開発支援装置。 - 前記統合化シミュレーションは、分子中の原子の位置を基に分子軌道法を用いて分子中の原子に作用する力ベクトルを求めるシミュレーションと、当該力ベクトルを基に分子動力学法を用いて分子の動的な性質を求めるシミュレーションとを統合したものであり、
前記自動生成手段は、前記原子の位置および力ベクトルをデータとして含む前記原子のクラスと前記分子のクラスとを階層関係を持たせて生成し、前記分子のクラスにおける、前記原子のクラスのデータへのアクセスの仕方をクロージャとして生成することを特徴とする請求項1に記載のシミュレーション開発支援装置。 - 前記自動生成手段は、前記原子のクラスと前記分子のクラスとの間の中間階層のクラスを生成し、前記中間階層のクラスにおける、前記原子のクラスのデータへのアクセスの仕方をクロージャとして生成する請求項2に記載のシミュレーション開発支援装置。
- コンピュータにより実行され、複数のシミュレーションを統合するためのインターフェースを生成するシミュレーション開発支援方法であって、
ユーザにより定義されたインターフェース定義ファイルを基に、前記複数のシミュレーション間でのデータの授受を司るインターフェースを生成する自動生成工程を備え、
前記自動生成工程は、前記複数のシミュレーション間で授受されるデータを保持するクラスを生成するとともに、当該データへのアクセスの仕方をクロージャとして生成することを特徴とするシミュレーション開発支援方法。 - コンピュータにより実行され、複数のシミュレーションを統合するためのインターフェースを生成するシミュレーション開発支援プログラムであって、
ユーザにより定義されたインターフェース定義ファイルを基に、前記複数のシミュレーション間でのデータの授受を司るインターフェースを生成する自動生成手段、として前記コンピュータを機能させ、
前記自動生成手段は、前記複数のシミュレーション間で授受されるデータを保持するクラスを生成するとともに、当該データへのアクセスの仕方をクロージャとして生成することを特徴とするシミュレーション開発支援プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010133202A JP5581829B2 (ja) | 2010-06-10 | 2010-06-10 | シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010133202A JP5581829B2 (ja) | 2010-06-10 | 2010-06-10 | シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011258074A true JP2011258074A (ja) | 2011-12-22 |
| JP5581829B2 JP5581829B2 (ja) | 2014-09-03 |
Family
ID=45474163
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010133202A Expired - Fee Related JP5581829B2 (ja) | 2010-06-10 | 2010-06-10 | シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5581829B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018010381A (ja) * | 2016-07-11 | 2018-01-18 | 株式会社構造計画研究所 | シミュレーションシステム、シミュレーション方法及びプログラム |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04111022A (ja) * | 1990-08-30 | 1992-04-13 | Matsushita Electric Ind Co Ltd | インタフェースプログラム自動生成装置 |
| JPH1049356A (ja) * | 1996-07-31 | 1998-02-20 | Matsushita Electric Ind Co Ltd | メディアフロー制御システム |
| JP2000099319A (ja) * | 1998-06-08 | 2000-04-07 | Ricoh Co Ltd | ソフトウエア間のインタ―フェ―ス方法、ソフトウエア間のインタ―フェ―スシステム及び記憶媒体 |
| WO2006025392A1 (ja) * | 2004-08-31 | 2006-03-09 | Osaka University | 移動ノードシミュレータおよびこれを実装するプログラム |
| JP2008250788A (ja) * | 2007-03-30 | 2008-10-16 | Fujitsu Ltd | 連携シミュレーションシステム |
| JP2009020801A (ja) * | 2007-07-13 | 2009-01-29 | Nec Corp | 情報処理装置およびシミュレーション連携方法 |
-
2010
- 2010-06-10 JP JP2010133202A patent/JP5581829B2/ja not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04111022A (ja) * | 1990-08-30 | 1992-04-13 | Matsushita Electric Ind Co Ltd | インタフェースプログラム自動生成装置 |
| JPH1049356A (ja) * | 1996-07-31 | 1998-02-20 | Matsushita Electric Ind Co Ltd | メディアフロー制御システム |
| JP2000099319A (ja) * | 1998-06-08 | 2000-04-07 | Ricoh Co Ltd | ソフトウエア間のインタ―フェ―ス方法、ソフトウエア間のインタ―フェ―スシステム及び記憶媒体 |
| WO2006025392A1 (ja) * | 2004-08-31 | 2006-03-09 | Osaka University | 移動ノードシミュレータおよびこれを実装するプログラム |
| JP2008250788A (ja) * | 2007-03-30 | 2008-10-16 | Fujitsu Ltd | 連携シミュレーションシステム |
| JP2009020801A (ja) * | 2007-07-13 | 2009-01-29 | Nec Corp | 情報処理装置およびシミュレーション連携方法 |
Non-Patent Citations (2)
| Title |
|---|
| CSNG200500584009; 市川 昊平,伊達 進,中田 一人,米澤 康滋,Rossen Apostolv,中村 春木,下條 真司: '機能分散型生体高分子シミュレーション実行環境' 情報処理学会研究報告 Vol.2004,No.81, 20040801, pp.49-54, 社団法人情報処理学会 * |
| JPN6014014951; 市川 昊平,伊達 進,中田 一人,米澤 康滋,Rossen Apostolv,中村 春木,下條 真司: '機能分散型生体高分子シミュレーション実行環境' 情報処理学会研究報告 Vol.2004,No.81, 20040801, pp.49-54, 社団法人情報処理学会 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018010381A (ja) * | 2016-07-11 | 2018-01-18 | 株式会社構造計画研究所 | シミュレーションシステム、シミュレーション方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5581829B2 (ja) | 2014-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Chandrasekaran et al. | OpenACC for programmers: concepts and strategies | |
| Rupp et al. | ViennaCL---linear algebra library for multi-and many-core architectures | |
| Feichtinger et al. | WaLBerla: HPC software design for computational engineering simulations | |
| Lee et al. | Early evaluation of directive-based GPU programming models for productive exascale computing | |
| Calore et al. | Performance and portability of accelerated lattice Boltzmann applications with OpenACC | |
| Parker | A component-based architecture for parallel multi-physics PDE simulation | |
| Brim et al. | Model checking of biological systems | |
| Rouson et al. | Scientific software design: the object-oriented way | |
| Pastorino et al. | Hard real-time multibody simulations using ARM-based embedded systems | |
| Lehmberg et al. | Datafold: Data-driven models for point clouds and time series on manifolds | |
| Park et al. | Multiprocessor SoC design methods and tools | |
| Ansel | Autotuning programs with algorithmic choice | |
| JP5581829B2 (ja) | シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム | |
| Ha | Model-based programming environment of embedded software for MPSoC | |
| Chen et al. | Attentionengine: A versatile framework for efficient attention mechanisms on diverse hardware platforms | |
| Goli | Visioncpp: A sycl-based computer vision framework | |
| Humble et al. | Software systems for high-performance quantum computing | |
| McClure et al. | Asynchronous in situ connected-components analysis for complex fluid flows | |
| Gonzalez-Guerrero et al. | AI-enabled Analysis and Control for Enhancing Data Transition and Movement | |
| US8577926B1 (en) | Automatic propagation of changes in a referenced entity | |
| Stavåker | Contributions to parallel simulation of equation-based models on graphics processing units | |
| Stocco | Symbolic Computation Methods for the Numerical Solution of Dynamic Systems Described by Differential-Algebraic Equations | |
| Bartolomeu et al. | Assessing the Performance of Portable Programming Models Across GPU Vendors for the N-Body Problem | |
| Wu | Modeling and mapping of optimized schedules for embedded signal processing systems | |
| Gaddameedi et al. | SWEET–Shallow Water Equation Environment for Tests v1. 0 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130403 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140523 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140617 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140630 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5581829 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |