我下载了Boost库,现在我只想构建一些库.什么是正确的命令?显然,内置类型=完整选项给了我太多.我正在使用Windows XP,并希望使用Bjam编译Boost和MinGW以最终使用它.目前我认为我需要库Boost.filesystem,Boost.ProgramOptions和Boost.System.另一个问题:我在哪里放置仅限标头的库?
我有一个包含数据读取的CSV文件,我想读入Python.我得到包含字符串的列表"2,5".现在做的float("2,5")不起作用,因为它有错误的小数点.
我如何将其作为Python阅读2.5?
完整编辑:
我将提供有关整个问题的更多信息.该项目处于早期阶段,我的问题实际上只是关于该事物的一小部分.
最终目标:
我目前正在尝试模拟Python中刚性障碍物周围的热空气流动.我有一个稳定的空气流入,大量的流动是短暂的和湍流.整个练习的目的是了解
气流如何表现
- 障碍物加热
- 空气冷却,气压下降
到目前为止完成:
不多,事情还处于早期阶段.我有一个2d矩形域和一个圆形障碍物.网格在体积和障碍物之间的边界越来越精细,因为这是有趣的东西发生的地方.目前我只考虑气流,没有对流或传热.我使用FEniCS软件集来解决Navier-Stokes方程.Fenics附带了使用Chorin投影方法的NS求解器的示例,我将此示例应用于我的设置.我将刚体建模为具有无滑移边界条件的区域(即我将气流速度设置为零).解算器仍然解决该区域中的NS方程,特别是障碍物内的压力随时间变化.可能最好避免这种情况并限制NS求解器.但目前我认为这不会对速度产生太大影响.
问题:
事情运行得很慢.我不介意最后的模拟是否需要几天,但目前只有2d的流体绕过障碍物并且网格不像我希望的那样精细.我希望这会更快,因为当热量发挥作用时它会变得更加复杂.
我的问题:
归结为一个问题:
什么是快速算法或方法来解决Python中的Navier-Stokes方程?
从头开始编写求解器我完全没问题,但这提出了同样的问题.今天早上我发现投影方法可能不是最糟糕的想法,因为它解除了压力和速度升级,我可以尝试将其分配给不同的CPU内核.
查看以下Python代码:
def function(x):
return x, x+1
sequence = range(5)
map(function, sequence)
Run Code Online (Sandbox Code Playgroud)
这回来了
[(0,1), (1,2), (2,3), (3,4), (4,5)]
Run Code Online (Sandbox Code Playgroud)
我想得到输出
[0, 1, 2, 3, 4], [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
这意味着,我想将函数的两个输出分成两个不同的列表.我可以在没有循环列表的情况下实现这一目标吗?
在实际代码中,我不会有整数列表,而是类实例.所以我可能会遇到一些复制/深度复制问题,我想避免这些问题.
假设我有一个类的实例foo,带有一些变量foo.x. 现在我要生成一个foo的副本:
bar = foo
Run Code Online (Sandbox Code Playgroud)
当我现在改变bar.x时,这也改变了foo.x. 我如何获得foo的副本,我可以在不更改原始foo的情况下更改所有内容?创建一个新的Class实例不是一个选项,因为我需要它在foo已经存在的状态.