JPH05158911A - Method for generating grain simulation program - Google Patents

Method for generating grain simulation program

Info

Publication number
JPH05158911A
JPH05158911A JP14244292A JP14244292A JPH05158911A JP H05158911 A JPH05158911 A JP H05158911A JP 14244292 A JP14244292 A JP 14244292A JP 14244292 A JP14244292 A JP 14244292A JP H05158911 A JPH05158911 A JP H05158911A
Authority
JP
Japan
Prior art keywords
particle
program
information
simulation
processing
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.)
Pending
Application number
JP14244292A
Other languages
Japanese (ja)
Inventor
Satoshi Ito
智 伊藤
Shigeo Ihara
茂男 井原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP14244292A priority Critical patent/JPH05158911A/en
Publication of JPH05158911A publication Critical patent/JPH05158911A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a method capable of forming a program required at the time of numerically simulating a physical phenomenon, especially the time-spatial behavior of plural grains in a space only by specifying minimum information required. CONSTITUTION:This grain simulation program forming method is constituted of grain type equation translation differentiating processing 3 for recognizing the attributes of a space and grains from grain simulation information 1 and forming a calculation formula, a table and internal data and program forming processing 5 for forming a calculation program and simulation input data from the formed calculation formula, table and internal data. In addition, various control conditions for controlling simulation processes are formed based upon information inputted from the screen of a graphic terminal. Since the specification quantity of a motion equation or the like for describing the motion of grains can sharply be reduced by preparing processing for analyzing the attribute specification of a space and grains, grain simulation can easily be executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は物理現象を数値化して模
擬的に再現するシミュレーション装置に係わり、特に結
晶成長に於ける原子、分子又はイオンの挙動、核融合炉
内のプラズマ挙動などの多粒子系の物理現象を数値的に
再現するに好適なプログラム生成方法、および、プログ
ラムの実行に必要な入力値の作成方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation apparatus for numerically simulating physical phenomena and reproducing them in a simulated manner. The present invention relates to a program generation method suitable for numerically reproducing a physical phenomenon of a particle system, and a generation method of an input value necessary for executing a program.

【0002】[0002]

【従来の技術】多粒子系の物理現象、すなわち原子レベ
ルでの結晶成長の解析のように空間領域内の複数の粒子
の挙動として物理現象を記述する場合、その系の方程式
は複数の粒子の空間位置における時間による常微分連立
方程式によって記述される。この方程式は、粒子の属性
あるいは環境の変化によって、数値的な違いだけでな
く、式の形態そのものが様々に変化する。
2. Description of the Related Art When describing a physical phenomenon of a multi-particle system, that is, a physical phenomenon as a behavior of a plurality of particles in a spatial domain such as an analysis of crystal growth at an atomic level, the equation of the system is It is described by a system of ordinary differential equations with respect to time at spatial position. In this equation, not only the numerical difference but also the form itself of the equation changes variously due to the change of the attribute of the particle or the environment.

【0003】通常、これらの物理現象を模擬的に再現す
るための数値シミュレーション装置は、汎用の計算機で
実行すべきプログラムを特定することによって実現され
ている。
Generally, a numerical simulation apparatus for simulating these physical phenomena is realized by specifying a program to be executed by a general-purpose computer.

【0004】従来、その具体的な実現方法として、プロ
グラムを汎用のFORTRAN言語などを用いて記述す
る方法と、市販に流通しているプログラムを利用する方
法と、特開昭60−140433号に記載のように物理
現象を記述する偏微分方程式と数値計算すべき空間域の
記述から有限要素法に基づいてその偏微分方程式に関す
る数値計算を実行するプログラムを自動生成する方法と
があった。
Conventionally, as a concrete method of realizing the method, a method of describing a program by using a general-purpose FORTRAN language, a method of using a commercially available program, and a method described in JP-A-60-140433. As described above, there is a method of automatically generating a program for executing the numerical calculation for the partial differential equation based on the finite element method from the description of the partial differential equation describing the physical phenomenon and the description of the spatial domain to be numerically calculated.

【0005】また、シミュレーションを実行する際に、
実行中に値が変化するパラメータを指定する必要のある
場合がある。通常、値が変化するパラメータを指定する
場合、パラメータの値が変化する毎にプログラムを実行
する方法と、変化する時刻と変化の方法とを指示する方
法がある。
Further, when executing the simulation,
You may need to specify parameters whose values change during execution. Usually, when designating a parameter whose value changes, there are a method of executing a program every time the value of the parameter changes, and a method of instructing the time of change and the method of change.

【0006】[0006]

【発明が解決しようとする課題】従来、物理現象の数値
シミュレーション装置として、汎用のFORTRAN言
語で記述したプログラムを汎用の計算機で実行する場
合、汎用言語を用いるため、シミュレーションの制御に
は長大な行数を有するプログラムを必要としていた。
Conventionally, when a program written in a general-purpose FORTRAN language is executed by a general-purpose computer as a numerical simulation apparatus for physical phenomena, a general-purpose language is used, and therefore, a long control is required for simulation control. Needed a program with a number.

【0007】また、これを避けるために市販に流通して
いる粒子シミュレーションパッケージソフトウェアを汎
用の計算機で実行する方策も取られているが、方程式そ
のものをパラメータとして入力することはできないの
で、市販のパッケージソフトではシミュレーションの範
囲が限定されるという欠点がある。例えば温度一定ある
いは圧力一定など、シミュレーションの環境条件の違い
により方程式の形が異なる。この場合の方程式の違いと
は、係数の数値的な違いだけでなく、方程式に現われる
各項の形態が異なったり、微分方程式の変数の数が異な
ったりする。そのため、新たな環境条件の基での新たな
粒子の挙動を再現する新しい方程式を導入する場合、従
来のパッケージソフトウェアでは対応できないことがあ
る。
In order to avoid this, a measure for executing commercially available particle simulation package software on a general-purpose computer has been taken, but since the equation itself cannot be input as a parameter, the commercially available package Software has the drawback that the scope of simulation is limited. For example, the form of the equation varies depending on the difference in the environmental conditions of the simulation such as constant temperature or constant pressure. The difference in the equation in this case is not only the numerical difference in the coefficient but also the form of each term appearing in the equation, and the number of variables in the differential equation. Therefore, when introducing a new equation that reproduces the behavior of a new particle under a new environmental condition, conventional package software may not be able to cope.

【0008】また、物理現象を記述する偏微分方程式と
数値計算すべき空間域の記述から有限要素法に基づいて
その偏微分方程式に関する数値計算を実行するプログラ
ムを自動生成する方法を用いることも考えられるが、こ
の方法は粒子群の挙動を扱う方法として適していない。
粒子シミュレーションに有限要素法を適用した場合、膨
大な主記憶容量と膨大な計算時間が必要となる。例え
ば、個々の原子ごとに結晶成長の過程を数値シミュレー
ションする場合、一例として1,000個の原子につい
て10ピコ秒間の挙動を1フェムト秒間隔で追跡する問
題を扱うとする。すると、時間という一次元変域の各点
において原子の三次元位置を有する場に関する3,00
0元連立二階微分方程式を10,000個に分割した要
素上で解くことが必要になる。これを従来方法により連
立一次方程式に変換して解く方法を考えると、その行列
の行数は30,000,000行となり行列の要素だけ
で汎用計算機の主記憶容量を4,000テラバイト占有
することとなり、現実的な数値シミュレーションプログ
ラムを生成することができない。また、従来方法では、
3,000個もの方程式を記述しなければならず、さら
に、それぞれの方程式が各粒子を特徴づける空間位置で
表現されること及び各粒子の方程式とも同型の方程式で
記述できることなどの利点を活用することができないた
め、必要以上の情報を重複して記述することになりプロ
グラムの記述が非常に煩雑となる。
It is also conceivable to use a method of automatically generating a program for executing a numerical calculation concerning the partial differential equation based on the finite element method from the description of the partial differential equation describing the physical phenomenon and the space region to be numerically calculated. However, this method is not suitable as a method for handling the behavior of particle swarms.
When the finite element method is applied to particle simulation, a huge amount of main memory and a huge amount of calculation time are required. For example, when numerically simulating the process of crystal growth for each atom, the problem of tracking the behavior of 1,000 atoms for 10 picoseconds at 1 femtosecond intervals is taken as an example. Then, at each point of the one-dimensional domain of time
It is necessary to solve the 0-element simultaneous second-order differential equations on the elements divided into 10,000 pieces. Considering the method of converting this into simultaneous linear equations by the conventional method and solving it, the number of rows of the matrix becomes 30,000,000, and the main memory capacity of the general-purpose computer should occupy 4,000 terabytes only by the elements of the matrix. Therefore, a realistic numerical simulation program cannot be generated. Also, in the conventional method,
Take advantage of the fact that as many as 3,000 equations must be described, and that each equation can be expressed in the spatial position that characterizes each particle, and that the equation of each particle can be described by the same type of equation. Since this is not possible, more information than necessary will be duplicated and the description of the program will be very complicated.

【0009】本発明の目的は、空間内の複数粒子の時空
間的挙動として表現可能な広範囲の物理現象を数値的に
シミュレートするためのプログラムを必要最小限の情報
を指定するだけで生成できるプログラム生成方法を提供
することにある。
An object of the present invention is to generate a program for numerically simulating a wide range of physical phenomena that can be expressed as the spatiotemporal behavior of a plurality of particles in a space by designating the minimum necessary information. It is to provide a program generation method.

【0010】また、シミュレーション実行中にパラメー
タの変化する制御条件を指定する場合、従来技術の項で
説明したように二通りの方法がある。パラメータの値が
変化する毎にプログラムを実行する場合、実行状況の管
理が煩雑となってしまうという問題が生じる。また、パ
ラメータの変化する時刻と変化の方法を指示する方法を
とる場合、その指示の記述が長大で煩雑となってしまう
という問題が生じる。
There are two methods for designating the control conditions in which the parameters change during the simulation, as described in the section of the prior art. When the program is executed every time the value of the parameter changes, there arises a problem that the management of the execution status becomes complicated. Further, when the method of instructing the time at which the parameter changes and the method of changing the parameter is taken, there is a problem that the description of the instruction becomes long and complicated.

【0011】本発明のもう一つの目的は、煩雑となる制
御条件を、視覚的に確認しながら生成するできる制御条
件生成方法を提供することにある。
Another object of the present invention is to provide a control condition generating method capable of generating a complicated control condition while visually confirming it.

【0012】[0012]

【課題を解決するための手段】従って、本発明の目的
は、粒子シミュレーションに関する情報、すなわち空間
内の複数粒子の時空間的挙動として定義した記述から、
プログラムの生成に必要な仕様として、計算式、テーブ
ルおよび内部データを生成する粒子型方程式翻訳差分化
処理と、生成された計算式、テーブルおよび内部データ
から計算プログラムとシミュレーション入力データを生
成するプログラム生成処理を設けることにより達成され
る。
Therefore, the object of the present invention is to obtain information on particle simulation, that is, a description defined as spatiotemporal behavior of a plurality of particles in a space.
As a specification required for program generation, particle equation translation differential processing that generates calculation formulas, tables and internal data, and program generation that generates calculation programs and simulation input data from the generated calculation formulas, tables and internal data It is achieved by providing a treatment.

【0013】さらに、粒子型方程式翻訳差分化処理は、
現象の発生する空間領域形状の定義記述から、空間の次
元、領域の形状、境界条件などの情報を抽出し、参照し
易い形で保持する空間領域形状翻訳処理と、粒子属性定
義記述から、粒子種、粒子数、および各種初期設定情報
を抽出し、以後の処理で参照し易い形で保持する粒子属
性翻訳処理と、環境の変更等を含む制御条件の記述か
ら、境界条件とそれに対応する処理、時刻毎のシミュレ
ーション条件の変更とそれに対応する処理を抽出し、イ
ベント条件−イベント処理の対応テーブルを生成すると
共に処理内容を記述した補助処理内部表現を生成する制
御条件翻訳処理と、粒子の運動方程式の記述から、方程
式を差分化し、樹系図形式による漸化式内部表現を生成
する方程式翻訳処理と、からなる。
Furthermore, the particle-type equation translation difference processing is
From the definition of the spatial region shape in which the phenomenon occurs, information such as space dimension, region shape, and boundary conditions is extracted and stored in a form that is easy to refer to. Boundary conditions and corresponding processes are extracted from particle attribute translation processing that extracts seeds, number of particles, and various types of initial setting information and retains them in a form that can be easily referred to in subsequent processing, and control condition descriptions that include changes in the environment. , The control condition translation process that extracts the change of the simulation condition for each time and the corresponding process, generates the event condition-event process correspondence table, and the auxiliary process internal expression that describes the process content, and the particle movement From the description of the equation, the equation is differentiated, and the equation translation processing is performed to generate the internal representation of the recurrence equation in a tree diagram form.

【0014】プログラム生成処理は、生成された漸化式
から数値積分法による時間発展プログラムを生成する時
間発展プログラム生成処理と、生成された補助処理内部
表現から補助計算プログラムを生成する補助計算プログ
ラム生成処理と、抽出されたイベント処理条件から処理
制御プログラムを生成する処理制御プログラム生成処理
と、粒子属性の各初期値のデ−タをファイルに出力し、
入力データ読み込みプログラムを生成する、入出力プロ
グラム生成処理とからなる。
The program generation processing includes a time evolution program generation processing for generating a time evolution program by a numerical integration method from the generated recurrence formula and an auxiliary calculation program generation for generating an auxiliary calculation program from the generated auxiliary processing internal representation. Process, process control program generation process to generate a process control program from the extracted event processing conditions, and output the data of each initial value of the particle attribute to a file,
It is composed of an input / output program generation process for generating an input data reading program.

【0015】さらに、本発明のもう一つの目的である制
御条件生成方法は、視覚的に確認しながら制御変数の変
化図を生成する処理と、生成された変化図から関数を読
み取る処理と、読み取った関数から制御条件を生成する
処理と、複数の制御変数に対する制御条件を制御時刻の
順にソーティングしなおす処理、とからなる。
Furthermore, another method of generating a control condition, which is another object of the present invention, is a process of generating a change diagram of a control variable while visually confirming it, a process of reading a function from the generated change diagram, and a reading process. And a process of re-sorting control conditions for a plurality of control variables in order of control time.

【0016】[0016]

【作用】粒子型方程式翻訳差分化処理では、入力の記述
で定義した粒子の種類および数量によって各種変数を定
義するため、個々の粒子ごとに方程式を記述する必要が
なく、従って、方程式の記述に長大な行数を必要としな
い。
[Function] In the particle-type equation translation difference processing, since various variables are defined according to the type and number of particles defined in the input description, it is not necessary to describe the equation for each individual particle. Does not require a huge number of lines.

【0017】また、粒子および環境の属性定義記述の翻
訳処理及び運動方程式記述の翻訳処理では、入力の記述
が粒子の物理的属性であることを前提にしているため、
記述内容に長大な行数を要しない。
Further, in the translation process of the attribute definition description of the particle and the environment and the translation process of the motion equation description, it is assumed that the input description is the physical attribute of the particle.
The description does not require a large number of lines.

【0018】また、漸化式を用いた数値積分法は、粒子
の空間位置情報を時刻毎に追跡する手法であり、汎用計
算機上で同時に保持すべき情報量は従来に比べて遥に少
ないくてよい。例えば、個々の原子ごとに結晶成長を本
発明の方法で数値シミュレーションする場合の一例とし
て1,000個の原子に対する10ピコ秒間の挙動を考
えると、汎用計算機上の主記憶容量はシミュレートする
時間によらず、せいぜい数百キロバイト程度である。そ
のため、現行の汎用計算機で実行可能なプログラムを生
成することが可能である。
Further, the numerical integration method using the recurrence formula is a method of tracking the spatial position information of particles at each time, and the amount of information to be held simultaneously on a general-purpose computer is much smaller than that of the conventional method. You can For example, considering the behavior of 10 picoseconds for 1,000 atoms as an example of numerically simulating crystal growth for each atom by the method of the present invention, the main memory capacity on a general-purpose computer is the simulation time. Regardless of the size, it is at most several hundred kilobytes. Therefore, it is possible to generate a program that can be executed by an existing general-purpose computer.

【0019】さらに、本発明による制御条件生成方法で
は、制御変数の複雑な変化の様子を数値そのもので指定
する必要がなく、制御変数の値が変化する度にプログラ
ムを実行し直す必要もない。視覚的に確認しながら生成
した制御変数の変化図を、自動的に制御条件に変換する
ことができるので、利用者は煩雑な作業を行なう必要が
ない。
Further, in the control condition generating method according to the present invention, it is not necessary to specify the complicated change state of the control variable by the numerical value itself, and it is not necessary to re-execute the program each time the value of the control variable changes. The change diagram of the control variable generated while visually confirming can be automatically converted into the control condition, so that the user does not need to perform complicated work.

【0020】[0020]

【実施例】以下、本発明の一実施例を説明する。 1.構成 図1は本発明によるプログラム生成方法を利用したシミ
ュレーション装置の構成図である。シミュレーション装
置において、物理現象を支配する粒子の運動方程式、現
象の発生する空間領域の形状、粒子属性定義記述、差分
化方法、およびシミュレーション環境の制御条件などの
情報を記述したシミュレーション情報1に基づき、プロ
グラム自動生成処理2がFORTRANによる計算プロ
グラム6とシミュレーション入力データ7を生成する。
計算装置8は生成されたプログラム6に従ってシミュレ
ーション入力データ7を読み込んでシミュレーションを
実施し、シミュレーション結果9を出力する。
EXAMPLE An example of the present invention will be described below. 1. Configuration FIG. 1 is a configuration diagram of a simulation apparatus using the program generation method according to the present invention. In the simulation device, based on the simulation information 1 that describes information such as a particle equation of motion that governs a physical phenomenon, a shape of a spatial region where the phenomenon occurs, a particle attribute definition description, a difference method, and a control condition of the simulation environment, The automatic program generation process 2 generates a FORTRAN calculation program 6 and simulation input data 7.
The calculation device 8 reads the simulation input data 7 according to the generated program 6, executes the simulation, and outputs the simulation result 9.

【0021】図1に示したシミュレ−ション装置を計算
機で実現した実施例を図53に示す。計算機530はメ
モリ531を有し、メモリ531には計算プログラムの
生成に必要なデ−タ532、及び本発明を実施するプロ
グラム533が格納されている。さらに、計算機530
には、生成された計算プログラム6とシミュレーション
入力データ7を格納する外部記憶装置、及びプログラム
生成に必要なデ−タを入力し、プログラム生成の途中経
過などを表示する入出力装置534が接続されている。
図53に示したデ−タ532の一部、及びプログラム5
33によって、図1に示すプログラム自動生成処理2が
実行される。また、図53に示す計算機には、本発明の
実施例で使用する各種ライブラリを格納したデ−タベ−
ス(図53には、特に図示せず)が設けられており、プ
ログラム生成の処理過程で参照される。
FIG. 53 shows an embodiment in which the simulation apparatus shown in FIG. 1 is realized by a computer. The computer 530 has a memory 531. The memory 531 stores data 532 necessary for generating a calculation program and a program 533 for implementing the present invention. Furthermore, the calculator 530
An external storage device for storing the generated calculation program 6 and the simulation input data 7, and an input / output device 534 for inputting data necessary for program generation and displaying the progress of program generation are connected to the computer. ing.
Part of data 532 shown in FIG. 53 and program 5
The program automatic generation process 2 shown in FIG. 1 is executed by 33. Further, the computer shown in FIG. 53 is a database storing various libraries used in the embodiment of the present invention.
53 (not particularly shown in FIG. 53) is provided and is referred to in the process of program generation.

【0022】本発明のプログラム自動生成処理2の動作
の概要を説明する。プログラム自動生成処理2は、粒子
型方程式翻訳差分化処理3とプログラム生成処理5の二
つに分けられる。粒子型方程式翻訳差分化処理3は、粒
子シミュレーション情報1を入力として翻訳した情報を
以降参照し易い形で保持された各種内部表現4を出力す
る。各種内部表現4は、プログラムを生成するための詳
細な情報を規定した仕様であり、これら内部表現4に基
づいてプログラムが生成される。プログラム生成処理5
は、各種内部表現4を入力として計算プログラム6とシ
ミュレ−ション入力データ7を出力する。
The outline of the operation of the automatic program generation processing 2 of the present invention will be described. The program automatic generation processing 2 is divided into two: a particle type equation translation difference processing 3 and a program generation processing 5. The particle-type equation translation difference processing 3 outputs various internal expressions 4 that hold the information obtained by translating the particle simulation information 1 in an easy-to-reference form. The various internal representations 4 are specifications that define detailed information for generating a program, and a program is generated based on these internal representations 4. Program generation process 5
Receives various internal representations 4 and outputs a calculation program 6 and simulation input data 7.

【0023】(1)粒子シミュレーション情報1 まず、粒子型方程式翻訳差分化処理3の入力、すなわち
プログラム自動生成処理2の入力となる粒子シミュレー
ション情報1の内容について説明する。粒子シミュレー
ション情報1は、空間領域形状の定義情報11、粒子属
性の定義情報12、制御条件の定義情報13、および方
程式の定義情報14からなる。粒子属性の定義情報12
はシミュレ−ションの対象を規定し、空間領域形状の定
義情報11及び制御条件の定義情報13はシミュレ−シ
ョンを行う環境を規定し、方程式の定義情報14は粒子
の運動を規定する。
(1) Particle Simulation Information 1 First, the contents of the particle simulation information 1 that is an input of the particle type equation translation difference processing 3, that is, an input of the program automatic generation processing 2 will be described. The particle simulation information 1 includes spatial area shape definition information 11, particle attribute definition information 12, control condition definition information 13, and equation definition information 14. Particle attribute definition information 12
Defines the object of the simulation, the definition information 11 of the spatial region shape and the definition information 13 of the control conditions define the environment in which the simulation is performed, and the definition information 14 of the equation defines the movement of the particles.

【0024】(1−1)空間領域形状の定義情報11 空間領域形状の定義情報11は、空間の次元、空間の特
定範囲の定義、全空間領域の範囲、および境界条件の情
報からなる。
(1-1) Spatial Area Shape Definition Information 11 The spatial area shape definition information 11 includes information on the dimensions of the space, the definition of a specific range of the space, the range of the entire space area, and the boundary conditions.

【0025】a)空間の次元は、粒子が存在する空間の
次元を示し、通常1、2、または3次元である。しか
し、シミュレーションの内容によってはスピンなどの自
由度が導入される場合もあり、空間次元数は4以上にな
ることもある。本発明のプログラム生成方法では、次元
数が幾つであるかに合わせて異なる処理内容を実行する
わけではなく、次元数を一つのデータとみなして常に同
じ処理を実行している。従って、本発明では空間の次元
数に制限はない。
A) The dimension of space indicates the dimension of space in which particles are present, and is usually one, two, or three dimensions. However, depending on the contents of the simulation, a degree of freedom such as spin may be introduced, and the number of spatial dimensions may be 4 or more. In the program generation method of the present invention, different processing contents are not executed according to the number of dimensions, but the same processing is always executed by regarding the number of dimensions as one data. Therefore, the present invention does not limit the number of dimensions of space.

【0026】b)空間の特定範囲の定義は、全空間領域
の中の一部分に対して特定の名称を付けることを意味す
る。これは、各種の情報定義を容易に記述可能とするた
めのものである。例えば、空間領域の部分毎に温度の値
が異なる場合、あらかじめ空間領域定義情報において部
分毎に名称を設定しておくことにより、環境制御定義情
報において各部分領域の名称を指定するだけで部分領域
の指定が可能になる。空間領域の範囲を定義する方法が
二つ用意されている。一方は、領域の形状名称とその大
きさを規定する情報を指定する方法である。他方は、境
界を表現する不等式を複数指定し、それら全ての不等式
が成立する空間として空間領域範囲を指定する方法であ
る。
B) Defining a specific range of space means giving a specific name to a part of the entire spatial area. This is for making it possible to easily describe various information definitions. For example, when the temperature value differs for each part of the spatial area, the name of each part is set in advance in the spatial area definition information, and the partial area can be specified by simply specifying the name of each partial area in the environmental control definition information. Can be specified. There are two ways to define the extent of the spatial domain. One is a method of designating the shape name of an area and information defining the size of the area. The other is a method of designating a plurality of inequalities expressing boundaries and designating a spatial region range as a space in which all the inequalities are satisfied.

【0027】c)全空間領域の範囲は、粒子が存在する
領域、又は粒子の移動が可能な領域を指定する情報であ
る。
C) The range of the entire spatial area is information designating an area where particles exist or an area where particles can move.

【0028】d)境界条件は、空間領域の範囲の境界上
での粒子の処理方法を規定する情報である。多くのシミ
ュレーションで用いられる境界条件は、境界での処理内
容をあらかじめ登録しておくことにより、名称を記述す
るだけで定義可能とする。あらかじめ登録しておく境界
条件内容は、空間領域範囲が周期的に無限に連なってい
る周期的境界条件、および境界上で古典的に反射する固
定境界条件である。その他の一般的な境界条件は、各境
界における処理内容を指定することにより定義される。
D) Boundary condition is information that defines the method of processing particles on the boundary of the range of the spatial region. Boundary conditions used in many simulations can be defined by simply describing the names by registering the processing contents at the boundaries in advance. The boundary condition contents to be registered in advance are a periodic boundary condition in which the spatial domain range is infinitely continuous, and a fixed boundary condition that classically reflects on the boundary. Other general boundary conditions are defined by specifying the processing contents at each boundary.

【0029】(1−2)粒子属性の定義情報12 粒子属性の定義情報12は、粒子の種類、各種粒子の個
数、特定の粒子の指定、粒子属性の変数定義、粒子属性
の不変量定義、および粒子属性の変数の初期値を指定し
た情報からなる。
(1-2) Particle Attribute Definition Information 12 Particle attribute definition information 12 includes particle type, number of various particles, designation of specific particles, particle attribute variable definition, particle attribute invariant definition, And information that specifies the initial value of the particle attribute variable.

【0030】a)粒子の種類は、異なる属性値を持つ粒
子が幾つ存在するかを示すものである。粒子の種類が幾
つであるかに合わせて異なる処理内容を実行しているの
ではなく、種類数を一つのデータとみなして常に同じ処
理を実行しているため、空間の次元数と同様に、本発明
では粒子の種類数に制限はない。
A) The type of particle indicates how many particles have different attribute values. Different kinds of processing are not executed according to the number of kinds of particles, but the same processing is always executed by regarding the number of kinds as one data, so as with the number of dimensions of space, In the present invention, the number of kinds of particles is not limited.

【0031】b)各種粒子の個数は、定義した種類毎に
粒子が幾つ存在するかを記述したものである。 c)特定粒子の指定とは、粒子の種類毎の名称定義、お
よびシミュレーションで異なる処理が施される粒子を指
定するための名称定義であり、各種の情報定義を容易に
記述可能とするためのものである。
B) The number of various particles describes how many particles exist for each defined type. c) Designation of a specific particle is a name definition for each type of particle and a name definition for designating a particle to be subjected to different processing in simulation, so that various information definitions can be easily described. It is a thing.

【0032】d)粒子属性の変数定義は、粒子が所有す
る属性の名称と、その属性の値を指定するために必要と
なるインデックスを設定する。例えば、粒子の質量とい
う属性は粒子の種類毎に異なるから粒子種というインデ
ックスを持ち、粒子の位置という属性は全粒子が異なる
値を持つので粒子番号というインデックスを持つ。
D) The variable definition of the particle attribute sets the name of the attribute owned by the particle and the index required to specify the value of the attribute. For example, since the attribute of particle mass is different for each type of particle, it has an index of particle type, and the attribute of particle position has an index of particle number because all particles have different values.

