首页/文章/ 详情

PINN科研人的“开挂包”,终于找到了

39分钟前浏览47
想做PINN,但刚入门,读完Raissi那篇开山之作以后,还是不知道如何下手,github上的代码注释全是英文,看起来像天书?亦或是,已经入门,但创新完全没头绪,好不容易找到参考,还根本没代码?

你也有这些烦恼吗?那今天分享的这份PINN资料库,你一定别错过!

这份资料库,我一共整理了267篇必读文献和源码!既有最新的顶会顶刊;也有最好发 论文的前沿方向;此外,还给大家准备了有中文注释的代码项目和入门相关文献!

模块一:顶会顶刊90篇

这些文章覆盖了Nature、Science、ICLR、NeurIPS、ICML、ICCV、AAAI、ACL、KDD、IJCAI等顶会顶刊,原文和源码都有!

图片


通过这些文章,你能清楚的看到审稿人的口味变化,紧跟前沿,提高自己的中稿率!

模块二:好发 论文的方向111篇

主要给大家梳理了18个好出成果的方向,如果你还没有思路,完全可以从中选一个感兴趣的方向,直接跟进

图片


模块三:入门必备代码中文注释项目+文献66篇


给大家梳理了最适合初学者的项目,每一行代码都有中文注释

图片


且提供了经典必读论文,按照不确定性量化、元学习、区域分解等主题进行分类,覆盖流体力学、交通流、固体力学等多个领域……

图片



来源:有限元先生
科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-09-09
最近编辑:39分钟前
外太空土豆儿
博士 我们穷极一生,究竟在追寻什么?
获赞 46粉丝 48文章 119课程 0
点赞
收藏
作者推荐

做了10年Abaqus才敢说:非线性分析90%的失败,都因为这5个参数

