- 博客(23)
- 资源 (5)
- 收藏
- 关注
翻译 How windows select driver version.
Windows uses the following criteria to select a driver for a device:Windows selects the driver that has the lowest rank value as the best match for the device. 首先选择lowest Rank Value当作最佳的driver.
2011-12-13 11:11:41 455
原创 LU decomposition
LU分解,是一种比较有用的求解线性矩阵方程AX = b的方法。当然,它只是在未知数量有限的情况下才能发挥它的优势。怎么求解A = LU呢,方法挺多,这里介绍一种常用的方法。直接上代码:for(int i = 0; i { for(int j = i + 1; j { Aji = Aji / Aii;
2011-11-01 21:57:36 826
原创 矩阵求解泛谈
矩阵求解AX = b 在工程上使用相当广泛,尤其是在simulation领域。矩阵求解的速度相当程度地决定一款模拟软件的命运。矩阵求解的方法很多,如一般的迭代法,投影法,AMG等。 1)迭代法 不实用,尤其是求解大型矩阵。但可以作为投影法的prediction算子存在。如CGJacobi, CGSSOR,这是把Jacobi, SSOR方法当作CG
2011-10-27 21:57:56 714
原创 sparse matrix 存储
由于sparse matrix的特殊性,在存储的时候,一般情况下吃用CSR(Compressed Sparse Row)这种format来实现。通过使用3个数组来描述一个Sparse Matrix.double* mValues; // 保存Sparse Matrix 非0的值。int* mColumnIds; //保存column IDint* mRowIds; //保存各行第一个非
2011-10-27 21:29:56 641
原创 项目总结
Casting simulation project的结束,对我来说也许是中解脱。要做Casting的模拟,没有配套的准备,是不可能的。之前老早就预料到这个项目会无疾而终,凭我一个人的力量,只能是research一下。相对而言,我是高层们决定的受益者。在这个过程中,至少我已经对FEM模拟流动和铸造过程中的问题有一定的了解,也对FEM/FVM/FDM有一个相对的入门。虽然项目失败,但心里
2010-03-16 21:26:00 332
转载 数学符号的读法
鄙视一下这种中文注音。 大写 小写 英文注音 国际音标注音 中文注音Α α alpha alfa 阿耳法Β β beta beta 贝塔Γ γ
2009-08-11 09:50:00 396
原创 Conjugate Gradient method
使用CG series method求解大型线性方程组: AX = b要求:A必须为对称正定 Gradient的意思是: 假设g(x) = AX - b, 她是f(x) = 1/2 transpose(X) A X - bX 的倒数,也就是梯度。要使X=U使得 g(u) = 0, 那
2009-05-08 22:32:00 474
原创 梯度的求解
1. FEM 对于一个四面体,各个Vertex具有一个形函数N1,N2,N3,N4, N1+N2+N3+N4=1.U(x) = N1U1 + N2U2 + N3U3 + N4U4所以四面体上U的梯度为 dN1/dx U1 + dN2/dx U2 + dN3/dx U3 + dN4/dx U4当使用FEM来求解域的时候,梯度比较好求解。 2. FVM有几种方法可以
2009-05-08 22:16:00 931
原创 FEM, FVM,FDM
FEM, FVM, FDM是数值模拟的主要三种方法。FEM最常用的是子域法,将整个区域分成小区域,比如说四面体,六面体等,用形函数当做微分方程的权函数,对每个小区域进行积分,得到一系列的线性方程。其中主要用的分部积分法等数学公式。FVM,其实也是子域法中的一种,但不用形函数,对四面体等进行直接积分,使用Gauss公式,但积分之后会碰到Riemann问题,要求使用一些符合一定CFL的Sche
2009-05-03 22:32:00 2488 2
原创 gcc 4.3.2 installation
在安装gcc 4.3.2 之前,首先安装了binutils 2.18, gmp 4.2.1, mpfr 2.3.2. 之后,tar gcc4.3.2 之后,(1) ./configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-languanges=c,c++ 本来想加入fortran的,最后在make的时候for
2009-03-15 16:35:00 1275
原创 gcc 4.3.2 安装文件下载地址
需要的安装文件下载地址:gcc-4.3.2.tar.gz ftp://ftp.gnu.org/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.gzbinutils-2.18.tar.gz ftp://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.gzmpfr-2.3.2.tar.gz http://www.mpf
2009-03-10 21:11:00 4059 1
原创 OpenFVM 简介
这是一个开源CFD软件,使用FVM 来对动量,连续性和能量方程进行插值。相比于OpenFOAM,她比较简单,代码也容易懂,使用C语言编写,可以使用unstructed mesh,对于界面的扑捉,使用了CICSAM 方法,对入门者相当有用。(为什么前几个月我没找到这个开源软件呢)。她有Windows版,也有Linux版。我们可以轻松对其进行调试。缺点:在进行convention 插值
2009-03-05 21:45:00 3486
原创 "syntax error : missing ';' before 'type'"的原因
如果使用VS来编译C语言程序,而变量的定义没有置于函数最开头的话,那么就会产生这样的编译错误。 for example: int main(int argc, char** arcv){ double dValue = 0.0; dValue += GetValueFromSomeThing(); double dTempValue = dV
2009-03-05 21:31:00 3881 1
原创 FVM和CFD资料来源
用FVM来求解液体流动governing equations,一下几个网站资料还是相当不错的。(1)首先,一个开源程序 OpenFoam, 源程序可在其官网上下载:http://www.opencfd.co.uk 但其based on Linux OS。http://openfoamwiki.net/index.php/Main_Page 则可以查到相关关于OpenFOAM中所用到的理论。
2009-02-28 20:27:00 1183
原创 使用VC6调试器源码级调试win32汇编程序
使用VC6调试器源码级调试win32汇编程序 作者:溟初 本人拙笨,如有错误请批评指正,如有更好的方法或者技巧,欢迎互相交流。hejiwen2001@sohu.co
2008-05-24 16:52:00 559
原创 OO设计技巧
其实OO设计技巧其实不叫技巧,只不过它完完全全遵循OO的几个技术特征:封装,继承,多态。将同一性质的东西封装在一起,类的使用者尽量使用base class,利用多态来实现runtime类型判断等。当然,要经过许多一线code量才能完全理解这些最简单的东西(努力ing)。设计模式,也是利用这些技术特征,来实现容易理解,易维护的代码。
2008-05-20 20:30:00 397
原创 OO设计与机械零件互用性
OO设计中,类本身和类之间的设计是最重要的。这里暂且不谈类本身设计。类与类之间的设计,不外乎在于类之间的耦合性,耦合性要越低越好。这一点上,有点像机械设计中的零件互用性:各个零件都是标准的,有一定的规格,各个零件有各自的用处,用同一用处的零件代替另外一个,整个机器照常工作。表现在OO程序设计上,零件之间的耦合性低。管理这些零件的是整台机器。OO设计,或者其他行业的设计,都应该达到这样的
2008-05-20 20:15:00 753
转载 OO Principles
“你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。” ----------Arthur J.Riel(1)所有数据都应该隐藏在所在的类的内部。(封装)(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。(类最好不要调用它的使用者的函数?)(3)尽量减少类的协议中的消息。(4)实现所有类都理解的
2008-05-20 19:33:00 441
原创 Why and how to design routines of class
Why to design routines? The most improtant reason is reducing complexity. When you create a routine, you dont need to know the implementation. When you want to change another algorithm, you j
2008-04-23 20:01:00 275
原创 Some topics on designing C++ class
Considering some topics when designing classes:(1) hiding code implement details. We dont need any details from public member of this class.(2) the public interface/member should give user more
2008-04-22 19:55:00 321
原创 Google云
Google 云计算(Cloud Computing),是个新概念。但也不过是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,也许是一个概念上商业性质的炒作。当然,这时我自己狭隘的看法。或许,它蕴含了很深的含义,要不然,Google也不会拼命的、到处宣传。
2008-04-12 19:15:00 953
原创 编译原理初探
什么叫编译:从源程序(用C/C++写的src)到汇编语言转换。什么叫汇编:从汇编语言到机器语言的转换。 编译和解释。编译器和解释器的主要区别:编译的过程:用户的src,经过编译器的处理,生成目标程序,然后这个目标程序根据用户输入的数据,输出一定的结果。解释的过程:用户输入src和数据,解释器把src的编译和数据处理一块处理。解释器的好处: (1)具有较好的动态特性:运行时,src也参与
2008-02-18 21:14:00 405
原创 设计程序
我们按照一份文档来设计一个程序,需要一定的流程(每个流程都需达到一定目标)。 1)要知道这个文档需要完成什么样的功能。(切忌立即动手) 2)将整个程序分成一定的子系统,比如这些子系统可以为数据存储,用户界面,图形,规则等等。需要注意,这些子系统之间的通信不要形成一个环,要简单,易于维护。这些子系统可以容易增加和删减。如果子系统比较复杂,需要将子系统分成更小的子系统。 3)
2008-02-15 14:23:00 301
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人