[C言語]分子動力学シミュレーション

原子・分子の動きをコンピュータの中で再現するために使われるのが分子動力学シミュレーション
原子の最初の配置を決め、1個の原子に他の原子から及ぶ力を計算する(ニュートンの運動方程式)

### シミュレーションの流れ
開始 -> 初期条件の設定 -> 位置の更新/速度の更新 -> 力の計算 -> 温度、圧力などの計算 -> 終了
※メインループを数万回〜数百万回実行することで、 数十(ps)〜数(ns)のシミュレーションを実行する

#include 

int main(void){
	int i, j, k;
	int step, total_step;
	double side = 9;
	double cd[N*3],vl[N*3];

	cd[0] = 4.5;cd[1]= 3.0; cd[2] = 3.0;
	cd[3] = 4.5;cd[4]= 3.0; cd[5] = 6.0;
	cd[6] = 4.5;cd[7]= 6.0; cd[8] = 3.0;
	cd[9] = 4.5;cd[10]= 6.0; cd[11] = 6.0;
	srand(1);
	for(i=0; i < N*3;i++){
		vl[i] = ((double)rand()/RAND_MAX-0.5)*.1;
	}
	total_step = 100;
	for(step = 1; step <= total_step; step++){
		for(i=0; i < N*3; i++){
			cd[i] += vl[i]*dt;
		}
		output_file(cd, side);
	}

	return 0;
}