Abaqus子程序开发
文章平均质量分 85
冬生亦东生
数值计算、机器学习、编程amateur
展开
-
Abaqus子程序:基础知识概述2
局部坐标系统最初可能是相对于零件坐标系统定义的,但根据给定的零件实例的定位数据进的坐标系统定义是用户子程序中使用的局部方向的定义。可以将实用程序包含在用户子程序中。单元的解依赖变量可以定义为这些子程序中出现的任何其他变量的函数,并且可以相应地更新。如果在分析中定义了由状态变量控制的元素删除,那么控制删除标志的状态变量的值可以由使用状态变量的任何用户子例程进行修改,前提是用户子程序在材料点处被调用。对于大多数子程序,需要在每个材料的材料定义中输入在点或节点处所需的这些变量的数量,以考虑依赖于解的状态变量。原创 2023-08-28 22:05:36 · 1184 阅读 · 0 评论 -
Abaqus子程序:基础知识概述1
在Abaqus/Standard 中,有时候需要建立运行时间环境并管理与外部数据文件之间的交互作用,或者与用户子程序连接中使用的并行进程之间的交互作用。或者可能为了后处理,需要将用户子程序中的COMMON 块变量所具有的在多个单元上积累得到的输出量,在一个收敛的增量末尾处写入到外部文件中。以便从堆而不是堆栈中分配内存。用户子程序必须执行它们的既有的功能,而不覆盖Abaqus 的其他部分。开发用户子程序时,在尝试将它们用于生产分析工作之前,最好在较小的示例中测试它们,其中用户子程序是模型中唯一复杂的方面。原创 2023-08-27 21:23:41 · 2284 阅读 · 0 评论 -
Abaqus二次开发之Fric子程序
NFDIR是摩擦力的方向分量个数)这些值作为摩擦应力分量的值传入,τα,并且必须更新为增量结束时的值。此外,子程序必须定义摩擦应力相对于γ1,γ2和p的派生(导数等),例如,在各向同性弹性粘附的情况下,∂τ1/∂γ1=∂τ2/∂γ2=kelas, ∂τ1/∂γ1=∂τ2/∂γ2=0 ,kelas是界面的弹性刚度。元素为 ∂Δτα/∂Δγβ 的数组,α方向的摩擦应力相对于β方向上的相对运动的偏导数,DDTDDG(1,1),DDTDDG(1,2),DDTDDG(2,1),DDTDDG(2,2)原创 2023-04-06 20:43:55 · 1085 阅读 · 2 评论 -
Abaqus二次开发之GETNODETOELEMCONN
此值对应于您的模型中自适应网格约束节点连接的元素的最大预期数量。GETNODETOELEMCONN将假定您的JELEMLIST和JELEMTYPE数组的长度为 NELEMS。(注意它与提供给程序的同名NELEMS的区别,我们传给程序一个假定值,程序返回一个精确值,用的相同名字)输出请求错误表示要求的变量不可用,或者您的 NELEMS 参数设置小于此节点处的元素连通性列表的长度。该数组中的条目数对应于 NELEMS 的返回值。描述 JELEMLIST 中每个元素条目相应的元素类型的元素类型标识符数组。原创 2023-04-06 20:48:01 · 365 阅读 · 3 评论 -
Abaqus子程序之Vuhard子程序
它以大写字符串的形式传入。和要求相对于适当的独立变量(如应变、应变率和温度)定义屈服应力(或组合硬化模型中的屈服表面尺寸)的导数。fieldOld(nblock,nfieldv) : 增量开始时材料点处的用户定义的场变量的值。fieldNew(nblock,nfieldv) : 增量结束时材料点处的用户定义的场变量的值。材料定义包括用户自定义的各向同性硬化或金属塑性的循环硬化的单元的所有材料点将会调用这个子程序。Nprops : 用户定义材料属性的用户指定数量(cae界面输入的材料属性的数量)原创 2023-04-06 20:49:58 · 1259 阅读 · 2 评论 -
Abaqus子程序之SDVINI
用户子程序定义的初始解相关状态变量场将被调用,以便在特定材料点、壳体截面点、接触次要节点或用户单元上进行计算(请参见“初始条件”)。最后给大家分享一个初始化解相关的状态变量,并在umat中更新的案例文件,公众号。解相关的状态变量按照它们在 SDVINI 中输入的顺序传递到这些程序中。用户定义的解相关的状态变量的数量(请参阅为解相关的状态变量分配空间)。对于任何没有定义初始条件的解相关的状态变量,返回零值。在其他用户子程序中使用解相关的状态变量。单元中的积分点编号(与用户单元无关)。第一个解相关的状态变量。原创 2023-04-16 00:13:05 · 989 阅读 · 0 评论 -
Abaqus子程序之UFIELD
允许您在模型的节点处规定预定义的场变量——可以单独更新节点处的预定义场变量,或者可以同时更新节点处的多个场变量;l每当出现用户子程序定义的场变量时调用;l忽略直接指定的任何场变量的值;l可用于修改从结果文件中读取的场变量值;l可以与用户子程序 USDFLD 结合使用,这样可以修改从 UFIELD 传入并插值到材料点的场变量(这种更改是材料点值的变化,节点场变量值不受影响)。原创 2023-05-06 21:34:24 · 882 阅读 · 0 评论 -
Abaqus子程序之UMAT
可用于定义材料的力学本构行为;建议在具有规定牵引(简单拉伸)载荷的单个元素模型上进行初始试验。将在材料定义包括用户定义的材料行为的元素的所有材料计算点调用;可用于包括力学行为的任何程序;可以使用依赖于求解的状态变量;对于力学本构模型,必须提供材料雅可比矩阵,C=(1/J)∂Δ(Jσ)/∂Δε可以与用户子程序USDFLD一起使用,以便于在任何场变量传入(uamt)之前重新定义它们;(1)所有情况都要定义的变量。原创 2023-05-09 00:13:33 · 6142 阅读 · 0 评论 -
Abaqus子程序之UTEMP
节点号 NODE 处的温度值数组。如果节点未连接到梁或壳单元,则仅需返回一个温度值 (NSECPT=1)。否则,要返回的温度数取决于为梁或壳截面选择的温度模式和场变量输入。以下情况是可能出现的:梁截面的温度和场变量作为梁截面描述中显示的点处的值给出。所需值的数量 NSECPT 由指定的特定截面类型确定,如梁截面库中所述。温度和场变量作为壳截面每一层的 n 个等距点的值给出。所需值的数量 NSECPT 等于 n。原创 2023-07-09 19:31:11 · 539 阅读 · 1 评论 -
Abaqus子程序单步调试技巧
对于一些复杂的子程序报错问题,尤其是代码量较大时,往往我们需要使用一些程序调试技巧,对于abaqus子程序的单步调试往往有以下优点:1.追踪代码执行流程:通过单步调试,可以逐行查看代码的执行顺序,了解代码是如何运行的。这对于理解代码的逻辑以及发现可能的错误非常有帮助。2.观察变量数值:单步调试允许我们在每个执行步骤中观察变量的数值。这可以帮助检查变量是否按照预期进行计算,是否存在错误或异常情况。3.检查条件和循环:通过单步调试,仔细检查代码中的条件判断和循环语句是否按照预期执行。原创 2023-07-23 22:11:48 · 1272 阅读 · 0 评论 -
Abaqus二次开发:部件、节点信息公用程序
本次为介绍Vfric摩擦子程序做下铺垫,下周末将会介绍一个稍微不太简单的教程。原创 2023-07-29 21:34:35 · 364 阅读 · 0 评论 -
Abaqus二次开发:Vfric摩擦子程序
(1)用于定义接触对表面之间的摩擦行为;(2)当经典库仑摩擦模型限制性太强且需要定义更复杂的接触面之间剪切传递时,可以使用;(3)必须提供接触面之间剪切相互作用的完整定义;(4)可以使用和更新与求解相关的状态变量;(5)不能与软化的切向表面行为结合使用;(6)不能与通用接触算法一起使用。主要内容1.调用方法2.用户子程序接口3.要定义的变量4.传递信息的变量5.案例讲解该数组必须更新为局部切线方向上所有接触点的摩擦力分量的当前值。重置之前此数组将为零(无摩擦力)。原创 2023-08-06 23:22:33 · 1487 阅读 · 0 评论