JP2011198221A - Molecular structure construction system, method, program, and storage medium - Google Patents

Molecular structure construction system, method, program, and storage medium Download PDF

Info

Publication number
JP2011198221A
JP2011198221A JP2010066012A JP2010066012A JP2011198221A JP 2011198221 A JP2011198221 A JP 2011198221A JP 2010066012 A JP2010066012 A JP 2010066012A JP 2010066012 A JP2010066012 A JP 2010066012A JP 2011198221 A JP2011198221 A JP 2011198221A
Authority
JP
Japan
Prior art keywords
bond
atom
atoms
data structure
electrons
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.)
Withdrawn
Application number
JP2010066012A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sato
博之 佐藤
Azuma Matsuura
東 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010066012A priority Critical patent/JP2011198221A/en
Publication of JP2011198221A publication Critical patent/JP2011198221A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a molecular structure construction system and method for automatically setting an interatomic bond order.SOLUTION: The molecular structure construction system includes: a data structure having an atomic data structure that associates the number of electrons and the number of orbits with a bond flag showing the terminal condition after bonding for each atom arranged based on the atomic arrangement of a molecule, and a bond axis data structure that associates a bond order with each bond axis for interatomic bond; a σ-bonding means for carrying out σ-bond according to the distance threshold that attains interatomic bond, increasing the bond order by one, and subtracting one each from the number of electrons and the number of orbits of the σ-bonded atoms to update the bond flag at the terminal atom; and a π-bonding means for carrying out π-bond to the first atom and one second atom when the other second atoms are terminals leaving the one second atom out of the second atoms σ-bonded to the first atoms, referring to the bond flag.

Description

本発明は、原子間の結合次数を自動設定可能な分子構造構築システム、方法、プログラム、及び、記憶媒体に関する。   The present invention relates to a molecular structure construction system, method, program, and storage medium capable of automatically setting the bond order between atoms.

コンピュータの高性能化に伴い、ドラッグデザインなどの先端研究における分子軌道計算、分子動力学計算など理論化学計算のニーズが高まっている。これらの理論化学計算を実行するには、計算手法のみならず計算対象となる分子の構造を入力データに用いる必要がある。ドラッグデザインなどの先端研究では、分子動力学的手法を用いて物性を算出する状況が多々生じることから、適切な初期分子構造を構築する必要性が増している。このようなニーズから、分子構造構築の作業効率を向上させることを目的として、グラフィック表示機能を利用した分子設計システムが実用化されている。   As computer performance increases, the need for theoretical chemistry calculations such as molecular orbital calculations and molecular dynamics calculations in advanced research such as drug design is increasing. In order to execute these theoretical chemical calculations, it is necessary to use not only the calculation method but also the structure of the molecule to be calculated as input data. In advanced research such as drug design, there are many situations in which physical properties are calculated using molecular dynamics techniques, so the need to construct an appropriate initial molecular structure is increasing. In view of these needs, a molecular design system using a graphic display function has been put into practical use for the purpose of improving the work efficiency of molecular structure construction.

分子動力学計算では原子間に働く力場ポテンシャルを設定するために、適切な結合次数の情報を必要とする。従来より、ユーザがGUI上で結合軸を選択し、各結合軸について適切な結合次数を一つ一つ設定することが行われているが、原子数が多く構造が複雑な場合にはユーザへの負担が大きい。   Molecular dynamics calculations require information on the appropriate bond order in order to set the force field potential acting between atoms. Conventionally, a user selects a bond axis on the GUI and sets an appropriate bond order for each bond axis one by one. However, if the number of atoms is large and the structure is complicated, the user is notified. The burden of is great.

また単なる負担だけでは済まない問題として、低分子の場合には目視による結合軸の判別と修正が可能であっても、高分子では目視での判定が非常に困難な場合が生じる場面もある。このような問題に対して、結合次数の自動判定法として、任意に選択した2個の原子対の結合の強さを示す結合次数を計算し、その結果を用いて原子間の結合の有無を判定することが提案されている(例えば、特許文献1を参照)。   In addition, as a problem that cannot be dealt with just a burden, there are cases where it is very difficult to make a visual judgment with a polymer even though it is possible to discriminate and correct the bond axis with a low molecular weight. To solve this problem, the bond order indicating the strength of the bond between two arbitrarily selected atom pairs is calculated as an automatic method for determining the bond order, and the result is used to determine whether there is a bond between atoms. It has been proposed to determine (see, for example, Patent Document 1).

特開平7−282096号公報Japanese Patent Application Laid-Open No. 7-282096

しかしながら、上述した従来の手法では、事前に分子軌道計算を実行する必要が生じ、構造を表示するためだけに多大な計算が必要になってしまう。また結合次数の判定基準として特許文献1の段落0018に示されている数1は、実際には2つの原子軌道に関する電子密度を表現しており、全ての原子軌道の考慮が必要な結合次数の判定に用いることは適切でない。   However, in the conventional method described above, it is necessary to perform molecular orbital calculation in advance, and a large amount of calculation is required only for displaying the structure. The number 1 shown in paragraph 0018 of Patent Document 1 as a criterion for determining the bond order actually expresses the electron density related to two atomic orbitals, and is the bond order that needs to consider all atomic orbitals. It is not appropriate to use for judgment.

従って、各原子に設定されている原子軌道数と電子数を考慮した手法ではないため、各原子間結合に対して結合次数を適切に判定することができない、また、高分子であってもユーザに負担をかけることなく分子を設計することができない等の問題があった。   Therefore, it is not a method that takes into account the number of atomic orbitals and the number of electrons set for each atom, so the bond order cannot be properly determined for each interatomic bond. There was a problem that the molecule could not be designed without imposing a burden on.

開示の分子構造構築システムは、分子の原子配置に基づいて、配置された原子毎に電子数及び軌道数と結合後の末端状態を示す結合フラグとを対応させた原子データ構造と、原子間を結合する結合軸毎に結合次数を対応させた結合軸データ構造とを少なくとも有するデータ構造を記憶した記憶領域と、前記原子間を結合可能な距離閾値に従ってσ結合を行い、前記結合次数を1加算し、該σ結合された原子の電子数及び軌道数を1ずつ減算し、該減算によって末端原子になると前記結合フラグを更新するσ結合手段と、前記結合フラグを参照して、第一原子に前記σ結合される第二原子のうち、一の第二原子を残して他第二原子が末端である場合、該第一原子と該一の第二原子とにπ結合を行い、該電子数及び軌道数を1ずつ減算し、前記結合次数を1加算するπ結合手段と、を有するように構成される。   The disclosed molecular structure construction system is based on an atomic arrangement of molecules, an atomic data structure in which the number of electrons and orbitals and a bond flag indicating a terminal state after bonding are associated with each other, A storage area storing at least a data structure having a bond axis data structure in which a bond order is associated with each bond axis to be coupled, and a σ bond is performed according to a distance threshold that can bond the atoms, and the bond order is incremented by one. Subtracting the number of electrons and the number of orbits of the σ-bonded atom by one, σ-binding means for updating the bond flag when it becomes a terminal atom by the subtraction, and referring to the bond flag, Among the second atoms to be σ-bonded, when one second atom is left and the other second atom is a terminal, a π bond is made between the first atom and the one second atom, and the number of electrons And subtract the number of orbits one by one Π coupling means for adding 1 to a number.

上記手段を機能としてコンピュータが処理する方法、上記手段を機能としてコンピュータに実行させるためのプログラム、及び、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。   A method in which a computer processes the above means as a function, a program for causing a computer to execute the above means as a function, and a computer-readable storage medium storing the program can also be used.

開示の分子構造構築システムによって、分子の3次元構造構築に際し、構造に応じて原子間の結合次数を自動的に判断できるため、分子設計を容易に行うことができる。   The disclosed molecular structure construction system can automatically determine the bond order between atoms according to the structure when constructing a three-dimensional structure of the molecule, so that the molecular design can be easily performed.

分子構造構築システムのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a molecular structure construction system. 分子の3次元構造構築を説明するための図である。It is a figure for demonstrating the three-dimensional structure construction | assembly of a molecule | numerator. 分子の3次元構造構築処理の全体フローを示す図である。It is a figure which shows the whole flow of the three-dimensional structure construction process of a molecule | numerator. データ構造を示す図である。It is a figure which shows a data structure. データ構造の初期化処理を説明するためのフローチャート図である。It is a flowchart for demonstrating the initialization process of a data structure. 分子の3次元構造構築処理の詳細フローを示す図である。It is a figure which shows the detailed flow of the three-dimensional structure construction process of a molecule | numerator. 分子の3次元構造構築処理の詳細フローを示す図(続き)である。It is a figure (continuation) which shows the detailed flow of the three-dimensional structure construction process of a molecule | numerator. 分子の3次元構造構築処理の詳細フローを示す図(続き)である。It is a figure (continuation) which shows the detailed flow of the three-dimensional structure construction process of a molecule | numerator. 電子配置と結合結果の例を示す図である。It is a figure which shows the example of an electronic arrangement | positioning and a coupling | bonding result. C2H4(エチレン)の場合の状態遷移例を示す図である。It is a figure which shows the example of a state transition in the case of C2H4 (ethylene). C6H5CHO(ベンズアルデヒド)の場合の状態遷移例を示す図である。It is a figure which shows the example of a state transition in the case of C6H5CHO (benzaldehyde).

以下、本発明の実施の形態を図面に基づいて説明する。原子間結合に対して結合次数の自動判定を可能とする本実施例に係る分子の3次元構造構築処理を実行する分子構造構築システムは、図1に示されるようなハードウェア構成を成す。図1は、分子構造構築システムのハードウェア構成を示す図である。図1において、分子構造構築システム100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、出力ユニット14と、入力ユニット15と、通信ユニット16と、記憶装置17と、ドライバ18とを有し、システムバスBに接続される。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The molecular structure construction system for executing the molecular three-dimensional structure construction processing according to the present embodiment that enables automatic determination of the bond order with respect to the interatomic bond has a hardware configuration as shown in FIG. FIG. 1 is a diagram showing a hardware configuration of a molecular structure construction system. In FIG. 1, a molecular structure construction system 100 is a terminal controlled by a computer, and includes a CPU (Central Processing Unit) 11, a memory unit 12, a display unit 13, an output unit 14, an input unit 15, The communication unit 16, the storage device 17, and the driver 18 are included, and are connected to the system bus B.

