如何通过微分方程处理 sim 数据

How to handle with sim data by differential equations

本文关键字:sim 数据 处理 微分方程 何通过      更新时间:2023-10-16

我研究过行星或分子运动等动力学模拟。

输出数据很大,并保存为文本数据。

经验。

FILE* f = fopen("xyzFile.txt", "w");
for (int i=0;i<max;i++) {
    // Ordinary differential equation.
    ode(particle);
    fprintf(f, "%.8f %.8f %.8fn", particle.x, particle.y, particle.z);
}
fclose(f);

我无法从文件名中找到初始值、创建日期等。

我想有效地保存这些数据。

我必须使用任何数据库吗?我想Mongodb可以很好。让我知道很好的解决方案。

提前谢谢。

我在某种程度上使用过数据库,并且使用过很多数值模拟。我的建议是使用SQL数据库,如Postgres或MySQL(我推荐Postgres而不是MySQL,尽管可能任何一个都可以)。

存储粒子位置的表可以有一列或多列,这些列索引其他表中的上下文信息。例如:位置表可以具有模拟时间戳(即模拟世界中的时间)、x、y 和 z 坐标,以及指向另一个表的粒子索引,该表包含粒子初始位置的列,可能还有其他描述性数据。

使用这种数据库结构,您可以执行查询以查找给定时间所有粒子的位置,或两个时间之间的位置,或单个粒子的所有位置。

据我所知,SQL比MongoDB或其他"NoSQL"数据库更适合这种用途。