【0033】e)粒子属性の不変量定義は、変数定義さ
れた粒子属性変数において、シミュレーションの最中に
固定値を持つ変数及びその値を設定する。そのため、不
変量定義で現われる不変量名は、粒子属性変数定義であ
らかじめ定義されており、その要素数も規定されていな
ければならない。粒子属性不変量としては、各種粒子の
質量や電荷、粒子間ポテンシャルのパラメーター等がこ
れにあたる。
E) In the particle attribute invariant definition, a variable having a fixed value and its value are set during the simulation in the variable-defined particle attribute variable. Therefore, the invariant name that appears in the invariant definition must be defined in advance in the particle attribute variable definition, and the number of elements must also be specified. The particle attribute invariants include the mass and charge of various particles, the parameters of interparticle potential, and the like.

【0034】f)粒子属性の変数の初期値定義は、変数
定義された粒子属性変数において、シミュレーション開
始時に特定の値を持つ変数及びその値を設定する。初期
値定義で現われる不変量名も、粒子属性変数定義であら
かじめ定義されており、その要素数も規定されていなけ
ればならない。粒子属性の初期値としては、各種粒子の
位置や速度等がこれに相当する。
F) The initial value definition of the particle attribute variable is to set a variable having a specific value and its value at the start of the simulation in the variable-defined particle attribute variable. The invariant name that appears in the initial value definition is also defined in advance in the particle attribute variable definition, and the number of elements must also be specified. Positions, velocities, etc. of various particles correspond to the initial values of the particle attributes.

【0035】(1−3)制御条件の定義情報13 制御条件の定義情報13は、環境属性定義、環境制御条
件定義、および補助処理定義を指定した情報からなる。
(1-3) Control Condition Definition Information 13 The control condition definition information 13 comprises information designating an environment attribute definition, an environment control condition definition, and an auxiliary process definition.

【0036】a)環境属性定義は、粒子属性以外の属性
で、広い意味でのシミュレーションを実行する環境を規
定する属性を定義する。例えば、温度、圧力、体積、お
よび時刻などの狭い意味での環境と、ボルツマン定数、
誘電率、円周率、および時間ステップなどの広い意味で
の環境とがある。それら環境を規定する属性の名称と、
その属性の値を指定するために必要となるインデックス
が設定される。例えば、空間領域が複数に分割されてお
り、各々の領域で温度や圧力などの状態が変わる場合、
その温度および圧力は空間領域数というインデックスが
設定される。定義された環境属性変数の内、シミュレー
ション実行中に固定値を有する変数が不変量として定義
される。
The a) environment attribute definition is an attribute other than the particle attribute, which defines the environment for executing the simulation in a broad sense. For example, the environment in a narrow sense such as temperature, pressure, volume, and time, and the Boltzmann constant,
There are environments in a broad sense such as permittivity, pi, and time step. The names of the attributes that define those environments,
The index required to specify the value of that attribute is set. For example, if the space area is divided into multiple areas and the state of temperature and pressure changes in each area,
An index called the number of spatial regions is set for the temperature and the pressure. Among the defined environment attribute variables, variables having fixed values during simulation execution are defined as invariants.

【0037】b)環境制御条件定義では、シミュレーシ
ョン実行中に環境属性変数が特定の条件を満足した場合
に、実行すべき処理内容を定義する。ここには、実行条
件と処理内容が対応して定義されていなければならな
い。
B) In the environment control condition definition, the processing content to be executed is defined when the environment attribute variable satisfies a specific condition during the simulation. Here, the execution condition and the processing content must be defined correspondingly.

【0038】c)また、本発明では環境制御条件におい
て処理内容を記述する際、記述量の削減と記述の容易さ
のために、一連の処理手続きを特定の名称で代用でき
る。その名称と一連の処理手続きの内容を補助処理定義
として記述する。
C) Further, in the present invention, when describing the processing contents under the environmental control conditions, a series of processing procedures can be substituted with a specific name in order to reduce the description amount and facilitate the description. The name and the contents of a series of processing procedures are described as an auxiliary processing definition.

【0039】(1−4)方程式の定義情報14 方程式の定義情報14は、方程式定義、差分化方法定
義、および補助関数定義からなる。 a)方程式定義では、すでに定義した粒子属性変数、お
よび環境属性変数を用いて、シミュレーションする系を
支配している方程式を記述する。方程式を記述する際に
は、すでに定義された粒子属性変数の名称を用いるた
め、粒子個別に方程式を記述する必要がない。方程式を
翻訳する際に、粒子毎の変数に自動的に展開されるから
である。
(1-4) Equation definition information 14 The equation definition information 14 includes equation definition, difference method definition, and auxiliary function definition. a) In the equation definition, the equation that governs the system to be simulated is described by using the already defined particle attribute variable and environment attribute variable. When the equation is described, the name of the previously defined particle attribute variable is used, so it is not necessary to describe the equation for each particle. This is because when the equation is translated, it is automatically expanded into variables for each particle.

【0040】b)差分化方法定義は、方程式を差分化す
る具体的な方法を指定するものである。通常用いられる
基本的差分化方法は、あらかじめ本処理システム内に定
義しておくことにより、容易に指定可能とする。その他
の差分化方法を用いる場合には、その差分化方法を指定
された手続きに従って定義しなければならない。具体的
な手続きの指定方法は、後述の実施例において詳細に説
明する。
B) The difference method definition specifies a specific method for differentiating an equation. The basic difference method that is usually used can be easily specified by defining it in the processing system in advance. If any other differencing method is used, that differencing method must be defined according to the specified procedure. A method for specifying a specific procedure will be described in detail in Examples described later.

【0041】c)本発明では、方程式定義において処理
内容を記述する際、記述量の削減と記述の容易さのため
に、一連の処理手続きを特定の名称で代用できる。その
名称と一連の処理手続きの内容が補助関数定義として記
述される。
C) In the present invention, when describing the processing contents in the equation definition, a series of processing procedures can be substituted with a specific name in order to reduce the amount of description and ease of description. The name and the contents of a series of processing procedures are described as an auxiliary function definition.

【0042】(2)粒子型方程式翻訳差分化処理3 次に、粒子型方程式翻訳差分化処理3の内容について説
明する。粒子型方程式翻訳差分化処理3は、空間領域形
状翻訳処理31、粒子属性翻訳処理32、制御条件翻訳
処理33、および方程式翻訳処理34からなる。
(2) Particle Equation Translation Difference Processing 3 Next, the content of the particle equation translation difference processing 3 will be described. The particle-type equation translation difference processing 3 includes a spatial domain shape translation processing 31, a particle attribute translation processing 32, a control condition translation processing 33, and an equation translation processing 34.

【0043】(2−1)空間領域形状翻訳処理31 空間領域形状翻訳処理31は、空間領域形状定義情報1
1を解読してシミュレーションが実行される系の領域形
状を内部に取り込み、これ以降の翻訳処理で参照し易い
形態の変域内部表現41を作成する。空間領域形状翻訳
処理31の処理内容のフローを図2に示す。
(2-1) Spatial region shape translation process 31 The spatial region shape translation process 31 is performed by the spatial region shape definition information 1
1 is read and the region shape of the system in which the simulation is executed is taken into the inside, and the domain internal representation 41 in a form that can be easily referred to in the subsequent translation processing is created. FIG. 2 shows a flow of processing contents of the spatial area shape translation processing 31.

【0044】まず、処理201は、粒子シミュレーショ
ン情報1の空間領域形状定義情報11から空間の次元数
を抽出して変数NSに格納し、処理202は、その数値
を次元名”SPACE”に対する次元数として次元リス
ト内部表現へ登録する。処理203は、各次元に名称が
指定されてる場合、その名称を定義情報から抽出し、次
元リストからポイントした各次元の名称リストへ登録す
る。処理204は、全空間領域を含む、記述された特定
領域全てに対して、空間領域の解読と領域形状への登録
を行なう。空間領域の範囲指定方法として、形状名称に
よる指定と境界による指定の二通りが用意されている。
そのため、処理205は、空間領域の指定方法が形状名
称による指定か境界による指定かを判別し、各々の場合
で対処する。形状名称による指定の場合、処理206
は、指定された形状名称が登録済みであることを確認
し、前記形状を規定するために必要な寸法を空間領域形
状定義情報11から抽出し、処理207は、領域リスト
へ形状名称とその寸法を登録する。複数の境界を指定す
る方法による領域指定の場合、処理208は、境界を表
現する不等式がなくなるまで次の処理209を行なう。
すなわち、処理209は、各不等式毎に境界名称を定義
して境界リストへ登録し、そこからポイントされた論理
式フィールドに不等式を記述する。
First, the process 201 extracts the number of dimensions of the space from the space area shape definition information 11 of the particle simulation information 1 and stores it in the variable NS, and the process 202, the number of dimensions for the dimension name "SPACE". To the internal representation of the dimension list as. When a name is specified for each dimension, the process 203 extracts the name from the definition information and registers it in the name list of each dimension pointed to from the dimension list. The process 204 decodes the spatial area and registers it in the area shape for all the specified specific areas including the entire spatial area. There are two methods for specifying the range of the spatial area: specification by shape name and specification by boundary.
Therefore, the process 205 determines whether the designation method of the spatial region is the designation by the shape name or the designation by the boundary, and deals with each case. In the case of designation by the shape name, processing 206
Confirms that the specified shape name has been registered, and extracts the dimension necessary for defining the shape from the spatial area shape definition information 11, and the process 207 adds the shape name and its dimension to the area list. To register. In the case of the area designation by the method of designating a plurality of boundaries, the processing 208 performs the following processing 209 until there are no inequalities expressing the boundaries.
That is, the process 209 defines a boundary name for each inequality, registers it in the boundary list, and describes the inequality in the logical expression field pointed from the boundary name.

【0045】最後に境界条件を抽出し、内部表現41へ
登録する。境界条件の指定方法には、登録済み名称によ
る指定方法と各境界での処理内容を指定する方法の二通
りが用意されている。そのため、処理210は、境界条
件の指定方法が登録済み名称による指定か処理内容によ
る指定かを判別し、各々の場合で対処する。登録済み名
称による指定の場合、処理211は、各境界指定毎に次
の処理212を行なう。処理212は、指定した境界条
件と領域形状が矛盾しないことを確認し、境界リストか
ら対応する境界処理名称へポイントし、前記境界条件名
称を登録する。一方、処理内容を指定する場合、処理2
13は、各境界の指定毎に次の処理214を行なう。処
理214は、境界処理内容を境界内容リストへ登録し、
対応する境界リストからポイントする。
Finally, the boundary condition is extracted and registered in the internal representation 41. There are two methods for specifying the boundary conditions: a method for specifying the registered name and a method for specifying the processing content at each boundary. Therefore, the process 210 determines whether the designation method of the boundary condition is the designation by the registered name or the designation of the processing content, and deals with each case. In the case of designation by the registered name, the process 211 performs the following process 212 for each boundary designation. The process 212 confirms that the specified boundary condition and the area shape do not contradict each other, points to the corresponding boundary process name from the boundary list, and registers the boundary condition name. On the other hand, when the processing content is specified, the processing 2
13 performs the following processing 214 for each designation of each boundary. The process 214 registers the boundary processing content in the boundary content list,
Point from the corresponding boundary list.

【0046】空間領域形状翻訳処理31は、以上の処理
により、次元リスト、領域リスト、境界リスト、および
境界条件リストを含む変域内部表現41を作成する。
The spatial area shape translation processing 31 creates the domain internal representation 41 including the dimension list, the area list, the boundary list, and the boundary condition list by the above processing.

【0047】(2−2)粒子属性翻訳処理32 粒子属性翻訳処理32は、粒子属性定義情報12を解読
してシミュレーションの対象となる粒子の情報を内部に
取り込み、これ以降の翻訳処理で参照し易い形態の変域
内部表現41を更新し、変数内部表現42を作成する。
粒子属性翻訳処理32の処理内容のフローを図3に示
す。
(2-2) Particle Attribute Translation Processing 32 The particle attribute translation processing 32 decodes the particle attribute definition information 12 and takes in the information of the particles to be simulated, and refers to it in the subsequent translation processing. The domain internal representation 41 in the easy form is updated to create the variable internal representation 42.
A flow of processing contents of the particle attribute translation processing 32 is shown in FIG.

【0048】まず、処理301は、粒子シミュレーショ
ン情報1の粒子属性定義情報12から粒子の種類数を抽
出して変数PSに格納する。処理302は、その数値を
次元名”SPECIES”に対する次元数として次元リ
スト内部表現へ登録する。処理303は、各粒子種に名
称が指定されてる場合、その名称を定義記述から抽出
し、次元リストから各粒子種の名称リストへポイントす
る。
First, in process 301, the number of types of particles is extracted from the particle attribute definition information 12 of the particle simulation information 1 and stored in the variable PS. The process 302 registers the numerical value in the dimension list internal representation as the number of dimensions for the dimension name "SPECIES". When a name is designated for each particle type, the process 303 extracts the name from the definition description and points from the dimension list to the name list of each particle type.

【0049】次に、各粒子種の個数を読み込む。処理3
04は、粒子の種類数だけ、以下の処理305を行な
う。処理305は、各粒子種の個数を抽出し、粒子名称
で特徴付けられる次元名と個数を次元リストへ登録す
る。この時の次元名は、粒子種名称に個数を意味するN
umを付加したものとする。処理306は、各粒子種の
個数の総和を取り、次元名”PARTICLE”の次元
数として次元リストへ登録する。
Next, the number of each particle type is read. Process 3
In 04, the following processing 305 is performed for the number of types of particles. The process 305 extracts the number of each particle type, and registers the dimension name and the number characterized by the particle name in the dimension list. The dimension name at this time is N which means the number of particles in the particle type name.
It is assumed that um is added. In the process 306, the total number of particle types is calculated and registered in the dimension list as the dimension number of the dimension name “PARTICLE”.

【0050】続いて、既に入力済みの空間および粒子の
次元情報を基に、粒子属性変数を定義する。処理307
として、各粒子属性変数の定義内容毎に、以下の処理3
08を行なう。処理308は、粒子属性変数の定義内容
から変数の名称とその変数が所有する属性を抽出し、変
数リストにその名称と要素数を登録する。ここで、要素
数は、変域内部表現41内次元リストに記録された次元
名称で登録する。例えば、空間の次元と同じ要素数を持
っていたらSPACE、粒子の総数と同じ要素数を持っ
ていたらPARTICLEと登録する。これら粒子属性
変数の内、シミュレーション実行中値が固定している変
数に対する定義を行なう。
Next, a particle attribute variable is defined based on the already input space and particle dimension information. Process 307
The following processing 3 is performed for each definition content of each particle attribute variable.
Perform 08. The process 308 extracts the name of the variable and the attribute owned by the variable from the definition content of the particle attribute variable, and registers the name and the number of elements in the variable list. Here, the number of elements is registered by the dimension name recorded in the dimension list in the domain internal representation 41. For example, if it has the same number of elements as the dimension of space, SPACE is registered, and if it has the same number of elements as the total number of particles, it is registered as PARTICLE. Among these particle attribute variables, the variable whose simulation execution value is fixed is defined.

【0051】処理309は、各粒子属性不変量の定義内
容毎に、以下の処理310を行なう。処理310は、粒
子属性不変量の定義内容から不変量の名称を抽出し、変
数リストからその名称に対応する量子属性変数を見いだ
す。さらに、固定値リストへ固定値を書き込み、変数リ
ストから対応する固定値リストへポインタを結ぶ。
A process 309 performs the following process 310 for each definition content of each particle attribute invariant. The process 310 extracts the name of the invariant from the definition content of the particle attribute invariant, and finds the quantum attribute variable corresponding to the name from the variable list. Further, a fixed value is written in the fixed value list, and a pointer is connected from the variable list to the corresponding fixed value list.

【0052】また、粒子属性変数の内、変化する量であ
るがシミュレーション実行開始時に初期値を持つ変数に
対する定義を行なう。処理311は、各粒子属性初期値
定義内容毎に以下の処理312を行なう。処理312
は、粒子属性初期値定義内容から初期値を持つ変数の名
称を抽出し、対応する粒子属性変数を見いだす。さら
に、初期値リストへ初期値を書き込むと共に変数リスト
から対応する初期値リストへポインタを結ぶ。
Further, among the particle attribute variables, a variable having an initial value, which is a variable amount, is defined at the start of simulation execution. The process 311 performs the following process 312 for each particle attribute initial value definition content. Process 312
Extracts the name of the variable having the initial value from the definition content of the particle attribute initial value, and finds the corresponding particle attribute variable. Further, the initial value is written in the initial value list and a pointer is connected from the variable list to the corresponding initial value list.

【0053】粒子属性翻訳処理32は、以上の処理によ
り、変域内部表現41内の次元リストへの追加登録を行
ない、変数内部表現42内の変数リスト、固定値リス
ト、および初期値リストの作成とポインタによる結合を
行なう。これにより、変数リストから順次参照すること
でその変数の要素数が幾つであり、さらにその変数が固
定値あるいは初期値のいずれをを持つかが容易に認識で
きる。
Through the above processing, the particle attribute translation process 32 performs additional registration in the dimension list in the domain internal representation 41, and creates a variable list, a fixed value list, and an initial value list in the variable internal representation 42. And join with pointer. Thus, by sequentially referring to the variable list, it is possible to easily recognize how many elements the variable has, and whether the variable has a fixed value or an initial value.

【0054】(2−3)制御条件翻訳処理33 制御条件翻訳処理33は、制御条件定義情報13を解読
してシミュレーションの実行を制御する内容を内部に取
り込み、これ以降の翻訳処理およびプログラム作成処理
で参照し易い形態の変数内部表現42、条件−イベント
テーブル43及び数式内部表現44を作成する。制御条
件翻訳処理33の処理内容のフローを図4に示す。
(2-3) Control condition translation process 33 The control condition translation process 33 decodes the control condition definition information 13 and takes in the contents for controlling the execution of the simulation, and the subsequent translation process and program creation process. A variable internal expression 42, a condition-event table 43, and a mathematical expression internal expression 44 are created in a form that is easy to refer to. FIG. 4 shows a flow of processing contents of the control condition translation processing 33.

【0055】まず、処理401は、粒子シミュレーショ
ン情報1の制御条件定義情報13から各環境属性変数の
定義内容毎に以下の処理402を行なう。処理402
は、環境属性変数の定義内容から変数名称とその変数が
所有する属性を抽出し、変数内部表現42内の変数リス
トにその名称と要素数を登録する。
First, a process 401 performs the following process 402 for each definition content of each environmental attribute variable from the control condition definition information 13 of the particle simulation information 1. Process 402
Extracts the variable name and the attribute owned by the variable from the definition contents of the environment attribute variable, and registers the name and the number of elements in the variable list in the variable internal expression 42.

【0056】次に、これら環境属性変数の内、シミュレ
ーション実行中値が固定している変数に対する定義を行
なう。処理403は、各環境属性不変量の定義内容毎
に、以下の処理404を行なう。処理404は、環境属
性不変量の定義内容から不変量の名称を抽出し、変数リ
ストからその名称に対応する環境属性変数を見いだす。
さらに、固定値リストへ固定値を書き込み、変数リスト
から対応する固定値リストへポインタを結ぶ。この操作
は、粒子属性変数の場合と全く同様である。
Next, of these environment attribute variables, variables whose simulation-in-progress value is fixed are defined. A process 403 performs the following process 404 for each definition content of each environment attribute invariant. The process 404 extracts the name of the invariant from the definition contents of the environment attribute invariant, and finds the environment attribute variable corresponding to the name from the variable list.
Further, a fixed value is written in the fixed value list, and a pointer is connected from the variable list to the corresponding fixed value list. This operation is exactly the same as for the particle attribute variable.

【0057】続いて、環境属性変数の制御内容を認識
し、制御条件と処理内容を対応させ、参照しやすい形態
で内部に保持する。処理405は、各環境属性変数の制
御条件定義内容毎に、以下の処理406を行なう。すな
わち、処理406は、定義情報から制御条件と処理内容
を分離抽出し、それぞれ条件リストとイベントリストへ
登録し、処理項番リストから各々ポイントする。条件リ
スト内では、各種変数リストによる論理式によって表現
される。条件としては、初期条件、終了条件の他に、例
えば、温度がある値になった時やシミュレーション時刻
がある時刻になった時などである。イベントリストに
は、処理名称、及びオペランドの順に列挙される。この
条件−イベントリストには、初期条件、及び終了条件の
他に、必要に応じてシミュレーション環境を変更する制
御情報、および物理量とそれを計算するタイミングなど
の情報が記録される。このリストにより、処理を実行す
べきタイミングとその実行内容とを容易に参照できる。
Subsequently, the control content of the environment attribute variable is recognized, the control condition and the processing content are made to correspond to each other, and the control condition and the processing content are internally held in a form that is easy to refer to. A process 405 performs the following process 406 for each control condition definition content of each environment attribute variable. That is, the process 406 separates and extracts the control condition and the process content from the definition information, registers them in the condition list and the event list, respectively, and points from the process item number list. In the condition list, it is expressed by a logical expression based on various variable lists. In addition to the initial condition and the end condition, the condition is, for example, when the temperature reaches a certain value or when the simulation time reaches a certain time. In the event list, processing names and operands are listed in that order. In this condition-event list, in addition to the initial condition and the end condition, control information for changing the simulation environment as necessary, and information such as the physical quantity and the timing for calculating the physical quantity are recorded. With this list, it is possible to easily refer to the timing to execute the process and the content of the execution.

【0058】イベントリスト内の処理名称のうち、代入
など処理機構内部に登録済みの処理以外は、補助処理定
義として別個定義しておく必要がある。処理407は、
各補助処理定義内容毎に以下の処理408〜412を行
なう。処理408は、各補助処理の処理名称を抽出して
補助処理リストへ登録し、そこから演算リスト、オペラ
ンドリスト、必要変数リスト、および更新変数リストへ
ポイントする。処理409は、演算リストには補助処理
内容を記述し、処理410は、補助処理変数として変更
可能なオペランドをオペランドリストに登録する。ま
た、処理411は、補助処理実行内容を解析する時に、
処理に必要となる変数をリストアップし、必要変数リス
トに登録する。さらに、処理412は、その補助処理を
実行した場合に変更される変数を抽出して更新変数リス
トへ登録する。この補助処理定義によって、各補助処理
が実行されるためにはどの変数が計算されていなければ
ならないか、あるいは実行された後ではどの変数が書き
変わっているか等が容易に参照できる。
Of the process names in the event list, it is necessary to separately define as auxiliary process definitions, except for processes that have been registered in the processing mechanism such as substitution. The process 407 is
The following processes 408 to 412 are performed for each auxiliary process definition content. The process 408 extracts the process name of each auxiliary process, registers it in the auxiliary process list, and points from it to the operation list, the operand list, the necessary variable list, and the update variable list. A process 409 describes the auxiliary process content in the operation list, and a process 410 registers an operand that can be changed as an auxiliary process variable in the operand list. Further, the process 411 is performed when the auxiliary process execution content is analyzed.
List the variables required for processing and register them in the required variable list. Further, in the process 412, the variables changed when the auxiliary process is executed are extracted and registered in the update variable list. With this auxiliary process definition, it is possible to easily refer to which variable has to be calculated in order to execute each auxiliary process, or which variable has been rewritten after being executed.

【0059】(2−4)方程式翻訳処理34 方程式翻訳処理34は、方程式定義情報14を解読し
て、シミュレーションにおいて粒子の運動を支配する方
程式の内容を内部に取り込み、これ以降の翻訳処理およ
びプログラム作成処理で参照し易い形態の数式内部表現
44を作成する。方程式翻訳処理34の処理内容のフロ
ーを図5に示す。
(2-4) Equation translation processing 34 The equation translation processing 34 decodes the equation definition information 14 and incorporates the content of the equation that governs the motion of particles in the simulation, and the subsequent translation processing and program. The mathematical expression internal representation 44 in a form that is easy to refer to in the creation process is created. A flow of processing contents of the equation translation processing 34 is shown in FIG.

【0060】まず、処理501は、粒子シミュレーショ
ン情報1の方程式定義情報14から各方程式の定義内容
毎に以下の処理502〜504を行なう。処理502
は、方程式リストへ方程式名称を登録し、対応する方程
式記述へポイントする。方程式名称として、特定の名称
が指定してない場合は、通し番号として方程式1、方程
式2、・・・という名称を用いる。処理503は、ポイ
ントされた方程式記述に基づいて、樹系図形式の方程式
内部表現を作成する。
First, in the process 501, the following processes 502 to 504 are performed for each definition content of the equation from the equation definition information 14 of the particle simulation information 1. Process 502
Registers the equation name in the equation list and points to the corresponding equation description. If no specific name is specified as the equation name, the names of equation 1, equation 2, ... Are used as serial numbers. Process 503 creates a tree diagram internal equation representation based on the pointed equation description.

【0061】樹系図の例を図6に示す。方程式を成立さ
せる等号を頂点とし、両辺を表わす両枝に、演算子と変
数のつながった枝が伸びた形となる(601)。演算子
とは、四則演算のように二つのオペランドに対応して二
本の枝を持つものもあれば、時間微分のように一本の枝
しか持たないものもある。枝が伸びるのは頂点の等号と
演算子だけであり、枝の末端になるのは変数だけであ
る。末端の変数は変数リストへのポインターフィールド
を持ち、対応する変数リストへポイントする。例えば、
方程式の例602の場合、樹系図603のように記録さ
れる。
An example of a tree diagram is shown in FIG. The equal sign that establishes the equation is used as the apex, and the branch connecting the operator and the variable extends to both branches representing both sides (601). Some operators have two branches corresponding to two operands like four arithmetic operations, and some have only one branch like time differentiation. Branches extend only to the equal signs and operators at the vertices, and only variables to the ends of the branches. The terminal variable has a pointer field to the variable list and points to the corresponding variable list. For example,
In the case of the example equation 602, it is recorded as a tree 603.

【0062】図5の処理505は、方程式定義情報14
から差分化法の記述を抽出し、差分化法の指定方法を判
断し、それに基づいて差分化の方法を内部に取り込む。
差分化の方法としては、登録済み名称によって指定する
方法と、差分化の処理内容を指定する方法の二通りが用
意されている。登録済み名称で指定された場合、処理5
06は、指定名称そのものを表現する数値を内部変数と
して保持する。一方、差分化処理内容を指定する場合、
処理507は、差分化法を指定する内部変数に処理内容
指定であることを記録し、処理508は、実際の差分化
処理内容は数式内部表現44内の差分化リストへ登録す
る。以降の差分化処理では、ここで登録した差分化法に
したがって方程式を差分化する。
The process 505 in FIG.
The description of the differentiating method is extracted from this, the method of specifying the differentiating method is determined, and the method of differentiating is taken into the inside based on that.
There are two methods of differencing: a method of designating by a registered name and a method of designating the processing content of differencing. If specified by registered name, process 5
06 holds the numerical value expressing the designated name itself as an internal variable. On the other hand, when specifying the difference processing content,
The process 507 records in the internal variable designating the difference method that the process content is specified, and the process 508 registers the actual difference process content in the difference list in the mathematical expression internal representation 44. In the subsequent differential processing, the equation is differentiated according to the differential method registered here.

【0063】処理509は、微分方程式の差分化を実行
する。方程式の差分化は、既に読み込んだ差分化法に従
って実行される。差分化法は、時間依存変数が微分演算
子の作用を受けた場合に、どのような時刻依存の変数の
組み合わせに置き換えるかを指定したものである。単純
な差分化法であれば、f(t)の微分を(f(t+Δ
t)−f(t))/Δtと置き換える。この置き換えの
内容が各差分化法によって異なる。この差分化置き換え
を各微分に対して実行すれば、自動的に差分方程式が得
られる。次に、処理510として、方程式が複数個ある
場合は、各方程式に含まれる変数の時刻に従って並び変
えを行なう。さらに、処理511は、同じ変数の中で、
時刻の新しいものを新変数とし、古いものを旧変数とし
て漸化式を得る。
The process 509 executes the differentiation of the differential equation. The difference of the equation is executed according to the difference method already read. The difference method specifies what combination of time-dependent variables should be replaced when the time-dependent variables are affected by a differential operator. If it is a simple difference method, the derivative of f (t) is calculated by (f (t + Δ
t) -f (t)) / Δt. The contents of this replacement differ depending on each difference method. If this differential conversion is executed for each differential, a differential equation is automatically obtained. Next, as a process 510, when there are a plurality of equations, rearrangement is performed according to the time of the variable included in each equation. Further, in the process 511, in the same variable,
The recurrence formula is obtained with the new time as the new variable and the old time as the old variable.

