不需要安装大型软件,也不需要预先生成网格。打开浏览器,画出几何,EasyVEM 就能基于背景网格自动构造计算网格,并继续完成边界条件设置、求解和结果显示。
在有限元或虚拟元方法的学习、研究和程序验证中,我们经常需要走完一套完整流程:建立几何、划分网格、定义材料、添加边界条件、求解,再查看结果。
其中,几何处理和网格生成往往占据了不少时间。对于需要频繁修改模型、测试算法或演示数值方法的人来说,如果每次都要在多个软件之间切换,原本简单的算例也会变得繁琐。
EasyVEM 正是为这个场景设计的。
它是一款基于网页的二维虚拟元计算工具。用户可以直接在画布中绘制多边形几何,程序根据背景网格切分出计算网格。之后,几何、网格、物理场、边界条件、求解和后处理都在同一个页面内完成。
目前程序可以跨平台运行,在Windows, Mac, 手机端都可以直接操作计算。对于教学演示、简单算例和算法验证,打开网页即可开始建模。
EasyVEM 的建模过程很直接:在画布中依次点击几何顶点,闭合多边形后,程序会自动调用当前背景网格生成计算网格。
当前支持三种背景网格:
通过裁剪背景网格,可以直接得到用于计算的多边形网格,而虚拟元法最适合求解多边形网格。
通过调整网格尺寸,可以快速比较不同离散尺度下的结果。绘图时还可以启用 Snap to grid,使节点自动对齐背景网格;节点坐标也可以在表格中直接修改。
EasyVEM 当前提供以下物理接口:
用于求解二维泊松方程,可设置扩散系数、源项、Dirichlet 边界条件和 Neumann 边界条件。
其控制方程为:
边界条件可写为:
其中, 为待求标量场, 为扩散系数, 为源项, 为边界外法向量, 和 分别表示给定的场值与法向通量。
采用一阶虚拟元格式,材料参数使用杨氏模量 E 和泊松比 ν,并支持平面应力与平面应变模型。
小变形线弹性的平衡方程、应变关系和本构关系分别为:
相应的位移和力边界条件为:
其中, 为位移, 为小应变张量, 为 Cauchy 应力, 为体力, 是由 、 以及平面应力或平面应变假设确定的弹性张量。
采用一阶虚拟元格式和经典 Neo-Hookean 本构,材料参数使用 Lamé 参数 λ 和剪切模量 μ。求解过程采用固定载荷步和 Newton 迭代,并可实时查看每一步的非线性残差。
在参考构形 中,有限变形平衡方程写为:
其中,变形梯度、右 Cauchy-Green 张量和体积比为:
EasyVEM 当前采用可压缩 Neo-Hookean 模型,其二阶 Piola-Kirchhoff 应力为:
参考构形下的边界条件为:
这里, 和 分别为第一、第二 Piola-Kirchhoff 应力, 为参考构形的边界外法向量。由于材料和几何关系均为非线性,程序通过增量加载和 Newton 迭代求解平衡方程。
在 Model 页面切换物理接口时,当前控制方程会直接显示在参数区,便于确认正在求解的问题。
点击 Compute 后,程序会在浏览器中完成组装和求解,并自动切换到结果视图。
网格和计算结果均可导出为 JSON 文件,便于进一步检查、调试或在其他程序中处理。
从几何到结果,整个过程都在同一个浏览器页面中完成。
EasyVEM 目前更适合作为轻量级计算、教学演示和研究验证工具:
当前版本聚焦二维单连通多边形区域,力学部分采用一阶格式。较大规模模型仍建议使用桌面端程序或专业计算平台,并对关键结果进行独立验证。
这个名字表达了项目最直接的目标:让 VEM 的建模与计算过程更容易接近、更方便操作,也更适合通过网页分享。
EasyVEM 并不试图替代大型通用仿真软件。它更像一个轻量、透明、可以快速试算的 VEM 工作台:少一些安装和前处理,多一些对几何、网格、边界条件与计算结果本身的关注。
体验地址:[https://vemhub.github.io/EasyVEM/]
如果你正在学习虚拟元方法,或者希望用浏览器快速建立一个二维 VEM 算例,欢迎试用 EasyVEM,也欢迎反馈你最希望加入的功能。
徐兵兵,香港科技大学博士后。主要研究方向:虚拟元法,非线性力学仿真,接触力学,软件开发。