每页:
搜索

COMSOL 最新动态 博客文章

在线观看 COMSOL Multiphysics 视频

2015年 3月 2日

我们的视频集锦中收录了将近 150 个视频,通过教程及产品概述的形式向您重点介绍了 COMSOL Multiphysics 的各个单元,希望能向您演示及讲解本软件的使用,并希望您能从中获得乐趣。我们最近对视频网页进行了改版,现在您可以更加方便地找到相关视频。

罗塞塔号和菲莱号:在彗星表面的历史性着陆

2014年 11月 12日

太阳、太阳系和地球是如何形成的、生命又是怎么起源的,我们仍未能找到这类基础科学问题的答案。不过现在,我们可能距问题答案又近了一步,罗塞塔号上所载的菲莱号航空器有望首次实现在彗星表面的成功着陆。我有幸参访了参与此项目的两位科学家,并深入了解了罗塞塔号这次任务将如何帮助我们回答这些问题。

在操作中学习:3D 打印走进课堂

2014年 10月 13日

这些年来,3D 打印机的体积和成本都大幅下降,也为这项快速发展的技术带来了许多新的用途。作为对这一发展趋势的响应,越来越多的教师开始在课堂中使用 3D 打印设备,让学生们在操作中学习。

COMSOL Multiphysics 可以求解什么类型的流-固耦合(FSI )问题?

2014年 4月 14日

