标签:
机器人运动学 |
分类: Math |
分类: 分子模拟 |
昨晚在看Lammps前辈 Michael的博客,看到他《MATLAB计算平衡晶格常数》的博文,今早拿着Lammps的脚本算出来,后用他给的脚本在Matlab中运行,结果提示:
Warning: Polynomial is badly conditioned. Add points with
distinct X
他博文中采用了8阶多项式插值,我们可以看到Lammps循环输出的数据点>9,因此多项式插值的方程数条件是满足的,那么问题出在哪呢?随后我将数据导入到cftool中,在没用smooth的前提下,发现高阶多项式插值效果都还不错。也就是说cftool的polyN和polyfit的算法还是不同的,同时高阶多项式插值是可以得到插值系数的。
多番尝试后,我将x轴的数据做了线性处理:x= (x-mean)./std(x)后,发现polyfit居然可以工作了。。。究其原因应该是在这套数据体系下,x的差别特别小,使得求解插值系数的矩阵病态。
这是修改后的代码:
分类: 试用手记 |
今天用G95编译器编译一些老的Fortran代码,额,之所以说老就是因为gfortran编译不了啊。。。。
结果报错:
ld: cannot find crt1.o: No such file or directory
ld: cannot find crti.o: No such file or directory
检查了 glibc 什么的都是正确的,只能说。。。 我勒个去了。。。其实这就是lib路径的引用问题,所以临时解决方法:
反正不常用,编译完了就好~~
mxio
2014.10.5
标签:
origin |
分类: 试用手记 |
Origin自带的差分工具只能进行两列差分运算,当有多列Y值时,手动处理起来只能呵呵了~~
这个时候采用Origin的command窗口,进行循环处理是不二的选择。
loop(idx,2,wks.ncols)
{differentiate (WCol(1), WCol(idx));}
敲回车,效果如图:
标签:
教育 |
分类: openFEM |
adaptmesh函数
ATh = adaptmesh(Th, func1,func2,...)
ATh: 生成的自适应网格; Th: 原始网格; funcN: 函数。
功能:当func的值梯度很大使,可使用adaptmesh进行网格Hessian自适应划分。
其他参数:
hmin,hmax: 最小,大网格尺寸;
errg: 相对几何误差,默认值0.01,在默些情况下必须小于1/sqrt(2),由于几何的约束这一项可能使得某些网格尺寸小于-hmin。
nbvx: 网格划分生成的最大节点数,默认值9000;
nbsmooth: 平滑处理的次数,默认值5;
nbjacoby: 在一次平滑步中平滑计算的迭代步数,默认值6,设置为0为不平滑。
ratio: 平滑比例,当比例 0<=ratio<=1.1时不平滑,默认值1.8,当ratio>1.1时,网格变化速度受制于log(ratio)。这样有助于控制加密区域如激波区域或边界层的厚度。
omega: 平滑过程的松弛因子,默认值1;
iso: 加载到metric上的力为各项同性的,默认值:false;
abserror: 绝对误差,默认值false;
cutoff: 截断误差,默认1e-6;
verbosity: 信息标记;
inquire: 默认值f
标签:
comsolmatlab教育 |
分类: Comsol |
本人最近身体状态较差,受邀做一期Comsol with Matlab的专题视频,PPT早已做好,录视频估计还要给自己身体一段时间。见期望较高,就提前流出PPT吧。届时视频也在本页更新。
转载或套用请标明出处,谢谢!本页不做答疑。
标签:
jade数据导入教育 |
分类: 试用手记 |
这玩意不玩它就忘了,还是备忘下吧。
1. 导入图谱 File\Patterns并点击弹出窗口第一排工具条上的Import...
2. Import & Export of Foreign Ascii Pattern Files相关设置
这里的设置要根据你的ASCII文件,也就说TXT文件进行设置,假设我们拿到了这么一组数据:
这个文件的数据特点如下:
A. 数据起始行为第10行;
B. 每行一组数据:角度+衍射强度
C. 角度和衍射强度的分隔符为 空格 space
D. 角度数据在1-5列,强度数据从第7列开始,强度数据最大为5位数
标签:
fluentchemkin反应速率单位教育 |
分类: Chemistry |
CHEMKIN机理导入后,发现速率常数全变了,那么他们是怎样变化的呢?
FLUENT中单位为 Kg mol s J 的SI单位,而CHMKIN默认单位为 g mol s cal单位。
这里先掰一下基元化学反应速率单位:(注意这里是基元反应)
基元反应通常最多可以写成:
A + B + C = D + E + F
因为三级以上的反应速率就很低了。
那么正向反应的速率为:
Rf = kf * cA * cB * cC
为方便解释单位,这里取SI单位制。
这里 R的单位组合永远都是 mol/(m^3*s).
那么对于三级反应的单位制来说就有:
mol/(m^3*s)= ? * mol/m^3 * mol/m^3 * mol/m^3
这样 kf的单位就是 : (m^3/mol) * (m^3/mol) /s
类比二级反应 kf 单位 (m^3/mol) /s
下面掰一下FLUENT和CHEMKIN的单位转换关系:
kf = A * (T/Tref)^beta * Exp(-Ea/R/T)
因为 (T/Tref)^beta * Exp(-Ea/R/T)这部分单位为 1,因此kf单位等同于 A。
标签:
chemkin扩散系数教育 |
分类: Chemistry |
其实公式很简单,只是遇上谢耳朵的问题,单位啊!
二元扩散系数是温度T和压力P的函数,表达为:
D_ij
kB
NA
标签:
vba教育 |
分类: 试用手记 |
描述: 在Excel VBA运行自定义宏时,有时可能会去调用其他文件比如Excel文件中定义的宏,在Office2013中貌似不能用打开的宏名直接调用。因此,你需要用Application.Run 去调用它。
实现:首先确保你的信任中心中关于宏设置,是启用所有宏,并信任VBA工程对象模型访问。
然后下面是个例子:
建立一个带宏的Excel文件,插入一个模块:
Sub test_hello()