【0064】以上の処理により、粒子の運動を支配する
方程式が指定された差分化法によって差分化され、漸化
式が得られる。上記の数式内部表現44では、方程式リ
ストから順次ポインタを参照することによって、容易に
時刻順の漸化式を取り出すことができる。さらに、方程
式翻訳処理34では、方程式定義を簡潔に記述できるよ
うに補助関数定義を許している。すなわち、制御条件定
義内の処理512は、補助関数の内容を抽出し、これを
数式内部表現44内の補助処理リストへ登録する。
By the above processing, the equation governing the motion of the particles is differentiated by the designated difference method, and the recurrence formula is obtained. In the mathematical expression internal expression 44, the recurrence formula in the time order can be easily taken out by referring to the pointers sequentially from the equation list. Further, in the equation translation process 34, the auxiliary function definition is allowed so that the equation definition can be simply described. That is, the process 512 in the control condition definition extracts the content of the auxiliary function and registers it in the auxiliary process list in the mathematical expression 44.

【0065】以上、空間領域形状翻訳処理31、粒子属
性翻訳処理32、制御条件翻訳処理33、および方程式
翻訳処理34により、変域内部表現41、変数内部表現
42、条件−イベントテーブル43および数式内部表現
44が、リスト、テーブル内部データ、および樹系図と
して生成される。具体的な各内部表現の形式は、後述の
実施例で詳細に述べる。
As described above, the spatial domain shape translation process 31, the particle attribute translation process 32, the control condition translation process 33, and the equation translation process 34 allow the domain internal representation 41, the variable internal representation 42, the condition-event table 43, and the mathematical expression internal. The representation 44 is generated as a list, internal table data, and a tree. The specific format of each internal expression will be described in detail in the embodiments described later.

【0066】(3)プログラム生成処理5 次に、プログラム生成処理5の各部の内容について説明
する。図7にプログラム生成処理5とその入出力部の構
成図を示す。
(3) Program Generation Processing 5 Next, the contents of each part of the program generation processing 5 will be described. FIG. 7 shows a configuration diagram of the program generation processing 5 and its input / output unit.

【0067】プログラム生成処理5は、変域内部表現4
1、変数内部表現42、条件−イベントテーブル43、
および数式内部表現44を入力として、ヘッダプログラ
ム生成処理701、データおよび入出力プログラム生成
処理702、処理制御プログラム生成処理703、時間
発展プログラム生成処理704、および補助計算プログ
ラム生成処理705により、ヘッダプログラム706、
データ読み込みプログラム707、処理制御プログラム
708、時間発展プログラム709、及び補助処理プロ
グラム710からなる計算プログラム7、およびシミュ
レ−ション入力データ6を生成する。
The program generation process 5 is performed by the domain internal representation 4
1, variable internal expression 42, condition-event table 43,
The header program 706 is processed by the header program generation processing 701, the data and input / output program generation processing 702, the processing control program generation processing 703, the time evolution program generation processing 704, and the auxiliary calculation program generation processing 705 with the mathematical expression internal representation 44 as an input. ,
The calculation program 7 including the data reading program 707, the processing control program 708, the time evolution program 709, and the auxiliary processing program 710, and the simulation input data 6 are generated.

【0068】(3−1)ヘッダプログラム生成処理70
1 ヘッダプログラム生成処理701は、変域内部表現41
と変数内部表現42から、生成されるシミュレーション
プログラムで用いる次元や共通変数を宣言したヘッダプ
ログラム706を生成する。この処理の入力となる変域
内部表現41は、空間領域形状翻訳処理31および粒子
属性翻訳処理32によって生成されたものである。
(3-1) Header program generation processing 70
1 The header program generation process 701 uses the domain internal representation 41
From the variable internal representation 42, a header program 706 that declares dimensions and common variables used in the generated simulation program is generated. The domain internal representation 41 that is an input of this processing is generated by the spatial area shape translation processing 31 and the particle attribute translation processing 32.

【0069】変域内部表現41は、次元リストと領域リ
ストからなる。次元リストには、空間の次元数と次元名
称、粒子種の数と粒子種名称、および粒子総数などが参
照できる形で保持されている。領域リストには、全領域
を含む特定領域に関する、境界と境界条件が記録されて
いる。境界として形状名称が指定された場合、形状規定
情報にはその形状を規定する寸法が記録され、境界とし
て不等式による複数境界の指定が行なわれた場合、形状
規定情報として論理式が記録されている。
The domain internal representation 41 comprises a dimension list and a region list. In the dimension list, the number of dimensions and the name of the space, the number of particle species and the name of particle species, the total number of particles, etc. are held in a form that can be referred to. In the area list, boundaries and boundary conditions regarding specific areas including all areas are recorded. When the shape name is specified as the boundary, the dimension defining the shape is recorded in the shape defining information, and when multiple boundaries are specified by the inequality as the boundary, the logical expression is recorded as the shape defining information. ..

【0070】さらに、境界条件を有する境界名に対して
は境界条件リストへのポイントが存在する。境界条件リ
ストには、登録済みの境界条件の場合は境界条件名称の
みが記録され、境界処理指定の境界条件の場合は各境界
毎での変数の処理方法が記録されている。
Furthermore, for a boundary name having a boundary condition, there is a point to the boundary condition list. In the boundary condition list, only the boundary condition name is recorded in the case of the registered boundary condition, and the variable processing method for each boundary is recorded in the case of the boundary condition designated for boundary processing.

【0071】もう一方の入力となる変数内部表現42
は、粒子属性翻訳処理32および制御条件翻訳処理33
によって生成されたものである。変数内部表現42は、
変数リストとそこからポイントされる固定値リスト、お
よび初期値リストからなる。変数リストには、粒子属性
変数、および環境属性変数の名称および要素数を規定す
る次元名称が記録されている。固定値リストと初期値リ
ストは、数値の羅列であり、各変数リストからのポイン
トによってその意味を認識することができる。ヘッダプ
ログラム生成処理701では、まず始めに次元宣言部分
を生成する。これは、生成されるシミュレーションプロ
グラムにおいて、配列の個数として参照されるものであ
る。空間の次元や粒子の個数などを総称して次元と呼ん
でいるが、これらはFORTRANにおけるパラメータ
文として宣言される。ヘッダプログラム生成処理のフロ
ーを図8に示す。
The variable internal expression 42 which is the other input
Is a particle attribute translation process 32 and a control condition translation process 33.
It was generated by. The variable internal representation 42 is
It consists of a variable list, a fixed value list pointed to by it, and an initial value list. In the variable list, names of particle attribute variables and environment attribute variables and dimension names that define the number of elements are recorded. The fixed value list and the initial value list are lists of numerical values, and the meaning can be recognized by the points from each variable list. In the header program generation processing 701, the dimension declaration part is first generated. This is referred to as the number of arrays in the generated simulation program. The dimensions of space and the number of particles are collectively called dimensions, which are declared as parameter statements in FORTRAN. The flow of the header program generation process is shown in FIG.

【0072】まず、処理801は、次元数パラメータの
通し番号をクリアーする。処理802は、変域内部表現
41の次元リスト内の全ての次元名称について以下の処
理を実行する。処理803は、次元数パラメータの通し
番号を一つ加算する。処理804は、各次元名称とその
次元数を抽出し、これをFORTRANのパラメータ文
として生成する。この際、次元名称そのものをコメント
として付記し、プログラムソースの見やすさを図る。さ
らに、処理805は、空間次元の”X”、”Y”、およ
び”Z”などの様に各次元に名称が定義されているかど
うかの判断を行ない、定義されていない時は以下の処理
806〜808を行なう。まず、処理806は、各次元
名称の最大文字数で文字配列宣言文を次元数分だけ生成
する。次に、次元名称を定義するパラメータ文を次元数
の数だけ生成する(808)。この処理808を次元リ
スト内部表現に含まれる全ての次元名称に対して行なう
処理807を実行することで、シミュレーションプログ
ラムで用いられるヘッダプログラム706の内パラメー
タ宣言部分が生成される。
First, the process 801 clears the serial number of the dimension number parameter. The process 802 executes the following process for all dimension names in the dimension list of the domain internal representation 41. A process 803 adds one serial number of the dimension number parameter. A process 804 extracts each dimension name and its dimension number, and generates this as a FORTRAN parameter statement. At this time, the dimension name itself is added as a comment to make the program source easy to see. Further, the processing 805 determines whether or not a name is defined for each dimension such as "X", "Y", and "Z" of the spatial dimension, and if not, the following processing 806 is performed. ~ 808 is performed. First, the process 806 generates character array declaration statements for the number of dimensions with the maximum number of characters of each dimension name. Next, parameter statements defining the dimension name are generated by the number of dimensions (808). By executing the processing 807 in which the processing 808 is performed for all the dimension names included in the dimension list internal representation, the inner parameter declaration portion of the header program 706 used in the simulation program is generated.

【0073】次に、変数内部表現42から共通変数宣言
部分を生成する処理を説明する。まず、処理809は、
変数内部表現42の変数リスト内の全ての変数名称につ
いて以下の処理810、811を実行する。処理810
は、各変数名称とその次元名称を抽出し、ポインタを辿
りながら、その変数が持つ配列の次元と対応する次元数
パラメータ名称を見いだす。処理811は、得られた変
数名称と次元パラメータ名称とから、FORTRANの
変数宣言文を生成する。最後に、処理812は、全変数
名称に関する変数宣言文を生成した後、宣言された全て
の変数を全モジュールから参照できるように共通領域へ
置くため、全変数を含むFORTRANのCOMMON
宣言文を生成する。以上の処理により、次元数宣言部と
共通変数宣言部を含むヘッダプログラム706が生成さ
れる。
Next, the process of generating the common variable declaration part from the variable internal expression 42 will be described. First, the process 809
The following processes 810 and 811 are executed for all variable names in the variable list of the variable internal expression 42. Process 810
Extracts each variable name and its dimension name, and while tracing the pointer, finds the dimension parameter name corresponding to the array dimension of the variable. A process 811 generates a FORTRAN variable declaration statement from the obtained variable name and dimension parameter name. Finally, the process 812 generates a variable declaration statement for all variable names, and then places all declared variables in the common area so that all modules can refer to them.
Generate a declaration statement. Through the above processing, the header program 706 including the dimension number declaration part and the common variable declaration part is generated.

【0074】(3−2)入出力プログラム生成処理70
2 入出力プログラム生成処理702は、変数内部表現42
から初期値を有する変数を抽出してデータ6としてファ
イルへ出力すると共に、そのデータ読み込み用プログラ
ム707を生成する。入出力プログラム生成処理702
のフローを図9に示す。
(3-2) Input / output program generation processing 70
2 The input / output program generation processing 702 uses the variable internal representation 42
A variable having an initial value is extracted from the file and output as a data 6 to a file, and a data reading program 707 is generated. Input / output program generation processing 702
The flow of is shown in FIG.

【0075】まず、処理901は、入出力プログラムで
次元宣言部と共通変数を参照できるように、FORTR
ANのINCLUDE文を用いてヘッダ部を生成する。
このINCLUDE文は、ヘッダプログラム生成処理7
01が生成したヘッダプログラム706を取り込む内容
である。次に、処理902は、変数内部表現42内の変
数リストに含まれる変数のうち、初期値リストへポイン
トされている全ての変数について以下の処理903〜9
07を行なう。各変数のポインターフィールドから初期
値リストへポイントされているかどうかの判断処理90
3を経て、初期値をもっている場合ならば以下の連続し
た処理903〜907を実行する。処理904は、変数
名称と要素数をコメントとして付記し、データ内容の見
やすさを図る。続いて、処理905は、各変数に対応す
る初期値をデータファイルへ出力し、処理906は、デ
ータファイルへ出力したコメント用の変数名称と要素数
を読み飛ばすためのプログラム部分を作成する。処理9
07は、実際の初期値を読み込むプログラム部分を作成
する。変数リスト内の全変数に対して以上の処理を終え
た後、処理908は、読み込みプログラムのフッタ部分
を作成する。以上の処理より、シミュレーション用初期
値データ6とデータ読み込みプログラム707が生成さ
れる。
First, the process 901 executes FORTR so that the dimension declaration part and the common variable can be referred to by the input / output program.
A header part is generated using the INCLUDE statement of AN.
This INCLUDE statement is used in the header program generation process 7
01 is the content to take in the generated header program 706. Next, the process 902 performs the following processes 903 to 9 for all variables pointed to the initial value list among the variables included in the variable list in the variable internal expression 42.
Perform 07. Processing 90 for judging whether or not the pointer field of each variable points to the initial value list
If it has an initial value through 3, the following continuous processes 903 to 907 are executed. In the process 904, the variable name and the number of elements are added as comments to make the data contents easy to see. Then, a process 905 outputs the initial value corresponding to each variable to the data file, and a process 906 creates a program part for skipping the variable name for comment and the number of elements output to the data file. Process 9
07 creates a program part for reading an actual initial value. After the above processing is completed for all the variables in the variable list, the processing 908 creates the footer portion of the reading program. Through the above processing, the simulation initial value data 6 and the data reading program 707 are generated.

【0076】(3−3)処理制御プログラム生成処理7
03 処理制御プログラム生成処理703は、変域内部表現4
1と条件−イベントテーブル43とから条件制御を行な
うプログラム、すなわち、FORTRANで表現された
処理制御プログラム708を生成する。このプログラム
は、シミュレーション全体を制御するメインプログラム
であり、条件にしたがって対応する補助計算プログラム
710を呼び出したり、時間発展プログラム709を呼
び出したりする。処理制御プログラム生成処理703
は、図10に示したフローに従って、図11に示す処理
制御フローを持つ処理制御プログラム708を生成す
る。図11で示された処理制御フローからFORTRA
Nで記述されたシミュレーションプログラムのメインプ
ログラムを生成する方法はすでに知られている。以降に
示す手順に従って処理制御プログラム708を生成す
る。
(3-3) Processing control program generation processing 7
03 Process control program generation process 703 is the domain internal representation 4
From 1 and the condition-event table 43, a program for performing condition control, that is, a process control program 708 represented by FORTRAN is generated. This program is a main program that controls the entire simulation, and calls the corresponding auxiliary calculation program 710 and the time evolution program 709 according to the conditions. Process control program generation process 703
Generates a processing control program 708 having the processing control flow shown in FIG. 11 according to the flow shown in FIG. From the processing control flow shown in FIG. 11, FORTRA
A method of generating a main program of a simulation program described by N is already known. The processing control program 708 is generated according to the procedure described below.

【0077】処理1001は、処理制御プログラム70
8のヘッダ部分を生成する。すなわち、すでにヘッダプ
ログラムとして生成済みの次元数宣言部と共通変数宣言
部を、FORTRANのINCLUDE文によって指定
することにより実現する。処理1002は、シミュレー
ション実行時の固定値を設定するプログラム部分110
1を生成する。変数内部表現42内の変数リストから固
定値リストへポイントされる変数に対応する数値をFO
RTRANのデータ文により定義する。処理1003
は、初期値読み込みプログラムの呼び出し部分1102
を生成する。入出力プログラム生成処理702が生成し
た初期値読み込みプログラム707をFORTRANの
CALL文により呼び出し、初期値読み込み処理を実現
する。続けて処理1004は、時刻更新繰り返し部分1
103、すなわち、シミュレーション時刻tを開始時刻
から終了時刻まで、設定された刻み幅Δtづつ加える繰
り返しループを生成する。処理1005は、条件分離時
刻の抽出を行なう。この条件分離時刻とは、処理制御プ
ログラムにおいて分岐処理を実行する時刻のことであ
り、その抽出の詳細な処理方法を図12に示す。
The process 1001 is the process control program 70.
8 header parts are generated. That is, it is realized by designating the dimension number declaration part and the common variable declaration part which have already been generated as the header program by the INCLUDE statement of FORTRAN. A process 1002 is a program part 110 for setting a fixed value when the simulation is executed.
1 is generated. FO the numerical value corresponding to the variable pointed from the variable list in the variable internal expression 42 to the fixed value list.
It is defined by the RTRAN data statement. Process 1003
Is the calling portion 1102 of the initial value reading program.
To generate. The initial value reading program 707 generated by the input / output program generating process 702 is called by a FORTRAN CALL statement to realize the initial value reading process. Subsequently, the process 1004 is the time update repetition part 1
103, that is, an iterative loop that adds the simulation time t from the start time to the end time by the set step size Δt is generated. The process 1005 extracts the condition separation time. The condition separation time is the time at which the branch processing is executed in the processing control program, and the detailed processing method of the extraction is shown in FIG.

【0078】処理1201は、抽出した条件分離時刻を
収める特定時刻リストをクリアーする。処理1202
は、条件−イベントテーブル43の全ての処理項番に対
して以下の処理1203〜1206を行なう。処理12
03は、各条件が時間条件を含むか否かを判断し、時間
条件を含む場合、処理1204は、その条件記述時刻が
すでに特定時刻リストに存在するかどうかを判断する。
まだリストに登録されていない条件記述時刻が存在した
ら、処理1205は、特定時刻数に1を加算し、処理1
206は、特定時刻リストにその条件記述時刻を追加す
る。全ての条件記述時刻が登録されたら、処理1207
は、特定時刻の時刻順ソーティングを行なって、条件分
離時刻の抽出を完了する。さらに、上記のようにして抽
出された分離時刻に従って、時刻条件分岐部分1104
を生成する。時刻条件分岐部分1104は、時刻tが分
離時刻に等しい時にそれぞれ分岐して対応する処理に実
行を移す。
The process 1201 clears the specific time list containing the extracted condition separation time. Process 1202
Performs the following processes 1203 to 1206 for all process item numbers in the condition-event table 43. Process 12
03 determines whether or not each condition includes a time condition. If the condition includes a time condition, the process 1204 determines whether or not the condition description time already exists in the specific time list.
If there is a condition description time that is not yet registered in the list, the process 1205 adds 1 to the specific time number, and the process 1
206 adds the condition description time to the specific time list. When all condition description times have been registered, processing 1207
Performs time-ordered sorting of specific times to complete the extraction of condition separation times. Furthermore, according to the separation time extracted as described above, the time condition branch portion 1104
To generate. The time condition branching portion 1104 branches when the time t is equal to the separation time and shifts the execution to the corresponding processing.

【0079】続いて、図10の処理1006と1007
により、各分岐条件内での時刻以外の条件分岐および処
理プログラム生成を行ない、時刻条件による各処理11
05、1106、および1107に対応するプログラム
を生成する。その詳細な処理方法を図13に示す。
Then, the processes 1006 and 1007 in FIG.
By this, conditional branching other than the time within each branching condition and processing program generation are performed, and each processing 11 according to the time condition is performed.
The programs corresponding to 05, 1106, and 1107 are generated. The detailed processing method is shown in FIG.

【0080】処理1301は、抽出された条件分離時刻
tnに対して以下の処理を行なう。ここで、nは1から
特定時刻数まで変化する。処理1302は、条件−イベ
ントテーブルの処理項番全てに対して以下の処理を行な
う。処理1303は、各処理項番に対応する制御条件が
時刻条件を含み、特定時刻tnと一致する時のみ以下の
処理を行なう。各処理項番に対応する制御条件が時刻条
件以外の条件を含む場合(処理1304)、処理130
5は、その条件を判断するための条件判断部分を生成す
る。その後、時刻条件以外の条件の有無にかかわらず、
処理1306は、各処理項番に対応するイベント処理の
プログラムを生成する。以上により、時刻条件による各
処理1105、1106、および1107が生成され
る。
A process 1301 carries out the following process for the extracted condition separation time tn. Here, n changes from 1 to the specific number of times. A process 1302 performs the following process for all process item numbers in the condition-event table. The process 1303 performs the following process only when the control condition corresponding to each process item number includes the time condition and coincides with the specific time tn. When the control condition corresponding to each process item number includes a condition other than the time condition (process 1304), process 130
5 generates a condition judgment part for judging the condition. After that, regardless of whether there is a condition other than the time condition,
A process 1306 generates an event processing program corresponding to each process item number. As described above, the processes 1105, 1106, and 1107 according to the time condition are generated.

【0081】処理1008は、時刻条件を持たない制御
条件に対する分岐部分及び処理部分を生成する。その詳
細な生成方法を図14に示す。処理1401は、条件−
イベントテーブルの処理項番全てに対して、以下の処理
を行なう。処理1402は、時刻条件を含まない制御条
件だけを取りだし、以下の処理を続ける。処理1403
は、その制御条件の条件判断プログラム1108を生成
し、処理1404は、条件を満足した後の実行内容のプ
ログラム1109を生成する。
Process 1008 generates a branch part and a process part for a control condition having no time condition. The detailed generation method is shown in FIG. Process 1401 is a condition-
The following processing is performed for all the processing item numbers in the event table. The process 1402 takes out only the control condition not including the time condition, and continues the following process. Process 1403
Generates a condition judgment program 1108 of the control condition, and a process 1404 generates a program 1109 of execution contents after satisfying the condition.

【0082】全ての時刻条件を含まない制御条件の処理
を終了した後、処理1009は、シミュレーション時刻
の繰り返しループの内側で実行する、時刻発展プログラ
ム709の呼び出し部分1110を生成する。FORT
RANのCALL文により呼び出し、呼び出される時間
発展プログラム709はサブルーチン形式で記述され
る。上記時間発展プログラム709は、処理制御プログ
ラム生成の後で生成される。最後に、処理1010は、
終了処理1111に対応するプログラムを生成する、す
なわち、終了条件成立時に指定された処理の実行プログ
ラムを生成すると共に、メインプログラムの終了プログ
ラムとなるFORTRANのSTOP文およびEND文
を出力する。
After the processing of the control condition not including all the time conditions is completed, the process 1009 generates the calling portion 1110 of the time evolution program 709 to be executed inside the iteration loop of the simulation time. FORT
The time evolution program 709 called and called by the CALL statement of RAN is described in a subroutine format. The time evolution program 709 is generated after the processing control program is generated. Finally, the process 1010 is
A program corresponding to the end process 1111 is generated, that is, an execution program of the process specified when the end condition is satisfied is generated, and a FORTRAN STOP statement and an END statement that are the end programs of the main program are output.

【0083】(3−4)時間発展プログラム生成処理7
04 時間発展プログラム生成処理704は、数式内部表現4
4内の漸化式内部表現からFORTRANで表現された
時間発展プログラム709を生成する。ここには、粒子
シミュレーション情報1で指定した方程式に従って粒子
を移動するためのプログラムが記録される。
(3-4) Time evolution program generation processing 7
04 time evolution program generation processing 704, mathematical expression internal representation 4
The time evolution program 709 expressed by FORTRAN is generated from the internal expression of the recurrence formula in 4. A program for moving particles according to the equation specified in the particle simulation information 1 is recorded here.

【0084】(3−5)補助処理プログラム生成処理7
05 補助処理プログラム生成処理705は、補助処理の数式
内部表現44に基づいてFORTRANによる補助計算
プログラム710を生成する。ここには、粒子間の内部
相互作用に基づく力、計算精度を高めるための重心運動
量補正、エネルギー、温度、および圧力などの物理量を
計算するサブルーチンなどが記録される。補助計算プロ
グラム710は複数のサブルーチンの集合として生成さ
れる。補助計算プログラムの生成方法を図15に示す。
(3-5) Auxiliary processing program generation processing 7
The auxiliary processing program generation processing 705 generates an auxiliary calculation program 710 by FORTRAN based on the mathematical expression 44 of the auxiliary processing. Here, there are recorded a force based on the internal interaction between particles, a center of gravity momentum correction for improving calculation accuracy, a subroutine for calculating physical quantities such as energy, temperature, and pressure, and the like. The auxiliary calculation program 710 is generated as a set of a plurality of subroutines. FIG. 15 shows a method of generating the auxiliary calculation program.

【0085】まず、処理1501は、数式内部表現44
内の補助処理リスト全ての項目に対して以下の処理を行
なう。処理1502は、各補助処理リストから補助処理
名称を抽出し、処理1503は、その補助処理の対応す
るオペランドリストからオペランド名称を抽出する。処
理1504は、その補助処理をサブルーチンとするため
のヘッダを作成する。すなわち、既に作成済みのヘッダ
プログラム701をFORTRANのINCLUDE文
により取り込み、さらに、サブルーチン内部でのみ使用
する局所変数の宣言文を作成する。処理1505は、各
演算リストから処理データを取り出して、演算内容に対
応するプログラムを作成する。以上により、補助処理プ
ログラム710が生成される。以上が、プログラム自動
生成処理2の動作の一般的な説明である。
First, the processing 1501 is the mathematical expression internal representation 44.
The following processing is performed for all items in the auxiliary processing list. The process 1502 extracts the auxiliary process name from each auxiliary process list, and the process 1503 extracts the operand name from the corresponding operand list of the auxiliary process. A process 1504 creates a header for making the auxiliary process a subroutine. That is, the already created header program 701 is loaded by the INCLUDE statement of FORTRAN, and further, the declaration statement of the local variable used only within the subroutine is created. A process 1505 takes out process data from each operation list and creates a program corresponding to the operation content. By the above, the auxiliary processing program 710 is generated. The above is a general description of the operation of the program automatic generation processing 2.

【0086】2.具体例 次に、具体的に実施例を説明するために、粒子シミュレ
ーションの一例としてNaClの融解のシミュレーショ
ンを説明する。このシミュレーションは、NaClの融
点前後における物性や構造の変化を調べることを目的と
している。
2. Specific Example Next, in order to specifically describe an example, a simulation of melting of NaCl will be described as an example of particle simulation. The purpose of this simulation is to investigate changes in physical properties and structure before and after the melting point of NaCl.

【0087】(1)シミュレ−ション情報1の具体例 NaClの融解シミュレーションを規定するシミュレ−
ション情報1の一例を図16に示す。 (1−1)空間領域形状情報:図16において、空間領
域形状情報1601は、図1における空間領域形状の定
義情報11の具体例である。空間領域形状情報1601
は、格子定数5.628ÅのNaCl型結晶構造を基本
セルとし、その基本セルを各空間軸方向へ3個づつ連ね
た空間を粒子の存在する定義域とすることを示してい
る。この定義域は、周期的境界条件により無限に連ねた
ものとして扱う。図17にその概念図を示す。基本セル
1701は、NaCl型結晶の基本セルであり、格子定
数5.628Åの基本セル内部にNaイオン、及びCl
イオンが各々4個づつ存在する。大きい白丸と黒丸がこ
の基本セルに対応する粒子であり、小さい白丸と黒丸は
隣の基本セルに対応する粒子である。全領域1702は
基本セル1701を各空間軸方向へ3個づつ連ねたもの
である。
(1) Specific Example of Simulation Information 1 Simulation Prescription for Defining NaCl Melting Simulation
FIG. 16 shows an example of the application information 1. (1-1) Spatial region shape information: In FIG. 16, spatial region shape information 1601 is a specific example of the spatial region shape definition information 11 in FIG. Spatial region shape information 1601
Indicates that a NaCl-type crystal structure having a lattice constant of 5.628Å is used as a basic cell, and a space in which three basic cells are connected in the direction of each spatial axis is a domain in which particles exist. This domain is treated as an infinite series due to periodic boundary conditions. FIG. 17 shows its conceptual diagram. The basic cell 1701 is a basic cell of NaCl type crystal, and has Na ions and Cl inside the basic cell having a lattice constant of 5.628Å.
There are four ions each. Large white circles and black circles are particles corresponding to this basic cell, and small white circles and black circles are particles corresponding to the adjacent basic cell. The entire area 1702 is formed by connecting three basic cells 1701 in each spatial axis direction.