我们经常收到这样一个问题:“我可以使用 COMSOL Multiphysics 求解流-固耦合问题吗?”答案是肯定的。这篇博客,我们将介绍几种流-固耦合(FSI)问题的建模技术,以及对不同类型的问题进行分析所需要的 COMSOL 附加模块。 各种类型的流-固耦合模拟 从广义上讲,当涉及计算流体中的速度和/或压力场,以及对与该流体相互作用的固体材料中的应力和应变问题进行建模时,都是求解一个流-固耦合(FSI)模型。 绕圆柱体流动 在模拟 FSI 问题时,我们可以进行各种假设来简化模拟的复杂度和减少计算量。首先,我们来看一个可以在 COMSOL Multiphysics 中创建的完整 FSI 模型:圆柱体周围的流体流动。 切向流场中圆柱体尾流中的柔性物体变形。  圆柱体后面的尾流引起其后部突出的固体产生较大的振荡。求解这类模型我们需要解决三个问题。首先,在流体流动区域中求解纳维-斯托克斯方程。接下来,计算固体位移。最后,求解流动域中的网格变形,以考虑流体可以流过的变形区域。 对于这种非线性多物理场耦合,我们可以使用 MEMS 模块或者 结构力学模块中的流-固耦合 接口实现。这类模型可以在时域或稳态(定常)问题中求解。 上述例子考虑的是固体材料中应力和应变之间是线性关系。如果想建立包含非线性应力-应变关系的材料模型,例如通常用于描述橡胶和聚合物的超弹性材料模型,还需要使用非线性结构材料模块。 蠕动泵:沿软管泵送流体的滚筒。 图片来源:Veryst Engineering. 单向 FSI 耦合 您可能提前知道结构位移相对较小,但应力可能很大。对于这种情况,我们仍然可以使用流-固耦合 接口,并使用单向耦合 求解器计算流动解,以及在结构上施加流体载荷。这样,就可以避免计算网格的变形。 我们也可以从头开始构建这类单向耦合 FSI 问题,而不是使用流-固耦合接口。例如,铝挤出工艺中的流-固耦合案例模型中就介绍了这种处理方法。此外,如果您正在处理非常高速的流动问题,并且对流动中短时间尺度的紊乱振荡不感兴趣,还可以在FSI模型中使用湍流流动模型。说明:CFD 模块和传热模块中都包括适用于不同流态的各种各样的湍流模型。 周期性流场中的太阳能电池板:计算了太阳能电池板周围的湍流气流和由此产生的结构应力。 流体中的结构振动 如果事先知道正在模拟的流体中有结构振动,且可以假设结构位移相对较小,因此可以忽略周围流体中所有可能被诱发的体积运动。但是,结构振动将在流体中激发压力波,引起声音辐射。对于这类问题,我们可以在 COMSOL 软件中通过声学模块中提供的声-结构相互作用 接口来求解。 这些接口假定固体位移的变化相对较小,不会引起流体的明显体积运动,只会引起流体压力场的变化。您可以在时域中求解这类问题,也可以假设位移和压力随时间呈正弦变化,这样就能够在频域中建模,耗费较小的计算量。在分析过程中,还可包括由于流体黏度和材料阻尼引起的体损耗。 扬声器辐射的声压级。 此外,还可以进一步求解热黏性声-固相互作用 问题,这是一种纳维-斯托克斯方程的线性频域形式,其中可以考虑显式建模的热边界层和黏性边界层中的损耗。虽然这比声学-固体相互作用问题的计算成本更高,但仍然比求解完整的 FSI 问题更高效。 振动微镜: 振动微镜的应力和位移以及周围的空气速度。 多孔弹性介质 我们还可以使用声学模块中的多孔弹性波 接口模拟弹性波通过诸如潮湿的土壤、生物组织和减震泡沫等多孔介质的传播。这个接口可以同时求解结构位移和固体孔隙中流体的压力。例如,计算声波在水-沉积物界面之间的声反射,就是这样一个例子。   如果您对模拟多孔弹性介质感兴趣,但是在稳态或时域中求解而不是频域中,那么你需要使用地下水流模块 。该模块不仅可以模拟土壤和其他多孔介质中稳态或瞬态压力驱动的流动和静态应力,还包含一个多孔弹性 接口,可以模拟稳态和瞬态状态下的多孔弹性流体-结构相互作用。 开孔的分支井模型: 绘制了土壤中的应力和多孔弹性域中的流体速度。 流体和管道流动的薄层 刚才介绍的所有方法都明确地模拟了流体的体积,并求解了这些体积中的速度和/或压力。在流体层相对较薄的情况下(例如在液体动压轴承中的油膜),可以完全不需要建立流体的体积模型,只需要求解雷诺方程,来获得液体薄膜中的压力。 使用这种方法,只求解沿域边界的流体流动,在 CFD 模块和 MEMS 模块中都可以使用这个接口。我们甚至可以更进一步,只求解沿着一条线的流体流动。换句话说,可以使用管道流模块求解沿管道的流动。 对于同时考虑沿管道长度的压力变化以及管壁弹性影响的示例模型的模拟,请查看这个求解水锤方程的案例。 可倾瓦推力轴承:润滑层中的压力场和可倾瓦推力轴承的变形。 将计算简化到一个新的水平 您可能已经发现,我们是从最复杂的模拟方法开始,逐步探讨如何简化计算,尤其是流体流场的计算。现在,考虑一种极端的情况,即流体完全不移动但对结构施加静水压力载荷。 核心功能 对于这种情况,我们可以利用 COMSOL Multiphysics 的核心功能:用户定义方程、组件耦合算子和全局方程来解决。这些功能允许将任意方程包含到模型中,来表示任意变量,例如流体压力。例如我们在上一篇博客中介绍的示例,您可以包括变形封闭腔内的可压缩和不可压缩流体的影响,以及静水压力。 搅拌器模块 现在,我们已经介绍了简化流体流动问题和计算应力的各种方法,接下来,我们来考虑旋转的研究对象,即在已知固体刚体运动的情况下模拟流体运动。对于这种情况,我们可以通过搅拌器模块来求解,也就是求解搅拌器和搅拌容器的问题。 在这种情况下,固体结构的运动完全是通过旋转定义,然后计算流体的运动。假设固体线性弹性变形,还可以通过单向耦合计算移动固体中的应力,即先求解由于搅拌器搅拌而引起的流体流动,然后在结构变形较小的假设下计算应力。 […]

批处理扫描中任务并行的附加值

2014年 3月 20日

