我想模拟毛细血管中的人类红细胞。我计算过,对于 1 米长和 1 毫米直径的毛细管,大约有 30 亿个血细胞。
红细胞实际上是圆盘,但我们假设它是一个简单的长方体。我们有什么
Erythrocyte -> vertex[8] -> double x
double y
double z
在 C++double中,权重为 8 个字节。1个顶点=24字节,8个顶点=24字节=一个红细胞的数据大小。24*7 十亿字节 = 168 GB。不幸的是,我只有 4 Gb RAM。我该怎么办?我从来没有在计算。
- 尝试减少计算?
实际上,血管直径分布很广,例如,最大的是主动脉(据我所知)-几厘米,最短的可能直径约为单个红细胞大小〜10um,顺便说一下,10um只有毫米的第 100 部分,因此减小血管直径是没有意义的。
减小容器的宽度?好的,让它成为 0.3 m = 30 cm。重新计算:
假设容器是一个圆柱体,直径=0.001 m,高度=0.3 m。体积等于。平均红细胞体积。
我们有26 亿个红细胞和 26 亿 * 24 字节的数据。我仍然需要一些额外的电力计算解决方案。我不是吗?