CPU11は、メモリユニット12に格納されたプログラムに従って分子構造構築システム100を制御する。メモリユニット12には、RAM(Random Access Memory)及びROM(Read-Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。   The CPU 11 controls the molecular structure construction system 100 according to a program stored in the memory unit 12. The memory unit 12 uses a RAM (Random Access Memory), a ROM (Read-Only Memory), or the like, and is obtained by a program executed by the CPU 11, data necessary for processing by the CPU 11, and processing by the CPU 11. Stored data. A part of the memory unit 12 is allocated as a work area used for processing by the CPU 11.

表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。出力ユニット14は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット15は、マウス、キーボード等を有し、ユーザが分子構造構築システム100が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット16は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。記憶装置17には、例えば、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータを格納する。   The display unit 13 displays various information required under the control of the CPU 11. The output unit 14 has a printer or the like, and is used for outputting various types of information in accordance with instructions from the user. The input unit 15 includes a mouse, a keyboard, and the like, and is used by a user to input various information necessary for the molecular structure construction system 100 to perform processing. The communication unit 16 is a device that is connected to, for example, the Internet, a LAN (Local Area Network), and the like and controls communication with an external device. For example, a hard disk unit is used as the storage device 17 and stores data such as programs for executing various processes.

分子構造構築システム100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって分子構造構築システム100に提供される。即ち、プログラムが保存された記憶媒体19がドライバ18にセットされると、ドライバ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本実施例に係る処理を実現するプログラムは、通信ユニット16によってネットワークを介してダウンロードし、記憶装置17にインストールするようにしても良い。また、USB対応の分子構造構築システム100であれば、USB接続可能な外部記憶装置からインストールするようにしても良い。更に、SDカード等のフラッシュメモリ対応の分子構造構築システム100であれば、そのようなメモリカードからインストールするようにしても良い。   A program for realizing the processing performed by the molecular structure building system 100 is provided to the molecular structure building system 100 by a storage medium 19 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 19 storing the program is set in the driver 18, the driver 18 reads the program from the storage medium 19, and the read program is installed in the storage device 17 via the system bus B. . When the program is activated, the CPU 11 starts its processing according to the program installed in the storage device 17. The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. The program for realizing the processing according to the present embodiment may be downloaded via the network by the communication unit 16 and installed in the storage device 17. Further, in the case of the molecular structure construction system 100 compatible with USB, it may be installed from an external storage device that can be connected to USB. Further, in the case of the molecular structure construction system 100 corresponding to a flash memory such as an SD card, it may be installed from such a memory card.

先ず、3次元分子構造構築について概要を図2で説明する。図2は、分子の3次元構造構築を説明するための図である。分子構造構築システム100において、最初に、表示ユニット13に表示されたGUI上に、ユーザによって原子配置が行われる(ステップSI)。   First, an outline of the construction of a three-dimensional molecular structure will be described with reference to FIG. FIG. 2 is a diagram for explaining the construction of a three-dimensional structure of a molecule. In the molecular structure construction system 100, first, atomic arrangement is performed by the user on the GUI displayed on the display unit 13 (step SI).

表示ユニット13のスクリーン上に作業用のメインウィンドウを持ち、メインウィンドウに表示される3次元分子構造の原子アイテムを、マウスなどのポインティングデバイスのクリックやドラッグアンドドロップかキーボード操作によって選択し、さらにメインウィンドウ上の3次元分子構造に対するマウスなどのポインティングデバイスのドラッグアンドドロップ、またはメインウィンドウのコマンドメニューに対するポインティングデバイスやキーボードでの選択、メインウィンドウ上のコマンドエリアに対するポインティングデバイスのドラッグアンドドロップ、もしくはキーボードによるファイルなどの入力により、ユーザによる原子配置、また、以降必要に応じてこのようにユーザによる操作が行われる。   It has a main window for work on the screen of the display unit 13, and the atom item of the three-dimensional molecular structure displayed in the main window is selected by clicking with a pointing device such as a mouse, drag and drop, or keyboard operation. Dragging and dropping a pointing device such as a mouse to the 3D molecular structure on the window, selecting with the pointing device or keyboard for the command menu of the main window, dragging and dropping the pointing device to the command area on the main window, or with the keyboard By the input of a file or the like, the atomic arrangement by the user is performed, and thereafter, the operation by the user is performed as necessary.

次に、CPU11が、ユーザによって成された原子配置に係る情報に基づいて、距離がしき値以下となる原子間に結合軸を設定して(ステップSII)、軌道数及び電子数に基づいて結合次数を設定し、結合次数を示した分子構造を表示ユニットに表示させる(ステップSIII)。   Next, the CPU 11 sets a bond axis between atoms whose distance is equal to or less than a threshold value based on information on the atomic arrangement made by the user (step SII), and bonds based on the number of orbits and the number of electrons. The order is set, and the molecular structure indicating the bond order is displayed on the display unit (step SIII).

CPU11によって実行されるステップSII及びSIIIに係る分子の3次元構造構築処理は、図3に示す手順で行われる。図3は、分子の3次元構造構築処理の全体フローを示す図である。   The three-dimensional structure construction process of molecules according to steps SII and SIII executed by the CPU 11 is performed according to the procedure shown in FIG. FIG. 3 is a diagram showing an overall flow of a process for constructing a three-dimensional structure of molecules.

図3において、CPU11は、ユーザによって成された原子配置に係る情報に基づいて、後述される図4に示すデータ構造30に値を設定し(ステップS1)、また、原子座標を読み込む(ステップS2)。   In FIG. 3, the CPU 11 sets a value in a data structure 30 shown in FIG. 4 (to be described later) based on the information related to the atomic arrangement made by the user (step S1), and reads atomic coordinates (step S2). ).

次に、CPU11は、距離がしきい値以下の原子間毎に結合軸を設定する(ステップS3)。CPU11は、データ構造30において、距離がしきい値以下となる原子対の原子毎に、結合軸に係る情報を設定する。   Next, the CPU 11 sets a bond axis for each atom whose distance is equal to or less than a threshold value (step S3). In the data structure 30, the CPU 11 sets information related to the bond axis for each atom of the atom pair whose distance is equal to or less than the threshold value.

そして、CPU11は、軸端原子対の1軌道1電子ずつをσ結合に設定する(ステップS4)。CPU11は、データ構造30において、ステップS2で特定した原子対の原子毎に、σ結合に係る情報を設定する。   Then, the CPU 11 sets σ bond for each one orbit and one electron of the axial end atom pair (step S4). In the data structure 30, the CPU 11 sets information related to the σ bond for each atom of the atom pair specified in step S2.

また、CPU11は、軸端原子の1軌道2電子を孤立電子対に設定する(ステップS5)。CPU11は、データ構造30において、原子対の原子毎に、孤立電子対に係る情報を設定する。   Further, the CPU 11 sets one orbital and two electrons of the axis end atom as a lone electron pair (step S5). In the data structure 30, the CPU 11 sets information related to the lone electron pair for each atom of the atom pair.

更に、CPU11は、軸端原子対の1軌道1電子ずつをπ結合に設定する(ステップS6)。CPU11は、データ構造30において、原子対の原子毎に、π結合に係る情報を設定する。   Furthermore, the CPU 11 sets π bond for each one orbit and one electron of the axial end atom pair (step S6). In the data structure 30, the CPU 11 sets information related to the π bond for each atom of the atom pair.

そして、CPU11は、電子数と軌道数の残りから原子電荷を設定する(ステップS7)。CPU11は、データ構造30において、原子対の原子毎に、原子電荷に係る情報を設定する。   Then, the CPU 11 sets atomic charges from the number of electrons and the remaining number of orbitals (step S7). In the data structure 30, the CPU 11 sets information related to atomic charges for each atom of the atom pair.

原子電荷を設定した後、CPU11は、原子対間の全結合数を軸の結合次数に設定する(ステップS8)。CPU11は、データ構造30において、結合軸毎に、結合次数係る情報を設定する。そして、CPU11は、この処理を終了する。   After setting the atomic charges, the CPU 11 sets the total number of bonds between the atom pairs as the bond order of the axis (step S8). In the data structure 30, the CPU 11 sets information related to the bond order for each bond axis. Then, the CPU 11 ends this process.

次に、分子の3次元構造構築処理にて使用されるデータ構造30について図4で説明する。図4は、データ構造を示す図である。図4に示すデータ構造30は、メモリユニット12又は記憶装置17の記憶領域(以下、単に記憶領域と言う)に展開され、分子の3次元構造構築処理にて情報を格納することによって設定し、又は、格納された情報を参照するためのデータ構造である。   Next, the data structure 30 used in the three-dimensional structure construction process of molecules will be described with reference to FIG. FIG. 4 is a diagram showing a data structure. The data structure 30 shown in FIG. 4 is set in a storage area of the memory unit 12 or the storage device 17 (hereinafter simply referred to as a storage area) and set by storing information in the three-dimensional structure construction process of the molecule. Or, it is a data structure for referring to stored information.

データ構造30は、ヘッダ31と、分子データ32と、元素データ33とを有する。また、分子データ32は、更に、分子メイン32mと、原子データ32aと、結合軸データ32bとを有する。   The data structure 30 includes a header 31, molecular data 32, and element data 33. The molecular data 32 further includes a molecular main 32m, atomic data 32a, and bond axis data 32b.

ヘッダ31は、分子データポインタ(M)と、元素データポインタ(El)と、イベントデータポインタ(E)とによるデータ構造を有する。分子データポインタ(M)は、分子データ32が格納されている先頭アドレスを示すポインタであり、元素データポインタ(El)は、元素データ33が格納されている先頭アドレスを示すポインタであり、イベントデータポインタ(E)は、イベントデータが格納されている先頭アドレスを示すポインタである。   The header 31 has a data structure including a molecular data pointer (M), an element data pointer (El), and an event data pointer (E). The molecular data pointer (M) is a pointer indicating the head address where the molecular data 32 is stored, and the element data pointer (El) is a pointer indicating the head address where the element data 33 is stored, and the event data The pointer (E) is a pointer indicating a head address where event data is stored.

分子データ32に関して、分子メイン32mは、原子データポインタ(A)と、結合軸データポインタ(B)と、原子数(n)と、結合軸数(nb)とによるデータ構造を有する。原子データポインタ(A)は、原子データ32aが格納されている先頭アドレスを示すポインタであり、結合軸データポインタ(B)は、結合軸データ32bが格納されている先頭アドレスを示すポインタである。分子データ32のデータ構造を、分子データ構造Mとする。   Regarding the molecular data 32, the molecular main 32m has a data structure of an atomic data pointer (A), a bond axis data pointer (B), the number of atoms (n), and the number of bond axes (nb). The atomic data pointer (A) is a pointer indicating the head address where the atomic data 32a is stored, and the bond axis data pointer (B) is a pointer indicating the head address where the bond axis data 32b is stored. The data structure of the molecular data 32 is a molecular data structure M.

また、原子数(n)は、この分子データ32で管理される原子の個数、つまり、ユーザがGUI上に配置した原子の個数であり、また、原子データ32aの数に相当する。結合軸数(nb)は、この分子データ32で管理される結合軸の個数、つまり、分子の3次元構造構築処理で自動的に設定した結合軸の個数であり、結合軸データ32bの数に相当する。   The number of atoms (n) is the number of atoms managed by the molecular data 32, that is, the number of atoms arranged on the GUI by the user, and corresponds to the number of atomic data 32a. The number of bond axes (nb) is the number of bond axes managed by the molecular data 32, that is, the number of bond axes automatically set by the three-dimensional structure construction process of the molecule. Equivalent to.

原子データ32aは、原子順序番号(a)と、原子元素番号(N)と、位置座標(c)と、電子数(n)と、軌道数(m)と、結合フラグ(bf)と、含有結合軸数(nb)と、含有結合軸番号(b)と、原子電荷(q)とによるデータ構造を有する。原子データ32aのデータ構造を、原子データ構造Aとする。   Atomic data 32a includes atomic order number (a), atomic element number (N), position coordinate (c), number of electrons (n), number of orbits (m), bond flag (bf), It has a data structure with the number of bond axes (nb), the included bond axis number (b), and the atomic charge (q). The data structure of the atomic data 32a is referred to as an atomic data structure A.

結合フラグ(bf)は、結合軸を設定可能かどうかという状態を表すフラグである。例えば、結合フラグ(bf)の初期値をFとし、軌道数(m)と電子数(n)とがゼロであれが「F」、また、軌道数(m)か含有結合軸数(nb)がゼロでなく、含有結合軸番号(b)に関与する他の原子jについて結合フラグ(bf)が「F」となる結合が1つ、残りの結合はすべて「T」の場合には値を「C」とする。処理の過程において、他の原子jについて結合フラグ(bf)が「C」となる結合が1つ、残りの結合はすべて「T」の場合にも値を「C」とする。   The combination flag (bf) is a flag that represents a state indicating whether or not a combination axis can be set. For example, when the initial value of the bond flag (bf) is F, the number of orbitals (m) and the number of electrons (n) is “F” if the number is zero, or the number of orbitals (m) or the number of contained bond axes (nb). Is not zero, and there is one bond whose bond flag (bf) is “F” for the other atoms j involved in the contained bond axis number (b), and the remaining bonds are all “T”. “C”. In the course of processing, the value of “C” is set even when one bond whose bond flag (bf) is “C” for another atom j and all the remaining bonds are “T”.

結合軸データ32bは、結合軸順序番号(b)と、ベクトル(v)と、結合次数(bt)と、両端原子番号(a)とによるデータ構造を有する。結合軸データ32bのデータ構造を、結合軸データ構造Bとする。   The bond axis data 32b has a data structure with a bond axis sequence number (b), a vector (v), a bond order (bt), and both-end atomic numbers (a). The data structure of the bond axis data 32b is referred to as a bond axis data structure B.

元素データ33は、基準電子数設定(n0)と、基準軌道数設定(m0)と、結合半径(r)とによるデータ構造を元素毎に有する。元素データ33のデータ構造を、元素データ構造Elとする。   The element data 33 has a data structure for each element according to the reference electron number setting (n0), the reference orbital number setting (m0), and the bond radius (r). The data structure of the element data 33 is defined as an element data structure El.

図4のデータ構造30において、例えば、ある原子の原子データAの結合フラグbfは、「A−>bf」というポインタで表現できる。また、例えば、元素データ33について、各元素(iと表現する)について少なくともEl[i]−>r、El[i]−>n0、El[i]−>m0という要素を持つと表現できる。   In the data structure 30 of FIG. 4, for example, the bond flag bf of the atom data A of an atom can be expressed by a pointer “A-> bf”. For example, the element data 33 can be expressed as having at least elements El [i]-> r, El [i]-> n0, and El [i]-> m0 for each element (represented as i).

原子データ構造Aについて、原子順序番号A−>aは内部座標における識別番号である。原子元素番号A−>Nは元素記号もしくは元素の原子番号である。含有結合軸数A−>nbは原子が有する他原子との結合軸数である。A−>nbの値は、入力構造から原子半径El−>rを元に、原子対を成していると推定される結合軸の数を表す。結合軸識別番号A−>b[nb]は、結合軸数に含まれる各結合軸の含有結合軸番号bの集合データである。   For atomic data structure A, atomic sequence number A-> a is an identification number in internal coordinates. Atomic element number A-> N is an element symbol or an atomic number of an element. The number of contained bond axes A-> nb is the number of bond axes with other atoms of the atom. The value of A-> nb represents the number of bond axes presumed to form an atomic pair based on the atomic radius El-> r from the input structure. The bond axis identification number A-> b [nb] is set data of the included bond axis number b of each bond axis included in the number of bond axes.