【0088】(1−2)粒子属性情報:引き続き、図1
6に戻って入力情報の例を説明する。粒子属性情報16
02は、図1における粒子属性の定義情報12の具体例
である。粒子属性情報1602は、NaとClの二種類
の粒子が各々108個ずつ全領域1702内にあり、そ
の初期位置はNaCl型結晶構造に従う配置であり、初
期速度は初期温度が1296Kとなるようなガウス分布
とすることを示している。また、粒子が種別毎に有する
属性として、質量(Na:23.0,Cl:35.4
5)と電荷(Na:+1,Cl:−1)があることを示
している。
(1-2) Particle attribute information: Continuing from FIG.
Returning to step 6, an example of input information will be described. Particle attribute information 16
02 is a specific example of the definition information 12 of particle attributes in FIG. In the particle attribute information 1602, 108 particles of two kinds of Na and Cl are respectively in the entire region 1702, the initial positions are arranged according to the NaCl type crystal structure, and the initial velocity is such that the initial temperature is 1296K. It indicates that the Gaussian distribution is used. In addition, as attributes that each particle has for each type, mass (Na: 23.0, Cl: 35.4)
5) and electric charge (Na: +1, Cl: -1).

【0089】(1−3)制御条件情報:制御条件情報1
603は、図1における制御条件の定義情報13の具体
例である。制御条件情報1603は、差分の時間刻みを
2.5フェムト秒にすること、設定温度を時刻0で12
96Kに、10ピコ秒後に1310Kにすること、系の
温度が設定温度より20K以上離れたら温度スケールし
なおすこと、および5〜10ピコ秒と15〜20ピコ秒
の間で0.5ピコ秒間隔で物理量を計算することを示し
ている。
(1-3) Control condition information: Control condition information 1
Reference numeral 603 is a specific example of the control condition definition information 13 in FIG. The control condition information 1603 is that the difference time step is 2.5 femtoseconds, and the set temperature is 12 at time 0.
96K to 1310K after 10 picoseconds, rescale the temperature when the system temperature is more than 20K away from the set temperature, and 0.5 picosecond intervals between 5-10 picoseconds and 15-20 picoseconds. It indicates that the physical quantity is calculated by.

【0090】(1−4)方程式情報:方程式情報160
4は、図1における方程式の定義情報14の具体例であ
る。方程式情報1604は、粒子の運動方程式とその方
程式内で用いられた未定義量の関数を定義した情報であ
る。ここでは、粒子間相互作用ポテンシャルとして剛体
イオンポテンシャルモデルを用いている。モデル内の各
係数B、CおよびDは、粒子属性としてすでに定義され
ている。特に、粒子属性情報1602の相互作用係数が
係数Bに該当する。
(1-4) Equation information: Equation information 160
4 is a specific example of the definition information 14 of the equation in FIG. The equation information 1604 is information that defines a motion equation of a particle and an undefined amount function used in the equation. Here, a rigid ion potential model is used as the interparticle interaction potential. Each coefficient B, C and D in the model has already been defined as a particle attribute. In particular, the interaction coefficient of the particle attribute information 1602 corresponds to the coefficient B.

【0091】(2)シミュレ−ション情報1の記述例 (2−1)空間領域形状情報:図16に示したNaCl
の融解シミュレーションの場合の空間領域形状情報16
01の記述例を図18に示す。図18に示す内容は、図
1に示した空間領域形状の定義情報11の具体例であ
り、空間の次元を定義した情報1802と空間の特定の
範囲を定義した情報1803と全空間領域の範囲を定義
した情報1804と境界条件1805からなる。空間次
元情報1802は、空間が三次元で各次元をX、Y、お
よびZと名付けたことを示す。空間特定範囲定義情報1
803は、基本領域CELLが、格子定数5.628Å
のNaCl型結晶構造であることを示している。全空間
領域の範囲定義情報1804は、現象が発生する範囲が
基本CELL領域を各次元軸方向へ3個づつ連ねた形状
であることを示す。境界条件1805は、全領域Who
leがX、Y、およびZの各軸方向へ周期的に無限に続
いていることを示している。
(2) Example of description of simulation information 1 (2-1) Spatial region shape information: NaCl shown in FIG.
Shape information 16 in the case of melting simulation
A description example of 01 is shown in FIG. The content shown in FIG. 18 is a specific example of the spatial area shape definition information 11 shown in FIG. Information 1804 that defines a boundary condition 1805 and a boundary condition 1805. The spatial dimension information 1802 indicates that the space is three-dimensional and each dimension is named X, Y, and Z. Space specific range definition information 1
In 803, the basic area CELL has a lattice constant of 5.628Å
It has a NaCl type crystal structure. The range definition information 1804 of the entire space region indicates that the range in which the phenomenon occurs is a shape in which three basic CELL regions are linked in each dimensional axis direction. The boundary condition 1805 is the whole area Who
It is shown that le continuously continues infinitely in the X, Y, and Z axis directions.

【0092】(2−2)粒子属性定義情報:図16に示
したNaClの融解シミュレーションの場合の粒子属性
定義情報1602の記述例を図19に示す。図19に示
した内容は、図1に示した粒子属性定義情報12の具体
例であり、粒子の種類を定義した情報1901と、粒子
の個数を定義した情報1902と、必要ならば特定の粒
子を指定した情報と、粒子属性の変数定義情報190
3、1904、および1905と、粒子属性の不変量定
義情報1906、1907、および1908と、粒子属
性変化量の初期値設定情報1909、および1910か
らなる。粒子種類の定義情報1901は、粒子が二種類
あり、それぞれにNaとClと名付けたことを示してい
る。粒子数定義情報1902は、Naが108個、Cl
が108個それぞれ全領域Whole内に存在すること
を示す。粒子属性変数の定義情報1903は、粒子種に
より異なる変数としてMass及びChrgが存在する
ことを示す。定義情報1904は、粒子種の組み合わせ
に対して変数B、C及びDが存在すること示す。定義情
報1905は、各粒子が空間ベクトル量として変数r、
v及びFを持つことを示す。ここで、Massは粒子の
質量を表し、Chrgは粒子の電荷量を表し、B、C及
びDは粒子間の相互作用を規定するための量であり、r
は粒子の空間位置であり、vは粒子の速度であり、Fは
粒子に作用する力である。粒子属性不変量の定義情報1
906は、粒子属性変数Massが、Naに対しては2
3.0、Clに対しては35.45という固定値を持つ
ことを示す。その他の定義情報1907および1908
も同様である。粒子属性変化量の初期値定義情報190
9は、各粒子の初期位置を全領域Whole内部の結晶
格子点に配置することを示し、定義情報1910は、各
粒子の初期速度の分布が、指定された温度、粒子数およ
び質量によって決まるガウス分布に設定されることを示
している。
(2-2) Particle attribute definition information: FIG. 19 shows a description example of the particle attribute definition information 1602 in the case of the NaCl melting simulation shown in FIG. The content shown in FIG. 19 is a specific example of the particle attribute definition information 12 shown in FIG. 1, and includes information 1901 defining the type of particle, information 1902 defining the number of particles, and if necessary specific particles. Specifying information and variable definition information 190 for particle attributes
3, 1904, and 1905, particle attribute invariant definition information 1906, 1907, and 1908, and particle attribute change amount initial value setting information 1909 and 1910. The particle type definition information 1901 indicates that there are two types of particles and they are named Na and Cl, respectively. Particle number definition information 1902 has 108 Na and Cl
108 are present in the whole area Whole respectively. The particle attribute variable definition information 1903 indicates that Mass and Chrg exist as variables that differ depending on the particle type. The definition information 1904 indicates that variables B, C, and D exist for the combination of particle types. In the definition information 1905, each particle has a variable r as a space vector amount,
It has v and F. Here, Mass represents the mass of the particles, Chrg represents the charge amount of the particles, B, C and D are the amounts for defining the interaction between the particles, and r
Is the spatial position of the particle, v is the velocity of the particle, and F is the force acting on the particle. Particle attribute invariant definition information 1
906 indicates that the particle attribute variable Mass is 2 for Na.
It has a fixed value of 35.45 for 3.0 and Cl. Other definition information 1907 and 1908
Is also the same. Initial value definition information 190 of particle attribute change amount
9 indicates that the initial position of each particle is arranged at the crystal lattice point inside the whole region Whole, and the definition information 1910 is that the distribution of the initial velocity of each particle is Gaussian determined by the specified temperature, the number of particles and the mass. It indicates that the distribution is set.

【0093】(2−3)制御条件情報:図16に示した
NaClの融解シミュレーションの場合の制御条件情報
1603の記述例を図20に示す。図20に示す内容
は、図1に示した制御条件の定義情報13の具体例であ
り、環境属性とそれらの制御条件を定義した環境属性お
よび制御条件定義情報2001と、環境属性および制御
条件定義2001で用いた補助処理内容を定義した補助
処理定義情報2002とからなる。環境属性および制御
条件定義情報2001は、変数定義情報2003と、不
変量定義情報2004および2005と、初期時制御条
件定義情報2006と、中間時制御条件定義情報200
7、2008および2009と、終了時制御条件定義情
報2010および2011とからなる。
(2-3) Control condition information: FIG. 20 shows a description example of the control condition information 1603 in the case of the NaCl melting simulation shown in FIG. The content shown in FIG. 20 is a concrete example of the control condition definition information 13 shown in FIG. The auxiliary process definition information 2002 defines the auxiliary process contents used in 2001. The environment attribute and control condition definition information 2001 includes variable definition information 2003, invariant definition information 2004 and 2005, initial control condition definition information 2006, and intermediate control condition definition information 200.
7, 2008 and 2009, and end-time control condition definition information 2010 and 2011.

【0094】変数定義情報2003は、環境変数として
Energy、Temp、Press、t、DT、Ep
s、Elechrg、Boltz、Pi、STemp、
およびT1、t0等が存在することを示している。En
ergyは系の全エネルギーを表し、Tempは系の温
度を表し、Pressは系に作用している圧力を表し、
tは時刻を表し、DTは時間の刻み幅を表し、Epsは
誘電率を表し、Elechrgは素電荷量を表し、Bo
ltzはボルツマン定数を表し、Piは円周率を表し、
STempは系の設定温度を表す。また、T1及びT2
は温度に対応する定義量であり、t0等は時刻に対応す
る量である。
The variable definition information 2003 includes Energy, Temp, Press, t, DT, Ep as environment variables.
s, Elechrg, Boltz, Pi, STEMP,
And T1, t0, etc. are present. En
"ergy" represents the total energy of the system, "Temp" represents the temperature of the system, "Press" represents the pressure acting on the system,
t represents time, DT represents time step size, Eps represents dielectric constant, Elechrg represents elementary charge amount, and Bo
ltz represents the Boltzmann constant, Pi represents the pi,
STEMP represents the set temperature of the system. Also, T1 and T2
Is a defined quantity corresponding to temperature, and t0 and the like are quantities corresponding to time.

【0095】不変量定義情報2004は、環境変数Ep
s、Elechrg、Boltz、及びPiがそれぞれ
が指定された値を持つことを示している。不変量定義情
報2005における環境変数T1、t0等も同様であ
る。初期時制御条件定義情報2006は、シミュレーシ
ョン開始時に、DTを2.5に設定し、設定温度STe
mpをT1すなわち1296にすることを示している。
The invariant definition information 2004 is the environment variable Ep.
It indicates that each of s, Elechrg, Boltz, and Pi has a specified value. The same applies to the environment variables T1, t0, etc. in the invariant definition information 2005. In the initial control condition definition information 2006, DT is set to 2.5 at the start of the simulation, and the set temperature STe is set.
It is shown that mp is T1 or 1296.

【0096】中間時制御条件定義情報2007は、時刻
tがt1すなわち5000の時に、設定温度STemp
をT2すなわち1310に設定しなおすことを示してい
る。中間時制御条件定義情報2008は、温度Temp
が設定温度STempに対して20以上離れた場合、温
度Tempを設定温度STempに再設定(TempR
escale)することを示している。TempRes
caleの具体的内容は補助処理定義で記述されてい
る。中間時制御条件定義情報2009は、時刻tがt1
とt2の間の時、および時刻tがt3とt4の間の時、
時刻500毎に物理量を計算することを示している。
The intermediate time control condition definition information 2007 shows that when the time t is t1, that is, 5000, the set temperature STEMP is set.
Is reset to T2, that is, 1310. The intermediate control condition definition information 2008 is the temperature Temp.
Is 20 or more away from the set temperature STEMP, the temperature Temp is reset to the set temperature STEMP (TempR
escale). TempRes
The specific contents of the case are described in the auxiliary process definition. In the intermediate time control condition definition information 2009, the time t is t1.
Between t and t2, and when the time t is between t3 and t4,
It shows that the physical quantity is calculated for each time 500.

【0097】終了時制御条件定義情報2010は、時刻
tがt4となった時にシミュレーションを終了し、終了
時制御条件定義情報2011は、その際各粒子の位置r
と速度vをファイルへ保存することを示している。環境
属性および制御条件定義情報2001が補助処理を用い
た内容を含んでいる場合、補助処理の内容を補助処理定
義情報2002として記述する必要がある。補助処理定
義情報2002は、複数の補助処理定義2012からな
る。補助処理定義2012は補助処理名称TempRe
scaleの処理内容を記述したものである。Temp
Rescaleは、温度TをTtへ再設定する処理を示
す。すなわち、各粒子の速度を調節して運動エネルギー
がちょうど設定温度になるようにする。具体的には、系
の温度Tと設定する温度Ttとの比の平方根を各粒子の
速度に乗ずることを示している。その他の補助処理につ
いても同様に定義する。
The end-time control condition definition information 2010 ends the simulation when the time t reaches t4, and the end-time control condition definition information 2011 indicates the position r of each particle at that time.
And velocity v are to be saved to a file. When the environment attribute and control condition definition information 2001 includes the contents using the auxiliary process, it is necessary to describe the contents of the auxiliary process as the auxiliary process definition information 2002. The auxiliary process definition information 2002 includes a plurality of auxiliary process definitions 2012. The auxiliary process definition 2012 is the auxiliary process name TempRe
It describes the processing contents of the scale. Temp
Rescale indicates a process of resetting the temperature T to Tt. That is, the velocity of each particle is adjusted so that the kinetic energy is exactly at the set temperature. Specifically, it indicates that the velocity of each particle is multiplied by the square root of the ratio of the system temperature T and the set temperature Tt. The other auxiliary processes are similarly defined.

【0098】(2−4)方程式情報:図16に示したに
NaClの融解シミュレーションの場合の方程式情報1
604の記述例を図21に示す示す。図21に示す内容
は、図1に示した方程式の定義情報14の具体例であ
り、方程式定義情報2101と、差分化法定義情報21
02と、補助関数定義情報2103とからなる。方程式
定義情報2101は、粒子の挙動を記述する方程式を定
義した情報であり、二つの方程式を連立した形で記述さ
れている。式中の記号D[r,t]は、粒子位置rを時
間tで微分することを意味する。変数r、v、Fは既に
各粒子毎に与えられた空間ベクトルとして定義されてい
るので、NaおよびClで指定された粒子全てに対して
三次元ベクトル連立微分方程式2101が成り立つこと
を示している。
(2-4) Equation information: Equation information 1 in the case of NaCl melting simulation shown in FIG.
FIG. 21 shows a description example of 604. The content shown in FIG. 21 is a specific example of the equation definition information 14 shown in FIG. 1, and includes the equation definition information 2101 and the difference method definition information 21.
02 and auxiliary function definition information 2103. The equation definition information 2101 is information that defines an equation that describes the behavior of a particle, and is described in the form of simultaneous equations. The symbol D [r, t] in the equation means that the particle position r is differentiated with respect to time t. Since the variables r, v, and F have already been defined as the space vector given to each particle, it is shown that the three-dimensional vector simultaneous differential equation 2101 holds for all particles specified by Na and Cl. .

【0099】差分化法定義情報2102は、運動方程式
を差分化する方法を定義した情報である。差分化法定義
2102は、差分化の方法としてLeapFrog法を
用いることを示している。よく用いられる差分化法はす
でに計算機のライブラリに登録済みであり、名称を指定
するだけで差分化の方法を指定することができる。ライ
ブラリに登録されていない差分化法を指示する場合、微
分演算の置き換え内容を指示する。具体的には、”D
[f、t]→(f(t+Δ)−f(t))/Δ”のよう
に指定する。
The difference method definition information 2102 is information defining a method of differentiating the equation of motion. The difference method definition 2102 indicates that the LeapFrog method is used as the difference method. Frequently used difference method has already been registered in the computer library, and the difference method can be specified simply by specifying the name. When instructing a differentiating method that is not registered in the library, instruct the replacement content of the differential operation. Specifically, "D
Designate as [f, t] → (f (t + Δ) −f (t)) / Δ ″.

【0100】補助関数定義情報2103は、方程式定義
情報2101で使用された未定義量を定義するための情
報である。補助関数定義2103は、方程式定義情報2
101に含まれる未定義量Fを定義したものであり、粒
子に作用する力Fがイオンモデルを用いた二体力により
与えられることを示している。図21では、イオンモデ
ルを規定するパラメータはB、C及びDであり、これら
の量は粒子属性不変量として既に粒子属性定義12で定
義されている。補助関数定義2103の”FORCE
2”は、二体力として既に登録済みのモデル関数を用い
ることを示す。第一オペランドはモデル関数を規定する
名称であり、第二オペランド以降はそのモデル関数に含
まれる係数を与える。
The auxiliary function definition information 2103 is information for defining the undefined amount used in the equation definition information 2101. The auxiliary function definition 2103 is the equation definition information 2
This is a definition of an undefined amount F contained in 101, and shows that the force F acting on the particle is given by the two-body force using the ion model. In FIG. 21, the parameters that define the ion model are B, C, and D, and these quantities are already defined in the particle attribute definition 12 as particle attribute invariants. "FORCE" of auxiliary function definition 2103
2 ″ indicates that a model function that has already been registered is used as the two-body force. The first operand is a name that defines the model function, and the second and subsequent operands give the coefficients included in that model function.

【0101】(3)粒子型方程式翻訳差分化処理3の具
体例 次に、粒子型方程式翻訳差分化処理3の内容について本
実施例の具体例を用いて説明する。 (3−1)空間領域形状翻訳処理31:空間領域形状翻
訳処理31は、図18に示された空間領域形状の定義情
報11を入力し、図2に示した手順に従って図22に示
す変域内部表現41を生成する。まず、粒子シミュレー
ション情報1で与えられるデータの各単位系を指定した
情報(図18の1801)を読み取り、図22の単位系
リスト2212へ登録する。単位系定義情報1801か
ら、長さ(Length)の単位がÅ、時間(Tim
e)の単位がfsec(フェムト秒)、エネルギー(E
nergy)の単位がeV、温度(Temperatu
re)の単位がKであることを読み取る。この情報は、
以降に現われる各種物理量の単位を指定するデフォルト
値である。
(3) Specific Example of Particle Type Equation Translation Difference Processing 3 Next, the content of the particle type equation translation difference processing 3 will be described using a specific example of this embodiment. (3-1) Spatial region shape translation process 31: The spatial region shape translation process 31 inputs the spatial region shape definition information 11 shown in FIG. 18, and follows the procedure shown in FIG. Generate an internal representation 41. First, the information (1801 in FIG. 18) designating each unit system of the data given by the particle simulation information 1 is read and registered in the unit system list 2212 in FIG. From the unit system definition information 1801, the unit of length (Length) is Å, time (Tim)
The unit of e) is fsec (femtosecond) and energy (E
The unit of energy is eV, temperature (Temperature)
Read that the unit of re) is K. This information is
It is a default value that specifies the units of various physical quantities that appear later.

【0102】次に、図18の空間次元情報1802を読
み込むことにより、空間の次元数および次元名称を抽出
して(201)、図22の次元リスト2201に登録す
る(202)。空間次元情報1802の場合、次元名称
はSpaceであり、次元数は3であり、各次元の名称
はそれぞれX、Y及びZである。従って、次元リスト2
201の名称フィールド2203に名称Spaceが登
録され、次元数フィールドに3が登録される。また、各
空間次元の名称は個別次元名称フィールド2206に登
録され、ポインターフィールド2205からポイントさ
れる(203)。この次元リスト2201は粒子属性デ
ータ翻訳時に更新され、様々な量の次元数を翻訳する際
に参照される。
Next, by reading the space dimension information 1802 of FIG. 18, the number of dimensions and the dimension name of the space are extracted (201) and registered in the dimension list 2201 of FIG. 22 (202). In the case of the spatial dimension information 1802, the dimension name is Space, the number of dimensions is 3, and the names of each dimension are X, Y, and Z, respectively. Therefore, dimension list 2
The name Space is registered in the name field 2203 of 201, and 3 is registered in the dimension number field. The name of each spatial dimension is registered in the individual dimension name field 2206 and pointed to by the pointer field 2205 (203). This dimension list 2201 is updated at the time of translating particle attribute data, and is referred to at the time of translating various numbers of dimensions.

【0103】続いて、空間特定領域の範囲定義情報18
03を読み込んで特定領域を指定する情報を領域リスト
2202へ登録する(204〜207)。空間特定領域
の範囲定義情報1803の場合、領域の名称はCELL
であり、格子定数5.628のNaCl型結晶の基本構
造である。領域形状データベースからNaCl型結晶の
結晶構造を検索し、該当する結晶構造がデータベースに
存在することを確認して、領域CELLの形状名称にC
rystalを登録し、形状を規定する情報に構造分類
名称NaClと格子定数5.628を登録し、形状規定
情報における長さの単位としてオングストローム(Å)
を領域リスト2202へ登録する。形状規定情報の長さ
の単位は、特に指定されていない場合は、単位系リスト
2212から長さ(Length)の単位系を読み取
る。従って、領域リスト2202の領域名称フィールド
2207に名称CELLが登録され、形状名称フィール
ド2208にCrystalが登録され、形状規定フィ
ールド2209にCrystalの構造を規定する情
報、すなわち構造分類名称NaClと格子定数5.62
8が登録される。また、単位名称フィールド2211に
は長さの単位となるÅが登録される。そして、領域名称
フィールド2207から形状名称フィールド2208
へ、形状名称フィールド2208から形状規定フィール
ド2209へ、形状名称フィールドから単位名称フィー
ルドへとそれぞれポイントされる。
Subsequently, the range definition information 18 of the space specific area 18
03 is read and information designating a specific area is registered in the area list 2202 (204 to 207). In the case of the range definition information 1803 of the space specific area, the area name is CELL.
And is a basic structure of a NaCl type crystal having a lattice constant of 5.628. The crystal structure of the NaCl-type crystal is searched from the region shape database, it is confirmed that the corresponding crystal structure exists in the database, and C is added to the shape name of the region CELL.
Register the crystal structure name NaCl and lattice constant 5.628 in the information that defines the shape, and use Angstrom (Å) as the unit of length in the shape specification information.
Are registered in the area list 2202. If the unit of length of the shape defining information is not specified, the unit system of length (Length) is read from the unit system list 2212. Therefore, the name CELL is registered in the area name field 2207 of the area list 2202, Crystal is registered in the shape name field 2208, and information defining the structure of Crystal in the shape defining field 2209, that is, the structure classification name NaCl and the lattice constant 5. 62
8 is registered. Further, Å which is a unit of length is registered in the unit name field 2211. Then, from the area name field 2207 to the shape name field 2208
From the shape name field 2208 to the shape defining field 2209, and from the shape name field to the unit name field.

【0104】次に、全空間領域の範囲定義情報1804
を読み込んで、特定領域の範囲定義と同様に領域リスト
へ登録する(208、209)。この場合、領域名称は
Wholeである。領域の形状名称はCUBEであり、
各軸方向の寸法はCELLの大きさを示し、3つの値で
表される。従って、領域リスト2202の領域名称フィ
ールド2207に名称Wholeが登録され、形状名称
フィールド2208にCUBEが登録され、形状規定フ
ィールド2209にCUBEを規定する寸法が登録され
る。空間特定領域CELLの場合と異なるのは、形状が
CUBEであり、それを規定する寸法は各次元方向に3
個づつであること、及び形状規定の単位がCELLで与
えられていることである。従って、形状規定リスト22
09には0と3の組が3個連続して登録され、単位名称
2211には領域名称CELLが登録される。各フィー
ルドへのポイントは上記と同様である。
Next, range definition information 1804 for the entire spatial area
Is read and registered in the area list similarly to the range definition of the specific area (208, 209). In this case, the area name is Whole. The shape name of the area is CUBE,
The dimension in each axial direction indicates the size of CELL and is represented by three values. Therefore, the name Whole is registered in the area name field 2207 of the area list 2202, CUBE is registered in the shape name field 2208, and the dimension defining CUBE is registered in the shape defining field 2209. What is different from the case of the space specific area CELL is that the shape is CUBE, and the dimension defining it is 3 in each dimensional direction.
It means that each unit is individual, and that the unit for defining the shape is given by CELL. Therefore, the shape definition list 22
Three sets of 0 and 3 are continuously registered in 09, and the area name CELL is registered in the unit name 2211. The points for each field are the same as above.

【0105】最後に、境界条件1805を読み込んで、
境界条件の発生する境界と、境界における処理とを領域
リスト2202へ登録する(210〜214)。境界条
件1805は、全空間領域の各空間次元方向に周期的境
界条件を設けることを示している。そこで、全領域Wh
oleを規定している境界に対して、境界条件名称Pe
riodicを登録する。領域名称Wholeからポイ
ントされた形状名称2208の条件ポインターフィール
ドから、境界条件フィールド2210へポイントし、そ
こに境界条件名称Periodicを登録する。以上の
処理により、図18の空間領域形状データ11から図2
2に示す変域内部表現41が生成される。
Finally, the boundary condition 1805 is read in,
The boundary where the boundary condition occurs and the processing at the boundary are registered in the area list 2202 (210 to 214). The boundary condition 1805 indicates that a periodic boundary condition is provided in each spatial dimension direction of the entire spatial region. Therefore, the whole area Wh
Boundary condition name Pe for the boundary that defines ole
Register riodic. From the condition pointer field of the shape name 2208 pointed from the area name Whole, the boundary condition field 2210 is pointed to, and the boundary condition name Periodic is registered there. By the above processing, the spatial area shape data 11 of FIG.
The domain internal representation 41 shown in 2 is generated.

【0106】(3−2)粒子属性翻訳処理32:粒子属
性翻訳処理32は、図19に示された粒子属性定義情報
12を入力し、図3示した手順によって図22に示す変
域内部表現41を更新すると共に図23に示す変数内部
表現42を生成する。
(3-2) Particle attribute translation processing 32: The particle attribute translation processing 32 inputs the particle attribute definition information 12 shown in FIG. 19 and performs the domain internal representation shown in FIG. 22 by the procedure shown in FIG. 41 is updated and the variable internal representation 42 shown in FIG. 23 is generated.

【0107】まず、図19の粒子種類数定義情報190
1を読み込むことにより、粒子種類数が2で、それぞれ
の名称がNaおよびClであることを抽出する(30
1)。図22の次元リスト2201に以下の情報を追加
登録する、すなわち、次元名称にSpeciesを登録
し、次元数に2を登録し(302)、各次元の名称にN
aおよびClを登録する(303)。登録の手続きは、
空間次元の登録と同様に行なう。次に粒子数定義情報1
902を読み込み、粒子種名称Naの個数は108個、
粒子種名称Clの個数は108個であることを検出する
(304)。そして、NaおよびClの個数を表す次元
名称をNaNumおよびClNumとし、次元数をどち
らも108として次元リスト2201へ登録する(30
5)。
First, the particle type number definition information 190 shown in FIG.
By reading 1 it is extracted that the number of particle types is 2 and their names are Na and Cl (30
1). The following information is additionally registered in the dimension list 2201 of FIG. 22, that is, Species is registered in the dimension name, 2 is registered in the number of dimensions (302), and N is registered in the name of each dimension.
Register a and Cl (303). The registration procedure is
This is done in the same way as the registration of the spatial dimension. Next, particle number definition information 1
902 is read, the number of particle type name Na is 108,
It is detected that the number of particle type names Cl is 108 (304). Then, the dimension names representing the numbers of Na and Cl are NaNum and ClNum, and the dimension numbers are both registered as 108 in the dimension list 2201 (30
5).

