如何随机分配分子初速度

liuzlu 2019-06-14 03:48:41
已知分子的速度分布规律

m分子质量,k为常数,v为分子速度,T为绝对温度

函数曲线图如下:


现要模拟N(数量很大)个气体分子,现要随机分配气体分子速度,如何写这个算法?
...全文
67 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
srhouyu 2019-06-14
  • 打赏
  • 举报
回复
只需要让速度的三个分量服从正态分布(其均值为0,方差为KT/m),那么速度的大小自然就符合麦克斯韦-玻尔兹曼分布。 C++11直接支持正态分布的随机数,可以看看这个: https://blog.csdn.net/caroline_wendy/article/details/17335655
DestinedToDie 2019-06-14
  • 打赏
  • 举报
回复
用球坐标表示速度方向,随机数产生两个角坐标,写出对应方向的单位矢量,再加权随机出速度大小,乘起来得到速度矢量

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