首页/文章/ 详情

多晶塑性任意复杂网格周期性边界的施加

6月前浏览426

    多晶材料的宏观性能来自内部晶粒与晶界的复杂相互作用,而我们在计算中只能截取有限大小的 RVE。如果边界处理不当,RVE 的响应会被“边界效应”主导:例如边界过度约束导致材料显得过硬,或边界过度自由导致材料显得过软,甚至出现非物理的应变局部化或旋转模态。这种误差会直接影响应力–应变曲线、各向异性参数(如 R 值)、晶粒内应变分布和损伤起裂位置等关键结论。

    周期性边界条件的目标是:让 RVE 的对边在变形上保持一致性,使得 RVE 在数值上可看作“无限周期平铺”的材料内部单元,从而在有限计算域内尽可能逼近真实材料内部的连续性与统计代表性。尤其对于多晶结构,周期性边界能显著降低边界引入的偏差,使 RVE 对晶粒数、晶粒形貌与取向统计的敏感性更可控。

    周期性边界的核心思想是“对边协同变形”。直观理解:如果把 RVE 沿三个方向无限重复拼接,那么相邻两个单元在拼接面上的位移与变形必须连续,否则材料会出现裂缝或重叠。因此,在周期性条件下,RVE 的一对相对边界(或面)需要满足两点:(1)波动位移在对边相同:也就是去掉宏观均匀变形后,剩余的局部起伏在对边要匹配;(2)宏观应变通过对边位移差来体现:对边的位移差对应外加的平均变形(例如单轴拉伸、剪切等)。这样,RVE 内部既允许存在晶粒尺度的不均匀变形与应力波动,又保证了边界处与“相邻单元”拼接时的兼容性,从而实现对无限材料内部行为的合理近似。

    在很多工程实现里,周期性边界常依赖“节点一一对应”:要求相对两边(两面)具有严格相同的网格拓扑与节点分布。为了满足这一点,建模时往往需要:在几何上确保边界严格对齐;在网格上强制生成周期匹配节点;甚至为满足配对而牺牲局部网格质量。

    对多晶模型而言,这带来一个典型问题:边界锯齿形。当晶粒形貌复杂、晶界曲折或需要局部加密网格时,为了保持对边节点对应,边界常被迫变成“阶梯状”的几何近似。这会引入额外的几何误差与数值误差:边界附近应力集中被人为放大、局部刚度出现非物理变化,甚至影响裂纹萌生与剪切带路径判断。对于包含第二相、孔洞、夹杂或复杂晶界网络的模型,这类局限更突出。

“非匹配网格下的周期性边界”要解决的关键就是:相对两面不再要求节点一一对应。其基本做法是将对边位移连续性从“节点对节点”提升为“点对面/面到面”的映射关系:对边某一点的位移可以由另一侧面上相邻单元的插值来表示,从而建立周期性约束,这带来的价值非常直接:

  1. 不牺牲网格质量:可以在需要的区域加密、在晶界处优化单元形状,而无需为了配对去迁就对边节点;

  2. 适配真实复杂几何:晶粒边界、第二相形状、孔洞等可以更自然地离散,减少“锯齿边界”带来的假象;

  3. 提升建模效率:无需反复调网格去满足周期配对,显著降低前处理成本;

  4. 更稳健的多物理耦合:对相场裂纹、扩散–力学耦合、损伤演化等,边界几何与网格质量常是结果可靠性的前提,非匹配 PBC 能提供更通用的边界框架。

简言之:它把周期性边界从“依赖网格结构的技巧”变成“适用于任意网格的通用约束能力”,让多晶模拟在复杂微结构问题上更可扩展、更可复用。

这里展示使用“非匹配网格下的周期性边界”的二维和三维复杂模型的非体素网格的周期性模拟结果:

二维模型:

拉伸变形结束后的模拟结果:

等效应力分布:

累计剪切滑移:


三维模型:

拉伸变形结束后的模拟结果:

等效应力分布:

累计剪切滑移:

周期性位移确认:

位移U2:

位移U3:

可以看到,位移分布特征(镜像)具有完美的周期性特征

来源:我的博士日记
通用裂纹材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-02-05
最近编辑:6月前
此生君子意逍遥
博士 签名征集中
获赞 62粉丝 130文章 153课程 0
点赞
收藏
作者推荐

damask 子程序在windows平台直接编译使用

