関数snapshot2sequence_givenCoordinate マニュアル

(The documentation of function snapshot2sequence_givenCoordinate)

Last Update: 2024/7/19


◆機能・用途(Purpose)

同一の格子点配置を持つ3次元データの組(配列)から共通の位置(座標)での値を取り出し、 それらに時刻情報を付加して時系列データにする。 時刻毎に分割された3次元波動場(「スナップショット」)を 特定の位置での時間変化を表す「波形」に変換する用途を想定している。 関数snapshot2sequence が格子点番号で位置を指定するのに対し この関数では座標で位置を指定する点が違いである。
From an array of 3-D data that have the same grid node distribution, extract the values at a common location (coordinate), 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. While function snapshot2sequence specifies the location by indices of grid nodes, this function specifies the location by coordinates.


◆形式(Format)

#include <3d_data/convert.h>
inline struct sequence snapshot2sequence_givenCoordinate
(const struct _3d_data ∗data,
  const int size,const double t0,const double dt,
  const double x,const double y,const double z)


◆引数(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.
x 時系列データを取り出したい格子点の\(x\)座標。
The \(x\)-coordinate of the grid node where the time series data is to be extracted.
y 時系列データを取り出したい格子点の\(y\)座標。
The \(y\)-coordinate of the grid node where the time series data is to be extracted.
z 時系列データを取り出したい格子点の\(z\)座標。
The \(z\)-coordinate of the grid node where the time series data is to be extracted.


◆戻り値(Return value)

3次元データの\((x,y,z)\)の位置での値を並べた時系列データ。
A time series data composed of the values of the 3-D data at the location \((x,y,z)\).


◆使用例(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,100.0,200.0,-300.0);

この例では時刻\(t=0.00\)から\(t=1.00\)まで0.01の時間刻みで スナップショットをファイルsnapshot.t?.??.3db(?.??には時刻が入る)から読み込み、 位置\((100,200,-300)\)のデータを取り出して波形に直し、 変数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 location \((100,200,-300)\) is extracted and converted to a waveform which is finally inserted to the variable waveform.