位置座標A−>c[3]は原子の3次元座標の各成分である。電子数A−>nは図3の処理動作によって初期値El−>n0から0にまで変動し得る。軌道数A−>mは図3の処理動作によって初期値El−>m0から0にまで変動し得る。   The position coordinate A-> c [3] is each component of the three-dimensional coordinates of the atom. The number of electrons A-> n can vary from the initial value El-> n0 to 0 by the processing operation of FIG. The number of trajectories A-> m can vary from the initial value El-> m0 to 0 by the processing operation of FIG.

結合フラグA−>bfは、結合軸を設定可能かどうかという状態を表すフラグである。設定例としてはA−>bfの初期値をFとし、A−>mとA−>nがゼロであればT、またA−>mかA−>nbがゼロでなく、A−>bに関与する他の原子jについてA[j]−>bfがFとなる結合が1つ、残りの結合はすべてTの場合には、値をCとする。またA−>qは原子上の電荷を表す。   The combination flag A-> bf is a flag indicating a state of whether or not the combination axis can be set. As an example of setting, if the initial value of A-> bf is F and A-> m and A-> n are zero, then T, and A-> m or A-> nb is not zero, A-> b For another atom j involved in A, if there is one bond where A [j]-> bf is F and all the remaining bonds are T, the value is C. A-> q represents the charge on the atom.

結合軸データ構造Bについて、結合軸順序番号B−>bは全ての結合軸を1対1対応させるために必要な識別番号である。両端原子番号B−>a[2]は、結合軸の両末端に存在する原子順序番号A−>aの部分集合データである。結合次数B−>btについて、初期値は0であり、図3の処理動作によって適切な結合次数へと変動する。ベクトルB−>vについては、結合軸を3次元ベクトルと1対1に対応させたものである。   With respect to the bond axis data structure B, the bond axis sequence number B-> b is an identification number necessary for making all the bond axes have a one-to-one correspondence. Both-end atomic number B-> a [2] is a subset data of atomic order number A-> a existing at both ends of the bond axis. With respect to the bond order B-> bt, the initial value is 0, and changes to an appropriate bond order by the processing operation of FIG. The vector B-> v is a one-to-one correspondence between the coupling axis and the three-dimensional vector.

元素データ構造Elの各要素は、結合半径El−>r、基準電子数El−>n0、基準軌道数El−>m0と表される。   Each element of the element data structure El is expressed as a bond radius El-> r, a reference electron number El-> n0, and a reference orbital number El-> m0.

図5は、データ構造の初期化処理を説明するためのフローチャート図である。図5において、CPU11は、分子データ構造M及び元素データ構造Elを構築する(ステップS11)。   FIG. 5 is a flowchart for explaining the data structure initialization processing. In FIG. 5, the CPU 11 constructs a molecular data structure M and an element data structure El (step S11).

元素データ構造Elについて、例えば、原子番号1の水素から92のウランまで設定する場合には、元素データ構造ElについてEl[1:92]に必要な記憶領域を確保する。原子半径と基準電子数、基準軌道数については各元素に適切な値を設定する。例えば、原子半径El−>rは各元素のファンデアワールス半径とし、電子数El−>n0と軌道数El−>m0は最外殻の数値とする。この場合、水素原子についてはEl[1]−>n0=1、El[1]−>m0=1であり、炭素原子についてはEl[6]−>n0=4、El[6]−>m0=4、酸素原子についてはEl[8]−>n0=6、El[8]−>m0=4となる。   For example, when the element data structure El is set from hydrogen of atomic number 1 to uranium of 92, a storage area necessary for El [1:92] is secured for the element data structure El. Appropriate values are set for each element for the atomic radius, the number of reference electrons, and the number of reference orbitals. For example, the atomic radius El-> r is the van der Waals radius of each element, and the electron number El-> n0 and the orbital number El-> m0 are numerical values of the outermost shell. In this case, El [1]-> n0 = 1 and El [1]-> m0 = 1 for the hydrogen atom, and El [6]-> n0 = 4, El [6]-> m0 for the carbon atom. = 4, and for oxygen atoms, El [8]-> n0 = 6 and El [8]-> m0 = 4.

分子データ構造Mについて、原子データ構造AへのポインタM−>A、及び結合軸データ構造BへのポインタM−>Bに必要な記憶領域を確保し、更に、全原子数M−>nと全結合軸数M−>nb用の記憶領域を確保する。よって、分子メイン32mの記憶領域が確保される。なお支障がなければポインタM−>A、及びM−>Bを設定しなくても良い。   For the molecular data structure M, a storage area necessary for the pointer M-> A to the atomic data structure A and the pointer M-> B to the bond axis data structure B is secured, and the total number of atoms M-> n A storage area for the total number of coupled axes M-> nb is secured. Therefore, a storage area for the molecular main 32m is secured. If there is no problem, the pointers M-> A and M-> B may not be set.

次に、CPU11は、原子の位置座標を入力し(ステップS12)、入力した原子の位置座標の個数に基づいて、原子数nを原子数M−>nに設定する(ステップS13)。そして、CPU11は、原子数n分の原子データ構造M−>A[1:M−>n]の記憶領域を確保する(ステップS14)。   Next, the CPU 11 inputs the position coordinates of the atoms (step S12), and sets the number of atoms n to the number of atoms M-> n based on the number of input position coordinates of the atoms (step S13). Then, the CPU 11 secures a storage area of the atomic data structure M-> A [1: M-> n] for n atoms (step S14).

CPU11は、原子を順番に指定する原子順番変数i(以下、単に原子iと言う)をゼロに、また、含有結合軸数A−>nbをゼロに初期化する(ステップS15)。CPU11は、原子iを1増やして次の原子を指定し、原子iの結合対象となる原子jを原子iとし(ステップS16)、更に、結合対象の原子jを1増やしておく(ステップS17)。   The CPU 11 initializes an atom order variable i (hereinafter simply referred to as atom i) for designating atoms in order to zero, and the number of contained bond axes A-> nb to zero (step S15). The CPU 11 increases the atom i by 1 and designates the next atom, sets the atom j to be bonded to the atom i as the atom i (step S16), and further increases the atom j to be bonded by 1 (step S17). .

そして、CPU11は、原子iと原子jの距離が夫々の結合半径rから定まる閾値より小さいか否かを判断する(ステップS18)。閾値以上の場合、CPU11は、原子jを原子iの結合対象とせずにステップS17へ戻り、上述同様の処理を繰り返す。一方、閾値より小さい場合、CPU11は、結合軸数M−>nbを1増やす。   Then, the CPU 11 determines whether or not the distance between the atom i and the atom j is smaller than a threshold value determined from each bond radius r (step S18). If it is equal to or greater than the threshold value, the CPU 11 returns to step S17 without setting the atom j as the bonding target of the atom i and repeats the same processing as described above. On the other hand, when it is smaller than the threshold, the CPU 11 increases the number of coupled axes M-> nb by 1.

そして、CPU11は、原子iに対する結合対象の原子jとして原子数M−>n分の処理を終了したか否かを判断する(ステップS20)。原子iに対する結合対象の原子j全てに対して処理を終了していない場合、CPU11は、ステップS14へ戻り、上述同様の処理を繰り返す。   Then, the CPU 11 determines whether or not the process for the number of atoms M → n has been completed as the atom j to be bonded to the atom i (step S20). If the process has not been completed for all the atoms j to be bonded to the atom i, the CPU 11 returns to step S14 and repeats the same process as described above.

一方、原子iに対する結合対象の原子j全てに対して処理を終了した場合、CPU11は、原子数M−>nから1減算した個数分の原子i全てに対して処理を終了したか否かを更に判断する(ステップS21)。原子i全てに対して処理を終了していない場合、CPU11は、ステップS13へ戻り、上述同様の処理を繰り返す。   On the other hand, when the process is completed for all atoms j to be bonded to the atom i, the CPU 11 determines whether or not the process has been completed for all the atoms i for the number obtained by subtracting 1 from the number of atoms M-> n. Further determination is made (step S21). If the process has not been completed for all atoms i, the CPU 11 returns to step S13 and repeats the same process as described above.

一方、原子i全てに対して処理を終了した場合、含有結合軸数が決定したことになるため、CPU11は、含有結合軸数nb分の結合軸データ構造M−>B[1:M−>nb]の記憶領域を確保して(ステップS22)、このデータ構造の初期化処理を終了する。   On the other hand, when the process is completed for all the atoms i, the number of contained bond axes is determined. Therefore, the CPU 11 determines the bond axis data structure M-> B [1: M-> for the number of contained bond axes nb. nb] is secured (step S22), and the initialization process of the data structure is terminated.

つまり、原子データ構造Aと結合軸データ構造B用の記憶領域に関しては、与えられた原子とその座標情報を元に生成される。先ず、原子データ構造Aに関しては原子数をM−>nに設定後、原子数分の原子データ構造A[1:M−>n]の記憶領域を確保する。次に、結合軸データ構造Bに関しては、原子の位置座標をA−>cに設定後、原子iと原子j間の距離を計算し、その距離が、原子iの結合半径El[A[i]−>N]−>rと原子jの結合半径El[A[j]−>N]−>rから定まる閾値よりも小さい場合に結合軸を持つとしてM−>nbの値を1増やす。この処理を全2原子間について実行することで、全結合軸数M−>nbが決まり、結合軸数分の結合軸データ構造B[1:M−>nb]の記憶領域を確保する。   That is, the storage areas for the atomic data structure A and the bond axis data structure B are generated based on the given atoms and their coordinate information. First, regarding the atomic data structure A, after setting the number of atoms to M-> n, the storage area of the atomic data structure A [1: M-> n] is secured for the number of atoms. Next, regarding the bond axis data structure B, after setting the position coordinates of the atoms to A-> c, the distance between the atoms i and j is calculated, and the distance is the bond radius El [A [i [ ]-> N]-> r and the bond radius El [A [j]-> N]-> r is smaller than the threshold determined from the bond radius El [A [j]-> N]-> r, the value of M-> nb is incremented by 1 assuming that the bond axis is present. By executing this process for all two atoms, the total number of bond axes M-> nb is determined, and a storage area of bond axis data structure B [1: M-> nb] corresponding to the number of bond axes is secured.

次に、分子の3次元構造構築処理の詳細フローについて図6から図8で説明する。図6、図7、及び図8は、分子の3次元構造構築処理の詳細フローを示す図である。図6から図8で、CPU11によって行われる結合次数設定に係る一連の処理が示される。   Next, a detailed flow of the molecular three-dimensional structure construction processing will be described with reference to FIGS. 6, 7, and 8 are diagrams illustrating a detailed flow of the molecular three-dimensional structure construction process. 6 to 8 show a series of processes related to the combination order setting performed by the CPU 11.

(初期データ設定及びσ結合の設定)
先ず、ステップS31からステップS56における処理の概要を説明する。原子データの設定について、原子iの順序番号A[i]−>aには入力した順番号を設定する。原子番号A[i]−>Nには入力原子の原子番号を、座標A[i]−>cには入力原子のCartesian座標を設定する。また初期電子数にはA[i]−>n=E[A[i]−>N]−>n0を、初期軌道数にはA[i]−>m=El[A[i]−>N]−>m0を設定する。初期電荷についてはA[i]−>q=0とし、初期結合フラグについてはA[i]−>bf=Fとする。含有結合軸数および含有結合軸番号については、結合軸データBの初期設定と同時に設定する。
(Initial data setting and σ coupling setting)
First, the outline of the processing from step S31 to step S56 will be described. Regarding the setting of atomic data, the input order number is set in the order number A [i]-> a of the atom i. The atomic number of the input atom is set to the atomic number A [i]-> N, and the Cartesian coordinate of the input atom is set to the coordinate A [i]-> c. The initial number of electrons is A [i]-> n = E [A [i]->N]-> n0, and the initial number of orbits is A [i]-> m = El [A [i]->. N]-> m0 is set. The initial charge is A [i]-> q = 0, and the initial coupling flag is A [i]-> bf = F. The number of contained bond axes and the contained bond axis number are set simultaneously with the initial setting of the bond axis data B.

結合軸データについては、原子iと原子jの距離が閾値以下と判定した原子間について、判定した順序で設定する。例えば結合軸がそれまでにk−1個設定されている場合に、原子iと原子jの距離が閾値以下と判定された場合には、ij間の結合軸をB[k]として設定する。ここでB[k]−>b=k、B[k]−>a[1]=i、B[k]−>a[2]=jと設定し、その他にA[i]−>nb=A[i]−>nb+1、A[j]−>nb=A[j]−>nb+1、A[i]−>b[nb]=k、A[j]−>b[nb]=kと設定する。   The bond axis data is set in the determined order between the atoms determined that the distance between the atoms i and j is equal to or less than the threshold. For example, when k−1 bond axes have been set up to that point and the distance between atom i and atom j is determined to be equal to or less than the threshold, the bond axis between ij is set as B [k]. Here, B [k]-> b = k, B [k]-> a [1] = i, B [k]-> a [2] = j, and A [i]-> nb are set. = A [i]-> nb + 1, A [j]-> nb = A [j]-> nb + 1, A [i]-> b [nb] = k, A [j]-> b [nb] = k And set.

結合軸の設定はσ結合の設定と同値と考え、原子iとjの軌道数と電子数を1ずつ減らし、結合軸kの結合次数を1増やす。具体的にはA[i]−>m=A[i]−>m−>1、A[j]−>m=A[j]−>m−1、A[i]−>n=A[i]−>n−>1、A[j]−>n=A[j]−>n−1、B[k]−>bt=1と設定する。設定後に原子iの電子数か軌道数が0になった場合には、A[i]−>bf=Tと設定する。また電子数も軌道数も0でなく、結合軸B[A[i]−>b]−>aに関与する他の原子A[B[A[i]−>b]−>a[1,2]]−>bfが「F」となるものが1つ、残りはすべて「T」の場合には、値を「C」に設定する。   The setting of the bond axis is considered to be the same value as the setting of σ bond, and the number of orbitals and the number of electrons of atoms i and j are decreased by 1, and the bond order of bond axis k is increased by 1. Specifically, A [i]-> m = A [i]-> m-> 1, A [j]-> m = A [j]-> m-1, A [i]-> n = A [I]-> n-> 1, A [j]-> n = A [j]-> n-1, B [k]-> bt = 1. If the number of electrons or orbits of atom i becomes 0 after setting, A [i]-> bf = T is set. In addition, the number of electrons and orbitals is not 0, and other atoms A [B [A [i]-> b]-> a [1, which are involved in the bond axis B [A [i]-> b]-> a 2]]-> If bf is “F” and one is all “T”, the value is set to “C”.

以下にステップ毎に詳述する。CPU11は、データ構造M、El、A、及びBを構築し(ステップS31)、原子の位置座標を読み込む(ステップS32)。そして、CPU11は、原子データ構造A[11:M−>n]に、配置された原子を所定順序番号に従って、各原子に関する値を含有結合軸番号A−>bを除いて設定する(ステップS33)。   The details will be described below step by step. The CPU 11 constructs the data structures M, El, A, and B (step S31), and reads the position coordinates of the atoms (step S32). Then, the CPU 11 sets a value related to each atom in the atomic data structure A [11: M-> n] according to a predetermined sequence number, excluding the contained bond axis number A-> b (step S33). ).