前面介绍了damask2.03版本和abaqus配合使用,以及damask3.0版本和marc配合使用的案例介绍,当前推文的主要介绍如何把damask子程序正确移植到windows平台下并被abaqus正确调用,把 DAMASK 跑在 Windows 上这件事,看起来像是在“折腾编译环境”,但它真正的价值并不是让程序“能跑”,而是让晶体塑性与位错密度这类微观机制模型真正进入一个更高效、更可复现、更贴近工程实际的工作流。很多材料模拟研究者和工程仿真团队的日常平台其实仍然以 Windows 为核心:Abaqus/CAE 的建模、网格与接触边界设置,实验配套软件(EBSD 取向处理、DIC 应变场分析、显微图像工具)、常用的脚本与可视化流程往往都围绕 Windows 生态展开。如果 DAMASK 必须依赖 Linux 才能稳定使用,那么在实际科研中就不可避免地出现“系统割裂”:前处理在 Windows、计算在 Linux、后处理又回到 Windows,过程中伴随文件搬运、路径差异、编码与环境变量问题、版本与库依赖不一致等大量隐性成本,而晶体塑性研究偏偏又是高频迭代的工作——要不断修改材料参数、控制文件、微结构与纹理、加载路径,再反复校准与验证。把 DAMASK 在 Windows 下稳定编译并能直接接入 Abaqus 的 UMAT/VUMAT,本质上是把“建模—计算—后处理—实验对比—模型迭代”的闭环放进同一套系统里,减少无意义的迁移,让时间回到真正决定论文质量与工程可信度的环节:模型、数据与物理机制。对科研而言,这种一致性最直接的收益就是迭代速度变快、复现更可靠:同一个工程文件夹里同时管理 Abaqus 输入、DAMASK 的材料与控制文件、纹理与微结构配置、以及 Python 后处理脚本,不再需要为了跑一次材料点或者做一次参数拟合而准备另一套系统环境;对实验对比而言,Windows 上更成熟的 EBSD/DIC/显微分析工具链能与仿真输出更紧密地衔接,纹理导入、局部应变场对比、参数反演与不确定性评估都更顺畅;对工程落地而言,Abaqus 强大的接触、复杂边界、几何非线性与多物理耦合能力可以与 DAMASK 的微观本构优势直接结合,使微结构机制模型不再停留在“材料点验证”,而是更容易走向复杂构件与真实工况的结构仿真;对团队协作而言,Windows 环境的普及度更高,能显著降低新同学入门门槛与组内维护成本,环境文件、编译命令与目录结构一旦标准化,新成员拿到模板工程就能复现结果,这会把 DAMASK 从“少数人能用的高手工具”变成“团队可复 制的生产力平台”。因此,做这件事的意义并不是证明 Windows 也能跑 DAMASK,而是让晶体塑性与位错密度模型在主流工程仿真与实验数据生态中更容易被调用、被验证、被迭代,并最终更接近可复现、可交接、可落地的研究与工程实践。再尝试编译过程中尝试了大量的damask版本,发现2.02和2.01版本最适合作为移植到abaqus的软件版本,原因是2.03虽然作为最后一个支持abaqus求解器的版本,然而当前版本不支持显示求解器,因此为了方便后期的动态求解问题,不适合使用,同时2.0以前的damask版本相应的功能虽然已经满足,但是存在各类不易轻易发现的bug,严重影响移植过程,同时damask移植过程中涉及到并行计算的问题,damask的子程序写法对并行计算支持度一般,且存在大量的数值读取和写出,严重影响多核心并并行计算,因此建议调试时使用单核心进行,移植到windows下支持的编译器和Fortran版本也有显著差异,当前使用vs2017,Fortran2019,abaqus2022发现可以正常使用计算。对damask在windows下编译感兴趣的可以下载相应版本的abaqus尝试编译和运行。damask在windows下使用的案例效果如下:在编译过程中测试了下图所示的案例,分别是BCC铁,位错密度模型,FCC铝,HCP镁合金,HCP钛合金,各项同性的粘塑性模型,taylor模型等以及动态显示vumat的实现,发现运行结果良好,计算效率相较于linux平台要稍快一些,指的注意的是,当前采用单核心计算,在后续的过程中会对整体的damask代码进行完整的重构,充分支持多核心并行计算,即运算效率会显著提到,运行效果如下:同一个目录下包含如下文件预编译为OBJ格式可以显著较少每次编译所消耗的时间,使用包含200个晶粒进行拉伸拉伸测试,验证程序的可靠性运行过程中,会生成包含输出变量含义的三个文件整体运行结束需要的时间。单位统一使用m,pa,运行结束后的应力分布应变分布晶粒旋转角度分布使用欧拉角作为输出,变形结束后的极图分布(初始随机取向):相应结果和linux平台下的进行了详细对比,结果保持一致。来源:我的博士日记

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