小编sol*_*ito的帖子

删除所有以前版本的python

我有一些使用C++and 的经验Fortran,我想开始使用python我的后处理,因为我开始意识到MATLAB我需要做的事情是多么低效(主要涉及具有数百万个点的图)。

我已经python安装了几个版本,每次我想开始使用。现在已经变得一团糟。在 中/usr/local/bin/,这是命令ls python*返回的内容:

python            python2.7         python3           python3.5         python3.5m        pythonw-32
python-32         python2.7-32      python3-32        python3.5-32      python3.5m-config pythonw2.7 
python-config     python2.7-config  python3-config    python3.5-config  pythonw           pythonw2.7-32
Run Code Online (Sandbox Code Playgroud)

我现在想要一个干净的石板。我想要一种安全的方法来删除所有以前版本的python,包括它们的所有包,这样我就可以安装最新版本numpymatplotlib顺利导入我想要的所有库(我遇到了一些问题)。

编辑:

我在 OSX Yosemite 10.10 上运行。

python uninstallation

8
推荐指数
1
解决办法
4万
查看次数

使警告静音:gfortran中的"不符合制表符"

我通常运行我的代码ifort,但在实现过程中,我更喜欢编译和测试,gfortran因为我发现它比它的intel更严格.

在打开编译选项时-Wall,我收到以下警告:

Warning: Nonconforming tab character at (1)

有没有办法在使用相同的编译选项时使这一特定警告静音?请注意,我希望用空格替换选项卡.如果没有办法解决这个问题,那么答案"不可能"就足够了.

fortran gfortran

7
推荐指数
2
解决办法
9937
查看次数

添加/删除PRINT语句会更改变量

我有一些编写fortran代码的经验,但我从未见过这样的东西.

我正在使用大型HPC代码(~10K行),我在其中修改子程序.我使用print语句验证一切都已正确完成并在必要时进行调试.当我用PRINT我使用的最后一个语句运行我的代码时,代码到处都给我实数.一旦我评论了最后一个PRINT语句,代码就是给我NaN一些变量.由于我的代码太大,我显然不能在这里发布,但我会发表PRINT声明:

PRINT*, "outletBC up1    ", SUM(ABS(up(nptsx,:,:)))
Run Code Online (Sandbox Code Playgroud)

哪里up是一些速度阵列.

题:

怎么可能?PRINT语句如何可能影响任何变量?

5
推荐指数
1
解决办法
1128
查看次数

调用 gfortran 而不是 mpif90

我正在尝试使用 makefile 编译一个大型求解器。键入 make 时,将执行以下命令:

mpif90 -O2 -fpp -I/somePath/ -c precision.F90
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

gfortran: error: unrecognized command line option ‘-fpp’
Run Code Online (Sandbox Code Playgroud)

我输入which mpif90以查看它指向的位置:

/usr/local/intel14/impi/4.1.3.048/intel64/bin/mpif90
Run Code Online (Sandbox Code Playgroud)

我尝试手动输入命令以确保它与 没有任何关系,但makefile我遇到了同样的错误。为什么会gfortran被调用?这一定是一些链接错误,但我无法弄清楚。

fortran gfortran intel-fortran

4
推荐指数
1
解决办法
9604
查看次数

从目录和所有子目录移动文件

是否有列出目录和子目录中所有文件的命令?例如,当我清理~/Download目录时,我想将所有电影文件移动到特定目录。

如果我试试这个:

mv *.avi Directory
Run Code Online (Sandbox Code Playgroud)

子目录中的 avi 文件不会被移动。有没有办法做到这一点?

linux shell

3
推荐指数
1
解决办法
2900
查看次数

"USE"对表现的影响

我目前正在研究大型fortran 90代码.大多数模块都有大量子程序(> 15).模块中的USE其他模块是其规范的一部分,而它们的子程序则是USE其他模块.这是它的样子:

MODULE OneModule
USE GlobalConstant
USE GlobalVariable

CONTAINS
    SUBROUTINE Subroutine1()
    [...]
    END SUBROUTINE Subroutine1

    SUBROUTINE Subroutine2()
    USE Mesh
    [...]
    END SUBROUTINE Subroutine2

    [Other Subroutines]
 END MODULE OneModule
Run Code Online (Sandbox Code Playgroud)

在每个模块中看到这一点,我想知道这是为了清晰还是优化.如果模块OneModule有大量子程序,如果我们在规范部分中USE的模块MESH只有少数几个子程序需要它,它会影响性能吗?

optimization fortran

3
推荐指数
1
解决办法
107
查看次数

定义运算符重载时擦除向量的对象元素时出错

在下面的简单示例程序中,我有一个t_cell用 5 个元素初始化的对象向量。我还有一个整数测试向量。

#include <iostream>
#include <iomanip>
#include <vector>

using namespace std;

class t_cell {
    public:
        int id;

    t_cell operator = ( const t_cell &rhs_cell ){
        t_cell lhs_cell;
        lhs_cell.id = rhs_cell.id;
        return lhs_cell;
    }
};


int main(){

    std::vector<int   > test ( 5 );
    std::vector<t_cell> cells( 5 );

    for( size_t icell=0; icell < cells.size(); icell++ ){
        test [icell]    = icell;
        cells[icell].id = icell;
    }

    for( size_t icell=0; icell < cells.size(); icell++ ){
        cout << "before =" << icell << …
Run Code Online (Sandbox Code Playgroud)

c++ vector compiler-bug

1
推荐指数
1
解决办法
39
查看次数