【0108】続いて、粒子属性変数の定義情報190
3、1904、および1905を読み込み、各粒子属性
変数の名称と次元数を抽出し、図23の変数内部表現の
変数リストへ登録する(306)。定義情報1903を
読み込んで、二つの変数名称MassとChrgが存在
し、どちらも粒子種の数だけ要素を持つことを抽出する
(307)。変数名称Mass及び次元数Specie
sをそれぞれ変数リスト2301と次元数リスト230
2へ登録する(308)。変数Chrgも同様である。
また、定義情報1904を読み込んで、変数B、C、お
よびDが存在し、粒子種と粒子種の組み合わせの数だけ
要素を持つことを抽出する。従って、次元数リストへ登
録する次元数は、Species*Speciesであ
る。定義情報1905に対しても同様に、変数r、v、
およびFは空間次元数と全粒子数の組み合わせの数だけ
要素を持つ。
Next, the definition information 190 of the particle attribute variable.
3, 1904, and 1905 are read, the name and the number of dimensions of each particle attribute variable are extracted, and registered in the variable list of the variable internal expression in FIG. 23 (306). The definition information 1903 is read, and it is extracted that there are two variable names Mass and Chrg, both of which have elements corresponding to the number of particle types (307). Variable name Mass and number of dimensions Specie
s is a variable list 2301 and a dimension number list 230, respectively.
2 is registered (308). The same applies to the variable Chrg.
Further, the definition information 1904 is read, and it is extracted that the variables B, C, and D are present and have the same number of elements as the number of particle types and combinations of particle types. Therefore, the number of dimensions registered in the number-of-dimensions list is Types * Species. Similarly for the definition information 1905, variables r, v,
And F have as many elements as the number of combinations of the spatial dimension number and the total number of particles.

【0109】次に、粒子属性不変量の定義情報190
6、1907、および1908を読み込み、指定された
変数が不変量であることを検出し、対応する変数リスト
から固定値リストへのポインタを接続し、固定値を登録
する(309、310)。粒子属性不変量の定義情報1
906の場合、変数名称Massを変数リスト2301
から検索し、対応する次元リスト2302からその次元
名称がSpeciesであることを抽出する。次元リス
ト2201から、次元名称Speciesが次元数2で
あり、対応する名称がNaとClであることを抽出す
る。粒子属性不変量定義情報1906から、Naに対す
る固定値として23.0を読み取り、Clに対する固定
値として35.45を読み取る。Massが固定値を持
つので、変数リスト2301のポインタフィールド23
03から固定値リスト2304へのポインタを設定し、
次元数分の数値を登録する。他の粒子属性不変量の定義
情報も同様に処理する。
Next, the definition information 190 of particle attribute invariants
6, 1907, and 1908 are read, the specified variable is detected as an invariant, a pointer from the corresponding variable list to the fixed value list is connected, and the fixed value is registered (309, 310). Particle attribute invariant definition information 1
In the case of 906, the variable name Mass is set to the variable list 2301.
From the corresponding dimension list 2302 to extract that the dimension name is Species. It is extracted from the dimension list 2201 that the dimension name Species has the dimension number 2 and the corresponding names are Na and Cl. From the particle attribute invariant definition information 1906, 23.0 is read as a fixed value for Na and 35.45 is read as a fixed value for Cl. Since Mass has a fixed value, pointer field 23 of variable list 2301
Set the pointer from 03 to the fixed value list 2304,
Register the numerical value for the number of dimensions. The definition information of other particle attribute invariants is processed in the same manner.

【0110】次に、粒子属性変化量の初期値設定情報1
909と1910を読み込み、その情報から各粒子の初
期位置および初期速度を認識して、変数内部表現42に
含まれる初期値リスト2305へ登録する(311、3
12)。初期値設定情報1909を読み込むことによ
り、粒子位置rの初期値が全領域Whole内の格子点
上であることを認識する。領域リスト2202から、全
領域WholeがCELLを単位として各次元方向に3
の長さを持ってること認識される。同様に、領域リスト
2202から、領域CELLは格子定数5.628Åを
有するNaCl型結晶構造であることが判るので、結晶
構造データベースから上記の結晶構造データを読み込
み、格子定数を用いて比例計算することにより、粒子を
配置すべき初期位置を決定できる。
Next, the initial value setting information 1 for the amount of change in particle attributes
909 and 1910 are read, the initial position and initial velocity of each particle are recognized from the information, and registered in the initial value list 2305 included in the variable internal expression 42 (311, 3).
12). By reading the initial value setting information 1909, it is recognized that the initial value of the particle position r is on the grid point in the whole area Whole. From the area list 2202, the whole area Whole is 3 in each dimension in units of CELL.
Is recognized as having a length of. Similarly, from the region list 2202, it is known that the region CELL has a NaCl-type crystal structure having a lattice constant of 5.628Å. Therefore, the above-mentioned crystal structure data should be read from the crystal structure database and proportional calculation should be performed using the lattice constant. Can determine the initial position where the particles should be placed.

【0111】粒子シミュレーション情報1の内容によっ
ては、粒子の初期位置を定義域内にランダムに配置した
り、既にファイルに収められたデータによって初期配置
を与えること等が考えられる。ランダムに配置する場合
は、図19中の粒子属性変化量の初期値設定情報190
9を「r=Uniform RandomDist.
in Whole」と指定することにより達成される。
この場合、粒子属性翻訳処理32は、粒子同志の位置が
近すぎたり、粒子と境界との距離が近すぎることによっ
て生じる計算上の発散や誤差の増大を回避するために、
自動的に粒子位置を補正する機能を有している。ファイ
ルから粒子初期配置を設定する場合には、粒子属性変化
量の初期値設定情報1909を「r=load fro
m file ”ファイル名”」と指定することにより
達成される。
Depending on the content of the particle simulation information 1, it may be possible to randomly arrange the initial positions of the particles within the domain, or to give the initial positions by the data already stored in the file. When randomly arranging, the initial value setting information 190 of the particle attribute change amount in FIG.
9 as "r = Uniform Random Dist.
It is achieved by specifying "in whole".
In this case, the particle attribute translation processing 32 avoids calculation divergence and increase in error caused by the positions of the particles being too close to each other or the distance between the particle and the boundary being too close.
It has a function to automatically correct the particle position. When setting the particle initial arrangement from the file, the initial value setting information 1909 of the particle attribute change amount is set to “r = load flow”.
This is achieved by specifying m file "file name"".

【0112】初期値設定情報1910を読み取ることに
より、各粒子の初期速度も初期配置と同様に認識して、
これを変数内部表現42内の初期値リストへ記録する。
初期値設定情報1910から、各粒子の速度vの初期値
の分布に、指定された温度、粒子数および質量に依存す
るガウス分布を適用するという指示を読み取る。指定さ
れた温度から系内の粒子の運動エネルギーを計算し、粒
子数から粒子一個当たりの平均エネルギーを算出する。
ガウス乱数を発生して、各粒子の運動エネルギーを平均
エネルギーの周りにガウス分布させ、質量を考慮するこ
とにより各粒子の速度へ換算する。その値を変数リスト
2301からポイントされた初期値リスト2305へ登
録する。
By reading the initial value setting information 1910, the initial velocity of each particle is recognized in the same manner as the initial arrangement,
This is recorded in the initial value list in the variable internal expression 42.
From the initial value setting information 1910, an instruction to apply a Gaussian distribution depending on the specified temperature, particle number and mass to the distribution of the initial value of the velocity v of each particle is read. The kinetic energy of particles in the system is calculated from the designated temperature, and the average energy per particle is calculated from the number of particles.
A Gaussian random number is generated, the kinetic energy of each particle is Gaussian distributed around the average energy, and the mass is taken into consideration to convert it into the velocity of each particle. The value is registered in the initial value list 2305 pointed from the variable list 2301.

【0113】(3−3)制御条件翻訳処理33:制御条
件翻訳処理33は、図20に示された制御条件の定義情
報13を入力し、図4示した手順によって図23に示す
変数内部表現42を更新し、図24に示す条件−イベン
トテーブル43を作成すると共に図25に示す補助処理
の数式内部表現44を生成する。
(3-3) Control condition translation process 33: The control condition translation process 33 inputs the control condition definition information 13 shown in FIG. 20, and carries out the variable internal expression shown in FIG. 42 is updated, the condition-event table 43 shown in FIG. 24 is created, and the formula internal expression 44 of the auxiliary process shown in FIG. 25 is created.

【0114】まず、図20の環境変数定義情報2003
を読み込むことにより、環境変数の名称と次元数を認識
し、これらを図23の変数リストへ追加登録する(40
1、402)。本実施例は次元数1の場合であるが、空
間属性を持つ変数を用いる場合もある。例えば、変数名
Energyは次元数1であるから、変数リスト230
1に名称Energyを登録し、次元数リスト2302
に次元数1を登録する。他の変数も同様である。
First, the environment variable definition information 2003 shown in FIG.
By reading the name of the environment variable and the number of dimensions, and these are additionally registered in the variable list of FIG. 23 (40
1, 402). In this embodiment, the number of dimensions is 1, but a variable having a spatial attribute may be used. For example, since the variable name Energy has a dimensionality of 1, the variable list 230
The name Energy is registered in 1, and the number of dimensions list 2302
Register the number of dimensions to 1. The same applies to other variables.

【0115】次に、環境不変量の定義情報2004と2
005を読み込み、指定された変数が不変量であること
を認識し、対応する変数リスト2301から固定値リス
ト2304へのポインタを接続し、固定値を記録する
(402、403)。この手続きは、粒子属性翻訳処理
32の場合と同様である。例えば、環境不変量の定義情
報2004から、変数Epsは不変量であり、その値は
1.43であることを読み取り、図23に示す変数リス
ト2301の変数名Epsから固定値リスト2304へ
ポイントし、そこへ固定値1.43を登録する。他の環
境変数の不変量も同様である。
Next, definition information 2004 and 2 of environment invariants.
005 is read, the specified variable is recognized as an invariant, a pointer from the corresponding variable list 2301 to the fixed value list 2304 is connected, and the fixed value is recorded (402, 403). This procedure is similar to the case of the particle attribute translation process 32. For example, it is read from the environment invariant definition information 2004 that the variable Eps is an invariant and its value is 1.43, and the variable name Eps of the variable list 2301 shown in FIG. 23 is pointed to the fixed value list 2304. , A fixed value of 1.43 is registered there. The same applies to the invariants of other environment variables.

【0116】次に、初期時制御条件定義情報2006を
読み込み、初期値を定義すべき変数名とその変数がシミ
ュレーション開始時に設定される値を認識する(40
5、406)。図23に示す変数内部表現42内の変数
リスト2301から指定された変数名を検出し、初期値
リスト2305へのポインターを設定した後、初期値リ
ストへ初期値を登録する。この手続きも粒子属性翻訳処
理32の場合と同様である。
Next, the initial-time control condition definition information 2006 is read, and the variable name for which the initial value is to be defined and the value set for that variable at the start of simulation are recognized (40
5, 406). The specified variable name is detected from the variable list 2301 in the variable internal expression 42 shown in FIG. 23, the pointer to the initial value list 2305 is set, and then the initial value is registered in the initial value list. This procedure is also similar to the case of the particle attribute translation process 32.

【0117】続けて、中間時制御条件定義情報200
7、2008、2009および終了時制御条件定義情報
2010、2011を順次読み込んで、at、if等の
条件記述語により上記情報の内容を分離することで処理
内容と処理実施条件とを認識し、これを図24に示す条
件−イベントテーブル43へ記録する。条件−イベント
テーブル43は、処理項番2401から条件リスト24
02とイベントリスト2403へのポインタにより記録
される。これらのリスト内で使用される各変数は変数内
部表現42の変数リスト2301へポイントされ、イベ
ントリスト2403内の各処理は、補助処理の数式内部
表現44内の補助処理リスト2501へポイントされ
る。ただし、代入演算等の処理は補助処理定義を必要と
しないので、数式内部表現44へはポイントされない。
Next, the intermediate-time control condition definition information 200
7, 2008, 2009 and the end-time control condition definition information 2010, 2011 are sequentially read, and the processing contents and the processing execution conditions are recognized by separating the contents of the information by the condition descriptive words such as at and if. Is recorded in the condition-event table 43 shown in FIG. The condition-event table 43 includes processing item number 2401 to condition list 24.
02 and a pointer to the event list 2403. Each variable used in these lists is pointed to the variable list 2301 of the variable internal expression 42, and each process in the event list 2403 is pointed to the auxiliary process list 2501 in the formula internal expression 44 of the auxiliary process. However, since the processing such as the substitution operation does not require the auxiliary processing definition, it is not pointed to the mathematical expression internal representation 44.

【0118】中間時制御条件定義情報2007の場合、
条件記述語at以降の記述「t=t1」が処理実施条件
であり、条件記述語at以前の「STemp=T2」が
処理内容である。処理実施条件は、処理項番2401か
らポイントされた条件リスト2402上へ登録される。
In the case of the intermediate control condition definition information 2007,
The description "t = t1" after the condition description word at is the processing execution condition, and "STemp = T2" before the condition description word at is the processing content. The processing execution condition is registered on the condition list 2402 pointed to by the processing item number 2401.

【0119】本実施例ではFORTRANプログラムの
生成を容易にするため、FORTRAN言語と同様な表
現により論理演算子を記述する。処理内容は、処理項番
2401からポイントされたイベントリスト2403上
へ登録される。本実施例では演算または補助処理名称に
続いて、上記演算または補助処理が要求するオペランド
を列挙することによりオペランドを登録する。オペラン
ドは変数名称とは限らないので、変数リストに存在しな
い場合、そのオペランドは文字列とみなす。例えば、中
間時制御条件定義情報2007の場合、処理項番240
1の番号1からポイントされた条件リスト2402に条
件式「t=t1」のFORTRAN言語による論理式記
述、すなわち「t.EQ.1000」を登録する。t1
は変数リスト2301から参照することによって、固定
値であることが認識されるので、その固定値を用いる。
対応するイベントリスト2403の方へは、処理内容
「STemp=T2」を登録する。演算内容は”=”、
すなわち代入処理であり、代入処理に必要なオペランド
は代入される変数STempとその値1310である。
中間時制御条件定義情報2008の場合、処理項番2
401の番号2からポイントされた条件リスト2402
に条件式「Temp−STemp>20 orSTem
p−Temp>20」のFORTRAN言語による論理
式記述、すなわち「TempーStemp.GT.2
0.OR.STemp−Temp.GT.20」を登録
する。対応するイベントリスト2403の方へは、処理
内容「TempRescale」を登録する。本処理内
容は、補助処理定義記述2002解釈され、補助処理の
数式内部表現44内の補助処理リスト2501へ登録さ
れる。本処理内容の場合、オペランドは存在しない。他
の制御条件定義情報についても同様に記録する。
In this embodiment, in order to facilitate generation of a FORTRAN program, a logical operator is described by an expression similar to the FORTRAN language. The processing content is registered on the event list 2403 pointed to by the processing item number 2401. In this embodiment, the operands are registered by enumerating the operands required by the above-mentioned operation or auxiliary processing after the operation or auxiliary processing name. An operand is not always a variable name, so if it does not exist in the variable list, the operand is regarded as a character string. For example, in the case of the intermediate time control condition definition information 2007, the processing item number 240
The logical expression description of the conditional expression “t = t1” in FORTRAN language, that is, “t.EQ.1000” is registered in the conditional list 2402 pointed from the number 1 of 1. t1
Is recognized as a fixed value by referring to the variable list 2301, and the fixed value is used.
The processing content “STemp = T2” is registered in the corresponding event list 2403. The calculation content is "=",
That is, it is a substitution process, and the operands required for the substitution process are the variable STEMP to be substituted and its value 1310.
In case of intermediate control condition definition information 2008, processing item number 2
Condition list 2402 pointed from number 2 of 401
The conditional expression "Temp-Stemp> 20 orStem
p-Temp> 20 ”in FORTRAN language, ie,“ Temp-Stem.GT.2 ”
0. OR. STemp-Temp. GT. 20 ”is registered. The processing content “TempRescale” is registered in the corresponding event list 2403. This processing content is interpreted as the auxiliary processing definition description 2002, and registered in the auxiliary processing list 2501 in the mathematical expression 44 of the auxiliary processing. In the case of this processing content, there is no operand. The other control condition definition information is recorded in the same manner.

【0120】終了時制御処理条件定義情報2010は終
了条件の定義であり、終了時制御処理条件定義情報20
11は終了時の処理内容である。本具体例の場合は終了
時の処理内容が一件のみであったが、一般的には複数件
存在する。その場合終了条件定義後、初期処理の記述と
同様な処理内容のみを列挙すれば十分である。
The end-time control processing condition definition information 2010 is a definition of the end condition, and the end-time control processing condition definition information 20
Reference numeral 11 is the processing content at the end. In the case of this specific example, the processing content at the time of termination is only one, but in general, there are a plurality of cases. In that case, after defining the end condition, it is sufficient to list only the processing contents similar to the description of the initial processing.

【0121】最後に、補助処理内容2002を図25に
示す補助処理の数式内部表現44の形式で記録する。登
録される補助処理名称を補助処理リスト2501へ記録
し、演算リスト2502、オペランドリスト2503、
必要変数リスト2504、更新変数リスト2505の各
々対応する場所へポイントする。演算リスト2502は
上記補助処理で実行される処理内容を記述したものであ
る。オペランドリスト2503は上記補助処理が要求す
るオペランドを列挙したものである。必要変数リスト2
504は上記補助処理を実行するに当たって定義されて
いなければならない変数のリストを記述したものであ
る。更新変数リスト2505は上記補助処理が実行され
た場合に値が更新される変数を記述したリストである。
Finally, the auxiliary process content 2002 is recorded in the form of the auxiliary process mathematical expression 44 shown in FIG. The registered auxiliary process name is recorded in the auxiliary process list 2501, and the operation list 2502, operand list 2503,
The necessary variable list 2504 and the update variable list 2505 are pointed to the corresponding locations. The calculation list 2502 describes the processing contents executed in the auxiliary processing. The operand list 2503 is a list of operands required by the auxiliary processing. Required variable list 2
Reference numeral 504 describes a list of variables that must be defined in executing the above auxiliary processing. The update variable list 2505 is a list describing variables whose values are updated when the above auxiliary processing is executed.

【0122】補助処理定義記述2012の場合、補助処
理名称TempRescaleを補助処理リスト250
1へ登録する。具体的演算内容はFORTRAN言語の
記述方法により演算リスト2502へ登録される。補助
処理TempRescaleの場合、オペランドは存在
しないので、オペランドリスト2503へのポインター
フィールドにはNullが記録される。TempRes
caleの場合、上記補助処理を実行する前に定義され
ていなければならない変数は、STemp、Temp、
及びvの三つであるから、必要変数リスト2504へ
は、STemp、Temp、及びvの三つの変数名称が
記録される。TempRescaleの場合、上記補助
処理が実行された場合に値が更新される変数はTem
p、及びvの二つであるから、更新変数リスト2505
へはTemp、及びvの二つの変数名称が記録される。
In the case of the auxiliary process definition description 2012, the auxiliary process name TempRescale is set to the auxiliary process list 250.
Register to 1. The specific operation contents are registered in the operation list 2502 by the FORTRAN language description method. In the case of the auxiliary process TempRescale, since there is no operand, Null is recorded in the pointer field to the operand list 2503. TempRes
In case of case, variables that must be defined before executing the above auxiliary processing are STemp, Temp,
Therefore, three variable names of STEMP, Temp, and v are recorded in the necessary variable list 2504. In the case of TempRescale, the variable whose value is updated when the above auxiliary processing is executed is Temp.
Since there are two, p and v, the update variable list 2505
Two variable names of Temp and v are recorded in.

【0123】(3−4)方程式翻訳処理34:方程式翻
訳処理34は、図21に示された運動方程式データを入
力し、次に示す手順によって、数式内部表現44を生成
する、すなわち、図26に示す微分方程式内部表現、及
び図27に示す差分方程式内部表現を生成し、最終的に
図28に示す漸化式内部表現を生成する。
(3-4) Equation translation processing 34: The equation translation processing 34 inputs the equation of motion data shown in FIG. 21, and generates the mathematical expression internal representation 44 by the following procedure, that is, FIG. 27 and the differential equation internal expression shown in FIG. 27 are generated, and finally the recurrence formula internal expression shown in FIG. 28 is generated.

【0124】まず、図21の方程式定義情報2101を
読み込むことにより、rのtによる微分がvに等しいこ
とを認識し、図26に示す微分方程式内部表現2601
を得る。方程式表現2601は、等号でつながれた両方
の枝の値が等しいことを示している。左方の枝は、tに
よる微分演算子2603と、その演算子が作用する変数
rへとつながっている。右方の枝は、変数vである。同
様に、もう一つの微分方程式内部表現2602を得る。
右方の枝に現われた除算記号2605は、除算記号から
見て左方の枝のFを右方の枝のMassで割ることを意
味する。また、方程式リスト2604は運動を記述する
方程式内部表現2601および2602へのポインター
を収めたリストである。方程式内部表現44において、
各枝の末端は全て変数であり、途中の節は等号を除いて
全て演算子である。もし、微分演算子の枝先が変数でな
い場合は、図29に示す三つの微分分解処理の方法29
01、2902、および2903に従って、微分演算子
が直接変数に作用するまで演算子を分解する。図29
は、2つの関数a、bの和、差、積及び除算に対するそ
れぞれの微分演算を、1つの関数の微分と他の関数との
和、差、積及び除算に分解し、微分演算全体を木構造で
表現したものである。
First, by reading the equation definition information 2101 in FIG. 21, it is recognized that the derivative of r with respect to t is equal to v, and the differential equation internal expression 2601 shown in FIG.
To get Equation representation 2601 indicates that the values of both branches connected by an equal sign are equal. The left branch is connected to a differential operator 2603 by t and a variable r on which the operator acts. The right branch is the variable v. Similarly, another differential equation internal expression 2602 is obtained.
The division symbol 2605 appearing on the right branch means that F of the left branch is divided by Mass of the right branch as seen from the division symbol. Further, the equation list 2604 is a list containing pointers to equation internal expressions 2601 and 2602 which describe motion. In the equation internal expression 44,
The ends of each branch are all variables, and the clauses in the middle are all operators except the equal sign. If the branch point of the differential operator is not a variable, the three differential decomposition methods 29 shown in FIG.
Decomposes the operator according to 01, 2902, and 2903 until the differential operator acts directly on the variable. FIG. 29
Is the sum of the two functions a and b, the difference, the product and the division for the division, and divides the differentiation of one function into the sum, the difference, the product and the division of the other function, It is represented by a structure.

【0125】続いて、差分化法定義情報2102を読み
込み、差分化の方法が名称で指定されていることを認識
し、その名称をデータベースから検索する。差分化の方
法が登録済みの方法であることを確認して、差分化の方
法の名称を差分化リスト2606へ登録する。本具体例
の場合はLeapFrog法が指定されていることを認
識する。
Subsequently, the difference method definition information 2102 is read, it is recognized that the difference method is designated by a name, and the name is retrieved from the database. After confirming that the differentiating method is a registered method, the name of the differentiating method is registered in the differentiating list 2606. In the case of this specific example, it is recognized that the LeapFrog method is designated.

【0126】次に、図26に示す微分方程式内部表現か
ら図27に示す差分方程式内部表現への移行方法を説明
する。微分方程式2601において、微分演算子を除算
記号、差分時間幅、及び減算記号の組2703に置き換
えると共に、微分演算子の作用していた変数rを時刻表
現の異なる二つの変数r(t+Δt)とr(t)とに分
離し、もう一つの被微分変数vも時間表現変数v(t+
Δt/2)に置き換える。この場合、LeapFrog
法が指定されているので、rとvとで現される時刻が差
分時間幅Δtの半分だけずれる。微分方程式2602に
ついても同様の処理を行なうことにより、差分方程式内
部表現2701と2702を得る。
Next, a method of shifting from the differential equation internal representation shown in FIG. 26 to the differential equation internal representation shown in FIG. 27 will be described. In the differential equation 2601, the differential operator is replaced with a set 2703 of a division symbol, a difference time width, and a subtraction symbol, and the variable r on which the differential operator acts is two variables r (t + Δt) and r having different time expressions. (T) and another differentiated variable v is also a time expression variable v (t +
Δt / 2). In this case, LeapFrog
Since the modulus is specified, the times represented by r and v are shifted by half the difference time width Δt. The differential equations 2702 and 2702 are obtained by performing the same processing on the differential equation 2602.

【0127】次に、図27に示す差分方程式内部表現か
ら図28に示す漸化式内部表現への移行方法を説明す
る。まず、差分方程式2701、2702において、被
微分変数の中で最も時刻の進んでいる変数を左枝に一つ
残し、他を右枝へ移行する。この操作は、図30に示す
四つの移行処理、すなわち、和から差への移行300
1、差から和への移行3002、積から除算への移行3
003、及び除算から積への移行3004に従って行な
われ、内部表現2801を得る。
Next, a method of shifting from the internal representation of the difference equation shown in FIG. 27 to the internal representation of the recurrence formula shown in FIG. 28 will be described. First, in the differential equations 2701 and 2702, one variable having the most advanced time among the differentiated variables is left in the left branch, and the other variables are moved to the right branch. This operation is performed by the four transition processes shown in FIG. 30, that is, transition 300 from sum to difference.
1, transition from difference to sum 3002, transition from product to division 3
003, and a transition from division to product 3004 to obtain an internal representation 2801.

【0128】続いて、左枝の変数の時刻の順序に従っ
て、方程式リストの順序をソーティングする。方程式1
の左枝の時刻t+Δtは方程式2の左枝の時刻t+Δt
/2よりも先なので、方程式2、方程式1の順に変更さ
れる。最後に、各変数の時刻に対応させて、古いものを
old、新しいものをnewと記すことにより、最終的
な漸化式内部表現2802を得る。
Then, the order of the equation list is sorted according to the order of the times of the variables on the left branch. Equation 1
The time t + Δt of the left branch of is the time t + Δt of the left branch of Equation 2
Since it is before / 2, the equations 2 and 1 are changed in this order. Finally, the final recursion internal expression 2802 is obtained by writing the old one as old and the new one as new in correspondence with the time of each variable.

【0129】最後に、補助関数定義2103を読み込
み、方程式定義2101で未定義だった力Fの定義を得
て、図25の補助処理リスト2501へ登録する。文字
列”FORCE2”により登録済み二体力を利用するこ
とを認識する。第一オペランド”IONMODEL”を
検索し、モデルの関数系とその関数で必要とする諸係数
を得て、第二オペランド以降の値を読み取る。補助処理
名称は”F”であり、演算リストは”F=データベース
から得られたモデル関数の形”であり、オペランドリス
トはB、C、D、及びrであり、必要変数リストはrで
あり、更新変数リストはFである。以上の処理により、
方程式翻訳処理34は図19に示す運動データを入力
し、図28に示す方程式内部表現44を生成する。以上
が粒子型方程式翻訳差分化処理3の説明である。
Finally, the auxiliary function definition 2103 is read, the undefined definition of the force F is obtained in the equation definition 2101, and registered in the auxiliary processing list 2501 of FIG. It is recognized that the registered two-body power is used by the character string "FORCE2". The first operand "IONMODEL" is searched, the functional system of the model and various coefficients required by the function are obtained, and the values after the second operand are read. The auxiliary process name is “F”, the operation list is “F = model function form obtained from database”, the operand list is B, C, D, and r, and the necessary variable list is r. , The update variable list is F. By the above process,
The equation translation processing 34 inputs the motion data shown in FIG. 19 and generates the equation internal representation 44 shown in FIG. The above is the description of the particle-type equation translation difference processing 3.