CPU11は、原子を順番に指定する原子順番変数i(以下、単に原子iと言う)をゼロに、また、結合軸を順番に指定する軸順番変数k(以下、単に結合軸kと言う)をゼロに初期化する(ステップS34)。CPU11は、原子iを1増やして次の原子を指定し、原子iの結合対象となる原子jを原子iとし(ステップS35)、更に、結合対象の原子jを1増やしておく(ステップS36)。   The CPU 11 sets an atom order variable i (hereinafter simply referred to as atom i) for sequentially specifying atoms to zero, and an axis order variable k (hereinafter simply referred to as bond axis k) for sequentially specifying a bond axis. It is initialized to zero (step S34). The CPU 11 increments the atom i by 1 and designates the next atom, sets the atom j to be bonded to the atom i as the atom i (step S35), and further increases the atom j to be bonded by 1 (step S36). .

そして、CPU11は、原子iと原子jの距離が夫々の結合半径rから定まる閾値より小さいか否かを判断する(ステップS37)。閾値以上の場合、CPU11は、原子jを原子iの結合対象とせずにステップS36へ戻り、上述同様の処理を繰り返す。一方、閾値より小さい場合、CPU11は、原子データ構造Aにおける、原子iと原子j間の軌道数m及び電子数nを1減算し(ステップS38)、原子iと原子j間の含有結合軸数nbを1増やす(ステップS39)。   Then, the CPU 11 determines whether or not the distance between the atom i and the atom j is smaller than a threshold value determined from each bond radius r (step S37). If it is equal to or greater than the threshold value, the CPU 11 returns to step S36 without setting the atom j as the bonding target of the atom i, and repeats the same processing as described above. On the other hand, if it is smaller than the threshold value, the CPU 11 subtracts 1 from the orbital number m and the electron number n between the atom i and atom j in the atomic data structure A (step S38), and the number of contained bond axes between the atom i and atom j. nb is increased by 1 (step S39).

次に、CPU11は、結合軸kに1を加算して次の結合軸を指定する(ステップS40)。そして、CPU11は、結合軸kの結合次数B[k]−>btに1を設定し、原子iの含有結合軸番号A[i]−>b及び原子jの含有結合軸番号A[j]−>bに結合軸kを追加する(ステップS41)。   Next, the CPU 11 adds 1 to the coupling axis k and designates the next coupling axis (step S40). Then, the CPU 11 sets 1 to the bond order B [k]-> bt of the bond axis k, the contained bond axis number A [i]-> b of the atom i, and the contained bond axis number A [j] of the atom j. The coupling axis k is added to-> b (step S41).

CPU11は、原子iに対する結合対象の原子jとして原子数M−>n分の処理を終了したか否かを判断する(ステップS42)。原子iに対する結合対象の原子j全てに対して処理を終了していない場合、CPU11は、ステップS36へ戻り、上述同様の処理を繰り返す。   The CPU 11 determines whether or not the process for the number of atoms M → n is completed as the atom j to be bonded to the atom i (step S42). When the process has not been completed for all the atoms j to be bonded to the atom i, the CPU 11 returns to step S36 and repeats the same process as described above.

一方、原子iに対する結合対象の原子j全てに対して処理を終了した場合、CPU11は、原子数M−>nから1減算した個数分の全ての原子iに対して処理を終了したか否かを更に判断する(ステップS43)。全ての原子iに対して処理を終了していない場合、CPU11は、ステップS35へ戻り、上述同様の処理を繰り返す。   On the other hand, when the process is completed for all the atoms j to be bonded to the atom i, the CPU 11 determines whether or not the process has been completed for all the atoms i for the number obtained by subtracting 1 from the number of atoms M-> n. Is further determined (step S43). If the process has not been completed for all atoms i, the CPU 11 returns to step S35 and repeats the same process as described above.

一方、全ての原子iに対して処理を終了した場合、含有結合軸数が決定したことになり、σ結合を設定するための処理(図3のステップS4)を行うために、CPU11は、原子iをゼロに初期化した後(ステップS44)、1加算して原子iを設定する(ステップS45)。   On the other hand, when the process is completed for all the atoms i, the number of contained bond axes is determined, and the CPU 11 performs the process for setting the σ bond (step S4 in FIG. 3). After i is initialized to zero (step S44), 1 is added to set atom i (step S45).

CPU11は、原子データ構造Aにおいて、原子iの軌道数A[i]−>m又は電子数A[i]−>nの少なくとも一方がゼロであるか否かを判断する(ステップS46)。いずれもゼロでない場合、CPU11は、ステップS49へと進む。一方、少なくとも一方がゼロであるである場合、原子iの結合フラグA[i]−>bfを「T」に設定し(ステップS47)、原子iの結合フラグA[i]−>bfに「T」のみが設定されているか否かを判断する(ステップS48)。「T」以外を含む場合、CPU11は、ステップS43へと戻り、次の原子i+1について上述同様の処理を行う。   In the atomic data structure A, the CPU 11 determines whether or not at least one of the orbital number A [i]-> m or the electron number A [i]-> n of the atom i is zero (step S46). If neither is zero, the CPU 11 proceeds to step S49. On the other hand, if at least one is zero, the bond flag A [i]-> bf of the atom i is set to “T” (step S47), and the bond flag A [i]-> bf of the atom i is set to “ It is determined whether only “T” is set (step S48). If it includes other than “T”, the CPU 11 returns to step S43 and performs the same processing as described above for the next atom i + 1.

一方、ステップS48にて、原子iの結合フラグA[i]−>bfに「T」のみが設定されている場合は、CPU11は、原子iに対する結合対象の原子jをゼロに初期化し、原子iの含有結合軸数A−>nbを結合軸kに設定する(ステップS49)。   On the other hand, if only “T” is set in the bond flag A [i]-> bf of the atom i in step S48, the CPU 11 initializes the atom j to be bonded to the atom i to zero, The number of contained bond axes A-> nb of i is set as the bond axis k (step S49).

そして、CPU11は、jを1増加させた原子jを原子iに対する次の結合対象とする(ステップS50)。CPU11は、原子iの結合対象としての原子jの含有結合軸番号bによって特定される結合軸の両端原子番号aに関し、原子データ構造Aの結合フラグbfに「T」が含まれているか否かを判断する(ステップS51)。CPU11は、「T」が含まれていない場合、ステップS50へ戻り、次の結合対象について上述同様の処理を行う。   Then, the CPU 11 sets the atom j obtained by incrementing j by 1 as the next binding target for the atom i (step S50). The CPU 11 determines whether or not “T” is included in the bond flag bf of the atomic data structure A with respect to the atomic number “a” at both ends of the bond axis specified by the contained bond axis number “b” of the atom “j” as the bond target of the atom i. Is determined (step S51). If “T” is not included, the CPU 11 returns to step S50 and performs the same process as described above for the next combination target.

一方、ステップS51にて、原子データ構造Aの結合フラグbfに「T」が含まれていると判断した場合、CPU11は、結合軸kを1減算し(ステップS52)、原子jが原子iの含有結合軸数A−>nbに一致するか否かを判断することによって、全ての含有結合軸について処理を終了したか否かを判断する(ステップS53)。一致しない場合、CPU11は、ステップS50へ戻り、上述同様の処理を行う。   On the other hand, when it is determined in step S51 that the bond flag bf of the atomic data structure A includes “T”, the CPU 11 subtracts 1 from the bond axis k (step S52), and the atom j is the atom i. By determining whether or not the number of contained bond axes A-> nb is satisfied, it is determined whether or not the process has been completed for all the contained bond axes (step S53). If not, the CPU 11 returns to step S50 and performs the same process as described above.

一方、ステップS53にて、CPU11は、結合軸kが1であるか否かを判断する(ステップS54)。結合軸kが1でない場合、CPU11は、ステップS56へと進む。一方、結合軸kが1の場合、CPU11は、原子iの結合フラグA[i]−>bfに「C」を設定する(ステップS55)。そして、CPU11は、原子iが原子数M−>nに一致するか否かを判断することによって、全ての原子iについて処理を終了したか否かを判断する(ステップS56)。終了していない場合、CPU11は、ステップS45に戻り、上述同様の処理を行う。   On the other hand, in step S53, the CPU 11 determines whether or not the coupling axis k is 1 (step S54). When the coupling axis k is not 1, the CPU 11 proceeds to step S56. On the other hand, when the bond axis k is 1, the CPU 11 sets “C” in the bond flag A [i]-> bf of the atom i (step S55). Then, the CPU 11 determines whether or not the process has been completed for all the atoms i by determining whether or not the atom i matches the number of atoms M-> n (step S56). If not completed, the CPU 11 returns to step S45 and performs the same processing as described above.

(孤立電子対の設定)
先ず、ステップS57からステップS63における処理の概要を説明する。σ結合の設定が終了した後、原子iについて軌道数1に対し電子数が2確保できる場合には、A[i]−>m=A[i]−>m−1、A[i]−>n=A[i]−>n−2と設定する。この処理を繰り返し、もし軌道数か電子数が0になった場合にはA[i]−>bt=Tと設定する。
(Setting of lone pair)
First, an overview of the processing from step S57 to step S63 will be described. After the setting of the σ bond is completed, if the number of electrons for the atom i can be 2 for the number of orbits 1, A [i]-> m = A [i]-> m-1, A [i]- > N = A [i]-> n-2 is set. This process is repeated, and if the number of orbitals or the number of electrons becomes 0, A [i]-> bt = T is set.

以下にステップ毎に詳述する。全ての原子iに対して処理を終了した場合、軸端原子対の1軌道1電子ずつをσ結合に設定したことになり、軸端原子の1軌道2電子を孤立電子対に設定するための処理(図3のステップS5)を行うために、CPU11は、原子iをゼロに初期化した後(ステップS57)、1加算して原子iを設定する(ステップS58)。   The details will be described below step by step. When processing is completed for all atoms i, one orbital electron of the axis end atom pair is set to σ bond, and one orbital electron of the axis end atom is set to the lone electron pair. In order to perform the process (step S5 in FIG. 3), the CPU 11 initializes the atom i to zero (step S57) and adds 1 to set the atom i (step S58).

CPU11は、原子iの、軌道数A[i]−>m−1がゼロ以上、かつ、電子数A[i]−>n−2がゼロ以上であるか否かを判断することによって、軸端原子の1軌道2電子を孤立電子対が存在するか否かを判断する(ステップS59)。片方又は両方がゼロ以上でない場合、CPU11は、孤立電子対が存在しないと判断し、ステップS62へと進む。一方、両方がゼロ以上である場合、CPU11は、孤立電子対が存在すると判断し、原子iから1軌道2電子を減算する(ステップS60)。すなわち、原子iの軌道数A[i]−>mから1減算し、電子数A[i]−>nから2減算する。   The CPU 11 determines whether or not the orbital number A [i]-> m-1 of the atom i is zero or more and the electron number A [i]-> n-2 is zero or more. It is determined whether or not a lone electron pair exists for one orbital and two electrons of an end atom (step S59). If one or both are not greater than or equal to zero, the CPU 11 determines that no lone pair exists, and proceeds to step S62. On the other hand, if both are equal to or greater than zero, the CPU 11 determines that there is a lone pair, and subtracts one orbital two electrons from the atom i (step S60). That is, 1 is subtracted from the orbital number A [i]-> m of the atom i, and 2 is subtracted from the electron number A [i]-> n.