十年前我刚入行做强度分析,第一次用Abaqus跑接触非线性,被虐得怀疑人生。模型明明是照着教程搭的,一求解就崩,改来改去折腾了两周,最后还是组长过来调了三个参数,十分钟就收敛了。那种感受,我相信很多同行都懂。后来我花了大量时间研究Abaqus非线性分析的底层逻辑,才发现——绝大多数不收敛问题,根源都在5个参数上。今天把这5个"坑"一次性说清楚,每一个都附带错误用法和正确做法,希望能帮你省下我曾经熬过的那些夜。先打好基础:Abaqus非线性分析的求解逻辑在Abaqus/Standard(隐式)中,非线性求解的核心机制是Newton-Raphson迭代。求解器将总载荷分解为多个增量步(Increment),在每个增量步内迭代寻找平衡状态,然后进入下一个增量步。不收敛的本质,就是求解器在指定的迭代次数内无法使残差(Residual)降低到收敛容差以下。而残差能否收敛,高度依赖于以下5个参数的设置是否合理。一条经验法则:如果你遇到不收敛,先不要怀疑软件有bug,也不要怀疑模型本身有问题。99%的情况下,问题出在参数设置上。这5个参数就是排查的起点。坑一:初始增量步设得太大初始增量步=1.0,一步到位❌常见错误:在Step模块中,将InitialIncrementSize设为1.0(即一个增量步走完整个载荷)。对于线性分析没问题,但非线性分析几乎必崩。✅正确做法:将初始增量步设为总载荷的1%-10%。具体数值取决于非线性的强度:·InitialIncrementSize:0.01~0.1(对应总载荷的1%-10%)·MinimumIncrementSize:1e-5~1e-8(给求解器足够的回退空间)·MaximumIncrementSize:0.1~0.5(防止步长过大跳过关键非线性点)一个实用的起步值:接触问题Initial=0.05,塑性问题Initial=0.1。如果模型还包含多体接触+塑性,建议降到0.01。判断方法:如果报错信息中出现"Toomanyattemptsmade"并且前几个增量步就失败,基本可以确定是初始增量步过大。把Initial从0.1降到0.01再试试,十有八九能过。坑二:接触属性只设了默认摩擦接触摩擦公式选错,收敛性天差地别❌常见错误:创建接触属性时,在TangentialBehavior中直接用默认的"Penalty"摩擦公式,摩擦系数随手写个0.3,也不管接触压力大小。✅正确做法:根据接触面的承载特点和收敛难度选择合适的摩擦公式:摩擦公式适用场景收敛特点Penalty(罚函数)大多数结构接触允许微量弹性滑移,收敛性好Static/KineticExponentialDecay橡胶密封、大滑移过渡平滑,收敛性最好LagrangeMultiplier(拉格朗日乘子法)高精度零滑移要求收敛最困难,谨慎使用Rough(粗糙接触)完全无滑移绑定等效于Tie约束,收敛稳定此外,设置一个合理的摩擦系数上限(ShearStressLimit),能有效避免因接触压力异常导致的虚假高摩擦应力。建议设为材料屈服应力的1/√3。特别警告:接触压力(ContactPressure)在加载初期往往急剧变化,此时摩擦应力公式容易产生震荡。一个实用的技巧是:在分析的第一步先建立稳定的接触(只施加很小的载荷),第二步再施加真实载荷。分两步走,收敛概率大幅提升。坑三:网格质量在变形后恶化大变形下过度畸变的单元——隐形杀手❌常见错误:用默认的C3D8I(线性六面体非协调模式)或C3D10(二次四面体)网格做超弹性或大变形分析,变形超过50%后单元严重畸变,求解器崩在某个增量步中间。✅正确做法:根据变形程度选择合适的单元类型:变形程度推荐单元理由<20%小变形C3D8I/C3D10精度高,计算快20%-100%中等变形C3D8R(减缩积分)+沙漏控制抗畸变能力强,沙漏可控>100%大变形C3D8RH(混合公式)+C3D10H抗畸变+不可压缩材料兼容超弹性材料(橡胶)C3D8H/C3D8RH/CGAX4H(轴对称)混合公式解决不可压缩锁死启用DistortionControl(在MeshControls中开启)可在单元畸变超过阈值时自动调整节点位置。同时建议在Step模块中开启AdaptiveMesh(ALE),让网格随着变形重新分布。自查方法:不收敛后进入Visualization模块,查看最后收敛的帧。如果某个区域的单元形状明显扭曲(内角超过150°或小于30°),那这就是不收敛的元凶。建议回Model模块对该区域重新划分,或者改用更高阶的AbaqusExplicit处理。坑四:材料模型参数与变形量级不匹配用了错的本构模型,参数再准也白搭❌常见错误:不管什么材料都上LinearElastic+Plastic,或者从论文里找个超弹性参数直接套用,完全不校验适用变形范围。✅正确做法:根据材料类型和预期变形量来选择本构模型,并确保试验数据覆盖实际变形范围:材料类型推荐模型数据要求金属(小应变<5%)Elastic+(Bilinear/Kinematic)PlasticE,ν,σy,Etan金属(大应变>5%)Elastic+MultilinearIsotropicHardening真实应力-应变曲线(≥5个点)橡胶类Neo-Hookean/Yeoh/Ogden(N=2~3)单轴/等双轴拉伸试验数据泡沫/多孔材料Hyperfoam/CrushableFoam不同加载方向压缩试验粘弹性材料(阻尼分析)PronySeries/Viscoelastic蠕变或松弛试验一个常见的判断失误:金属的大变形分析(如铁锤冲击、螺栓拉伸至颈缩),用双线性模型(Bilinear)的切线模量在整个塑性阶段保持常数,当真实应变超过最后一个数据点时,硬化趋势严重偏离实际,导致应力低估或高估,进而影响收敛路径。建议改用多线性随动强化(MultilinearKinematicHardening)。数据自检清单:1.塑性数据:真实应力-应变点是否单调递增?最后一组应变值是否覆盖了预期最大应变?2.超弹性数据:试验数据是否覆盖了分析中的变形范围?外推区域是否合理?3.所有数据中的应变值都是从塑性应变开始计入,不含弹性应变,这点极易出错。坑五:模型缺少足够的约束,出现刚体位移刚体位移——最容易被忽视的"秒崩"原因❌常见错误:在Assembly中对齐了零件,设了接触,但忽略了某个零件在某个自由度上没有被约束。求解器一启动,零件就飞出去了,第一个增量步就报错。✅正确做法:在提交分析前,逐一对每个零件进行自由度检查(DOFAudit):1.在Interaction模块中检查每个接触对是否建立了正确的法向和切向约束2.在Load模块中确认每个零件至少有1-3个自由度被约束(或通过接触传递约束)3.使用ModelCheck功能(Tools>ModelCheck)自动检测刚体运动对于复杂装配体,一个实用的技巧是:在第一个分析步中只建立接触(零载荷),让所有零件在接触约束下"安顿"好。如果在第二步施加载荷时还出现刚体位移报错,说明某对接触面在加载方向上缺失初始接触。一个"代偿"技巧:在第一次运行时,可以临时开启AutomaticStabilization(在Step模块的Other中),Abaqus会在不稳定的自由度上自动施加粘性阻尼。但这只是应急手段,最终还是要找到并修复缺失的约束。稳定化系数建议从1e-4起步,结果中出现的粘性耗散能量应远小于总内能。图1:接触设置错误是Abaqus非线性分析不收敛的头号原因一个完整的排查流程当你下一次在Abaqus/Standard中遇到不收敛时,按这个顺序排查:Abaqus非线性收敛5步排查法1.第一步:看Message文件—打开.msg文件,找到最后一次增量步的残差信息。残差震荡→检查接触;残差持续增大→检查网格畸变或增量步。2.第二步:调增量步—把Initial增量步降到0.01-0.05,Maximum降到0.1,重新提交。如果通过了,说明问题就是步长太大。3.第三步:检查接触—确认摩擦公式不是Lagrange(建议先用Penalty排查),确认接触检测面方向正确,确认初始间隙在合理范围内。4.第四步:检查网格—在Visualization中查看最后收敛帧的单元形状。如果某区域单元严重畸变,改用C3D8R或ALE网格。5.第五步:检查约束—运行ModelCheck看是否有刚体运动警告。如有,检查每个零件的自由度约束。图2:参数调优后,Abaqus非线性分析可以得到高质量、物理合理的应力结果写在最后很多人觉得Abaqus非线性分析难,其实不是因为Abaqus不好用,而是因为非线性问题本身就是"非直觉"的——线性思维下合理的参数,在非线性世界里可能恰恰是死路。这5个参数,与其说是"技巧",不如说是非线性分析的基础认知框架。理解了它们背后"为什么"会出问题,你就能从"调参试错"升级到"预判并规避"。来源:有限元先生

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