数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

本文是对Mathematica有限元分析与工程应用一书的学习笔记。 桁架元的特点 平面桁架元是既有局部坐标又有整体坐标的二维有限元,因此比起之前的杆单元,需要多一步坐标变换。 桁架元示意图如下: 指定整体坐标系为X-Y,局部坐标系为x-y。则两者之间的转换关系为: 即: 其中: 局部坐标系下的有限元方程为: 为了把有限元方程从局部坐标系变换到整体坐标系,可通过转换矩阵: 所以: 又因为转换矩阵T满足如下关系(可实际计算验证一下): 所以: 所以整体坐标系的刚度矩阵与局部坐标系的刚度矩阵关系为: 由于局部坐标系下的单元刚度矩阵为: 其中$k=\frac{EA}{L}$。那
Read more »

本文是对Mathematica有限元分析与工程应用一书的学习笔记。 这里的杆单元是总体坐标与局部坐标一致的一维有限元,因此不需要坐标变换,更易分析。 线性杆单元的形函数 线性杆单元的位移函数是坐标x的一次函数,可用以下代码求解: 1 2 3 4 Clear[u1, u2]; u = a1 + a2 x; solut = Solve[{u1 == (u /. x -> 0), u2 == (u /. x -> 1)}, {a1, a2}]; u = u /. solut[[1]] 其中u1和u2是杆端点x=0和x=1处的位移,结果为: 1 u1 + (-u1 + u2) x
Read more »

引子 在step1中创建了网格,下面就是在网格上定义自由度。此例中使用一阶线性有限元,其自由度的个数与网格的顶点数相关。后面的例子将展示更高次的单元,其上面的自由度与顶点、边、面及cell都有关。 自由度可以理解为形函数中的系数个数,因为它们是未知的,所以称之为未知量或自由度。 定义网格上的自由度很简单,因为deal.II已经内置该功能了,唯一要做的是创建有限元空间。 头文件 1 #include 该头文件将自由度与顶点、线、cell联系起来。 1 #include 该头文件包
Read more »

简介 deal.II是一款开源的求解偏微分方程的有限元软件,它有如下几个特点: * 使用C++编写 * 有多种单元类型 * 可以大规模并行 * 可以自适应网格 * 文档和范例齐全 * 与其他库有良好的接口 安装 deal.II最新版本为8.4.1,可从官网上下载源码,解压后进入源文件目录安装: 1 2 3 4 5 mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ../deal.II make install make test 如果期间需要其他依赖如cmake、doxygen
Read more »

阅读文献时常常会遇到只给图像却没有原始数据的情形,此时如果想要提取数据,就得借助相应软件,目测用的最多的就是GetData,这个是个商业软件,还有个好用的基于web的开源软件WebPlotDigitizer。这里我们基于Mathematica写一套能用于提取图片中数据点的代码。 参考文献(基本思路参考SE上的这个问题,但具体取点和去点方式不同): Recovering data points from an image Attention:这里的版本强烈依赖于Mathematica的版本,此处使用的是10.4版本,目测应该使用10以上版本,因为低版本中不会出现工具提示条。 实际坐标系与图像
Read more »

今天看到科学网上一位老师介绍Wikipedia年度照片,点这里,瞬间就感觉以后桌面背景不用愁了。爬的方法跟之前爬美国队长剧照的方法相同,直接上源码: 1 2 3 4 5 6 7 input = Import["https://commons.wikimedia.org/wiki/Commons:Picture_of_the_Year","Source"]; data1 = StringCases[input, "
"]; data2 = StringCases[data1, "\"https:"
Read more »

今下午实在不想改论文,学着做了一个Mathematica爬虫,用来爬取即将上映(后天5月6号)的<美国队长3>的剧照。 参考文献: 看这里 第一步:导入网页源文件 首先得找到<美队3>的照片网站吧,这里用的是经典大牌电影网站——时光网,链接是here,然后将网页的源文件导入Mathmatica中: 1 input = Import["http://movie.mtime.com/209122/posters_and_images/posters/hot.html", "Source"]; 注意这里导入的元素是Source,即原始的源文件,没有经过任何转化。还可以用XMLObject
Read more »

2016-4-26更新:新增针对彩色图片的处理。 有时候需要将图片的背底变成透明,从而适应各种不同背景(尤其不是白色背景),使得图片能更融入到背景中去。专业中也遇到这样一个问题,需要将两个枝晶轮廓在一起比对看是否重合。将背底变为透明色,通常可以使用PowerPoint的”设置透明色”这一功能,但对于对比很明显的图片效果较好,对比不明显的图片则偏差很大,且不能人为操纵。这里采用Mathematica,仅用几行代码即可实现。 对于黑白图片,或可以将图片转为黑白的情形: Mathematica源码为: 1 2 3 img1 = Binarize[img]; img2 = ColorConve
Read more »

本文参考了百度Mathematica吧的这个帖子。 统计图片中某个区域的面积可以有多种方法和多种软件,比如ImageJ(多谢柏爷推荐~)、ImageMagick(参见这篇教程)、PhotoShop(参见这篇教程)。这里采用Mathematica,仅用少于10行代码即可实现。 Mathematica源码为: 1 2 3 4 img2 = Binarize[img]; totalPixels = Times @@ ImageDimensions[img2]; blackPixels = Count[ImageData[img2], a_ /; a < 0.5, {2}]; blackAre
Read more »

析出反应 通常来说,过饱和亚稳合金中的析出反应可分为三个不同的阶段: 1. 析出相的形核,这来源于过饱和基体中局部区域的成分起伏,且符合统计规律。 2. 析出相的生长,其受溶质元素扩散控制,且与周围的第二相不产生竞争关系。 3. 析出相的粗化,此过程中小尺寸的颗粒溶解,使得大尺寸的颗粒继续生长。 前两个过程是由相变的自由能差驱动,其在达到平衡相体积分数后就结束,而粗化则只是界面能降低的过程,可以一直持续到仅有一个颗粒为止。另外,生长和粗化这两个阶段较难区分,实际上这里是为了分析方便,对于不同阶段配合真实的边界条件而采用不同的处理方法。 形核 形核模型可采用基于随机性形核的经典形核理
Read more »