【0130】(4)プログラム生成処理5の具体例 次に、具体例を用いて、図7に示したプログラム生成処
理5の各処理の内容を説明する。 (4−1)ヘッダプログラム生成処理701:ヘッダプ
ログラム生成処理701は、図8に示す手順に従って、
図22の変域内部表現41内の次元リスト2201から
図31に示す次元宣言部分を生成し(802〜80
8)、図23の変数内部表現42から図32に示す共通
変数宣言部分を生成する(809〜811)。図31の
行3101に示すように、次元リストの第一項目の次元
数を、NP0001を定数名称とするパラメータ文によ
り設定する。定数名称としてこの様な名称を用いるの
は、ユーザ指定の名称との重複を避けるためである。し
かし、名称から内容を連想できないため、生成するヘッ
ダプログラム706内には上記定数名称の本来の名称を
コメントとして出力し、生成されたプログラムを理解し
やすいものにする(804)。次元リスト内の項目が次
元名称へのポインターを有する場合(805)は、行3
102に示すように、次元数分の文字配列を宣言し、次
元名称をパラメータ文により宣言する(806)。次元
名称を収める文字配列はCN0001とし、文字数は次
元名称中の最大文字数とする。文字配列宣言に続いて、
行3103に示すように、各次元方向の名称設定が生成
される(807、808)。次元名称へのポインターを
持たない項目では文字配列定義を行なわない。次元リス
ト内の各項目に対して上記の処理を繰り返し(802、
803)、次元宣言部分のヘッダプログラムを得る。本
次元宣言部分ヘッダプログラムは、これ以降生成される
プログラムのヘッダファイルとしてINCLUDEされ
る。
(4) Specific Example of Program Generation Process 5 Next, the contents of each process of the program generation process 5 shown in FIG. 7 will be described using a specific example. (4-1) Header program generation processing 701: The header program generation processing 701 follows the procedure shown in FIG.
The dimension declaration part shown in FIG. 31 is generated from the dimension list 2201 in the domain internal representation 41 of FIG.
8), the common variable declaration part shown in FIG. 32 is generated from the variable internal representation 42 of FIG. 23 (809-811). As shown in line 3101 of FIG. 31, the number of dimensions of the first item of the dimension list is set by a parameter statement having NP0001 as a constant name. The reason for using such a name as the constant name is to avoid duplication with the name specified by the user. However, since the content cannot be associated with the name, the original name of the constant name is output as a comment in the generated header program 706 to make the generated program easy to understand (804). Line 3 if the item in the dimension list has a pointer to the dimension name (805).
As indicated by 102, character arrays for the number of dimensions are declared, and the dimension name is declared by a parameter statement (806). The character array that stores the dimension name is CN0001, and the number of characters is the maximum number of characters in the dimension name. Following the character array declaration,
As shown in row 3103, name settings for each dimension are generated (807, 808). Character array definition is not performed for items that do not have a pointer to the dimension name. The above process is repeated for each item in the dimension list (802,
803), Get the header program of the dimension declaration part. This dimension declaration part header program is INCLUDE'd as a header file of a program generated thereafter.

【0131】続いて、変数内部表現の変数リストの第一
項目を読み込み、対応する次元数リストから次元リスト
へのポインターを辿り、対応する次元数をプログラム上
で表現した定数名称を認識する(810)。第一項目M
assの場合は次元数はSpeciesであり、定数名
称はNP0002である。そこで、図32の行3201
に示すような変数Massの変数宣言が生成される(8
11)。NP0001やCN0001等、通し番号によ
って表現される変数内容については、常にコメントを付
記する。変数リストの各項目に対して同処理を繰り返し
た(809)後、再度変数名称の読み込みを行なって行
3202に示すCOMMON文を生成し(812)、共
通変数宣言部分のヘッダプログラムを得る。本共通変数
宣言部分ヘッダプログラムも、これ以降生成されるプロ
グラムのヘッダファイルとしてINCLUDEされる。
Then, the first item of the variable list of the internal variable representation is read, the pointer from the corresponding dimension number list to the dimension list is traced, and the constant name expressing the corresponding dimension number on the program is recognized (810). ). First item M
In the case of ass, the number of dimensions is Species, and the constant name is NP0002. Therefore, line 3201 in FIG.
A variable declaration of the variable Mass as shown in (8) is generated (8
11). A comment is always added to the variable contents expressed by serial numbers such as NP0001 and CN0001. After repeating the same processing for each item in the variable list (809), the variable name is read again to generate the COMMON statement shown in line 3202 (812), and the header program of the common variable declaration part is obtained. This common variable declaration part header program is also INCLUDE'd as a header file of a program generated thereafter.

【0132】(4−2)入出力プログラム生成処理70
2:入出力プログラム生成処理702は、図23に示す
変数内部表現42を読み込んで、図33に示す初期値デ
ータファイル6を生成すると共に、図34に示す初期値
データ読み込みプログラム707を生成する。データフ
ァイルの生成および読み込みプログラムの生成は、図9
に示す手順に従って実行される。読み込みプログラムの
ヘッダ生成(901)では、初期値データ読み込みサブ
ルーチンのサブプログラム宣言3401、次元数宣言と
共通変数宣言をINCLUDEするためのINCLUD
E文の生成3402、そして初期値読み込み処理開始を
出力するためのWRITE文3403の生成を行なう。
図34における上部6行分がこの生成例である。
(4-2) Input / output program generation processing 70
2: The input / output program generation processing 702 reads the variable internal representation 42 shown in FIG. 23, generates the initial value data file 6 shown in FIG. 33, and also generates the initial value data reading program 707 shown in FIG. The data file generation and the reading program generation are shown in FIG.
It is executed according to the procedure shown in. In the header generation (901) of the read program, the subprogram declaration 3401 of the initial value data read subroutine, INCLUD for INCLUDE of the dimension number declaration and the common variable declaration.
The E statement generation 3402 and the WRITE statement 3403 for outputting the initial value read processing start are generated.
The upper six lines in FIG. 34 are examples of this generation.

【0133】続いて、変数リスト2301内の全項目の
内、初期値リスト2305へのポインタを有する変数に
対して以下の処理を行なう(902〜907)。処理9
04は、データ認識用のコメントとして変数名称330
1をデータファイル6へ出力し、要素数3302をデー
タファイル6へ出力する。処理905は、変数に対応す
る初期値3303をデータファイル6へ出力し、処理9
06は、デ−タ読み込みプログラム707において変数
名称と要素数を読み飛ばすプログラム部分3404を生
成し、処理907は、デ−タ読み込みプログラム707
における初期値読み込みプログラム部分3405を生成
する。
Then, the following processing is performed on the variable having the pointer to the initial value list 2305 among all the items in the variable list 2301 (902 to 907). Process 9
04 is a variable name 330 as a comment for data recognition
1 is output to the data file 6, and the number of elements 3302 is output to the data file 6. Process 905 outputs the initial value 3303 corresponding to the variable to the data file 6, and process 9
06 generates a program part 3404 for skipping the variable name and the number of elements in the data reading program 707, and the processing 907 processes the data reading program 707.
The initial value reading program part 3405 in is generated.

【0134】変数名称及び要素数の出力例が図33の上
部2行分である。変数リスト内の初期値を有する最初の
変数はrなので、変数名称情報として「r」を出力し、
要素数情報として次元数「2」、一次元目の要素数
「3」、二次元目の要素数「216」の三つの数字をそ
れぞれ列挙する。変数に対応する初期値の出力例は図3
3の3行目以降に示されており、全要素648個の値を
列挙する。デ−タ読み込みプログラム707における変
数名称及び要素数を読み飛ばすプログラム部分の出力例
は図34のオペランド無しのREAD文3404であ
る。デ−タ読み込みプログラム707における初期値読
み込みプログラム部分の出力例はその下のREAD文3
405である。変数リスト内の全項目に対して同一の処
理を実行した後、最後に読み込みプログラムのフッタ3
406の生成を行なう(908)。図34における最終
4行分がこれに該当し、初期値読み込みの処理終了を出
力するためのWRITE文が生成され、サブルーチンの
終了を記述するためのRETURN文及びEND文が生
成される。
An output example of the variable name and the number of elements is the upper two lines in FIG. Since the first variable having an initial value in the variable list is r, "r" is output as variable name information,
As the number-of-elements information, three numbers of the number of dimensions “2”, the number of elements in the first dimension “3”, and the number of elements in the second dimension “216” are listed. An output example of the initial value corresponding to the variable is shown in FIG.
It is shown in the 3rd and subsequent lines, and lists the values of all 648 elements. An output example of the program part for skipping the variable name and the number of elements in the data reading program 707 is the READ statement 3404 with no operand in FIG. The output example of the initial value reading program portion in the data reading program 707 is the READ statement 3 below it.
405. After performing the same processing for all items in the variable list, finally in the footer 3 of the reading program.
406 is generated (908). The last four lines in FIG. 34 correspond to this, a WRITE statement for outputting the end of the initial value reading process is generated, and a RETURN statement and an END statement for describing the end of the subroutine are generated.

【0135】(4−3)処理制御プログラム生成処理7
03:処理制御プログラム生成処理703は、図24の
条件−イベントテーブルを主な入力とし、図10に示し
た処理制御プログラム生成方法に従って、図11に示す
処理制御フローを持つ処理制御プログラム708を生成
する。図11で示されたフローからFORTRAN言語
で記述されたシミュレーションプログラムのメインプロ
グラムを生成するのは容易である。
(4-3) Processing control program generation processing 7
03: The process control program generation process 703 generates the process control program 708 having the process control flow shown in FIG. 11 according to the process control program generation method shown in FIG. 10 with the condition-event table of FIG. 24 as the main input. To do. It is easy to generate the main program of the simulation program described in FORTRAN language from the flow shown in FIG.

【0136】(4−4)時間発展プログラム生成処理7
04:時間発展プログラム生成処理704は、主に漸化
式内部表現に基づいてFORTRANによる時間発展プ
ログラム709を生成する。図28に示した漸化式内部
表現から即座に代入文による時間発展プログラムの生成
が可能である。更新される各変数が空間と粒子数の二つ
の次元を有する量であるので、二重のDOループ文によ
って囲まれた代入文の構造となる。もちろん次元宣言
部、共通変数宣言部のインクルード文をサブルーチンの
ヘッダとして生成する。
(4-4) Time evolution program generation processing 7
04: The time evolution program generation process 704 mainly generates the time evolution program 709 by FORTRAN based on the internal expression of the recurrence formula. It is possible to immediately generate a time evolution program by an assignment statement from the internal representation of the recurrence formula shown in FIG. Since each variable to be updated is a quantity having two dimensions of space and particle number, the structure of the assignment statement enclosed by the double DO loop statement is obtained. Of course, the include statement of the dimension declaration part and the common variable declaration part is generated as the header of the subroutine.

【0137】(4−5)補助処理プログラム生成処理7
05:補助処理プログラム生成処理705は、図25に
示した補助処理数式内部表現に基づいてFORTRAN
による補助計算プログラム710を生成する。生成方法
は図15に示した通りである。これらの補助処理は全て
サブルーチンにより実現され、ヘッダとして全てに次元
宣言部、共通変数宣言部のINCLUDE文を持たせ
る。以上が、プログラム生成処理5の説明である。
(4-5) Auxiliary processing program generation processing 7
05: The auxiliary process program generation process 705 executes FORTRAN based on the internal expression of the auxiliary process equation shown in FIG.
To generate the auxiliary calculation program 710. The generation method is as shown in FIG. All of these auxiliary processes are realized by subroutines, and all have the INCLUDE statement of the dimension declaration part and the common variable declaration part as the header. The above is the description of the program generation processing 5.

【0138】あとは一般的なFORTRANプログラム
の実行手順に従い、生成されたFORTRAN計算プロ
グラム6は翻訳処理により機械語の計算プログラムに変
換され、計算装置8によって実行される。実行の際に、
プログラム自動生成処理2によって生成されたシミュレ
ーション入力データ7を入力し、計算後、シミュレーシ
ョン結果9をラインプリンタや画像端末などへ出力す
る。
After that, the generated FORTRAN calculation program 6 is converted into a machine language calculation program by a translation process according to a general FORTRAN program execution procedure, and is executed by the calculation device 8. When running,
The simulation input data 7 generated by the program automatic generation processing 2 is input, and after the calculation, the simulation result 9 is output to a line printer, an image terminal, or the like.

【0139】3.他の実施例 以上が一実施例の説明であるが、幾つかの変形が考えら
れる。以下に、様々な変形を一部分に施した実施例を説
明する。 (1)対話処理による粒子シミュレーション情報1の項
目指定 上記の実施例では、あらかじめファイルなどに記述して
おいた粒子シミュレーション情報1を読み込んでプログ
ラムを自動生成しているが、より望ましい実施例として
端末(入出力装置534)と対話しながら粒子シミュレ
ーション情報1の各種項目を指定する方法が考えられ
る。粒子シミュレーション情報1の各種項目を対話処理
によって入力する時の画面の一例を図35に示す。図3
5の画面3501は対話処理による入力を行なうための
画面である。領域3502は、入力項目を選択するウィ
ンドウであり、領域3503は文字による入力を必要と
する場合に用いられるウィンドウである。入力項目選択
ウィンドウ3502の最左側の入力項目の中の「方程
式」が選択されると選択された項目は白黒反転し、さら
に上記選択項目内で選択可能な項目の一覧が右隣のメニ
ューに表示される。以下同様な操作により、入力する粒
子シミュレーション情報1を指定できる。メニュー内に
存在しない内容を記述する場合には、上記項目の中の
「その他」を選択し、文字入力ウィンドウ3503に所
定の内容を記述する。図35に示すメニューを利用した
入力情報指定方法において、プログラム自動生成処理2
の内部で許される入力項目名称を全てメニューに登録し
ておくことにより、情報入力者が入力項目の名称を正し
く記憶しておく必要がなくなる。また、誤字、あるいは
脱字などによる入力の間違いも減少させることができ
る。さらに、二体相互作用のモデルポテンシャルの関数
系のように、粒子シミュレーションで頻繁に使用され、
かつ一般的に用いられる定義内容をあらかじめメニュー
に登録しておくことにより、情報入力者の入力操作量を
大幅に削減できる。
3. Other Embodiments The above is a description of one embodiment, but some modifications are conceivable. Hereinafter, an embodiment in which various modifications are partially performed will be described. (1) Item designation of particle simulation information 1 by interactive processing In the above embodiment, the particle simulation information 1 described in advance in a file or the like is read to automatically generate a program. A method of designating various items of the particle simulation information 1 while interacting with the (input / output device 534) can be considered. FIG. 35 shows an example of a screen when various items of the particle simulation information 1 are input by interactive processing. Figure 3
A screen 3501 of No. 5 is a screen for inputting by interactive processing. An area 3502 is a window for selecting an input item, and an area 3503 is a window used when it is necessary to input characters. When the "equation" in the leftmost input item of the input item selection window 3502 is selected, the selected item is reversed in black and white, and a list of items that can be selected from the above selection items is displayed in the menu on the right side. To be done. The particle simulation information 1 to be input can be specified by the same operation. When describing the content that does not exist in the menu, select “Other” from the above items and describe the predetermined content in the character input window 3503. In the input information specifying method using the menu shown in FIG. 35, the program automatic generation processing 2
By registering all the input item names permitted inside the menu in the menu, the information input person does not need to correctly store the input item names. In addition, it is possible to reduce input mistakes due to typographical errors or omissions. Moreover, it is often used in particle simulations, such as the functional system of model potentials for two-body interactions,
In addition, by registering commonly used definition contents in the menu in advance, the input operation amount of the information input person can be greatly reduced.

【0140】また、圧力一定や温度一定などのシミュレ
ーションの系の環境条件を入力する場合などでは、互い
に排他的な選択項目が存在する。その場合の入力項目選
択画面の変化の様子を図36に示す。端末の画面360
1に現われた環境条件設定用ウィンドウ3602におい
て、すでに温度一定と粒子数一定の条件が選択されてい
る。選択された条件が白黒反転している。そこで、新た
に圧力一定の条件を選択すると、ウィンドウ3603に
示されるように、圧力一定の条件項目が白黒反転すると
同時に、その他の排他的な環境条件は白地で塗りつぶさ
れ選択不可能な状態となる。このように、選択不可能で
あることを入力情報を指定する人に知らせることによ
り、誤った入力を削減できる。図36では、選択不可能
状態を白地による塗りつぶしによって表示した例を示し
ているが、より望ましい実施例としては、表示文字の輝
度を低下させるなどによって項目の文字は読めるように
しておくことも可能である。すなわち、どのような項目
があったかは読むことができ、その項目が選択できない
ことも理解できる状態にしておくことである。
Further, when inputting the environmental conditions of the simulation system such as constant pressure and constant temperature, there are mutually exclusive selection items. FIG. 36 shows how the input item selection screen changes in that case. Terminal screen 360
In the environmental condition setting window 3602 appearing in No. 1, the conditions of constant temperature and constant number of particles are already selected. The selected condition is reversed in black and white. Therefore, if a new condition of constant pressure is newly selected, as shown in the window 3603, the condition item of constant pressure is reversed in black and white, and at the same time, other exclusive environmental conditions are filled in with a white background and become unselectable. .. In this way, by notifying the person who specifies the input information that selection is not possible, it is possible to reduce erroneous input. Although FIG. 36 shows an example in which the non-selectable state is displayed by painting with a white background, it is also possible to make the characters of the item readable by lowering the brightness of the displayed characters as a more preferable embodiment. Is. That is, it is necessary to be able to read what kind of item there is and to understand that the item cannot be selected.

【0141】(2)対話型ビジュアル制御条件定義指定
方法 粒子シミュレーション情報1の一つとして、制御条件定
義情報13、すなわち、粒子自身が存在する空間あるい
は粒子が存在しうる空間の環境制御条件および制御方法
を指定する必要がある。
(2) Interactive visual control condition definition designation method As one of the particle simulation information 1, the control condition definition information 13, that is, the environmental control condition and control of the space where the particle itself exists or the space where the particle may exist. You need to specify the method.

【0142】すでに記述した実施例では、図24のよう
に、制御処理を行うタイミングを規定する制御条件と、
その際に実施する処理内容とを組として必要数だけ列挙
した。制御条件と制御処理の内容が単純であれば、これ
らを図24で示した方法により指定することは容易であ
る。しかし、シミュレーション実行中に様々に温度を変
化させる場合、その制御条件定義記述は図37のように
なり、非常に多量の情報を定義しなければならない。図
37に示す制御条件定義記述3701には、シミュレー
ションの実行ステップ毎に設定温度を変更する制御処理
3704が追加されている。この処理3704により、
系の温度を自由に変更することができる。また、設定温
度、および設定圧力の変更内容を定義した制御条件定義
記述3706は、設定の変更が多数回あるため非常に煩
雑になっている。このような場合、誤った入力データを
与えてしまう可能性がある。一つは、データ量が膨大に
なるため、手作業による入力中に数値などの指定を誤る
確率が高くなることである。もう一つは、入力しようと
したデータ自身が、本来意図した数値と異なっていて
も、図37のような制御条件定義記述方法ではその間違
いに気が付きにくいことである。
In the embodiment described above, as shown in FIG. 24, the control condition for defining the timing for performing the control process,
The necessary number is listed as a set with the processing contents to be executed at that time. If the control condition and the content of the control process are simple, it is easy to specify them by the method shown in FIG. However, when various temperatures are changed during execution of the simulation, the control condition definition description is as shown in FIG. 37, and an extremely large amount of information must be defined. In the control condition definition description 3701 shown in FIG. 37, a control process 3704 for changing the set temperature for each execution step of the simulation is added. By this processing 3704,
The temperature of the system can be changed freely. Further, the control condition definition description 3706 defining the change contents of the set temperature and the set pressure is very complicated because the setting is changed many times. In such a case, incorrect input data may be given. One is that since the amount of data becomes huge, the probability of erroneous specification of a numerical value or the like during manual input increases. The other is that even if the data to be input is different from the originally intended value, it is difficult to notice the mistake with the control condition definition description method as shown in FIG.

【0143】図37の制御条件例における設定温度およ
び設定圧力の変化を、グラフで表示した結果を図38に
示す。グラフ3801の横軸3802はシミュレーショ
ンの実行ステップを示し、シミュレーションの過程にお
ける仮想的な時刻を表わす。このグラフには温度と圧力
の二つの量の変化が示されている。温度のグラフ380
5の値は左側縦軸の目盛3803で与えられ、圧力のグ
ラフ3806の値は右側縦軸の目盛3804で与えられ
る。設定値を検討する際には、通常このように可視化し
た状態で値の確認が行なわれる。グラフ等によって目的
とする量が可視化されていれば、入力しようとしたデー
タ自身が本来意図した数値であることを確認しながら、
値を設定できる。通常は、グラフにより設定値を決定し
た後、設定値の変化状況に合わせて、シミュレーション
全体の時刻を複数のステージに分割し、各ステージごと
に各制御条件変数の設定値を抽出する。設定値の抽出結
果を図39に示す。図38のグラフを作成した後、もし
くは作成中に、図39の表を作成する。各ステージ39
01毎に、時刻3902、温度3903、及び圧力39
05を抽出し、各区間での傾斜を計算する。本実施例の
場合、図37に示したように、グラフ上で設定値と時刻
ステップに対する傾斜を与えて環境変数の値を変更して
いるので、それに対応して図39においても、温度傾斜
3904及び圧力傾斜3906を計算する。制御条件変
数を別な方法で変更するならば、それに応じたデータの
抽出を行なう必要が有る。さらに、制御条件定義記述と
して必要なデータ形式である図37の形に変換すること
になる。そのデータの入力の際に、入力ミス等によるデ
ータの誤りが生じる可能性がある。
FIG. 38 shows the result of graphically displaying changes in the set temperature and the set pressure under the control condition example of FIG. The horizontal axis 3802 of the graph 3801 represents a simulation execution step, and represents a virtual time in the simulation process. This graph shows changes in two quantities, temperature and pressure. Temperature graph 380
The value of 5 is given on the left vertical axis scale 3803 and the value of the pressure graph 3806 is given on the right vertical axis scale 3804. When examining the set value, the value is usually confirmed in such a visualized state. If the target amount is visualized by a graph, etc., confirming that the data you are trying to enter is the originally intended value,
You can set the value. Usually, after the set value is determined by a graph, the time of the entire simulation is divided into a plurality of stages according to the change situation of the set value, and the set value of each control condition variable is extracted for each stage. The extraction result of the set value is shown in FIG. The table of FIG. 39 is created after or during the creation of the graph of FIG. Each stage 39
For each 01, time 3902, temperature 3903, and pressure 39
05 is extracted and the slope in each section is calculated. In the case of the present embodiment, as shown in FIG. 37, since the set value and the slope with respect to the time step are given to change the value of the environment variable on the graph, the temperature slope 3904 is also correspondingly changed in FIG. 39. And the pressure slope 3906 are calculated. If the control condition variable is changed by another method, it is necessary to extract the data accordingly. Further, it is converted into the form of FIG. 37 which is a data format required as the control condition definition description. When inputting the data, an error in the data may occur due to an input error or the like.

【0144】以下に述べる実施例、すなわち対話型ビジ
ュアル制御条件定義指定方法では、上記ような制御条件
定義記述の指定の際に、デ−タの誤りを削減し、かつ入
力の工数を削減できる。
In the embodiment described below, that is, in the interactive visual control condition definition designating method, it is possible to reduce the data error and the number of input man-hours when the control condition definition description is designated.

【0145】(2−1)対話型ビジュアル制御条件定義
指定方法の概要:対話型ビジュアル制御条件定義指定方
法は、グラフィック端末を使用して実施できる。図40
に対話型ビジュアル制御条件定義指定方法の概略を示
す。対話型ビジュアル制御条件定義指定方法4000
は、制御条件変化図作成処理4001、関数読み取り処
理4002、制御条件生成処理4003、及び制御時刻
ソーティング処理4004からなる。制御条件変化図作
成処理4001では、図形画像端末の画面上に、温度あ
るいは圧力等の制御条件の変化状況4005を、画面上
で確認しながら作成する。処理4001は、必要な制御
条件変数の数だけ行なう。次に、関数読み取り処理40
02では、制御条件変化図作成処理4001で作成した
グラフ4005を入力し、グラフに表現された変化の様
子を関数形式4006として読み取る。実際に入力され
るのはグラフ4005自身ではなく、グラフ4005を
表現するために保持されている内部データである。さら
に、制御条件生成処理4003は、生成した関数形式4
006から、制御条件と処理内容4007を抽出する。
最後に、制御条件として用いられた制御時刻の順に並び
換えるソーティング処理4004により、制御条件定義
記述4008を得る。
(2-1) Outline of interactive visual control condition definition designation method: The interactive visual control condition definition designation method can be implemented using a graphic terminal. Figure 40
Shows the outline of the interactive visual control condition definition specification method. Interactive visual control condition definition specifying method 4000
Includes a control condition change diagram creation process 4001, a function reading process 4002, a control condition generation process 4003, and a control time sorting process 4004. In the control condition change diagram creation processing 4001, a change condition 4005 of control conditions such as temperature or pressure is created on the screen of the graphic image terminal while confirming on the screen. The process 4001 is performed by the number of necessary control condition variables. Next, the function reading process 40
In 02, the graph 4005 created in the control condition change diagram creation processing 4001 is input, and the state of the change represented in the graph is read as a functional form 4006. What is actually input is not the graph 4005 itself, but the internal data held to represent the graph 4005. Further, the control condition generation processing 4003 is performed by the generated function format 4
The control condition and the processing content 4007 are extracted from 006.
Finally, a control condition definition description 4008 is obtained by a sorting process 4004 for rearranging in order of the control time used as the control condition.

【0146】対話型ビジュアル制御条件定義指定方法4
000は、グラフィック端末(入出力装置534)上で
実施される。図41はその時の出力画面を示す。端末の
ディスプレイ4101には、複数のウィンドウが表示さ
れている。制御条件変化図作成用ウィンドウ4102
は、制御条件の変化を視覚的に確認し、変化の形状を作
成する領域である。文字入力ウィンドウ4103は、変
化図作成ウィンドウ4102内に各種の情報を入力する
ための領域である。解析表示ウィンドウ4104は、制
御条件変化図作成ウィンドウ4102で変化グラフを作
成中に、このグラフを解析し、間違った操作が行なわれ
た場合、直ちに警告を表示するための領域である。ま
た、解析表示ウィンドウ4104を設けることにより、
制御条件変数の変化の様子を数字で確認できる。ただ
し、ウィンドウ4102内のグラフ上に、グラフの目盛
に対応した格子4105が重ねて表示されるので、所定
のポイントの近似値を読み取ることができる。変化図の
作成操作は、主にマウス4108を用いて行なわれる。
マウスポインタ4106を選択したい対象に重ね、マウ
スボタン4109を押すことにより、選択した対象をプ
ログラムに伝えることができる。また、キーボード41
07も、軸の名称、範囲や、格子の間隔等を設定する時
に用いる。
Interactive visual control condition definition designation method 4
000 is implemented on the graphic terminal (input / output device 534). FIG. 41 shows an output screen at that time. A plurality of windows are displayed on the display 4101 of the terminal. Control condition change diagram creation window 4102
Is an area for visually confirming the change in the control condition and creating the shape of the change. The character input window 4103 is an area for inputting various information in the change diagram creation window 4102. The analysis display window 4104 is an area for analyzing the graph while creating a change graph in the control condition change diagram creation window 4102 and immediately displaying a warning when an erroneous operation is performed. By providing the analysis display window 4104,
You can check the changes in the control condition variables by numbers. However, since the grid 4105 corresponding to the scale of the graph is displayed over the graph in the window 4102, the approximate value of a predetermined point can be read. The operation of creating the change diagram is mainly performed using the mouse 4108.
The selected object can be transmitted to the program by placing the mouse pointer 4106 on the object to be selected and pressing the mouse button 4109. Also, the keyboard 41
07 is also used when setting the axis name, range, lattice spacing, and the like.

