2012年11月12日星期一

Auto indent for fortran (.f90) in Vim

1. Download fortran.vim (v 0.3.1) and copy it to  $HOME\Vim\vimfiles\indent for Windows.

2. Revise the fortran.vim
 
   Revise the lines 19,20,57 and 61 as:


19 setlocal indentkeys+==~subroutine,=~function,=~forall,=~program,=~module

20 setlocal indentkeys+==~endsubroutine,=~endfunction,=~endforall,=~endprogram,=~endmodule

57 if line =~? '^\s*\(pure\|elemental\)\=\s*\(subroutine\|function\|program\|module\)' ||
\ line =~? '^\s*\(forall\)'

61 if getline(v:lnum) =~? '^\s*end\s*\(subroutine\|function\|forall\|program\|module\)'

   save it.

3. Create a .f90 source file and test the auto-indent for "program/function/module/subroutine", "do-loop" and "if-else".


You do not need to add any content in the _vimrc (or .vimrc) file. 




2012年11月9日星期五

The Truth About Terahertz

The Truth About Terahertz - IEEE Spectrum:


windows 7 添加修改环境变量即时生效


修改的方法:

在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,需重启系统才能使之生效。有没有什么方法可让它即时生效呢?下面介绍一种方法:  

  以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:set PATH=C: ,关闭DOS窗口。再次打开DOS窗口,输入:echo %PATH% ,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。  

  不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。但是对副本的修改却会引发Windows环境变量的刷新,这正是我们想要的!

2012年11月3日星期六

Windows 7 64 bit操作环境下 MinGW 安装全过程

MinGW是windows操作环境下的一套GNU工具集合。它提供以下编译工具:

MinGW Compiler Suite 

C Compiler optional (*) 
C++ Compiler optional 
Fortran Compiler optional 
ObjC Compiler optional 
Ada Compiler optional 
MSYS Basic System optional 
MinGW Developer Toolkit optional


1. 首先下载最新版本的MinGW下载及安装文件(mingw-get-inst-20120426.exe),这个版本的安装文件已经集成了MSYS,所以无需再去下载安装。(MSYS是什么?点这里)了解之后,你会明白MSYS与MinGW就是环境与工具的关系。

2. 一路安装下去,其间你可以选择安装路径,这里采用了默认路径 C:\MinGW

3. 安装完成之后,执行下列命令可以更新和添加组件。
cd C:\MinGW\bin (或者你选择的路径) 
mingw-get update 
mingw-get install <安装包名称>

4. 为了在命令行里可以直接执行MinGW里面的工具,需要添加环境变量。具体操作可以参考   以下引用文字

配置环境变量:

使得在命令行里能找到 gcc、g++,编译时能找到头文件和库文件

//家目录

MINGW_PATH=D:/MinGW

//C头文件目录

C_INCLUDE_PATH=%MINGW_PATH%/include;%MINGW_PATH%/lib/gcc/mingw32/3.4.5/include

//C++头文件目录

CPLUS_INCLUDE_PATH=%MINGW_PATH%/include/c++/3.4.5;%MINGW_PATH%/include/c++/3.4.5/mingw32;%MINGW_PATH%/include/c++/3.4.5/backward;%C_INCLUDE_PATH%

//库目录

LIBRARY_PATH=%MINGW_PATH%/lib;%MINGW_PATH%/lib/gcc/mingw32/3.4.5

//可执行程序目录

PATH=%MINGW_PATH%/bin;%MINGW_PATH%/libexec/gcc/mingw32/3.4.5

注:

1.上面的很多3.4.5是gcc的版本号,配置时请以实际安装后的文件夹为准。

2.由于MinGW没有默认的make.exe ,所以安装完成后需要自行copy一个到 /bin 下,这里我就拷贝一个 %MINGW_PATH%/bin/mingw32-make.exe然后改名为make.exe,使得系统使用make的时候能够找到它。


5. 测试

例如在C:\test\下新建一个代码如下的hello.cpp文件 

#include <stdio.h>

int main(void)
 printf("Hello World!\n");
 return 0;
}

在cmd下编译并输出可执行文件hello.exe 
g++ hello.cpp -o hello
执行 hello
出现 “Hello World!
安装成功。


   

2012年11月2日星期五

gVim install in Ubuntu 12.10

