関数snapshot2sequence マニュアル

(The documentation of function snapshot2sequence)

Last Update: 2021/12/2


◆機能・用途(Purpose)

同一の格子点配置を持つ3次元データの組(配列)から共通の格子点での値を取り出し、 それらに時刻情報を付加して時系列データにする。 時刻毎に分割された3次元波動場(「スナップショット」)を 特定の位置での時間変化を表す「波形」に変換する用途を想定している。
From an array of 3-D data that have the same grid node distribution, extract the values at a common grid node, and add information of time to create a time series data. The purpose of this function is to convert the 3-D wave field divided by time (“snapshots”) to a “waveform” that represent the temporal variation at a fixed point.


◆形式(Format)

#include <3d_data/convert.h>
inline struct sequence snapshot2sequence
(const struct _3d_data ∗data,
  const int size,const double t0,const double dt,
  const int i,const int j,const int k)


◆引数(Arguments)

data 共通の格子点配置を持つ3次元データを並べた配列。 一定時間刻みのスナップショットを時刻順に並べた配列を想定している。
An array composed of 3-D data that have the same grid node distribution. An array of snapshots defined at a constant time stepping, sorted in the order of time, is assumed.
size dataの配列要素数。スナップショットの時刻の個数を表す。
The number of array components of data, which represent the number of time steps of the snapshots.
t0 最初のスナップショットの時刻。
Time of the first snapshot.
dt スナップショットの時間刻み。
The time interval of the snapshots.
i 時系列データを取り出したい格子点番号(\(x\)成分)。 先頭を0とする。
The \(x\)-component of the grid node index where the time series data is to be extracted. This number starts with zero.
j 時系列データを取り出したい格子点番号(\(y\)成分)。 先頭を0とする。
The \(y\)-component of the grid node index where the time series data is to be extracted. This number starts with zero.
k 時系列データを取り出したい格子点番号(\(z\)成分)。 先頭を0とする。
The \(z\)-component of the grid node index where the time series data is to be extracted. This number starts with zero.


◆戻り値(Return value)

3次元データの\((i,j,k)\)番目の格子点での値を並べた時系列データ。 戻り値のメンバの値は以下のようになる。
A time series data composed of the values at the \((i,j,k)\)th grid node of the 3-D data. The values of members of the return value are as follows.

戻り値のメンバ
Member of the return value

Value
size 引数sizeの値。
The value of argument size.
t0 引数t0の値。
The value of argument t0.
dt 引数dtの値。
The value of argument dt.
各\(n\)に対するvalue[n]
value[n] for each \(n\)
引数data[n].value[_3dindex(data[n],i,j,k)]の値。
The value of argument data[n].value[_3dindex(data[n],i,j,k)]
checked 関数get_sequence_memoryで設定される値。
The value set by function get_sequence_memory.


◆使用例(Example)

struct _3d_data snapshot[101];
struct sequence waveform;
int n;
for(n=0;n<=100;n++){
     sprintf(inputfile,"snapshot.t%4.2f.3db", (double)n∗0.01);
     snapshot[n]=read_3d_data(inputfile);
}
waveform=snapshot2sequence(snapshot,101,0.0,0.01,12,34,56);

この例では時刻\(t=0.00\)から\(t=1.00\)まで0.01の時間刻みで スナップショットをファイルsnapshot.t?.??.3db(?.??には時刻が入る)から読み込み、 格子点番号(12,34,56)の地点のデータを取り出して波形に直し、 変数waveformに代入する。
In this example, snapshots from time \(t=0.00\) to \(t=1.00\) at a time interval of 0.01 are read from files snapshot.t?.??.3db, where time is used for ?.??, and then the data at a grid node number (12, 34, 56) is extracted and converted to a waveform which is finally inserted to the variable waveform.