【0147】続いて、対話型ビジュアル制御条件定義指
定方法4000の各処理部分(4001〜4004)を
それぞれ説明する。 (2−2)制御条件変化図作成処理4001:制御条件
変化図作成処理4001の処理の流れを図42に示す。
処理に対応した画面の変化を図41、図43および図4
4を用いて説明する。グラフ作成初期処理4201は、
図41の文字入力ウィンドウ4103におけるグラフの
縦軸および横軸の名称と変化範囲の入力を促し、入力さ
れた値を読み込む。処理4202は、読み込んだ値か
ら、軸の名称と範囲を割り付けたグラフの枠組み430
1を制御条件変化図作成ウィンドウ4102内に生成す
る。使用者によるグラフの数値読み取りを容易にするた
め、各軸を10前後の格子4302に分割し、破線でグ
ラフ内に表示する。続けて、制御条件変化図の初期値作
成処理4203は、縦軸の値が全く変化しない場合をグ
ラフ内に表示する。図43の水平な線4303がこれに
該当する。この線の値は、縦軸4301の中間値を横軸
の始点から終点まで引いたものである。横軸の変化範囲
に対して、縦軸の制御条件が変化しないことを意味す
る。これらの初期作業を終えた後、処理4204は、操
作終了、すなわちウィンドウ内の終了フィールド430
4が選択されるまで以降の対話的な操作による変化図作
成処理(4205〜4208)を繰り返す。
Next, the respective processing parts (4001 to 4004) of the interactive visual control condition definition specifying method 4000 will be described. (2-2) Control Condition Change Diagram Creation Processing 4001: FIG. 42 shows the processing flow of the control condition change diagram creation processing 4001.
41, 43, and 4 show screen changes corresponding to the processing.
4 will be described. The graph creation initial processing 4201 is
The input of the name and change range of the vertical axis and horizontal axis of the graph in the character input window 4103 of FIG. 41 is prompted, and the input value is read. A process 4202 is a graph framework 430 in which axis names and ranges are assigned from the read values.
1 is generated in the control condition change diagram creation window 4102. In order to make it easy for the user to read the numerical values of the graph, each axis is divided into about 10 grids 4302, which are indicated by broken lines in the graph. Subsequently, in the initial value creation processing 4203 of the control condition change diagram, the case where the value on the vertical axis does not change at all is displayed in the graph. The horizontal line 4303 in FIG. 43 corresponds to this. The value of this line is obtained by subtracting the intermediate value of the vertical axis 4301 from the start point to the end point of the horizontal axis. This means that the control condition on the vertical axis does not change with respect to the change range on the horizontal axis. After completing these initial tasks, the process 4204 ends the operation, ie, the end field 430 in the window.
The change diagram creation processing (4205 to 4208) by the subsequent interactive operation is repeated until 4 is selected.

【0148】変化図作成処理4001では、基本的な操
作はマウスポインタ4106を使用して行なう。マウス
ポインタ4106がポイントするグラフ内の対象に応じ
て処理を実行する。マウスポインタ4106がポイント
可能な主な場所は、図44に示した、各軸4301、グ
ラフのライン間の連結点4401、ライン4402、及
び変化図作成終了指示フィールド4304である。マウ
スポインタ4106によってこれらのいずれかが選択さ
れた時、それに応じた処理を行ない、次のマウスポイン
タの指示待ち状態となる。マウスポインタ4106が縦
軸4301を選択した場合、処理4205は、軸の名
称、変化量の範囲、及び表示の形式等の変更を行なう、
すなわち、現在の各値を新規ウィンドウに表示し、その
修正を促す。続いて、処理4206は、修正された内容
に従ってグラフの軸および格子を変更する。マウスポイ
ンタ4106がグラフのライン上を選択した場合、それ
まで直線であったラインに新規の連結点を設ける処理4
207と、その連結点位置を変更してラインを折り曲げ
る操作4208が行なわれる。例えば、図44におい
て、マウスポインタ4403がライン4405をポイン
トした時、連結点を生成し、マウスポインタ4404が
移動している間、仮想位置として連結点4406を生成
し、これらを破線で連結する。マウスポインタ4404
がライン間の連結点を選択した場合は、連結点の位置を
変更する操作4208が行なわれる。新規に生成された
連結点も上記の処理4208と同様に連結点位置が変更
される。以上の処理により、変化図が生成される。
In the change diagram creation processing 4001, basic operations are performed using the mouse pointer 4106. The process is executed according to the object in the graph pointed by the mouse pointer 4106. The main points to which the mouse pointer 4106 can point are the axes 4301, the connecting points 4401 between the lines of the graph, the lines 4402, and the change diagram creation end instruction field 4304 shown in FIG. When any of these is selected by the mouse pointer 4106, the corresponding process is performed, and the process waits for the next mouse pointer instruction. When the mouse pointer 4106 selects the vertical axis 4301, the processing 4205 changes the axis name, the range of change amount, the display format, and the like.
That is, each current value is displayed in a new window and the correction is prompted. Subsequently, the process 4206 changes the axis and grid of the graph according to the corrected content. When the mouse pointer 4106 selects a line on the graph, a process 4 of providing a new connecting point on a line that has been a straight line until then 4
207 and an operation 4208 of changing the connecting point position and bending the line are performed. For example, in FIG. 44, when the mouse pointer 4403 points to the line 4405, a connecting point is generated, and while the mouse pointer 4404 is moving, a connecting point 4406 is generated as a virtual position and these are connected by a broken line. Mouse pointer 4404
If the selected connecting point is between lines, operation 4208 for changing the position of the connecting point is performed. The position of the newly generated connecting point is also changed in the same manner as in the above processing 4208. The change diagram is generated by the above processing.

【0149】a)連結点が新規に作成された場合の処理
4207:変化図の作成中に連結点が新規に作成された
場合の処理4207を、図45と図46を用いて述べ
る。マウスポインタによって選択されたラインは、区間
リスト4501の区間と1対1の対応を持っている。処
理4601は、選択されたラインが対応している区間m
を特定する。連結点リストの更新処理4602は、区間
リスト4501からポイントされる連結点リスト450
4において、連結点数を一つ増やしてリストの領域を増
やす。さらに、連結点mから最後までを後方にシフト
し、空いた連結点mの欄にマウスポインタのグラフ上で
のX及びY座標をそれぞれX及びY座標フィールド45
05と4506に記録する。続いて、処理4603は、
区間リスト4501の更新を行なう、すなわち、区間数
を一つ増やし、リストの領域を増やし、区間m+1から
最後までを後方へシフトする。この時、区間リスト45
01から連結点リスト4504への始点終点ポインタ4
502および4503も同時にシフトする。シフトして
空いた区間m+1の欄の始点ポインタを連結点mへポイ
ントし、終点ポインタを連結点m+1へポイントする。
以上の処理により、連結点の新規作成処理が終了する。
A) Process 4207 when a connecting point is newly created: The process 4207 when a connecting point is newly created while creating a change diagram will be described with reference to FIGS. 45 and 46. The line selected by the mouse pointer has a one-to-one correspondence with the section of the section list 4501. The process 4601 is a section m corresponding to the selected line.
Specify. The connection point list update processing 4602 is performed by the connection point list 450 pointed to by the section list 4501.
In 4, the list area is increased by increasing the number of connecting points by one. Further, the connection point m to the end is shifted backward, and the X and Y coordinates on the graph of the mouse pointer are displayed in the empty connection point m column in the X and Y coordinate fields 45, respectively.
Record at 05 and 4506. Then, the process 4603 is
The section list 4501 is updated, that is, the number of sections is increased by 1, the area of the list is increased, and the section m + 1 to the end is shifted backward. At this time, the section list 45
Start point end point pointer 4 from 01 to connection point list 4504
502 and 4503 are also shifted at the same time. The start point pointer in the column of the section m + 1 which is shifted and vacated is pointed to the connection point m, and the end point pointer is pointed to the connection point m + 1.
With the above processing, the new connection point creation processing ends.

【0150】b)連結点を更新する場合の処理420
8:変化図の作成中に連結点を更新する場合の処理42
08を、図45、図47および図48を用いて述べる。
マウスポインタによって選択された連結点は、連結点リ
スト4504の連結点と1対1の対応を持っている。処
理4701は、選択された連結点mを特定する。連結点
の新位置は、マウスポインタで選択される際に押された
マウスボタン4109が押されている間、仮想的に更新
され、マウスボタン4109が離された時、新しい位置
が確定され、連結点は更新される。
B) Processing 420 for updating the connection points
8: Process 42 when updating the connection points during the creation of the change diagram
08 will be described with reference to FIGS. 45, 47 and 48.
The connection point selected by the mouse pointer has a one-to-one correspondence with the connection point in the connection point list 4504. A process 4701 identifies the selected connection point m. The new position of the connection point is virtually updated while the mouse button 4109 that is pressed when the mouse pointer is selected is pressed, and when the mouse button 4109 is released, the new position is fixed and The points are updated.

【0151】処理4702は、押されたマウスボタンが
押されている間、以下の処理(4703〜4707)を
行なう。マウスボタンが押された状態でのマウスポイン
タの位置によって、処理を変更する判断4703が行な
われる。移動しているマウスポインタの位置が、図48
に示した可動域4802の内部である時、処理4704
は、マウスポインタの位置を仮想位置とする。図48で
は、選択された連結点は黒丸4801で示されている。
移動しているマウスポインタの位置が、図48に示した
可動域4802外であって、グラフ領域4803内であ
る時、処理4705は、仮想位置の縦方向の値はマウス
ポインタのY座標を採用し、横方向の値は可動域480
2の近い方の端のX座標を採用する。移動しているマウ
スポインタの位置がグラフ領域4803外である時、処
理4706は、可動域の四隅のうち最も近い隅の値を仮
想位置とする。各マウスポインタの位置毎に仮想位置が
決定された後、処理4707は、連結点の旧仮想位置で
破線表示がされていた場合にこれを削除し、新しい仮想
位置から前後の連結点位置への破線表示を行なう。以上
の処理がマウスボタンが押されている間行なわれる。
Process 4702 carries out the following processes (4703 to 4707) while the pressed mouse button is being pressed. A determination 4703 is made to change the process depending on the position of the mouse pointer with the mouse button pressed. The position of the moving mouse pointer is shown in FIG.
When it is inside the range of motion 4802 shown in FIG.
Makes the position of the mouse pointer a virtual position. In FIG. 48, the selected connection point is indicated by a black circle 4801.
When the position of the moving mouse pointer is outside the movable range 4802 shown in FIG. 48 and inside the graph area 4803, processing 4705 adopts the Y coordinate of the mouse pointer as the vertical value of the virtual position. However, the horizontal value is the range of motion 480
Take the X coordinate of the nearer end of 2. When the position of the moving mouse pointer is outside the graph area 4803, the process 4706 sets the value of the closest corner of the four corners of the movable range as the virtual position. After the virtual position is determined for each position of each mouse pointer, the processing 4707 deletes the broken line display at the old virtual position of the connection point and deletes it from the new virtual position to the previous and next connection point positions. Display broken lines. The above processing is performed while the mouse button is pressed.

【0152】押されていたマウスボタンが離された後、
連結点位置の更新作業が開始される。先ず、処理470
8は、旧仮想位置での破線表示を削除する。続いて、マ
ウスボタンが離された時のマウスポインタの最終位置に
合わせて処理を分岐する判断処理4709が行なわれ
る。最終位置が図48内の可動域4802内である時、
処理4710は、マウスポインタのグラフ内座標により
連結点リストを更新する。また、最終位置が図48の可
動域4802外であって、グラフ領域4803内である
時、処理4711は、新しい連結点の縦方向の値は最終
マウスポインタのY座標値で更新し、横方向の値は可動
域の近い方の端のX座標値を連結点として更新する。最
終位置がグラフ領域4803外であった時、選択した連
結点を削除すると判断され、選択した連結点を削除する
処理4712が行なわれる。それに伴い、連結点リスト
の更新および上記連結点前後の区間表示を更新する処理
を同時に行なう。選択した連結点が連結点リストの先頭
あるいは末尾のいずれでもない場合、連結点の可動域は
前後の連結点までの領域であるが、選択した連結点が先
頭か末尾の場合、上記連結点の可動域はグラフのY軸の
みとなる。すなわち、X座標は変更不能である。上記の
2つの場合は、マウスポインタが連結点を選択した際
に、連結点番号を特定すると共に上記連結点の可動域を
設定することにより、区別される。また、先頭または末
尾の連結点を削除する場合、削除不可能のメッセージが
出力される。以上により、変化図作成処理4001の説
明を終了する。
After the mouse button that was being pressed is released,
The update work of the connection point position is started. First, processing 470
8 deletes the broken line display at the old virtual position. Subsequently, a determination process 4709 is performed to branch the process according to the final position of the mouse pointer when the mouse button is released. When the final position is within the range of motion 4802 in FIG. 48,
A process 4710 updates the connection point list with the coordinates of the mouse pointer in the graph. If the final position is outside the movable range 4802 in FIG. 48 and within the graph area 4803, processing 4711 updates the vertical value of the new connecting point with the Y coordinate value of the final mouse pointer, and the horizontal direction. The value of is updated with the X coordinate value at the near end of the range of motion as the connecting point. When the final position is outside the graph area 4803, it is determined to delete the selected connecting point, and the processing 4712 of deleting the selected connecting point is performed. Accordingly, the process of updating the connection point list and updating the section display before and after the connection point are simultaneously performed. If the selected connection point is neither the beginning or the end of the connection point list, the range of motion of the connection point is the area up to the preceding and following connection points, but if the selected connection point is the beginning or end, The range of motion is only the Y axis of the graph. That is, the X coordinate cannot be changed. The above two cases are distinguished by specifying the connecting point number and setting the movable range of the connecting point when the mouse pointer selects the connecting point. Also, when deleting the leading or trailing connecting points, a message indicating that deletion is not possible is output. This is the end of the description of the change diagram creation processing 4001.

【0153】(2−3)関数読み取り処理4002:引
き続き、関数読み取り処理4002の説明を行なう。図
49に、区間関数の値を納めた区間関数テーブル490
1の形式を示す。区間関数テーブル4901は、範囲開
始位置4902、区間終了位置4903、区間初期値4
904、及び区間傾斜4905の各フィールドを各区間
毎に有する。関数の読み取り処理4002は、区間リス
トと連結点リストから区間関数テーブル4901を生成
する。図50に、関数読み取り処理4002のフローを
示す。処理5001は、区間リストの全区間に対して以
下の処理(5002〜5006)を行なう。区間範囲の
設定処理5002は、区間リストから始点ポインタおよ
び終点ポインタそれぞれが指し示す連結点のX座標を区
間範囲とし、これを区間関数テーブルの範囲開始位置4
902および範囲終了位置4903へ設定する。処理5
003は、上記区間範囲の範囲幅を調べ、その値が0で
あるかどうかで処理を分岐する。区間範囲幅が0である
場合、処理5004は、上記区間を区間関数テーブル4
901から削除する。区間範囲幅が0となる区間は、関
数として読み取る必要はないが、グラフとしての意味は
ある。すなわち、その時刻に変数が急激に変化すること
を意味する。区間範囲幅が0でない場合、処理5005
は、区間初期値の設定処理を行なう、すなわち、対応す
る区間リストの始点ポインタからポイントされる連結点
のY座標値を上記区間初期値として設定する。次に、区
間傾斜の設定処理5006は、対応する区間リストの終
点ポインタからポイントされる連結点のY座標と、始点
ポインタからポイントされる連結点のY座標との差を区
間幅で割った値、すなわち、区間傾斜を計算し、区間傾
斜フィールド4905に設定する。以上により、関数読
み取り処理4002が終了する。
(2-3) Function reading process 4002: Next, the function reading process 4002 will be described. FIG. 49 shows a section function table 490 storing the values of section functions.
1 shows the format of 1. The section function table 4901 has a range start position 4902, a section end position 4903, and a section initial value 4
Each field has a field 904 and a section gradient 4905. The function reading process 4002 generates a section function table 4901 from the section list and the connection point list. FIG. 50 shows a flow of the function reading process 4002. The process 5001 performs the following processes (5002 to 5006) for all the sections of the section list. In the section range setting processing 5002, the X coordinate of the connection point pointed to by each of the start point pointer and the end point pointer is set as the section range from the section list, and this is set as the range start position 4 of the section function table.
902 and range end position 4903. Process 5
003 checks the range width of the section range and branches the process depending on whether the value is 0 or not. If the section range width is 0, the process 5004 sets the section to the section function table 4
Delete from 901. The section in which the section range width is 0 does not need to be read as a function, but is meaningful as a graph. That is, it means that the variable changes rapidly at that time. If the section range width is not 0, process 5005
Performs the section initial value setting process, that is, sets the Y coordinate value of the connecting point pointed from the start point pointer of the corresponding section list as the section initial value. Next, the section inclination setting processing 5006 is a value obtained by dividing the difference between the Y coordinate of the connecting point pointed by the end point pointer of the corresponding section list and the Y coordinate of the connecting point pointed by the start point pointer by the section width. That is, the section inclination is calculated and set in the section inclination field 4905. With the above, the function reading process 4002 ends.

【0154】(2−4)制御条件生成処理4003:図
51を用いて、制御条件生成処理4003を説明する。
区間関数テーブル4901の全ての区間について、以下
の処理(5102、5103)を行なう。制御条件設定
処理5102は、区間範囲開始値を制御条件として記述
する。処理内容設定処理5103は、区間初期値を設定
値とし、区間傾斜を増分とする処理内容を記述する。
(2-4) Control Condition Generation Process 4003: The control condition generation process 4003 will be described with reference to FIG.
The following processing (5102, 5103) is performed for all the sections of the section function table 4901. The control condition setting process 5102 describes the section range start value as a control condition. The processing content setting processing 5103 describes the processing content in which the section initial value is the set value and the section inclination is the increment.

【0155】(2−5)制御時刻ソーティング処理40
04:最後に、処理4004は、上記の処理によって生
成された、複数の環境変数に対する制御条件を、制御時
刻順にソーティングする。以上により、対話型ビジュア
ル制御条件定義指定方法4000の各処理部分の説明を
終了する。
(2-5) Control time sorting processing 40
04: Finally, the process 4004 sorts the control conditions for the plurality of environment variables generated by the above process in order of control time. This is the end of the description of each processing part of the interactive visual control condition definition specifying method 4000.

【0156】(3)粒子の初期配置の指定 粒子シミュレーション情報1の一つとして、粒子の初期
配置を指定する必要がある。結晶構造で指定できる場
合、あるいはランダムな配置で設定できる場合、粒子の
初期配置の指定は容易であるが、シミュレーションを行
なう系には上記の設定方法だけでは指定できない場合が
ある。例えば、結晶の表面や界面などの原子配置は、結
晶中の原子配置とは異なった複雑な構造を有しており、
上記の指定方法のみでは粒子の初期配置を設定すること
ができない。そのような配置の設定を可能にする方法と
して、グラフィック端末を利用した粒子配置設定方法が
考えられる。また、結晶構造やランダム配置で指定する
場合でも、配置の状態を画面上で確認することにより、
入力情報の指定における間違いを大幅に削減できる。図
52を用いて、グラフィック端末を利用した粒子配置設
定方法を説明する。
(3) Designation of initial placement of particles As one of the particle simulation information 1, it is necessary to designate the initial placement of particles. If the crystal structure can be specified or the random arrangement can be set, it is easy to specify the initial arrangement of the particles, but it may not be possible to specify the initial arrangement of the particles in the system in which the simulation is performed only by the above setting method. For example, the atomic arrangement of the crystal surface or interface has a complicated structure different from the atomic arrangement in the crystal,
The initial arrangement of particles cannot be set only by the above-mentioned specification method. As a method of enabling such an arrangement setting, a particle arrangement setting method using a graphic terminal can be considered. In addition, even when specifying the crystal structure or random arrangement, by confirming the arrangement state on the screen,
You can significantly reduce mistakes in the input information specification. A particle arrangement setting method using a graphic terminal will be described with reference to FIG.

【0157】グラフィック端末の画面5201には、粒
子の配置を表示したウィンドウ5202と、視点を変更
するためのコンソール5203と、粒子の座標や粒子間
の角度などの数値あるいはその他のパラメ−タを指定す
るのに用いる文字入力ウィンドウ5204が表示されて
いる。結晶構造やランダム配置によって粒子配置を設定
する場合には、この文字入力ウィンドウ5204を用い
て配置方法を指定する。三次元空間に位置する球を用い
て粒子位置をウィンドウ5202に表示することによ
り、情報入力者は粒子の相対配置を視覚的に認識でき
る。また、ウィンドウ5202において、マウスなどを
用いて粒子の入力、選択、あるいは削除が容易に行え
る。コンソール5203は、ウィンドウ5204に表示
された画像の視点を変更するための制御手段であり、図
52に示したように一つのウィンドウとしてグラフィッ
ク端末の画面上に表示することも可能であるが、キーボ
ードからのキー入力を用いることでも実現できるし、複
数の位置設定用ダイヤルを有する装置を用いることも可
能である。このコンソール5203によって、画像の回
転、拡大、あるいは縮小を行なうことにより、情報入力
者による粒子位置の認識を補助できる。文字入力ウィン
ドウ5204は、入力した粒子の属性、座標あるいは他
の粒子との相対位置関係などを文字または数値で入力す
るためのウィンドウである。マウスを用いることによっ
て、粒子の概略的配置を設定することは出来るが、より
厳密な配置設定を行なうには数値による指定が必要であ
る。粒子シミュレーションでは数個から数万個を越える
の粒子を扱う場合まで様々である。しかし、通常、画面
に個々の粒子を球で表示してその配置を認識できるのは
数十個程度までである。そのため、それ以上の粒子数の
配置を設定する必要がある場合、通常、定義空間領域を
複数のブロックに細分化して各ブロック毎に粒子配置の
指定を行なう。あるいは、一つのブロックについてのみ
粒子配置を指定し、他のブロックについてはそのブロッ
ク内の粒子を周期的に配置することによって全粒子の配
置を設定する方法が取られる。いずれにしても、定義空
間領域をいくつかのブロックに細分化し、各ブロックに
ついて粒子配置を指定できる機能が必要である。このよ
うな機能は、図1に示した粒子シミュレ−ション情報1
の空間領域形状11における各種設定条件を組み合わせ
ることで実現できる。
On the screen 5201 of the graphic terminal, a window 5202 displaying the arrangement of particles, a console 5203 for changing the viewpoint, numerical values such as the coordinates of particles and the angle between particles, and other parameters are designated. A character input window 5204 used for inputting is displayed. When the particle arrangement is set by the crystal structure or the random arrangement, the character input window 5204 is used to specify the arrangement method. By displaying the particle position in the window 5202 using a sphere located in the three-dimensional space, the information input person can visually recognize the relative arrangement of the particles. In the window 5202, particles can be easily input, selected, or deleted using a mouse or the like. The console 5203 is a control means for changing the viewpoint of the image displayed in the window 5204, and can be displayed as one window on the screen of the graphic terminal as shown in FIG. It can be realized by using the key input from, or it is also possible to use a device having a plurality of position setting dials. The console 5203 can assist the information input person in recognizing the particle position by rotating, enlarging, or reducing the image. The character input window 5204 is a window for inputting the input particle attributes, coordinates, relative positional relationship with other particles, and the like in characters or numerical values. Although a mouse can be used to set the rough arrangement of particles, it is necessary to specify numerical values for more precise arrangement setting. Particle simulations can range from a few particles to over tens of thousands of particles. However, normally, only about several tens of particles can be displayed as spheres on the screen and their arrangement can be recognized. Therefore, when it is necessary to set an arrangement with a larger number of particles, the definition space region is usually subdivided into a plurality of blocks and the particle arrangement is designated for each block. Alternatively, a method is used in which the particle arrangement is specified only for one block, and the particles in the block are periodically arranged for the other blocks to set the arrangement of all particles. In any case, it is necessary to have the function of subdividing the defined space area into several blocks and specifying the particle arrangement for each block. Such a function is performed by the particle simulation information 1 shown in FIG.
It can be realized by combining various setting conditions in the space area shape 11 of.

【0158】本実施例では、空間領域が三次元の場合を
取り上げたが、一次元や二次元であっても粒子の挙動す
る変域が異なるだけであるので、上記の実施例と同様に
プログラムの自動生成が可能である。さらに、粒子シミ
ュレ−ションの計算プログラムは、FORTRANだけ
でなく、PL/I、PASCALなどFORTRANと
同レベルの記述機能を有するプログラム言語であればい
ずれも自動生成できる。
In the present embodiment, the case where the spatial region is three-dimensional is taken up, but even if it is one-dimensional or two-dimensional, only the domain in which the particles behave is different. Can be automatically generated. Further, the particle simulation calculation program can be automatically generated in addition to FORTRAN, as long as it is a programming language having the same level of description function as FORTRAN such as PL / I and PASCAL.

【0159】[0159]

【発明の効果】本発明によれば、粒子の挙動シミュレー
ションを制御するためのプログラムの作成工数が、FO
RTRANなどを用いて作成する場合に比べて、大幅に
削減でき、容易にシミュレーションを実施できる。
According to the present invention, the number of man-hours for creating a program for controlling the behavior simulation of particles is FO.
Compared with the case of creating using RTRAN, etc., it is possible to greatly reduce the number and easily perform simulation.

【0160】また、本発明によれば、シミュレーション
を制御する各種制御条件の作成工数を大幅に削減でき、
作成した制御条件の確認が容易に行える。
Further, according to the present invention, the number of man-hours for creating various control conditions for controlling the simulation can be significantly reduced,
The created control conditions can be easily confirmed.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示すシミュレーション装置
の構成図である。
FIG. 1 is a configuration diagram of a simulation apparatus showing an embodiment of the present invention.

【図2】空間領域形状翻訳処理の処理フロー図である。FIG. 2 is a processing flow chart of a space area shape translation processing.

【図3】粒子属性翻訳処理の処理フロー図である。FIG. 3 is a processing flowchart of particle attribute translation processing.

【図4】制御条件翻訳処理の処理フロー図である。FIG. 4 is a processing flow chart of control condition translation processing.

【図5】方程式翻訳処理の処理フロー図である。FIG. 5 is a processing flow chart of equation translation processing.

【図6】樹系図形式の方程式内部表現を示した図であ
る。
FIG. 6 is a diagram showing an internal representation of an equation in a tree diagram format.

【図7】各種内部表現から入力データ及びプログラムを
生成する処理の構成図である。
FIG. 7 is a configuration diagram of a process of generating input data and a program from various internal expressions.

【図8】ヘッダプログラムの生成方法を示す図である。FIG. 8 is a diagram showing a method of generating a header program.

【図9】データファイル及び読み込みプログラムの生成
方法を示す図である。
FIG. 9 is a diagram showing a method of generating a data file and a reading program.

【図10】処理制御プログラムの生成方法を示す図であ
る。
FIG. 10 is a diagram showing a method of generating a processing control program.

【図11】生成される処理プログラムのフロー図であ
る。
FIG. 11 is a flowchart of a generated processing program.

【図12】条件分離時刻抽出方法を示す図である。FIG. 12 is a diagram showing a condition separation time extraction method.

【図13】時刻以外の条件分岐および処理プログラムの
生成方法を示す図である。
FIG. 13 is a diagram showing a conditional branch other than time and a method of generating a processing program.

【図14】時刻条件を含まない条件分岐の処理プログラ
ム生成方法を示す図である。
FIG. 14 is a diagram illustrating a method of generating a processing program for a conditional branch that does not include a time condition.

【図15】補助計算プログラムの生成方法を示す図であ
る。
FIG. 15 is a diagram showing a method of generating an auxiliary calculation program.

【図16】NaCl融解シミュレーションを規定する入
力情報の例である。
FIG. 16 is an example of input information defining a NaCl melting simulation.

【図17】NaCl融解シミュレーションの行なわれる
空間領域の概念図である。
FIG. 17 is a conceptual diagram of a spatial region where a NaCl melting simulation is performed.

【図18】NaCl融解シミュレーションの空間領域形
状データの例である。
FIG. 18 is an example of spatial region shape data of a NaCl melting simulation.

【図19】NaCl融解シミュレーションの粒子属性デ
ータの例である。
FIG. 19 is an example of particle attribute data of a NaCl melting simulation.

