一、用 COMSOL 自动执行建模操作
COMSOL Multiphysics 会自动将模型文件中的所有工作记录保存为 Java® 代码。所以我们可以直接从代码中提取相关的操作,并将它们插入到新的模型方法中。
(资料图片仅供参考)
要从文件中提取全部历史操作记录,您需要执行以下步骤。
首先,在文件菜单中选择压缩历史记录选项。
接着,打开文件菜单 > 另存为,并保存为Java 模型文件
尝试在文本编辑器中打开生成的文件
只有位于 Model model = ModelUtil.create(“Model”); 和 return model; 之间的代码定义了模型中的所有特征。
在文本编辑器中删除这些代码行,剩下的就是模型方法中重复模型操作所需的命令。
创建一个新的空模型文件
切换到“APP 开发器”,并创建一个新的模型方法
接着将刚刚编辑的 Java® 文件中的全部代码行复制到新的模型方法中
然后返回“模型开发器”,打开开发工具选项卡,并选择运行模型方法,即可开始运行代码。
运行模型方法意味着重现原始文件中的所有步骤,包括求解模型在内,但是求解模型可能花费很长时间,所以我们常常需要删减模型方法。
删减模型方法
第一种是手动编辑 Java® 代码,删除不需要重新运行的代码。可以参考 COMSOL Programming Reference Manual
第二种方法更简单——直接在 COMSOL Multiphysics 的 GUI 中删除特征。将原始模型文件另存为一个新的文件,在新的文件中删除所有不希望出现在方法中的内容,包括几何序列、网格、研究步骤、可视化结果以及其他不需要的内容。
二、COMSOL with Matlab联合仿真1 建立模型
可以在comsol中先建立好模型或者执行一些操作,然后通过菜单“文件”->“另存为模型M文件”查看M文件中的语句,即可了解相应的操作过程和matlab调用语法。
2 设置材料
设置材料可以在COMSOL中先设置好,然后另存为模型M文件。
下面代码将上述模型材料设置为铝,对于结构分析来说其实关键设置杨氏模量、泊松比和密度就可以了。
3 划分网格
划分网格并显示的代码如下(自由划分网格)
4,设置载荷和约束
约束长方体的下表面,设置体载荷——重力载荷,重力方向:z轴负方向。
5,求解
三、后处理
在绘图组中添加标注图,可以非常简便地在仿真结果绘图中标注名称、注释以及指定位置求得的物理量数值。
l 标注图的一种简单用法是用作标签。
l 标注图的更常见、更实用的用法是在模型几何的特定点上标注选定表达式的值。
启用允许计算表达式复选框后,标注就会显示指定物理量的计算结果。
1) 步骤1:绘图组创建注释
2) 步骤2:设置 窗口中可以修改标注的细节,包括注释在模型坐标系中的位置、注释文本、显示值的精度、字体颜色等样式设置和绘图标题:
四、网格自适应
目标是修正网格,更有效地解决问题。
首先,确定所需网格单元的大小
实际:需要进行大量研究才能找到合适的尺寸;
comsol中:可以利用自适应与误差估计(用于稳态和特征值问题),基于内置误差估计自动调整网格。
还可以,粗网格求解一个简单问题,然后基于该解,通过计算的表达式来控制一个较难问题的单元尺寸。
还可以,导入插值函数或者任何函数。
然后,假设,已知所需单元大小x/y/z的函数。(意味着:网格单元边长由该边中点坐标的函数表达式确定)(尺寸表达式表示空间中每个点上所需的单元边长)
根据尺寸大小函数适应网格的2种方法
一种方法是选择网格节点中的大小表达式属性,用于控制生成三角形和四面体网格的大小,通常可以得到平滑且质量较高的网格。另一个方法是使用自适应操作,该操作会修改现有的网格。网格自适应是一个功能强大的工具,可以修改任何类型的网格也能生成各向异性网格单元。
1, 网格划分序列中使用大小表达式属性来改变生成网格的大小。如果我们使用研究里的网格自适应,则相当于选择了重建网格选项,其中的自由网格生成器(自由三角形网格,自由四边形网格和自由四面体网格)会考虑这个尺寸大小。 结构化网格,则可能无法使用此方法。
每一次的适应从0开始构建的。
已知大小表达式,在背景栅格(Grid)上进行计算比较方便。(确保栅格分辨率(resolution)足够高以捕获大小表达式所有特征。)
当大小表达式取决于已知的空间变化量(例如材料)时,我们可以使用初始表达式计算选项。之后,可以使用模型中的任何表达式。软件将会在求解前计算表达式(对应于获取求解步骤的初始值命令,可用于研究步骤)。我们还可以指定某个研究步,因为一些表达式的值取决于研究。
五、如何检查网格
1,网格的统计信息
让我们能迅速判断是否需要对整体网格尺寸进行一定修改。
默认是偏斜度的统计,适用于各向异性单元的测量;体积vs.外接圆半径对角度和各向异性敏感,适用于各向同性的二维三角形单元和三维四面体单元。
数字1表示质量最佳, 即单元符合选定质量测量工具的最高标准。另一个的极端数字是 0,表示退化单元。
要获得准确的结果,一个关键前提是知道哪一种最小单元质量和平均单元质量足够解决您的具体应用中的网格问题。
一般认为,质量低于 0.1 对于很多应用而言都算差水平。网格生成器会自动对质量低于 0.01 的单元发出警告;这种公认的低质量在大多数情况中都是应当避免的。
偏斜度默认。该质量测量基于等角偏斜率,针对的是与理想单元相比,角度过大或过小的单元。 尤其适用于需要各向异性单元的网格,例如边界层网格。
最大角度若选择最大角度测量,只有角度过大的单元才会报错
体积 vs. 外接圆半径基于单元的体积和外接球(或圆)半径的商。此质量测量工具对于大角度、小角度和各向异性十分敏感。 由于二维三角形网格和三维四面体网格期望生成各向同性单元,因此适合选择体积 vs. 外接圆半径。
体积 vs. 长度单元边长和单元体积的商,它的对各向异性的网格最为敏感。
条件数将实际单元转化为理想单元的矩阵的属性。
增长率局部单元大小与所有方向上相邻单元大小之间的比较。
2,创建网格图
确定低质量单元的位置和待修改的网格尺寸参数
从整体上观察特定的网格是如何由不同类型的网格单元所构成的。
具体的操作是:将层 改设为体,从列表中选择一种单元类型,并为它设置统一的单元颜色。然后复制网格 绘图特征节点,然后选择另一种单元类型 和单元颜色。不断重复此过程,直到网格中所有可用的单元类型都进行了着色。
四面体为青色,金字塔为洋红色,棱柱为灰色。
单元比例因子被设为 0.8,单元相应缩小。
判断低质量单元的位置信息
将层改为体,并在单元过滤栏中勾选启用过滤选项。然后输入一个布尔表达式,从而显示需要检查的单元。
如:偏斜度小于 0.05 的单元。
增长率——它显示的是两个网格单元之间的关系。如果网格区域中的单元大小相同,其增长率结果一般接近于最大值 1; 如果网格区域中相邻单元的尺寸不断增大,网格的增长率则会降低。
添加包含空间维度的过滤器表达式
2,自适应操作 。 通过单元细化和粗化修改现有的网格 。 在具有任何单元类型的网格上以及在导入的网格上使用自适应操作。这是一种更强大的方法,并且能够更好地遵循指定的大小表达式。但是,结果通常不如从头开始生成的网格平滑。 它适用于所有尺寸,也可作用于导入的网格。它的许多选项和输入字段与大小表达式属性相同。
三种适应方法:最长边细化,常规细化和通用修改。
1) 两种细化方法是基于单元边的二等分法,由于这些单元边太长,保留了所有现有的网格顶点,因此这些方法无法粗化网格。
2)通用修改方法。顾名思义,即是以非常通用的方式修改网格:
单元可以细化
如果网格太细,可以删除顶点以粗化网格
单元可以修改,网格顶点可以移动,以提高网格质量
使用自适应操作的通用修改方法,对 大小表达式属性应用同一表达式。虽然对于大多数应用而言,网格单元质量足够高,但是大小过渡不如从头开始生成的网格平滑。
指定的尺寸大小函数代表各向同性单元的大小;也就是说,一个理想形状单元的所有边都具有(大约)相同的长度。
自适应 操作也可用于各向异性适应。各向异性网格单元是理想单元沿某个方向拉伸的单元。(如:边界层网格)
边界层网格的网格自适应
如果我们需要适应的网格是各向异性的(例如,沿边界伸展的边界层网格),则自适应会朝着各向同性方向修改网格。边界层单元甚至可能被完全删除!这不是我们想要的结果。一种解决方法是禁止粗化,则边界层会被保留。
曲率因子越小,曲线上的网格越密
COMSOL Multiphysics 中使用的所有数值方法都通过网格对建模空间进行离散,这有两个目的。首先,此网格用于近似 CAD 几何。其次,系统在该网格定义的空间中的离散点处求解问题的近似解。
可以使用多种不同的策略来执行网格细化研究 。
六、弱形式与强形式
物理问题的三种描述方式
1. 偏微分方程;2.能量最小化形式;3. 弱形式
—-PDE方程是带有偏微分算子的方程;
—-能量方程是以积分形式表达的;
积分形式的好处就是特别适合于有限元方法,而且不用担心积分变量的不连续—-弱形式也是积分形式,拥有和积分形式同样的优点,但是他对积分变量的连续性要求更低,可以看作是能量最小化形式的更一般形式。(是PDE的一种推广形式,是PDE方程的一种推广形式,它对变量的连续性要求比较低。)
能量法一般见于结构分析的文献中,采用弹性势能最小化形式求解问题是相当自然的一件事。
当我们的研究范围超出了标准有限元应用领域,比如传热和结构,这个时候弱形式是不可避免的。化工中的传质问题和流体中的N-S方程都是没有办法用最小能量原理表述出来的。
GJ:弱形式和最小能量形式的区别就在于虚位移δu与试函数v的差别,如下面两式
也就是说,泛函求极值即为泛函的变分为0,如上面的式子1,所以泛函的有限元解对任意扰动δu成立,而从式子2可以看到,弱形式的解只是对自己设定的试函数v成立。所以泛函求极值得到近似函数是弱形式的特殊形式,即弱形式的试函数v可以任意取而求得的近似函数,所以从这种意义上说泛函形式求得的近似解更完备。因此,(1)很多情况下无法得到PDE问题的泛函形式(变分原理里提到,只有满足一定条件的算子才有对应的泛函),而此时PDE的弱形式是始终存在的,所以弱形式比泛函更广泛。(2)泛函的网格离散化不是转化为泛函变分后求解的,而是直接在泛函中带入带未知参数的近似函数,从而转化为函数的极值,进而得到未知参数的方程,求得未知参数。而弱形式的离散化则是在弱形式下直接离散化。前面提到泛函形式的解相当于对弱形式的任意试函数成立的解,这个任意性隐藏在了泛函变分里。使用弱形式的条件:
是指由于物理模型的复杂性,各种边界条件的限制,使得对于所提出的微分方程,对所需要求得的解的要求太强。也就是需要满足的条件太复杂。比如不连续点的跳跃等等。将微分方程转化为弱形式就是弱化对方程解的要求。不拘泥于个别特殊点的要求,而放松为一段有限段上需要满足的条件,使解能够以离散的形式存在。
有限元就是这种弱形式的表现,不需要满足单元上任一点的条件,至少满足积分点的条件。如上所述,采用分部积分,本质上可以说:弱形式对函数(u)的连续性要求的降低是以提高权函数(v)的连续性要求为代价的分部积分
主要原理是将不易直接求结果的积分形式,转化为等价的易求出结果的积分形式的。常用的分部积分的根据组成被积函数的基本函数类型,将分部积分的顺序整理为口诀:“反对幂指三”。分别代指五类基本函数:反三角函数、对数函数、幂函数、指数函数、三角函数的积分
X 关闭
Copyright © 2015-2022 大众字画网版权所有 备案号:豫ICP备20014643号-14 联系邮箱: 905 14 41 07@qq.com