そして、CPU11は、原子iが原子数M−>nに一致するか否かを判断することによって、全ての原子iについて処理を終了したか否かを判断する(ステップS61)。終了していない場合、CPU11は、ステップS58に戻り、上述同様の処理を行う。全ての原子iに対して処理を終了した場合、CPU11は、原子iの軌道数A[i]−>mがゼロ、又は、電子数A[i]−>nがゼロであるか否かを判断する(ステップS62)。いずれもゼロでないと判断した場合、CPU11は、ステップS64へと進む。いずれか一方がゼロである場合、CPU11は、原子iの結合フラグA[i]−>bfに「T」を設定する(ステップS63)。   Then, the CPU 11 determines whether or not the process has been completed for all the atoms i by determining whether or not the atom i matches the number of atoms M-> n (step S61). If not completed, the CPU 11 returns to step S58 and performs the same processing as described above. When the process is completed for all the atoms i, the CPU 11 determines whether or not the orbital number A [i]-> m of the atom i is zero or the number of electrons A [i]-> n is zero. Judgment is made (step S62). If it is determined that neither is zero, the CPU 11 proceeds to step S64. If either one is zero, the CPU 11 sets “T” in the bond flag A [i]-> bf of the atom i (step S63).

(π結合の設定及び原子電荷の設定)
先ず、ステップS64からステップS114における処理の概要を説明する。孤立電子対用に軌道数と電子数を減らした後、結合軸iについて、結合両端原子B[i]−>a[1]、B[i]−>a[2]の結合フラグA[B[i]−>a[1]]−>bfまたはA[B[i]−>a[2]]−>bfが「C」か「F」であり、かつ両端原子の軌道数と電子数が0でないならばA[B[i]−>a[1]]−>m=A[B[i]−>a[1]]−>m−1、A[B[i]−>a[2]]−>m=A[B[i]−>a[2]]−>m−1、A[B[i]−>a[1]]−>n=A[B[i]−>a[1]]−>n−1、A[B[i]−>a[2]]−>n=A[B[i]−>a[2]]−>n−1と設定し、結合次数についてもB[i]−>bt=B[i]−>bt+1と設定する。各原子の軌道数と電子数が0になる場合にはその原子の結合フラグを「T」に設定する。もし結合両端原子の結合フラグに「C」が存在しない場合には、結合フラグが両方とも「F」の結合軸に関して、上記処理を実施する。
(Setting of π bond and setting of atomic charge)
First, an overview of the processing from step S64 to step S114 will be described. After reducing the number of orbitals and the number of electrons for the lone pair of electrons, the bond flag A [B] of the bond end-point atoms B [i]-> a [1] and B [i]-> a [2] for the bond axis i [I]-> a [1]]-> bf or A [B [i]-> a [2]]-> bf is "C" or "F", and the number of orbitals and the number of electrons of both-end atoms Is not 0, A [B [i]-> a [1]]-> m = A [B [i]-> a [1]]-> m-1, A [B [i]-> a [2]]-> m = A [B [i]-> a [2]]-> m-1, A [B [i]-> a [1]]-> n = A [B [i] -> A [1]]-> n-1, A [B [i]-> a [2]]-> n = A [B [i]-> a [2]]-> n-1 The bond order is also set as B [i]-> bt = B [i]-> bt + 1. When the number of orbits and the number of electrons of each atom becomes 0, the bond flag of that atom is set to “T”. If “C” does not exist in the bond flags of the bond end atoms, the above processing is performed for bond axes whose bond flags are both “F”.

その後、原子iの電子数も軌道数も0でなく、結合軸B[A[i]−>b]−>aに関与する他の原子A[B[A[i]−>b]−>a[1,2]]−>bfがFとなるものが1つ、残りはすべてTの場合には、値を「C」に設定する。これまでの処理を繰り返し、最終的に結合両端原子の結合フラグについて、「C」か「F」で構成される組が存在しなくなるまで処理を実施する。原子iについて電子数が0で軌道数が0でない場合、A[i]−>q=A[i]−>m、A[i]−>m=0、A[i]−>bf=Tと設定する。逆に軌道数が0で電子数が0でない場合、A[i]−>q=A[i]−>n*(−1)、A[i]−>n=0、A[i]−>bf=Tと設定する。軌道数と電子数のどちらも0でない場合には、どちらかが0になるまでそれぞれの値を減らし、その後で上記の電荷設定処理を実施する。   Thereafter, the number of electrons and orbitals of the atom i are not 0, and another atom A [B [A [i]-> b]-> involved in the bond axis B [A [i]-> b]-> a If a [1,2]]-> bf is one in which F is F and the rest are all T, the value is set to “C”. The processing so far is repeated, and the processing is finally performed until there is no set consisting of “C” or “F” for the bond flags of the bonding end atoms. When the number of electrons is 0 and the number of orbits is not 0 for atom i, A [i]-> q = A [i]-> m, A [i]-> m = 0, A [i]-> bf = T And set. Conversely, when the number of orbits is 0 and the number of electrons is not 0, A [i]-> q = A [i]-> n * (-1), A [i]-> n = 0, A [i]- Set> bf = T. When neither the number of orbits or the number of electrons is 0, the respective values are reduced until either becomes 0, and then the above charge setting process is performed.

以下にステップ毎に詳述する。全ての原子iについて軸端原子の1軌道2電子を孤立電子対として設定する処理を終了し、次に、軸端原子対の1軌道1電子ずつをπ結合に設定するための処理(図3のステップS6)を行うために、CPU11は、結合軸i及び変数lをゼロに初期化した後(ステップS64)、1加算して結合軸iを設定する(ステップS65)。CPU11は、結合軸iの両端原子番号aの各々に関し、原子データ構造Aの結合フラグbfに「C」及び「F」が在るか否かを判断する(ステップS66)。「C」及び「F」が在る場合、CPU11は、ステップS65へ戻り、次の結合軸i+1について上述同様の処理を行う。   The details will be described below step by step. The process of setting one orbital two electrons of the axis end atom as a lone pair is completed for all atoms i, and then the process for setting one electron per orbital of the axis end atom pair to π bond (FIG. 3). In step S6), the CPU 11 initializes the coupling axis i and the variable l to zero (step S64), and adds 1 to set the coupling axis i (step S65). The CPU 11 determines whether “C” and “F” are present in the bond flag bf of the atomic data structure A for each of the atomic numbers a at both ends of the bond axis i (step S66). If “C” and “F” are present, the CPU 11 returns to step S65 and performs the same processing as described above for the next coupled axis i + 1.

一方、「C」及び「F」がない場合、CPU11は、変数lに1を設定する(ステップS67)。CPU11は、結合軸iの両端原子の軌道数A[B[i]−>a[1,2]]−>m夫々から1ずつ減算し(ステップS68)、また、結合軸iの両端原子の軌道数A[B[i]−>a[1,2]]−>n夫々から1ずつ減算する(ステップS69)。そして、CPU11は、結合軸iの結合次数B[i]−>btを1加算する(ステップS70)。   On the other hand, if “C” and “F” are not present, the CPU 11 sets 1 to the variable l (step S67). The CPU 11 subtracts one from each of the number of orbitals A [B [i]-> a [1,2]]-> m of the atoms at both ends of the bond axis i (step S68). One is subtracted from each of the number of trajectories A [B [i]-> a [1,2]]-> n (step S69). Then, the CPU 11 adds 1 to the bond order B [i]-> bt of the bond axis i (step S70).

続けて、CPU11は、両端原子の一方の軌道数A[B[i]−>a[1]]−>m又は電子数A[B[i]−>a[1]]−>nがゼロか否かを判断する(ステップS71)。いずれもゼロでない場合、CPU11は、ステップS73へと進む。一方、いずれか一方がゼロの場合、CPU11は、その一方の原子の結合フラグA[B[i]−>a[1]]−>bfに「T」を設定する(ステップS72)。   Subsequently, the CPU 11 determines that one orbital number A [B [i]-> a [1]]-> m or the number of electrons A [B [i]-> a [1]]-> n of the atoms at both ends is zero. Whether or not (step S71). If neither is zero, the CPU 11 proceeds to step S73. On the other hand, if either one is zero, the CPU 11 sets “T” to the bond flag A [B [i]-> a [1]]-> bf of one atom (step S72).

更に、CPUは、両端原子の他方の軌道数A[B[i]−>a[2]]−>m又は電子数A[B[i]−>a[2]]−>nがゼロか否かを判断する(ステップS73)。いずれもゼロでない場合、CPU11は、ステップS75へと進む。一方、いずれか一方がゼロの場合、CPU11は、その他方の原子の結合フラグA[B[i]−>a[2]]−>bfに「T」を設定する(ステップS74)。   Further, the CPU determines that the number of other orbitals A [B [i]-> a [2]]-> m or the number of electrons A [B [i]-> a [2]]-> n is zero. It is determined whether or not (step S73). If neither is zero, the CPU 11 proceeds to step S75. On the other hand, if either one is zero, the CPU 11 sets “T” to the bond flag A [B [i]-> a [2]]-> bf of the other atom (step S74).

そして、CPU11は、両端原子夫々の結合フラグA[B[i]−>a[1,2]]−>bfに「T」が含まれているか否かを判断する(ステップS75)。「T」が含まれていない場合、CPU11は、ステップS68へ戻り、上述同様の処理を行う。一方、「T」が含まれている場合、CPU11は、全ての含有結合軸M−>nbについて処理を終了したか否かを判断する(ステップS76)。終了していない場合、CPU11は、ステップS66へ戻り、上述同様の処理を行う。一方、終了している場合、CPU11は、変数lがゼロであるか否かを判断する(ステップS77)。ゼロの場合、CPU11は、ステップS91へと進む。   Then, the CPU 11 determines whether or not “T” is included in the bond flags A [B [i]-> a [1,2]]-> bf of both end atoms (step S75). If “T” is not included, the CPU 11 returns to step S68 and performs the same processing as described above. On the other hand, when “T” is included, the CPU 11 determines whether or not the process has been completed for all the included bond axes M-> nb (step S76). If not completed, the CPU 11 returns to step S66 and performs the same processing as described above. On the other hand, if it has been completed, the CPU 11 determines whether or not the variable l is zero (step S77). If zero, the CPU 11 proceeds to step S91.

一方、ゼロでない場合、CPU11は、原子iをゼロに初期化して(ステップS78)、1加算して原子iを設定する(ステップS79)。   On the other hand, if not zero, the CPU 11 initializes the atom i to zero (step S78), and adds 1 to set the atom i (step S79).

CPU11は、原子iの原子データ構造Aにおいて、軌道数A[i]−>m又は電子数A[i]−>nの少なくとも一方がゼロであるか否かを判断する(ステップS80)。いずれもゼロでない場合、CPU11は、ステップS83へと進む。一方、少なくとも一方がゼロであるである場合、原子iの結合フラグA[i]−>bfを「T」に設定し(ステップS81)、原子iの結合フラグA[i]−>bfに「T」のみが設定されているか否かを判断する(ステップS82)。「T」以外を含む場合、CPU11は、ステップS79へと戻り、次の原子i+1について上述同様の処理を行う。   The CPU 11 determines whether at least one of the orbital number A [i]-> m or the electron number A [i]-> n is zero in the atomic data structure A of the atom i (step S80). If neither is zero, the CPU 11 proceeds to step S83. On the other hand, if at least one is zero, the bond flag A [i]-> bf of the atom i is set to “T” (step S81), and the bond flag A [i]-> bf of the atom i is set to “ It is determined whether only “T” is set (step S82). If it includes other than “T”, the CPU 11 returns to step S79 and performs the same process as described above for the next atom i + 1.

一方、ステップS82にて、原子iの結合フラグA[i]−>bfに「T」のみが設定されている場合は、CPU11は、原子iに対する結合対象の原子jをゼロに初期化し、原子iの含有結合軸数A−>nbを結合軸kに設定する(ステップS83)。   On the other hand, if only “T” is set in the bond flag A [i]-> bf of the atom i in step S82, the CPU 11 initializes the atom j to be bonded to the atom i to zero, The bond axis number A-> nb of i is set as the bond axis k (step S83).

そして、CPU11は、jを1増加させた原子jを原子iに対する次の結合対象とする(ステップS84)。CPU11は、原子iの結合対象としての原子jの含有結合軸番号bによって特定される結合軸の両端原子番号aに関し、原子データ構造Aの結合フラグbfに「T」が含まれているか否かを判断する(ステップS85)。CPU11は、「T」が含まれていない場合、ステップS84へ戻り、次の結合対象について上述同様の処理を行う。   Then, the CPU 11 sets the atom j obtained by incrementing j by 1 as the next binding target for the atom i (step S84). The CPU 11 determines whether or not “T” is included in the bond flag bf of the atomic data structure A with respect to the atomic number “a” at both ends of the bond axis specified by the contained bond axis number “b” of the atom “j” as the bond target of the atom i. Is determined (step S85). If “T” is not included, the CPU 11 returns to step S84 and performs the same processing as described above for the next combination target.