【図20】NaCl融解シミュレーションの制御条件デ
ータの例である。
FIG. 20 is an example of control condition data for a NaCl melting simulation.

【図21】NaCl融解シミュレーションの運動方程式
データの例である。
FIG. 21 is an example of equation-of-motion data for a NaCl melting simulation.

【図22】変域内部表現の例を示す図である。FIG. 22 is a diagram showing an example of a domain internal representation.

【図23】変数内部表現の例を示す図である。FIG. 23 is a diagram showing an example of a variable internal expression.

【図24】条件−イベントテーブルの例を示す図であ
る。
FIG. 24 is a diagram showing an example of a condition-event table.

【図25】補助処理内容の数式内部表現の例を示す図で
ある。
FIG. 25 is a diagram showing an example of a mathematical expression internal representation of auxiliary processing content.

【図26】樹系図形式による微分方程式内部表現の例を
示す図である。
FIG. 26 is a diagram showing an example of an internal representation of a differential equation in a tree diagram format.

【図27】樹系図形式による差分方程式内部表現の例を
示す図である。
FIG. 27 is a diagram showing an example of an internal representation of a difference equation in a tree diagram format.

【図28】樹系図形式による漸化式内部表現の例を示す
図である。
FIG. 28 is a diagram showing an example of a recurrence formula internal representation in a tree diagram format.

【図29】樹系図形式の数式内部表現における微分分解
処理の方法を示す図である。
FIG. 29 is a diagram showing a method of differential decomposition processing in an internal representation of mathematical expressions in a tree diagram format.

【図30】樹系図形式の数式内部表現における移行処理
の方法を示す図である。
FIG. 30 is a diagram showing a migration processing method in a mathematical expression internal representation in a tree diagram format.

【図31】ヘッダプログラム内の次元宣言部分の例を示
す図である。
FIG. 31 is a diagram showing an example of a dimension declaration part in a header program.

【図32】ヘッダプログラム内の共通変数宣言部分の例
を示す図である。
FIG. 32 is a diagram showing an example of a common variable declaration part in a header program.

【図33】初期値データファイルの例を示す図である。FIG. 33 is a diagram showing an example of an initial value data file.

【図34】初期値読み込みプログラムの例を示す図であ
る。
FIG. 34 is a diagram showing an example of an initial value reading program.

【図35】シミュレーション情報を対話的に入力する画
面の例を示す図である。
FIG. 35 is a diagram showing an example of a screen for interactively inputting simulation information.

【図36】対話入力方法における排他的選択項目の選択
例を示す図である。
FIG. 36 is a diagram showing an example of selection of exclusive selection items in the interactive input method.

【図37】環境変数が複雑に変更される制御条件データ
の例である。
FIG. 37 is an example of control condition data in which environment variables are changed in a complicated manner.

【図38】複雑な変更を要求される環境変数の時刻に対
する変化図の例である。
[Fig. 38] Fig. 38 is an example of a change diagram with respect to time of an environment variable that requires complicated change.

【図39】環境変数の変化の区切り毎に時刻を複数のス
テージに分割した様子を示した図である。
FIG. 39 is a diagram showing a state in which time is divided into a plurality of stages for each division of changes in environment variables.

【図40】対話型ビジュアル制御条件定義指定方法の概
略を示した図である。
FIG. 40 is a diagram showing an outline of an interactive visual control condition definition specifying method.

【図41】対話型ビジュアル制御条件定義指定方法にお
いて用いられる機器とディスプレイに表示されたウィン
ドウの表示内容を示した図である。
FIG. 41 is a diagram showing the display contents of a window displayed on a device and a device used in the interactive visual control condition definition specifying method.

【図42】制御条件変化図作成処理のフローを示す図で
ある。
FIG. 42 is a diagram showing a flow of control condition change diagram creation processing.

【図43】制御条件変化図作成の初期段階におけるウィ
ンドウの様子を示す図である。
FIG. 43 is a diagram showing a state of a window in an initial stage of creating a control condition change diagram.

【図44】制御条件変化図作成の途中において、連結点
を変更している時のウィンドウの様子を示す図である。
[Fig. 44] Fig. 44 is a diagram illustrating a state of a window when a connection point is being changed in the middle of creating a control condition change diagram.

【図45】制御変数変化図において、ラインを表わす区
間リストとラインの折れ曲がり点を表わす連結点リスト
を示した図である。
FIG. 45 is a diagram showing a section list representing a line and a connection point list representing a bending point of the line in the control variable change diagram.

【図46】制御変数の変化図作成処理において、新規連
結点を生成する処理のフローを示す図である。
FIG. 46 is a diagram showing a flow of processing for generating a new connection point in the change diagram creation processing for control variables.

【図47】制御変数の変化図作成処理において、既存連
結点の位置を更新する処理のフローを示す図である。
FIG. 47 is a diagram showing a flow of processing for updating the position of an existing connection point in the change diagram creation processing for control variables.

【図48】制御変数の変化図作成処理に含まれる既存連
結点位置修正処理において、処理内容が他とは異なる領
域にマウスポインタが位置している様子を示す図であ
る。
FIG. 48 is a diagram showing a state in which the mouse pointer is positioned in an area having different processing contents in the existing connection point position correction processing included in the control variable change diagram creation processing.

【図49】変化図から関数読み取り処理を行なうのに必
要な区間関数内部テーブルを示す図である。
FIG. 49 is a diagram showing an interval function internal table required to perform a function reading process from the change diagram.

【図50】対話型ビジュアル制御条件定義指定方法にお
ける関数読み取り処理のフロー図である。
FIG. 50 is a flowchart of a function reading process in the interactive visual control condition definition specifying method.

【図51】対話型ビジュアル制御条件定義指定方法にお
ける制御条件生成処理のフロー図である。
FIG. 51 is a flowchart of control condition generation processing in the interactive visual control condition definition specifying method.

【図52】グラフィック端末を利用した粒子配置設定方
法を説明する図である。
FIG. 52 is a diagram illustrating a particle arrangement setting method using a graphic terminal.

【図53】本発明を実施する計算機システムの構成図で
ある。
FIG. 53 is a configuration diagram of a computer system that implements the present invention.

【符号の説明】[Explanation of symbols]

1…粒子シミュレーション情報、2…プログラム自動生
成処理、3…粒子型方程式翻訳差分化処理、4…各種内
部表現、5…プログラム生成処理、6…計算プログラ
ム、7…シミュレーション入力データ、8…計算装置、
9…シミュレーション結果、11…空間領域形状定義情
報、12…粒子属性定義情報、13…制御条件定義情
報、14…方程式定義情報、31…空間領域形状翻訳処
理、32…粒子属性翻訳処理、33…制御条件翻訳処
理、34…方程式翻訳条件、41…変域内部表現、42
…変数内部表現、43…条件−イベントテーブル、44
…数式内部表現、701…ヘッダプログラム生成処理、
702…データファイルプログラム生成処理、703…
処理制御プログラム生成処理、704…時間発展プログ
ラム生成処理、705…補助計算プログラム生成処理、
706…ヘッダプログラム、707…データ読み込みプ
ログラム、708…処理制御プログラム、709…時間
発展プログラム、710…補助計算プログラム
1 ... Particle simulation information, 2 ... Program automatic generation processing, 3 ... Particle type equation translation difference processing, 4 ... Various internal expressions, 5 ... Program generation processing, 6 ... Calculation program, 7 ... Simulation input data, 8 ... Calculation device ,
9 ... Simulation result, 11 ... Spatial region shape definition information, 12 ... Particle attribute definition information, 13 ... Control condition definition information, 14 ... Equation definition information, 31 ... Spatial region shape translation process, 32 ... Particle attribute translation process, 33 ... Control condition translation processing, 34 ... Equation translation conditions, 41 ... Domain internal representation, 42
... variable internal expression, 43 ... condition-event table, 44
... internal expression of mathematical formula, 701 ... header program generation processing,
702 ... Data file program generation processing, 703 ...
Process control program generation process, 704 ... Time evolution program generation process, 705 ... Auxiliary calculation program generation process,
706 ... Header program, 707 ... Data reading program, 708 ... Processing control program, 709 ... Time evolution program, 710 ... Auxiliary calculation program

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】メモリを有し、入出力装置が接続された計
算機を用いて、粒子シミュレ−ションプログラムを生成
する際に、 (1)前記入出力装置から物理現象を空間領域内の複数
粒子の運動として解析するための粒子シミュレ−ション
情報を入力して前記メモリに格納し、 (2)前記メモリに格納された前記粒子シミュレ−ショ
ン情報から前記粒子シミュレ−ションプログラムの仕様
を記述した情報を生成し、 (3)前記仕様を記述した情報に基づいて、前記粒子シ
ミュレ−ションプログラム、及びシミュレ−ションに必
要な入力デ−タを生成することを特徴とする粒子シミュ
レーションプログラム生成方法。
1. When a particle simulation program is generated by using a computer having a memory and connected to an input / output device, (1) a plurality of particles in a spatial region that exhibit physical phenomena from the input / output device. Particle simulation information for analysis as the motion of the particle is input and stored in the memory, and (2) information describing the specifications of the particle simulation program from the particle simulation information stored in the memory. (3) A particle simulation program generation method, comprising: (3) generating the particle simulation program and input data necessary for the simulation based on the information describing the specifications.
【請求項2】請求項1記載のステップ(1)で入力され
る前記粒子シミュレ−ション情報は、シミュレ−ション
の対象となる粒子群の属性の記述、物理現象を発生させ
る空間領域形状の記述、シミュレーション環境の制御条
件の記述、及び粒子の時空間的挙動を支配する運動方程
式の記述からなることを特徴とする粒子シミュレーショ
ンプログラム生成方法。
2. The particle simulation information input in step (1) according to claim 1, is a description of attributes of a particle group to be simulated, a description of a spatial region shape that causes a physical phenomenon. A method for generating a particle simulation program, comprising: description of control conditions of a simulation environment and description of a motion equation that governs spatiotemporal behavior of particles.
【請求項3】請求項1記載のステップ(2)は、前記粒
子シミュレ−ション情報に含まれる、現象を発生させる
空間領域形状の記述を解読し、空間の次元、領域の形状
および境界条件を含む変域内部表現を生成する処理を有
することを特徴とする粒子シミュレーションプログラム
生成方法。
3. The step (2) according to claim 1, wherein the description of the shape of the spatial region in which the phenomenon is generated, which is included in the particle simulation information, is decoded, and the dimension of the space, the shape of the region and the boundary condition are determined. A method for generating a particle simulation program, characterized by having a process for generating a domain internal representation including.
【請求項4】請求項1記載のステップ(2)は、前記粒
子シミュレ−ション情報に含まれる、シミュレ−ション
の対象となる粒子群の属性の記述を解読し、粒子種、粒
子数および各種初期設定情報を数値に対応させた変数内
部表現を生成する処理を有することを特徴とする粒子シ
ミュレーションプログラム生成方法。
4. The step (2) according to claim 1, wherein the attribute description of the particle group to be simulated, which is included in the particle simulation information, is decoded, and the particle type, the number of particles, and various types are analyzed. A particle simulation program generation method comprising: a process for generating a variable internal expression in which initialization information is associated with a numerical value.
【請求項5】請求項1記載のステップ(2)は、前記粒
子シミュレ−ション情報に含まれる、シミュレーション
環境の制御条件の記述から、境界条件とそれに対応する
処理、及び時刻毎のシミュレーション条件の変更とそれ
に対応する処理を抽出し、イベント条件−イベント処理
の対応テーブルを生成し、前記抽出した処理内容を記述
した補助処理内部表現を生成する処理を有することを特
徴とする粒子シミュレーションプログラム生成方法。
5. The step (2) according to claim 1, wherein the boundary condition and the corresponding process and the simulation condition for each time are included from the description of the control condition of the simulation environment included in the particle simulation information. A method for generating a particle simulation program, which comprises a process of extracting a change and a process corresponding thereto, generating a correspondence table of an event condition-event process, and generating an auxiliary process internal expression describing the extracted process content. ..
【請求項6】請求項1記載のステップ(2)は、前記粒
子シミュレ−ション情報に含まれる、粒子の運動方程式
の記述を解読して方程式を差分化し、樹系図形式による
漸化式を含む数式内部表現を生成する処理を有すること
を特徴とする粒子シミュレーションプログラム生成方
法。
6. The step (2) according to claim 1 includes a recurrence formula in a tree diagram form by deciphering the description of the motion equation of the particle contained in the particle simulation information to differentiate the equation. A method for generating a particle simulation program, characterized by having a process of generating an internal expression of a mathematical formula.
【請求項7】請求項1記載のステップ(2)は、 (1)前記粒子シミュレ−ション情報に含まれる、現象
を発生させる空間領域形状の記述を解読し、空間の次
元、領域の形状および境界条件を含む変域内部表現を生
成する処理、 (2)前記粒子シミュレ−ション情報に含まれる、シミ
ュレ−ションの対象となる粒子群の属性の記述を解読
し、粒子種、粒子数および各種初期設定情報を数値に対
応させた変数内部表現を生成する処理、 (3)前記粒子シミュレ−ション情報に含まれる、シミ
ュレーション環境の制御条件の記述から、境界条件とそ
れに対応する処理、及び時刻毎のシミュレーション条件
の変更とそれに対応する処理を抽出し、イベント条件−
イベント処理の対応テーブルを生成し、前記抽出した処
理内容を記述した補助処理内部表現を生成する処理、及
び (4)前記粒子シミュレ−ション情報に含まれる、粒子
の運動方程式の記述を解読して方程式を差分化し、樹系
図形式による漸化式を含む数式内部表現を生成する処理
を有することを特徴とする粒子シミュレーションプログ
ラム生成方法。
7. The step (2) according to claim 1, wherein (1) the description of the shape of the spatial region in which the phenomenon is generated, which is included in the particle simulation information, is decoded, and the dimension of the space, the shape of the region, and (2) Decoding the attribute description of the particle group to be simulated included in the particle simulation information, which is included in the particle simulation information, to generate the particle type, the number of particles, and various types of processing. A process of generating a variable internal expression in which initial setting information is associated with a numerical value, (3) Boundary condition and corresponding process, and every time, from the description of the control condition of the simulation environment included in the particle simulation information. Change the simulation conditions and extract the corresponding processing, and
A process of generating a correspondence table of event processing and generating an auxiliary processing internal expression describing the extracted processing content, and (4) decoding the description of the particle motion equation contained in the particle simulation information. A method for generating a particle simulation program, which comprises a process of differentiating an equation and generating a mathematical expression internal expression including a recurrence expression in a tree diagram form.
【請求項8】請求項1記載のステップ(2)で生成され
る前記仕様を記述した情報は、空間の次元、領域の形状
および境界条件を含む変域内部表現、粒子種、粒子数お
よび各種初期設定情報を数値に対応させた変数内部表
現、制御条件に対応するイベント条件−イベント処理の
対応テーブル、及び粒子の運動方程式を規定した数式内
部表現からなることを特徴とする粒子シミュレーション
プログラム生成方法。
8. The information describing the specifications generated in step (2) according to claim 1, is a domain internal representation including a dimension of space, a shape of a region and boundary conditions, a particle type, a number of particles and various types. A method for generating a particle simulation program, comprising: a variable internal expression in which initial setting information is associated with a numerical value, an event condition-event processing correspondence table corresponding to a control condition, and a mathematical expression internal expression defining a particle motion equation. ..
【請求項9】請求項1記載のステップ(3)は、前記仕
様を記述した情報に含まれる、空間の次元、領域の形状
および境界条件を含む変域内部表現と、粒子種、粒子数
および各種初期設定情報を数値に対応させた変数内部表
現とから、配列を含む各種変数の宣言文からなるヘッダ
プログラムを生成する処理を有することを特徴とする粒
子シミュレーションプログラム生成方法。
9. The step (3) according to claim 1, wherein the domain internal representation including the dimension of the space, the shape of the region, and the boundary condition included in the information describing the specifications, the particle type, the number of particles, and A method for generating a particle simulation program, comprising a process of generating a header program including declaration statements of various variables including an array from an internal representation of variables in which various initial setting information is associated with numerical values.
【請求項10】請求項1記載のステップ(3)は、前記
仕様を記述した情報に含まれる、粒子種、粒子数および
各種初期設定情報を数値に対応させた変数内部表現か
ら、シミュレ−ションに必要な粒子属性の各種初期値を
含む前記入力デ−タ、および前記デ−タを読み込むプロ
グラムを生成し、前記デ−タをファイルに格納する処理
を有することを特徴とする粒子シミュレーションプログ
ラム生成方法。
10. The step (3) according to claim 1, wherein the simulation is carried out from a variable internal expression in which the particle type, the number of particles, and various initial setting information included in the information describing the specifications are associated with numerical values. For generating the input data including various initial values of particle attributes necessary for the above, and a program for reading the data, and storing the data in a file. Method.
【請求項11】請求項1記載のステップ(3)は、前記
仕様を記述した情報に含まれる、制御条件に対応するイ
ベント条件−イベント処理の対応テーブルから、シミュ
レ−ションの処理手順を制御するプログラムを生成する
処理を有することを特徴とする粒子シミュレーションプ
ログラム生成方法。
11. The step (3) according to claim 1 controls a simulation processing procedure from an event condition-event processing correspondence table corresponding to a control condition included in the information describing the specifications. A particle simulation program generation method comprising a process of generating a program.
【請求項12】請求項1記載のステップ(3)は、前記
仕様を記述した情報に含まれる、粒子の運動方程式を規
定した数式内部表現から、前記運動方程式に対応する漸
化式を数値積分するプログラムを生成する処理を有する
ことを特徴とする粒子シミュレーションプログラム生成
方法。
12. The step (3) according to claim 1, wherein the recurrence formula corresponding to the equation of motion is numerically integrated from an internal expression of a mathematical formula that defines the equation of motion of the particles, which is included in the information describing the specifications. A method for generating a particle simulation program, the method comprising:
【請求項13】請求項1記載のステップ(3)は、前記
仕様を記述した情報に含まれる、粒子の運動方程式を規
定した数式内部表現から、前記運動方程式に必要な種々
の物理量を算出する補助計算プログラムを生成する処理
を有することを特徴とする粒子シミュレーションプログ
ラム生成方法。
13. The step (3) according to claim 1 calculates various physical quantities required for the equation of motion from an internal expression of a mathematical equation that defines the equation of motion of particles, which is included in the information describing the specifications. A particle simulation program generation method comprising a process of generating an auxiliary calculation program.
【請求項14】請求項1記載のステップ(3)は、 (1)前記仕様を記述した情報に含まれる、空間の次
元、領域の形状および境界条件を含む変域内部表現と、
粒子種、粒子数および各種初期設定情報を数値に対応さ
せた変数内部表現とから、配列を含む各種変数の宣言文
からなるヘッダプログラムを生成する処理、 (2)前記仕様を記述した情報に含まれる、粒子種、粒
子数および各種初期設定情報を数値に対応させた変数内
部表現から、シミュレ−ションに必要な粒子属性の各種
初期値を含む前記入力デ−タ、および前記デ−タを読み
込むプログラムを生成し、前記デ−タをファイルに格納
する処理、 (3)前記仕様を記述した情報に含まれる、制御条件に
対応するイベント条件−イベント処理の対応テーブルか
ら、シミュレ−ションの処理手順を制御するプログラム
を生成する処理、 (4)前記仕様を記述した情報に含まれる、粒子の運動
方程式を規定した数式内部表現から、前記運動方程式に
対応する漸化式を数値積分するプログラムを生成する処
理、及び (5)前記仕様を記述した情報に含まれる、粒子の運動
方程式を規定した数式内部表現から、前記運動方程式に
必要な種々の物理量を算出する補助計算プログラムを生
成する処理を有することを特徴とする粒子シミュレーシ
ョンプログラム生成方法。
14. The step (3) according to claim 1 includes: (1) a domain internal representation including a dimension of a space, a shape of a region, and a boundary condition, which is included in the information describing the specification;
A process of generating a header program consisting of declaration statements of various variables including arrays from the variable internal representation in which the particle type, the number of particles, and various types of initial setting information are associated with numerical values, (2) Included in the information describing the specifications The above-mentioned input data including various initial values of particle attributes necessary for simulation are read from the variable internal expression in which the particle type, the number of particles and various initial setting information are associated with numerical values. A process of generating a program and storing the data in a file. (3) A simulation process procedure from a correspondence table of event conditions-event processes corresponding to control conditions included in the information describing the specifications. (4) From the internal expression of a mathematical expression that defines the equation of motion of particles, which is included in the information describing the specifications, to the equation of motion A process of generating a program for numerically integrating the corresponding recurrence formula, and (5) various physical quantities required for the equation of motion from the mathematical expression internal expression that defines the equation of motion of particles included in the information describing the specifications. A method for generating a particle simulation program, comprising: a process for generating an auxiliary calculation program for calculating
【請求項15】請求項1記載のステップ(3)で生成さ
れる前記粒子シミュレ−ションプログラムは、配列を含
む各種変数の宣言文からなるヘッダプログラム、シミュ
レ−ションに必要な粒子属性の各種初期値を含む前記入
力デ−タを読み込むプログラム、シミュレ−ションの処
理手順を制御するプログラム、粒子の運動方程式に対応
する漸化式を数値積分するプログラム、及び前記運動方
程式に必要な種々の物理量を算出する補助計算プログラ
ムからなることを特徴とする粒子シミュレーションプロ
グラム生成方法。
15. The particle simulation program generated in step (3) according to claim 1, wherein the particle simulation program is a header program including declaration statements of various variables including an array, and various initials of particle attributes necessary for simulation. A program for reading the input data containing values, a program for controlling the simulation processing procedure, a program for numerically integrating the recurrence formula corresponding to the equation of motion of particles, and various physical quantities required for the equation of motion. A particle simulation program generation method comprising an auxiliary calculation program for calculation.
【請求項16】請求項1記載のステップ(1)におい
て、前記粒子シミュレ−ション情報に含まれる各種設定
項目を指定する際に、前設定項目の一覧を前記入出力装
置の画面に表示し、前記入出力装置に付随する指示装置
により、前記項目を選択することを特徴とする粒子シミ
ュレーションプログラム生成方法。
16. The step (1) according to claim 1, wherein when specifying various setting items included in the particle simulation information, a list of previous setting items is displayed on a screen of the input / output device, A method for generating a particle simulation program, characterized in that the item is selected by an instruction device attached to the input / output device.
【請求項17】請求項16記載の項目選択において、選
択した項目と排他的な関係にある他の項目は、その表示
方法を変えて表示することを特徴とする粒子シミュレー
ションプログラム生成方法。
17. The particle simulation program generation method according to claim 16, wherein the other items having an exclusive relationship with the selected item are displayed by changing the display method.
【請求項18】請求項1記載のステップ(1)におい
て、前記粒子シミュレ−ション情報に含まれる制御条件
を入力する際に、前記入出力装置から所定の物理量に対
応するデ−タを入力して前記制御条件の変化を示すグラ
フを前記入出力装置の画面に表示し、前記表示されたグ
ラフの変化から前記物理量の変化を読み取って、前記物
理量の制御条件の記述を生成し、前記制御条件の記述を
時刻毎にソ−ティングし、前記ソ−ティングされた制御
条件を前記粒子シミュレ−ション情報として、前記メモ
リに出力することを特徴とする粒子シミュレーションプ
ログラム生成方法。
18. The step (1) according to claim 1, wherein when inputting a control condition included in the particle simulation information, data corresponding to a predetermined physical quantity is input from the input / output device. And displaying a graph showing the change in the control condition on the screen of the input / output device, reading the change in the physical quantity from the change in the displayed graph, and generating a description of the control condition for the physical quantity, The method of generating a particle simulation program according to claim 1, wherein the above description is sorted at each time, and the sorted control conditions are output to the memory as the particle simulation information.
【請求項19】請求項1記載のステップ(1)におい
て、前記粒子シミュレ−ション情報に含まれる各粒子の
初期配置を入力する際に、前記入出力装置から前記初期
配置の座標値を入力して、前記座標値に対応する位置に
粒子の存在を示す印を前記入出力装置の画面に表示し、
前記座標値を読み取って、各粒子の前記初期配置の記述
を生成し、記述された前記初期配置を前記粒子シミュレ
−ション情報として、前記メモリに出力することを特徴
とする粒子シミュレーションプログラム生成方法。
19. The step (1) according to claim 1, wherein when inputting an initial arrangement of each particle included in the particle simulation information, a coordinate value of the initial arrangement is input from the input / output device. A mark indicating the presence of particles at a position corresponding to the coordinate value is displayed on the screen of the input / output device,
A method for generating a particle simulation program, which reads the coordinate values, generates a description of the initial arrangement of each particle, and outputs the described initial arrangement as the particle simulation information to the memory.
JP14244292A 1991-07-12 1992-06-03 Method for generating grain simulation program Pending JPH05158911A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14244292A JPH05158911A (en) 1991-07-12 1992-06-03 Method for generating grain simulation program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17217591 1991-07-12
JP3-172175 1991-07-12
JP14244292A JPH05158911A (en) 1991-07-12 1992-06-03 Method for generating grain simulation program

Publications (1)

Publication Number Publication Date
JPH05158911A true JPH05158911A (en) 1993-06-25

Family

ID=26474442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14244292A Pending JPH05158911A (en) 1991-07-12 1992-06-03 Method for generating grain simulation program

Country Status (1)

Country Link
JP (1) JPH05158911A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008190979A (en) * 2007-02-05 2008-08-21 Fujifilm Corp Electromagnetic analyzer and its program
JPWO2008020634A1 (en) * 2006-08-17 2010-01-07 独立行政法人産業技術総合研究所 Data processing method and data processing apparatus
KR101640451B1 (en) * 2015-04-26 2016-07-25 주식회사 셈웨어 Formular programming language based simulator having gui interface and simulator executing method using the same
JP7034528B1 (en) * 2020-06-16 2022-03-14 株式会社Jij Methods, data structures and programs

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008020634A1 (en) * 2006-08-17 2010-01-07 独立行政法人産業技術総合研究所 Data processing method and data processing apparatus
JP2008190979A (en) * 2007-02-05 2008-08-21 Fujifilm Corp Electromagnetic analyzer and its program
KR101640451B1 (en) * 2015-04-26 2016-07-25 주식회사 셈웨어 Formular programming language based simulator having gui interface and simulator executing method using the same
JP7034528B1 (en) * 2020-06-16 2022-03-14 株式会社Jij Methods, data structures and programs

Similar Documents

Publication Publication Date Title
US5438526A (en) Program generation method for particles simulation
Winston ModelMuse: a graphical user interface for MODFLOW-2005 and PHAST
US6304260B1 (en) Method and apparatus for generating and displaying views of hierarchically clustered data
US20070250295A1 (en) Multidimensional modeling system and related method
JPS62212771A (en) Automation device for numerical calculation procedure
US6758677B2 (en) Apparatus and method for monitoring the validity of a molecular model
CN110599600A (en) Automatic transformation method of multidimensional visualization model of data
Standridge Performing simulation projects with the extended simulation system (TESS)
US7605814B1 (en) Method and tool for viewing data
JP2001356804A (en) Computer readable recording medium with cutting simulation program and device for cutting simulation and method for the same
JPH05158911A (en) Method for generating grain simulation program
US20070118342A1 (en) Mesh creating device, mesh creating method and mesh creating program
EP3657350A1 (en) A data filtering device
Braham Math and visualization: new tools, new frontiers
JPH04679A (en) Method and device for supporting coordinate grid preparation
Shi et al. A new interactive information visualization framework based on the object-oriented views of querying and visualizing databases
JPH09128436A (en) Element data forming method, object analytic method and recording medium
JP2585311B2 (en) How to create a program
Cura Model visualization
Eubanks et al. An Introduction to Jitia: Simulation Software Designed for Developing Large System Models
Sorby et al. A comparison of 2-D and 3-D pre-and post-processing techniques in groundwater flow modeling
JPH04229377A (en) Method for controlling image formed with computer
JPH01298434A (en) Program preparing device
JPH0421229B2 (en)
CN114064019A (en) Grid structured ICD information visual editing method and system