Install gvim in Terminal
1. Install mercruial for supporting to clone vim (hg clone https://vim.googlecode.com/hg/ vim)
    sudo apt-get install mercurial

2. check dependence and install library if any, for example  'ncurses'
    ./configure
    sudo apt-get install libncurses5-dev

3. clone and make
  (you can alternatively find and install the gVim in Ubuntu software center)
    hg clone https://vim.googlecode.com/hg/ vim
    sudo make distclean (clean)
    sudo apt-get updata  (update system file)
    cd vim/src
    sudo make 
    sudo make install
    export PATH=$PATH:{~/vim}

4. install vim configuration (spf13)
    sudo apt-get install git
    curl http://j.mp/spf13-vim3 -L -o - | sh
 

Ansys网络划分的一点体会-映射网格划分技巧(转)

原文地址:Ansys 网络划分的一点体会-映射网格划分技巧 - 阿英的日志 - 网易博客:


近来看到不少人问有关划分的问题,感觉存在一些概念模糊。写一点个人对划分网格的一点体会,希望能对有些帮助,抛砖引玉:

几个概念:

1.主要分为映射网格划分(mapped)和自由网格划分(free),这里要说明一点的是,存在一个不正确的概念,即对于二维来说映射就是划成四边形。

2.有人过度夸大四边形和六面体的精确性,从而贬低自由网格划分。其实,过度“傻瓜”操作的自由网格划分可能容易产生尖锐或边长比很大的不良单元,经控制的自由网格划分的精度不至于降低到哪里去。要说到缺点,采用自由网格划分所产生的三角形单元或四面体单元将使自由度大大增加,从而造成运算量的增加,这可能算是一个缺点,尤其对配置较低的设备。

自由网格划分较简单,以下介绍几个关于映射网格划分的和方法:

1.对于面来说,使用映射网格划分需要满足以下几个几何拓扑的要求条件:

*面必须有三条或四边线的边界组成

*一般来说,对边的应划分成相等的个数

这里可以看出,要使用映射网格划分技术,首先要保证面有三条或四条边界线,要达到这个目的,经常使用的方法有:切割、搭接(参考ASBW,VSBW,LCCAT等,这里不详述),保证分割或搭接后的面满足几何拓扑要求。

以下举一简例说明:

/PREP7

ET,1,PLANE42

BLC4,,,4,4

CYL4,,,1

ASBA,1,2


几何图形如下所示,很显然:这是一个五边形,不能直接采用映射网格划分技术

接下来就可采取不用的方法,使上述图形满足要求。

1.比如沿对称轴分割,变为两个四边形,再划分。这个方法有兴趣的可试一下。

2.这里介绍搭接方法,并将网格划分 成从缺口到边沿由密到疏的渐变过渡的形式。

以下是命令流和划分 结果:

/PREP7

ET,1,PLANE42

BLC4,,,4,4

CYL4,,,1

ASBA,1,2

LESIZE,5,,,16

LSEL,S,,,9,10

LESIZE,ALL,,,16,0.5

ALLSEL,ALL

LSEL,S,,,2,3

LCCAT,ALL

LESIZE,ALL,,,8

ALLSEL,ALL

AMESH,ALL

今天先写到这里吧,以后再写关于3D 体划分的方法,大同小异。

vim的源码安装与配置文件的设定 (转载)

vim的源码安装与配置文件的设定 - smallmickey - 博客园:
vim的源码安装与配置文件的设定
安装篇
1.必要性
自vim版本升级后,原来的完全安装模式不见了,即sudo apt-get install vim-full 这一过渡模式退出历史舞台了,要使用vim的全部功能最好源码安装;
2.大体步骤
http://www.vim.org/sources.php下载相应源码文件,利用tar -jxvf 命令解压到当前用户目录,即~

解压后进入vim的src目录,首先执行sudo make distclean(清理以前编译生成的文件);

更新系统软件源,即运行 sudo apt-get updata
接着运行configure文件,即./configure,检查安装所需的依赖环境是否完善,若缺失某些文件则根据运行结果进行安装,如缺少库文件ncurses,则运行命令 sudo apt-get install libncurses5-dev;
最后执行sudo make 和 sudo make install 。

配置篇

1.两类配置文件的优先级
vim的配置文件分为全局和局部,而局部配置文件的优先级高于全局文件,换句话说就是我们之需要修改局部配置文件即可。

2.配置文件的位置
全局(系统)配置文件 “/etc/vim/vimrc”
局部(用户)配置文件 “$HOME/.vimrc”


3.配置

参考网上各种vimrc的文件内容复写到用户目录的.vimrc文件(若没有则touch一个新的空文件.vimrc);或者将现有的.vimrc文件拷贝到用户目录下覆盖即可。