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
- 238000000034 method Methods 0.000 title claims abstract description 204
- 238000004088 simulation Methods 0.000 title claims abstract description 71
- 238000011161 development Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 38
- 238000000329 molecular dynamics simulation Methods 0.000 claims description 15
- 238000004219 molecular orbital method Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000012900 molecular simulation Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 125000000539 amino acid group Chemical group 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004613 tight binding model Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004899 c-terminal region Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000000324 molecular mechanic Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010583 slow cooling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000005428 wave function Effects 0.000 description 1
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 |
---|---|---|
Rupp et al. | ViennaCL---linear algebra library for multi-and many-core architectures | |
Chandrasekaran et al. | OpenACC for programmers: concepts and strategies | |
Lee et al. | Early evaluation of directive-based GPU programming models for productive exascale computing | |
Rouson et al. | Scientific software design: the object-oriented way | |
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 | |
US8260598B2 (en) | Size vector sharing in code generated for variable-sized signals | |
Veen et al. | Easing multiscale model design and coupling with MUSCLE 3 | |
Bonaccorso et al. | LBsoft: A parallel open-source software for simulation of colloidal systems | |
Park et al. | Multiprocessor SoC design methods and tools | |
Nguyen et al. | iQuantum: A toolkit for modeling and simulation of quantum computing environments | |
Ha | Model-based programming environment of embedded software for MPSoC | |
JP5581829B2 (ja) | シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム | |
Gosmann et al. | Automatic optimization of the computation graph in the Nengo neural network simulator | |
Reardon et al. | A simulation framework for rapid analysis of reconfigurable computing systems | |
Castrillon et al. | Dataflow Models of computation for programming heterogeneous multicores | |
Chang et al. | Enabling PoCL-based runtime frameworks on the HSA for OpenCL 2.0 support | |
Rio et al. | Asynchronous interface between a finite element commercial software abaqus and an academic research code herezh++ | |
Goli | Visioncpp: A sycl-based computer vision framework | |
Humble et al. | Software systems for high-performance quantum computing | |
Stavåker | Contributions to parallel simulation of equation-based models on graphics processing units | |
Vogel et al. | Automated performance modeling of the ug4 simulation framework | |
Jacob et al. | Raising the Level of Abstraction of GPU-programming. | |
McClure et al. | Asynchronous in situ connected-components analysis for complex fluid flows |
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 |