一方、ステップS85にて、原子データ構造Aの結合フラグbfに「T」が含まれていると判断した場合、CPU11は、結合軸kを1減算し(ステップS86)、原子jが原子iの含有結合軸数A−>nbに一致するか否かを判断することによって、全ての含有結合軸について処理を終了したか否かを判断する(ステップS87)。一致しない場合、CPU11は、ステップS84へ戻り、上述同様の処理を行う。   On the other hand, if it is determined in step S85 that the bond flag bf of the atomic data structure A includes “T”, the CPU 11 subtracts 1 from the bond axis k (step S86), and the atom j is the atom i. By judging whether or not the number of contained bond axes A-> nb is satisfied, it is judged whether or not the processing has been completed for all contained bond axes (step S87). If not, the CPU 11 returns to step S84 and performs the same process as described above.

一方、ステップS87にて、CPU11は、結合軸kが1であるか否かを判断する(ステップS88)。結合軸kが1でない場合、CPU11は、ステップS90へと進む。一方、結合軸kが1の場合、CPU11は、原子iの結合フラグA[i]−>bfに「C」を設定する(ステップS89)。そして、CPU11は、原子iが原子数M−>nに一致するか否かを判断することによって、全ての原子iについて処理を終了したか否かを判断する(ステップS90)。終了していない場合、CPU11は、ステップS79に戻り、上述同様の処理を行う。   On the other hand, in step S87, the CPU 11 determines whether or not the coupling axis k is 1 (step S88). When the coupling axis k is not 1, the CPU 11 proceeds to step S90. On the other hand, when the bond axis k is 1, the CPU 11 sets “C” in the bond flag A [i]-> bf of the atom i (step S89). Then, the CPU 11 determines whether or not the process has been completed for all the atoms i by determining whether or not the atom i matches the number of atoms M-> n (step S90). If not completed, the CPU 11 returns to step S79 and performs the same processing as described above.

全ての原子iに対して処理を終了した場合、CPU11は、結合軸iをゼロに初期化した後(ステップS91)、1加算して結合軸iを設定する(ステップS92)。CPU11は、結合軸iの両端原子番号aの各々に関し、原子データ構造Aの結合フラグbfが「F」であるか否かを判断する(ステップS93)。「F」である場合、CPU11は、ステップS92へ戻り、次の結合軸i+1について上述同様の処理を行う。   When the process is completed for all atoms i, the CPU 11 initializes the bond axis i to zero (step S91), and adds 1 to set the bond axis i (step S92). The CPU 11 determines whether or not the bond flag bf of the atomic data structure A is “F” for each of the atomic numbers a at both ends of the bond axis i (step S93). If it is “F”, the CPU 11 returns to step S92 and performs the same processing as described above for the next coupled axis i + 1.

一方、「F」である場合、CPU11は、変数lに1を設定する(ステップS94)。CPU11は、CPU11は、結合軸iの両端原子の軌道数A[B[i]−>a[1,2]]−>m夫々から1ずつ減算し(ステップS95)、また、結合軸iの両端原子の軌道数A[B[i]−>a[1,2]]−>n夫々から1ずつ減算する(ステップS96)。そして、CPU11は、結合軸iの結合次数B[i]−>btを1加算する(ステップS97)。   On the other hand, if “F”, the CPU 11 sets 1 to the variable l (step S94). The CPU 11 subtracts 1 from each of the number of orbitals A [B [i]-> a [1,2]]-> m of the atoms at both ends of the bond axis i (step S95). One is subtracted from each of the number of orbitals A [B [i]-> a [1,2]]-> n of both end atoms (step S96). Then, the CPU 11 adds 1 to the bond order B [i]-> bt of the bond axis i (step S97).

続けて、CPU11は、両端原子の一方の軌道数A[B[i]−>a[1]]−>m又は電子数A[B[i]−>a[1]]−>nがゼロか否かを判断する(ステップS98)。いずれもゼロでない場合、CPU11は、ステップS73へと進む。一方、いずれか一方がゼロの場合、CPU11は、その一方の原子の結合フラグA[B[i]−>a[1]]−>bfに「T」を設定する(ステップS99)。   Subsequently, the CPU 11 determines that one orbital number A [B [i]-> a [1]]-> m or the number of electrons A [B [i]-> a [1]]-> n of the atoms at both ends is zero. Whether or not (step S98). If neither is zero, the CPU 11 proceeds to step S73. On the other hand, if either one is zero, the CPU 11 sets “T” in the bond flag A [B [i]-> a [1]]-> bf of one atom (step S99).

更に、CPUは、両端原子の他方の軌道数A[B[i]−>a[2]]−>m又は電子数A[B[i]−>a[2]]−>nがゼロか否かを判断する(ステップS100)。いずれもゼロでない場合、CPU11は、ステップS75へと進む。一方、いずれか一方がゼロの場合、CPU11は、その他方の原子の結合フラグA[B[i]−>a[2]]−>bfに「T」を設定する(ステップS101)。   Further, the CPU determines that the number of other orbitals A [B [i]-> a [2]]-> m or the number of electrons A [B [i]-> a [2]]-> n is zero. It is determined whether or not (step S100). If neither is zero, the CPU 11 proceeds to step S75. On the other hand, if either one is zero, the CPU 11 sets “T” to the bond flag A [B [i]-> a [2]]-> bf of the other atom (step S101).

そして、CPU11は、両端原子夫々の結合フラグA[B[i]−>a[1,2]]−>bfに「T」が含まれているか否かを判断する(ステップS02)。「T」が含まれていない場合、CPU11は、ステップS95へ戻り、上述同様の処理を行う。CPU11は、変数lがゼロであるか否かを判断する(ステップS03)。ゼロでない場合、CPU11は、ステップS78へと戻り、上述同様の処理を行う。   Then, the CPU 11 determines whether or not “T” is included in the bond flag A [B [i]-> a [1,2]]-> bf of each atom at both ends (step S02). If “T” is not included, the CPU 11 returns to step S95 and performs the same processing as described above. The CPU 11 determines whether or not the variable l is zero (step S03). If it is not zero, the CPU 11 returns to step S78 and performs the same processing as described above.

一方、ゼロの場合、CPU11は、原子iをゼロに初期化して(ステップS104)、1加算して原子iを設定し(ステップS105)、電子数と軌道数の残りから原子電荷を設定するための処理(図3のステップS7)を行う。   On the other hand, in the case of zero, the CPU 11 initializes the atom i to zero (step S104), adds 1 to set the atom i (step S105), and sets the atomic charge from the remaining number of electrons and the number of orbits. (Step S7 in FIG. 3) is performed.

CPU11は、原子iの原子データ構造Aにおいて、軌道数A[i]−>mはゼロではなく、かつ、電子数A[i]−>nがゼロであるが成立するかを判断する(ステップS106)。不成立の場合、CPU11は、ステップS108へと進む。成立する場合、CPU11は、原子iの原子電荷A[i]−>qに軌道数A[i]−>m*1を設定して、軌道数A[i]−>mをゼロにする(ステップS107)。原子iの電荷として軌道数が設定される。   In the atomic data structure A of the atom i, the CPU 11 determines whether or not the orbital number A [i]-> m is not zero and the number of electrons A [i]-> n is zero (step). S106). If not, the CPU 11 proceeds to step S108. If it is established, the CPU 11 sets the orbital number A [i]-> m * 1 to the atomic charge A [i]-> q of the atom i and sets the orbital number A [i]-> m to zero ( Step S107). The number of orbits is set as the charge of atom i.

CPU11は、原子iの原子データ構造Aにおいて、軌道数A[i]−>mはゼロであり、かつ、電子数A[i]−>nがゼロではないが成立するかを判断する(ステップS108)。不成立の場合、CPU11は、ステップS110へと進む。成立する場合、CPU11は、原子iの原子電荷A[i]−>qに電子数A[i]−>n*(−1)を設定して、電子数A[i]−>nをゼロにする(ステップS109)。原子iの電荷として負の電子数が設定される。   In the atomic data structure A of the atom i, the CPU 11 determines whether or not the orbital number A [i]-> m is zero and the number of electrons A [i]-> n is not zero (step). S108). If not, the CPU 11 proceeds to step S110. When it is established, the CPU 11 sets the number of electrons A [i]-> n * (− 1) to the atomic charge A [i]-> q of the atom i, and sets the number of electrons A [i]-> n to zero. (Step S109). A negative electron number is set as the charge of atom i.

CPU11は、原子iの原子データ構造Aにおいて、軌道数A[i]−>mはゼロではなく、かつ、電子数A[i]−>nがゼロではないが成立するかを判断する(ステップS110)。不成立の場合、CPU11は、ステップS112へと進む。成立する場合、CPU11は、原子iの軌道数A[i]−>mを1減算し、また、電子数A[i]−>nを1減算にする(ステップS111)。   In the atomic data structure A of the atom i, the CPU 11 determines whether or not the orbital number A [i]-> m is not zero and the number of electrons A [i]-> n is not zero (step) S110). If not, the CPU 11 proceeds to step S112. If it is established, the CPU 11 subtracts 1 from the orbital number A [i]-> m of the atom i and subtracts 1 from the electron number A [i]-> n (step S111).

CPU11は、原子iの軌道数A[i]−>mがゼロ、かつ、電子数A[i]−>nがゼロであるが成立するかを判断する(ステップS112)。成立しない場合、CPU11は、ステップS106へ戻り、上述同様の処理を行う。不成立の場合、CPU11は、原子iの結合フラグbfに「T」を設定する(ステップS113)。   The CPU 11 determines whether or not the orbital number A [i]-> m of the atom i is zero and the number of electrons A [i]-> n is zero (step S112). If not established, the CPU 11 returns to step S106 and performs the same processing as described above. If not, the CPU 11 sets “T” to the bond flag bf of the atom i (step S113).

そして、CPU11は、分子Mの原子数M−>nの原子i全てに対して処理を終了したか否かを判断する(ステップS114)。CPU11は、原子i全てに対して処理を終了していない場合、ステップS105に戻り、上述同様の処理を行う。一方、原子i全てに対して処理を終了した場合、CPU11は、この処理を終了する。   Then, the CPU 11 determines whether or not the processing has been completed for all the atoms i of the number of atoms M-> n of the molecule M (step S114). When the process has not been completed for all the atoms i, the CPU 11 returns to step S105 and performs the same process as described above. On the other hand, when the process is completed for all the atoms i, the CPU 11 ends the process.

(結合次数の設定)
σ結合毎に加算された結合次数(ステップS70)、及び、π結合毎に加算された結合次数(ステップS97)によって、原子対間の全結合数が軸の結合次数として設定される。
(Set bond order)
Based on the bond order added for each σ bond (step S70) and the bond order added for each π bond (step S97), the total bond number between atom pairs is set as the bond order of the axis.

[実施例1]
次に、上述した分子の3次元構造構築処理による実施例を説明する。先ず、実施例1として、図9に示すように、C2H4(エチレン)の原子配置80に対して、元素Cが2次結合された結合結果89が、上述した分子の3次元構造構築処理によって自動的に正しく得られることを図10で説明する。
[Example 1]
Next, an example of the above-described molecular three-dimensional structure construction process will be described. First, as Example 1, as shown in FIG. 9, the bonding result 89 in which the element C is secondarily bonded to the atomic arrangement 80 of C2H4 (ethylene) is automatically generated by the above-described molecular three-dimensional structure building process. It will be described with reference to FIG.

図10は、C2H4(エチレン)の場合の状態遷移例を示す図である。図10中、データ構造30に基づいて記憶領域に展開された情報のうち、各状態の説明に必要な部分をテーブルT10で示し、理解を容易にするため、状態遷移毎のテーブルT10に対応させて結合次数が設定される様子を例示させている。   FIG. 10 is a diagram illustrating an example of state transition in the case of C2H4 (ethylene). In FIG. 10, of the information developed in the storage area based on the data structure 30, a part necessary for explanation of each state is indicated by a table T 10, and for easy understanding, it is associated with the table T 10 for each state transition. This illustrates the manner in which the bond order is set.

<状態1>
図10において、図9に示すようなC2H4(エチレン)の原子配置80がユーザによって成されると、CPU11は、この原子配置80用にデータ構造30をテーブルT10として記憶領域内に構築し、原子データ構造Aを作成した段階である。原子はA[1]からA[6]まで、原子順序番号については例えばA[1]−>N=6のように設定されている。この段階ではまだ結合軸データ構造Bは記憶領域のみ確保された段階である。
<State 1>
In FIG. 10, when the C2H4 (ethylene) atomic arrangement 80 as shown in FIG. 9 is made by the user, the CPU 11 constructs a data structure 30 for this atomic arrangement 80 as a table T10 in the storage area, and This is the stage where the data structure A is created. The atoms are set from A [1] to A [6], and the atomic order number is set as A [1]-> N = 6, for example. At this stage, the combined axis data structure B is still a stage where only the storage area is secured.