到目前为止,我们在混合建模系列博客中还没有详细讨论的一件事是,当向我们的计算中增加更多计算资源时,我们可以期待怎样程度的加速。今天,我们考虑一些解释并行计算局限性的理论研究,并将介绍如何使用 COMSOL 软件的批处理扫描 选项。这是一个内置的、易并行计算功能,可在达到极限时提高性能。 Amdahl 定律和 Gustafson-Barsis 定律 我们之前已经提到过的如何通过增加计算单元来提高速度是基于算法的(在这篇文章中我们将使用术语 进程,但添加的计算单元也可以是 线程 )。一个严格的串行算法,像计算Fibonacci 数列的元素,完全不能从增加过程中受益,而并行算法,如向量加法,可以利用与向量中的元素一样多的处理器。实际中的大多数算法都介于这两者之间。 为了分析一个算法可能的最大加速,我们将假设它由一小部分完全并行化的代码和一小部分严格串行化的代码组成。我们调用并行代码 \varphi 的分数,其中,\varphi 是介于(包括) 0 和 1 之间的一个数字。这自动意味着我们的算法有一个等于 (1-\varphi) 的串行代码片段。 考虑 P 个活动进程的计算时间 T(P),从 P=1 开始,我们可以使用表达式 T(1) = T(1) \cdot(\varphi + (1-\varphi))。当运行 P 个进程时,代码的串行部分不受影响,但完全并行化的代码的计算速度将提高P倍。因此,P进程的计算时间为 T(P)=T(1) \cdot (\varphi / P + (1 -\varphi)),加速度为 S(P):=T(1)/T(P)=1/(\varphi/P+(1-\varphi))。 Amdahl 定律 这个表达式是Amdahl 定律的核心。对于不同的值 \varphi 和 P 绘制图 S(P) ,我们现在在下图中看到一些有趣的东西。 为可并行化代码的不同部分增加进程数的加速比。 对于 100% 并行化代码,极限是不存在的。然而,我们发现对于 \varphi<1,渐近极限或理论最大加速比为 S{max}(\varphi):=\lim{P\to \infty} S(P)=1/(1-\varphi)。 对于 95% 并行化的代码,我们发现 S{max}(0.95)=20,即使我们有无限数量的进程,最大加速也是 20 倍。此外,我们有 S{max}(0.9)=10, S{max}(0.75)=4, 和 S{max}(0.5)=2。当减少并行化代码的比例时,理论最大加速比会迅速下降。 但不要现在就放弃回家! Gustafson-Barsis 定律 Amdahl 定律没有考虑到一件事,那就是当我们购买一台速度更快、内存更大的计算机来运行更多进程时,通常不是想更快地计算之前的小模型。相反,我们想要计算新的、更大(更酷)的模型。这就是Gustafson-Barsis 定律的全部内容。它基于这样一个假设,即我们要计算的问题的规模随着可用进程的数量线性增加。 Amdahl 定律假定问题的大小是固定的。当添加新的处理器时,它们处理的是最初由较少数量的进程处理的部分问题。通过添加越来越多的进程,我们并没有充分利用所添加进程的全部能力,因为最终它们能够处理的问题大小达到了下限。然而,假设问题的大小随着添加的进程数量的增加而增加,那么我们就将所有进程利用到假设的水平,并且执行计算的加速是无限的。 描述这种现象的方程是 S(P)=\phi\cdot P-(1-\phi),这为我们提供了一个更为乐观的结果,即所谓的 缩放加速(类似于生产力),如下图所示: 当考虑到工作的规模通常会随着可用进程的数量而增加时,我们的预测就更加乐观了。 通信成本 Gustafson-Barsis 定律意味着,我们拥有的能添加到进程中的资源才能限制我们可以计算的问题的大小。然而,还有其他因素会影响加速。到目前为止,我们在这个系列博客中试图强调的一点是,通信成本较高。但是我们还没有谈到它有多贵,所以让我们看一些例子。 […]

分布式内存计算入门:定义、目的及原理

2014年 2月 20日

在“混合建模”系列的上一篇文章中,我们讨论了有关共享内存计算的基础知识:什么是共享内存、为什么使用共享内存,以及 COMSOL 软件如何在计算中利用共享内存。今天,我们将讨论混合并行计算的另一个组成分支:分布式内存计算。

共享内存计算入门:定义、目的及原理

2014年 2月 6日

几周前,我们发布了“混合建模”系列的第一篇博客文章,介绍了混合并行计算的含义,以及它是如何提高 COMSOL Multiphysics 运算效率的。今天,我们将简要探讨混合并行计算的一个组成部分——共享内存计算。不过在此之前,我们首先会解释“应用程序并行运行”的意义。此外,我们还将讨论何时以及如何在 COMSOL 软件中使用共享内存。

利用混合并行计算技术加速物理场仿真

2014年 1月 23日

二十年前,配备了多达 1000 个处理单元的向量处理器超级计算机在超级计算机 500 强中占据了统治地位。随着时间推移,大规模并行计算集群不仅迅速取代了向量超级计算机成为了榜单中的新霸主,同时还促使了分布式计算的兴起。集群的每个计算节点上最初只有一个专用于高性能计算的单核处理器,很快,人们针对需要共享内存的节点,增加节点上的处理器数量,并以这种具备内存共享能力的并行计算机为基础,开发出了多核处理器,满足了各类计算应用对高效算法的需求。再看今天的超级计算机 500 强排名,我们会发现当中大多数集群均由数量众多的计算节点组成,每个节点又包含多个插槽(socket),每个插槽连接着最多可达八核的多核处理器。并行计算是一种适用于共享内存计算系统的技术,与基于分布式内存的集群采用的并行计算技术全然不同。为了实现高效率的并行计算,我们需要一种两者并用(混合)的机制。


浏览 COMSOL 博客