<状態2>
原子A[1]と原子A[2]の距離が閾値以下と判断されて、テーブルT10に最初の結合軸が設定された段階である。結合軸B[1]は同時にσ結合の設定をB[1]−>bt=1で意味し、結合形成のために両端原子A[1]とA[2]の軌道数と電子数は1ずつ減少している。
<State 2>
This is the stage when the distance between the atom A [1] and the atom A [2] is determined to be equal to or less than the threshold value, and the first bond axis is set in the table T10. The bond axis B [1] means the setting of σ bond at the same time as B [1]-> bt = 1, and the number of orbitals and the number of electrons of both end atoms A [1] and A [2] are 1 for bond formation. It is decreasing gradually.

<状態3>
原子A[1]と原子A[3]の距離が閾値以下と判定されて、テーブルT10に結合軸B[2]が設定された段階である。この時、B[2]−>bt=1となり、両端原子の軌道数と電子数は1ずつ減少している。ここで、A[3]−>m=0、A[3]−>n=0となったため、A[3]−>bf=Tと設定される。
<State 3>
The distance between the atom A [1] and the atom A [3] is determined to be equal to or less than the threshold value, and the bond axis B [2] is set in the table T10. At this time, B [2]-> bt = 1, and the number of orbitals and the number of electrons of both-end atoms are decreased by one. Here, since A [3]-> m = 0 and A [3]-> n = 0, A [3]-> bf = T is set.

<状態4>
原子A[1]と原子A[4]の距離が閾値以下と判定されて、テーブルT10に結合軸B[3]が設定された段階である。この時、B[3]−>bt=1となり、両端原子の軌道数と電子数は1ずつ減少している。ここで、A[3]−>m=0、A[3]−>n=0となったため、A[3]→bf=Tと設定される。さらにこの時、A[1]−>m=1、A[1]−>n=1とどちらも0でなく、A[1]の属する結合軸の逆端原子A[3]、A[4]の結合フラグが「T」となっている。逆端原子の結合フラグが「T」でないのは原子A[2]のみであるため、A[1]−>bf=Cと設定される。
<State 4>
The distance between the atom A [1] and the atom A [4] is determined to be equal to or less than the threshold value, and the bond axis B [3] is set in the table T10. At this time, B [3]-> bt = 1, and the number of orbitals and the number of electrons of both-end atoms are decreased by one. Here, since A [3]-> m = 0 and A [3]-> n = 0, A [3] → bf = T is set. Further, at this time, A [1]-> m = 1 and A [1]-> n = 1, both of which are not 0, and the reverse end atoms A [3], A [4 of the bond axis to which A [1] belongs. ] Is “T”. Since only the atom A [2] has a bond flag of the reverse end atom that is not “T”, A [1]-> bf = C is set.

<状態5>
原子A[2]とA[5]の距離が閾値以下と判定されて、テーブルT10に結合軸B[4]が設定された段階である。この時、B[5]−>bt=1となり、両端原子の軌道数と電子数は1ずつ減少している。ここでA[5]−>m=0、A[5]−>n=0となったため、A[5]−>bf=Tと設定される。
<State 5>
The distance between the atoms A [2] and A [5] is determined to be equal to or less than the threshold value, and the bond axis B [4] is set in the table T10. At this time, B [5]-> bt = 1, and the number of orbitals and the number of electrons of both-end atoms are decreased by one. Here, since A [5]-> m = 0 and A [5]-> n = 0, A [5]-> bf = T is set.

<状態6>
原子A[2]と原子A[6]の距離が閾値以下と判定されて、テーブルT10に結合軸B[5]が設定された段階である。この時、B[6]−>bt=1となり、両端原子の軌道数と電子数は1ずつ減少している。ここで、A[6]−>m=0、A[6]−>n=0となったため、A[6]−>bf=Tと設定される。さらにこの時、A[2]−>m=1、A[2]−>n=1とどちらも0でなく、A[2]の属する結合軸の逆端原子A[5]、A[6]の結合フラグが「T」となっている。逆端原子の結合フラグが「T」でないのはA[1]のみであるため、A[2]−>bf=Cと設定される。
<State 6>
The distance between the atom A [2] and the atom A [6] is determined to be equal to or less than the threshold value, and the bond axis B [5] is set in the table T10. At this time, B [6]-> bt = 1, and the number of orbitals and the number of electrons of both-end atoms are decreased by one. Here, since A [6]-> m = 0 and A [6]-> n = 0, A [6]-> bf = T is set. Further, at this time, A [2]-> m = 1 and A [2]-> n = 1, both of which are not 0, and the reverse end atoms A [5], A [6] of the bond axis to which A [2] belongs. ] Is “T”. Since only the A [1] is not “T” as the bond flag of the reverse end atom, A [2] −> bf = C is set.

<状態7>
結合軸B[1]の両端原子A[1]とA[2]について、結合フラグが両方ともCであることから、テーブルT10にπ結合を設定する段階である。具体的には、軌道数と電子数を1ずつ減少し、結合次数B[1]−>btは1増大して2に設定される。この時、A[1]−>m=0、A[1]−>n=0、A[2]−>m=0、A[2]−>n=0であることから、A[1]−>bf=T、A[2]−>bf=Tに設定される。
<State 7>
For both end atoms A [1] and A [2] of the bond axis B [1], since the bond flags are both C, this is the stage where π bonds are set in the table T10. Specifically, the number of orbitals and the number of electrons are decreased by 1, and the bond order B [1]-> bt is increased by 1 and set to 2. At this time, since A [1]-> m = 0, A [1]-> n = 0, A [2]-> m = 0, and A [2]-> n = 0, A [1 ]-> Bf = T, A [2]-> bf = T.

従って、テーブルT10によって、図9に示すような適切に結合次数が設定された結合結果89を得ることが可能なことを確認できる。   Therefore, it can be confirmed from the table T10 that it is possible to obtain a join result 89 in which the join order is appropriately set as shown in FIG.

[実施例2]
次に、実施例2として、C6H5CHO(ベンズアルデヒド)の原子配置90に対して、結合次数が設定された結合結果99が、上述した分子の3次元構造構築処理によって自動的に正しく得られることを図11で説明する。
[Example 2]
Next, as Example 2, it is shown that the bond result 99 in which the bond order is set for the atomic arrangement 90 of C6H5CHO (benzaldehyde) is automatically obtained correctly by the above-described molecular three-dimensional structure construction process. 11 will be described.

図11は、C6H5CHO(ベンズアルデヒド)の場合の状態遷移例を示す図である。図11中、データ構造30に基づいて記憶領域に展開された情報のうち、各状態の説明に必要な部分をテーブルT11で示し、理解を容易にするため、状態遷移毎のテーブルT10に対応させて結合次数が設定される様子を例示させている。   FIG. 11 is a diagram showing an example of state transition in the case of C6H5CHO (benzaldehyde). In FIG. 11, of the information developed in the storage area based on the data structure 30, a part necessary for explanation of each state is indicated by a table T <b> 11, and is associated with the table T <b> 10 for each state transition for easy understanding. This illustrates the manner in which the bond order is set.

<状態1>
図11において、C6H5CHO(ベンズアルデヒド)の原子配置90がユーザによって成されると、CPU11は、この原子配置90用にデータ構造30をテーブルT11として記憶領域内に構築し、原子データ構造Aを作成した段階である。原子はA[1]からA[14]まで、原子順序番号については例えばA[1]−>N=6のように設定されている。この段階ではまだ結合軸データ構造Bは記憶領域のみ確保された段階である。
<State 1>
In FIG. 11, when the atomic arrangement 90 of C6H5CHO (benzaldehyde) is made by the user, the CPU 11 constructs the data structure 30 for this atomic arrangement 90 as a table T11 in the storage area, and creates the atomic data structure A. It is a stage. The atoms are set from A [1] to A [14], and the atomic sequence numbers are set as A [1]-> N = 6, for example. At this stage, the combined axis data structure B is still a stage where only the storage area is secured.

<状態2>
図10と同様の処理により各原子間距離が閾値以下と判定されて、σ結合が設定された段階である。14個の結合軸について、結合次数はB[1:14]−>bt=1と設定されている。また炭素原子の軌道数と電子数はすべて1となり、水素原子の軌道数と電子数はすべて0となる。そのため水素原子の結合フラグはすべて「T」と設定されている。この時、酸素原子A[8]についてはA[8]−>m=3、A[8]−>n=5、A[8]−>bf=Cと設定されている。ここまでは図10の処理とまったく同様に進めることができる。
<State 2>
The inter-atomic distance is determined to be equal to or less than the threshold by the same processing as in FIG. 10, and the σ bond is set. For the 14 bond axes, the bond order is set as B [1:14]-> bt = 1. Also, the number of orbits and electrons of carbon atoms are all 1, and the number of orbits and electrons of hydrogen atoms are all 0. Therefore, all hydrogen atom bond flags are set to “T”. At this time, for the oxygen atom A [8], A [8]-> m = 3, A [8]-> n = 5, and A [8]-> bf = C are set. Up to this point, the process can proceed in exactly the same way as in FIG.

<状態3>
酸素原子の軌道数1に対して電子数2となる組を2つ考慮することができることから、考慮した数の組を孤立電子対として減少させた段階である。具体的にはA[8]−>m=A[8]−>m−2=1、A[8]−>n=A[8]−>n−2*2=−>1と設定される。
<State 3>
Since two groups having two electrons with respect to the number of orbits of oxygen atoms can be considered, this is the stage where the number of groups considered is reduced as lone electron pairs. Specifically, A [8]-> m = A [8]-> m-2 = 1, A [8]-> n = A [8]-> n-2 * 2 =-> 1 are set. The

<状態4>
両端原子の結合フラグの組が「C」と「F」の組であるB[8]について、π結合が設定された段階である。具体的にはB[8]−>bt=B[8]−>bt+1=2と設定され、両端原子A[7]とA[8]の軌道数と電子数が1ずつ減少される。結果としてA[7]−>m=0、A[7]−>n=0、A[8]−>m=0、A[8]−>n=0と設定され、この時A[7]−>bf=T、A[8]−>bf=Tと設定される。
<State 4>
This is a stage in which a π bond is set for B [8] in which the combination flag of both end atoms is a combination of “C” and “F”. Specifically, B [8]-> bt = B [8]-> bt + 1 = 2 is set, and the number of orbitals and the number of electrons of both end atoms A [7] and A [8] are decreased by one. As a result, A [7]-> m = 0, A [7]-> n = 0, A [8]-> m = 0, A [8]-> n = 0 are set. At this time, A [7 ]-> Bf = T, A [8]-> bf = T.

<状態5>
両端原子の結合フラグの組が「F」同士の組である結合軸についてπ結合が設定され、その後で「C」と「F」による組の結合軸についてπ結合が設定され、「C」か「F」の組である結合軸が存在しなくなるまでπ結合の設定を進めた段階である。具体的にはすべての原子について、軌道数と電子数が0と設定され、結合フラグは「T」と設定されている。
<State 5>
A π bond is set for a bond axis in which the set of bond flags of both end atoms is a pair of “F”, and then a π bond is set for the bond axis of the set of “C” and “F”. This is a stage in which the setting of π bond is advanced until there is no bond axis that is a set of “F”. Specifically, for all atoms, the number of orbitals and the number of electrons is set to 0, and the bond flag is set to “T”.

<状態6>
従って、テーブルT11によって、適切に結合次数が設定された結合結果99を得ることが可能なことを確認できる。
<State 6>
Therefore, it can be confirmed from the table T11 that it is possible to obtain a join result 99 in which the join order is appropriately set.

以上より、分子構造構築システムにおいて、上述した分子の3次元構造構築処理によって、各原子が末端か否かを原子データ構造Aの結合フラグbfを利用して判定することによって、末端からπ結合の設定を行うことができ、共役系の結合次数を矛盾なく設定することができる。   As described above, in the molecular structure construction system, by determining whether each atom is a terminal by using the above-described three-dimensional structure building process of the molecule using the bond flag bf of the atomic data structure A, It is possible to set the bond order of the conjugated system without contradiction.

従来手法を用いた場合と異なり、分子構造の構築に関して、例えば、マウスによる結合軸の選択、結合次数の選択、結合軸の選択解除などのユーザによる操作数を削減し、特に巨大分子系における構造の変更設定など、個別の選択操作に困難を生じる系の分子設計を容易に進めることが可能になる。また付随して、従来手法で生じる結合次数設定ミスによる分子物性計算の異常動作を解消し、計算への連携をスムーズに進めることも可能になる。   Unlike the case of using the conventional method, the number of operations by the user such as selection of bond axes, selection of bond orders, and deselection of bond axes with respect to the construction of molecular structures is reduced. It is possible to easily proceed with the molecular design of a system that causes difficulty in individual selection operations, such as change setting of. In addition, it is possible to eliminate the abnormal operation of molecular physical property calculation due to a mistake in setting the bond order that occurs in the conventional method, and to facilitate the cooperation with the calculation.

従って、分子構造をGUIなどで構築する際に、各原子に設定されている原子の軌道数と電子数の情報に基づき、各原子間の結合に対して結合次数を自動判定でき、高分子であってもユーザに負担をかけることなく分子設計を容易とし、更には分子物性計算などについても正常動作を可能とする。   Therefore, when the molecular structure is constructed using GUI or the like, the bond order can be automatically determined for the bonds between the atoms based on the information on the number of orbits and the number of electrons set for each atom. Even if this is the case, molecular design is facilitated without imposing a burden on the user, and normal operation is also possible for molecular property calculations.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

11 CPU
12 メモリユニット
13 表示ユニット
14 出力ユニット
15 入力ユニット
16 通信ユニット
17 記憶装置
18 ドライバ
19 記憶媒体
30 データ構造
80、90 原子配置
89、99 結合結果
100 分子構造構築システム
T10、T11 テーブル
11 CPU
DESCRIPTION OF SYMBOLS 12 Memory unit 13 Display unit 14 Output unit 15 Input unit 16 Communication unit 17 Storage device 18 Driver 19 Storage medium 30 Data structure 80, 90 Atomic arrangement 89, 99 Bond result 100 Molecular structure construction system T10, T11 Table

Claims (8)

分子の原子配置に基づいて、配置された原子毎に電子数及び軌道数と結合後の末端状態を示す結合フラグとを対応させた原子データ構造と、原子間を結合する結合軸毎に結合次数を対応させた結合軸データ構造とを少なくとも有するデータ構造を記憶した記憶領域と、
前記原子間を結合可能な距離閾値に従ってσ結合を行い、前記結合次数を1加算し、該σ結合された原子の電子数及び軌道数を1ずつ減算し、該減算によって末端原子になると前記結合フラグを更新するσ結合手段と、
前記結合フラグを参照して、第一原子に前記σ結合される第二原子のうち、一の第二原子を残して他第二原子が末端である場合、該第一原子と該一の第二原子とにπ結合を行い、該電子数及び軌道数を1ずつ減算し、前記結合次数を1加算するπ結合手段と、
を有することを特徴とする分子構造構築システム。
Based on the atomic arrangement of the molecule, an atomic data structure that associates the number of electrons and orbitals for each arranged atom with a bond flag that indicates the terminal state after bonding, and the bond order for each bond axis that bonds the atoms. A storage area storing a data structure having at least a bond axis data structure corresponding to
Σ bond is performed according to a distance threshold that allows bonding between the atoms, the bond order is incremented by 1, and the number of electrons and orbits of the σ-bonded atom are decremented by 1, and the bond becomes a terminal atom by the subtraction. A sigma coupling means for updating the flag;
With reference to the bond flag, among the second atoms that are σ-bonded to the first atom, when the other second atom is the terminal, leaving the second atom, the first atom and the first atom Π-bonding means for performing π-bonding with two atoms, subtracting the number of electrons and orbitals by 1 and adding 1 to the bond order;
A molecular structure construction system characterized by comprising:
前記データ構造は、更に、元素毎に少なくとも結合半径を対応させた元素データ構造を有し、
前記距離閾値は、前記原子間の距離が各元素の前記結合半径に基づいて定められる前記閾値であることを特徴とする請求項1記載の分子構造構築システム。
The data structure further includes an element data structure in which at least a bond radius is associated with each element,
The molecular structure construction system according to claim 1, wherein the distance threshold is the threshold in which a distance between the atoms is determined based on the bond radius of each element.
前記σ結合された2原子の各原子に対して、孤立電子対として電子数2に対して軌道数1の割合で、前記原子データ構造における該各原子の前記電子数及び前記軌道数を減算する孤立電子対処理手段を有することを特徴とする請求項1又は2記載の分子構造構築システム。   The number of electrons and the number of orbits of each atom in the atomic data structure are subtracted from each of the two σ-bonded atoms at a ratio of 1 orbit to 2 electrons as a lone electron pair. 3. The molecular structure construction system according to claim 1, further comprising a lone pair processing means. 前記原子間の前記σ結合及び前記π結合後の前記電子数及び前記軌道数を用いて原子電荷を設定する原子電荷設定手段を有することを特徴とする付記1乃至3のいずれか一項記載の分子構造構築システム。   4. The apparatus according to claim 1, further comprising an atomic charge setting unit configured to set an atomic charge using the number of electrons and the number of orbits after the σ bond and the π bond between the atoms. 5. Molecular structure construction system. 前記原子間の前記σ結合及び前記π結合を、前記結合次数を示して表示ユニットに表示させる結合結果表示手段を有することを特徴とする請求項1乃至4のいずれか一項記載の分子構造構築システム。   5. The molecular structure construction according to claim 1, further comprising a bond result display unit that displays the σ bond and the π bond between the atoms on a display unit by indicating the bond order. system. コンピュータが分子構造を構築する分子構造構築方法であって、該コンピュータは、
分子の原子配置に基づいて、配置された原子毎に電子数及び軌道数と結合後の末端状態を示す結合フラグとを対応させた原子データ構造と、原子間を結合する結合軸毎に結合次数を対応させた結合軸データ構造とを少なくとも有するデータ構造を記憶した記憶領域を有し、
前記原子間を結合可能な距離閾値に従ってσ結合を行い、前記結合次数を1加算し、該σ結合された原子の電子数及び軌道数を1ずつ減算し、該減算によって末端原子になると前記結合フラグを更新するσ結合手順と、
前記結合フラグを参照して、第一原子に前記σ結合される第二原子のうち、一の第二原子を残して他第二原子が末端である場合、該第一原子と該一の第二原子とにπ結合を行い、該電子数及び軌道数を1ずつ減算し、前記結合次数を1加算するπ結合手順と、
を実行することを特徴とする分子構造構築方法。
A molecular structure construction method in which a computer constructs a molecular structure, the computer comprising:
Based on the atomic arrangement of the molecule, an atomic data structure that associates the number of electrons and orbitals for each arranged atom with a bond flag that indicates the terminal state after bonding, and the bond order for each bond axis that bonds the atoms. A storage area storing a data structure having at least a bond axis data structure corresponding to
Σ bond is performed according to a distance threshold that allows bonding between the atoms, the bond order is incremented by 1, and the number of electrons and orbits of the σ-bonded atom are decremented by 1, and the bond becomes a terminal atom by the subtraction. A σ join procedure to update the flag;
With reference to the bond flag, among the second atoms that are σ-bonded to the first atom, when the other second atom is the terminal, leaving the second atom, the first atom and the first atom A π bond procedure for performing π bond with two atoms, subtracting the number of electrons and orbitals one by one, and adding 1 to the bond order;
The molecular structure construction method characterized by performing this.
分子構造を構築する分子構造構築装置としてコンピュータを機能させるためのコンピュータ実行可能なプログラムであって、該コンピュータに、
分子の原子配置に基づいて、配置された原子毎に電子数及び軌道数と結合後の末端状態を示す結合フラグとを対応させた原子データ構造と、原子間を結合する結合軸毎に結合次数を対応させた結合軸データ構造とを少なくとも有するデータ構造を記憶領域に生成するデータ構造生成手順と、
前記原子間を結合可能な距離閾値に従ってσ結合を行い、前記結合次数を1加算し、該σ結合された原子の電子数及び軌道数を1ずつ減算し、該減算によって末端原子になると前記結合フラグを更新するσ結合手順と、
前記結合フラグを参照して、第一原子に前記σ結合される第二原子のうち、一の第二原子を残して他第二原子が末端である場合、該第一原子と該一の第二原子とにπ結合を行い、該電子数及び軌道数を1ずつ減算し、前記結合次数を1加算するπ結合手順と、
を実行させることを特徴とするコンピュータ実行可能なプログラム。
A computer-executable program for causing a computer to function as a molecular structure construction apparatus for constructing a molecular structure,
Based on the atomic arrangement of the molecule, an atomic data structure that associates the number of electrons and orbitals for each arranged atom with a bond flag that indicates the terminal state after bonding, and the bond order for each bond axis that bonds the atoms. A data structure generation procedure for generating in the storage area a data structure having at least a bond axis data structure corresponding to
Σ bond is performed according to a distance threshold that allows bonding between the atoms, the bond order is incremented by 1, and the number of electrons and orbits of the σ-bonded atom are decremented by 1, and the bond becomes a terminal atom by the subtraction. A σ join procedure to update the flag;
With reference to the bond flag, among the second atoms that are σ-bonded to the first atom, when the other second atom is the terminal, leaving the second atom, the first atom and the first atom A π bond procedure for performing π bond with two atoms, subtracting the number of electrons and orbitals one by one, and adding 1 to the bond order;
A computer-executable program characterized by causing
分子構造を構築する分子構造構築装置としてコンピュータを機能させるためのプログラムを記憶したコンピュータ読取可能な記憶媒体であって、該コンピュータに、
分子の原子配置に基づいて、配置された原子毎に電子数及び軌道数と結合後の末端状態を示す結合フラグとを対応させた原子データ構造と、原子間を結合する結合軸毎に結合次数を対応させた結合軸データ構造とを少なくとも有するデータ構造を記憶領域に生成するデータ構造生成手順と、
前記原子間を結合可能な距離閾値に従ってσ結合を行い、前記結合次数を1加算し、該σ結合された原子の電子数及び軌道数を1ずつ減算し、該減算によって末端原子になると前記結合フラグを更新するσ結合手順と、
前記結合フラグを参照して、第一原子に前記σ結合される第二原子のうち、一の第二原子を残して他第二原子が末端である場合、該第一原子と該一の第二原子とにπ結合を行い、該電子数及び軌道数を1ずつ減算し、前記結合次数を1加算するπ結合手順と、
を実行させることを特徴とするコンピュータ読取可能な記憶媒体。
A computer-readable storage medium storing a program for causing a computer to function as a molecular structure building apparatus for building a molecular structure,
Based on the atomic arrangement of the molecule, an atomic data structure that associates the number of electrons and orbitals for each arranged atom with a bond flag that indicates the terminal state after bonding, and the bond order for each bond axis that bonds the atoms. A data structure generation procedure for generating in the storage area a data structure having at least a bond axis data structure corresponding to
Σ bond is performed according to a distance threshold that allows bonding between the atoms, the bond order is incremented by 1, and the number of electrons and orbits of the σ-bonded atom are decremented by 1, and the bond becomes a terminal atom by the subtraction. A σ join procedure to update the flag;
With reference to the bond flag, among the second atoms that are σ-bonded to the first atom, when the other second atom is the terminal, leaving the second atom, the first atom and the first atom A π bond procedure for performing π bond with two atoms, subtracting the number of electrons and orbitals one by one, and adding 1 to the bond order;
The computer-readable storage medium characterized by performing this.
JP2010066012A 2010-03-23 2010-03-23 Molecular structure construction system, method, program, and storage medium Withdrawn JP2011198221A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010066012A JP2011198221A (en) 2010-03-23 2010-03-23 Molecular structure construction system, method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010066012A JP2011198221A (en) 2010-03-23 2010-03-23 Molecular structure construction system, method, program, and storage medium

Publications (1)

Publication Number Publication Date
JP2011198221A true JP2011198221A (en) 2011-10-06

Family

ID=44876295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010066012A Withdrawn JP2011198221A (en) 2010-03-23 2010-03-23 Molecular structure construction system, method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP2011198221A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186109A3 (en) * 2019-03-12 2020-10-15 California Institute Of Technology Systems and methods for determining molecular structures with molecular-orbital-based features

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186109A3 (en) * 2019-03-12 2020-10-15 California Institute Of Technology Systems and methods for determining molecular structures with molecular-orbital-based features

Similar Documents

Publication Publication Date Title
TWI460648B (en) Ranking visualization types based upon fitness for visualizing a data set
US20040239683A1 (en) Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams
US20060271908A1 (en) Method of componentisation of a graphically defined formula
US11270066B2 (en) Temporary formatting and charting of selected data
US20090199123A1 (en) Dynamic preview of diagram elements to be inserted into a diagram
KR101495936B1 (en) Creating, displaying, and editing a sub-process within a process diagram
KR20060070408A (en) Method, system, and computer-readable medium for the layout of automatically-placed elements and user-placed elements in a chart
KR101538907B1 (en) Logical structure design surface
CN111542825A (en) Method for applying generative design to configuration of mechanical component
CN114341858A (en) Material design device, material design method, and material design program
CN104794412A (en) Information input method and device and mobile terminal
WO2002079886A1 (en) Programming tool
Miao et al. DimSUM: dimension and scale unifying map for visual abstraction of DNA origami structures
JP2011198221A (en) Molecular structure construction system, method, program, and storage medium
EP1204048A1 (en) Method and apparatus for handling scenarios in spreadsheet documents
US7886280B2 (en) Flattening hierarchically structured flows
CN106528115A (en) Visualized interface development method and device
Wang et al. The robustness of generalized abstract fuzzy economies in generalized convex spaces
KR102303625B1 (en) Method, apparatus and computer program for generating power schematic data automatically
US8938371B2 (en) Method for generating three dimensional ribbon cable objects in computer aided design drawings
CN107850988A (en) Display control unit and display control method
JP4984843B2 (en) Molecular design support device and program
US20080005675A1 (en) Method, system and program product for displaying nodes of a network
US8150659B2 (en) Dynamic selection of update methods
JP6704947B2 (en) Support system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604