USDFLD目录

  • 前言
  • 显式解的依赖性
  • 定义场变量
  • 访问材料点数据
  • 状态变量
  • 用户接口
  • 需要定义的变量
  • 可更新的变量
  • 传入子程序的变量

前言

  • 允许您定义一个材料点的场变量作为时间或输出变量标识符表中列出的任何可用的材料点数量的函数(使用Abaqus/标准输出变量标识符),用户定义的输出变量UVARM和UVARMn除外;
  • 可用于引入与解依赖的材料性质,因为这些性质容易被定义为场变量的函数;
  • 将在用户定义场变量的单元的所有材料点调用;
  • 必须调用辅助程序GETVRM来访问材料点数据;
  • 可以使用和更新状态变量;
  • 可以与用户子程序UFIELD一起使用来指定预定义场变量。

显式解的依赖性

由于此程序仅在增量开始时提供对材料点数量的访问,因此以这种方式引入的解依赖关系是显式的:给定增量的材料属性不受增量期间产生结果的影响。因此,该结果的准确性取决于时间增量的大小。所以您可以通过变量PNEWDT来控制这个程序中的时间增量。

定义场变量

在调用子程序USDFLD前,通过在节点上定义的值进行插值来计算材料点上场变量的值。子程序中对材料点场变量的任何更改都是局部的:节点场变量保留定义为初始条件、预定义场变量或子程序UFIELD中的值。该程序中定义的场变量用于计算材料属性,这些属性定义依赖于场变量,并可以传递给在材料点调用的其他子程序,例如:

  • CREEP
  • HETVAL
  • UEXPAN
  • UHARD
  • UHYPEL
  • UMAT
  • UMATHT
  • UTRS

用户定义的场变量在材料点的输出可以通过单元集成点输出变量FV(参见元素集成点变量)获得。

访问材料点数据

您可以通过在Abaqus/Standard分析中获取材料点信息的辅助程序GETVRM,来访问增量开始时(或线性扰动步骤中的基态)的材料点数量。通过使用适当的输出变量关键字来调用GETVRM来获得材料点数量。材料点数据在数组ARRAY、JARRAY和FLGRAY中提取,分别为浮点、整数和字符类型。您可能无法获得在增量开始时未定义的一些材料点数量;例如,ER。

状态变量

由于USDFLD中场变量的重新定义对于当前增量来说是局部的(场变量被还原为从每个增量开始的节点值插值而来的值),因此使用此子程序更新材料属性所需的任何历史依赖关系都必须使用用户定义的状态变量引入。
状态变量可以在USDFLD中更新,然后传递到其他能够在该材料点调用的子程序中,比如上面列出的那些。您可以指定这种状态变量的数量,如本节末尾的示例所示(另请参阅解依赖的状态变量分配空间)。

用户接口

      SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
CINCLUDE 'ABA_PARAM.INC'
CCHARACTER*80 CMNAME,ORNAMECHARACTER*3  FLGRAY(15)DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),1 T(3,3),TIME(2)DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)user coding to define FIELD and, if necessary, STATEV and PNEWDTRETURNEND

需要定义的变量

  • FIELD(NFIELD)
    当前物质点中包含场变量的数组。根据初始条件、预定义场变量或子程序UFIELD指定,该数组与从当前增量末尾的节点插值的值一起传入。该插值采用与温度插值相同的方案:线性单元使用平均值;二次单元使用线性近似(见固体(连续)单元)。更新后的值用于计算依赖于场变量的材料属性,并被传递到在此物质点调用的其他子程序中(CREEP、HETVAL、UEXPAN、UHARD、UHYPEL、UMAT、UMATHT、UTRS)。

可更新的变量

  • STATEV(NSTATV)
    包含解依赖状态变量的数组,作为增量开始时的值传入。在任何情况下,STATEV都可以在此子程序中更新,更新的值在调用该物质点时被传入其他子程序(CREEP、HETVAL、UEXPAN、UMAT、UMATHT、UTRS)。与此物质点相关的状态变量的数量在与解依赖状态变量分配空间中定义。
  • PNEWDT
    建议的新时间增量与正在使用的时间增量的比值(DTIME,下文定义)。该变量允许您为ABAQUS/STANDARD中的自动时间增量算法提供输入(如果选择了自动时间增量功能)。
    PNEWDT在每次调用USDFLD之前设定为大数。
    如果PNEWDT小于1.0,Abaqus/Standard必须放弃当前时间增量,并尝试使用更小的时间增量。自动时间增量算法中新的时间增量使用PNEWDT × DTIME求得,其中PNEWDT是对允许在当前迭代中重新定义PNEWDT的所有子程序调用中的最小值。
    如果PNEWDT在迭代中对所有子程序调用都赋予大于1.0的值,且该迭代收敛,则Abaqus/Standard可能会增加时间增量。自动时间增量算法中新的时间增量同样使用PNEWDT × DTIME求得,其中PNEWDT是在该迭代所有子程序调用中的最小值。
    如果分析时未选择自动时间增量,PNEWDT大于1.0时会被忽略,而PNEWDT小于1.0时将会导致进程终止。

传入子程序的变量

  • DIRECT(3,3)
    用全局基准方向表示的包含物质方向的方向余弦数组。DIRECT(1,1), DIRECT(2,1), DIRECT(3,1)表示第一个物质方向的(1,2,3)分量,DIRECT(1,2), DIRECT(2,2), DIRECT(3,2)表示第二个物质方向的相应分量,等等。对于壳单元和膜单元,前两个方向在单元平面内,第三个方向为法线方向。此变量不用于梁单元。
  • T(3,3)
    包含物质方向分量相对于单元基准方向的方向余弦数组。该方向用来定义在单元基准方向下的物质方向(DIRECT)。对于连续单元,T和DIRECT是相等的。对于壳单元和膜单元,T(1,1)=cosθ,T(1,2)=-sinθ,T(2,1)=sinθ,T(2,2)=cosθ,T(3,3)=1.0,其余分量均为零,其中θ是围绕定义方向的法向的逆时针旋转角度。如果不适用方向,则T是单位矩阵。此变量不适用于梁单元。
  • CELENT
    特征单元长度。这是一阶单元中穿过单元的典型线长度;它是二阶单元的一半。对梁和桁架,它是沿单元轴向的特征长度。对膜和壳体,它是参考面上的特征长度。对轴对称单元,它仅是(r,z)平面的特征长度。
  • TIME(1)
    当前增量开始时的步长。
  • TIME(2)
    当前增量开始时的总时间。
  • DTIME
    时间增量。
  • CMNAME
    用户指定的材料名称,左对齐。
  • ORNAME
    用户指定的局部方向名称,左对齐。
  • NFIELD
    在该物质点定义的场变量数量。
  • NSTATV
    用户定义的解依赖状态变量的数量(见解依赖的状态变量分配空间)。
  • NOEL
    单元数。
  • NPT
    积分点数。
  • LAYER
    层数(对复合材料壳和层合实体)。
  • KSPT
    当前层选中的点数。
  • KSTEP
    步数。
  • KINC
    增量数。
  • NDI
    当前点的正应力分量数。
  • NSHR
    当前点的剪应力分量数。
  • COORD
    当前物质点的坐标。
  • JMAC
    必须传递给GETVRM来访问输出变量的变量。
  • JMATYP
    必须传递给GETVRM来访问输出变量的变量。
  • MATLAYO
    必须传递给GETVRM来访问输出变量的变量。
  • LACCFLA
    必须传递给GETVRM来访问输出变量的变量。

——仅做学习使用,如有侵权请联系本人删除。

子程序说明文档翻译——USDFLD相关推荐

  1. Abaqus与Ansys的区别和不同, 两种软件哪个更好?

    Abaqus 和 ANSYS 都是用于有限元分析 (FEA) 和计算机辅助工程 (CAE) 的软件包.这两个软件包都用于分析和模拟工程结构和机械部件在各种负载条件下的行为. Abaqus 和 ANSY ...

  2. abaqus和ansys做仿真哪个更好

    当你要模拟仿真一个机械模型时,通常会听到ABAQUS或ANSYS,最常见的问题是哪个更好?无论是工程设计师还是初学者,通常会问这个问题或类似的问题.在本文中介绍了 Abaqus 与 Ansys,您将了 ...

  3. Abaqus用户子程序umat的学习

    Abaqus用户子程序umat的学习 说明:在文件中,!后面的内容为注释内容.本文为学习心得,很多注释是自己摸索得到.如有不正确的地方,敬请指正. ! ------------------------ ...

  4. ABAQUS用户子程序一览表

    说明 ABAQUS用户子程序一览表 ABAQUSStandard subroutines Refence 说明 本系列文章本人基本没有原创贡献,都是在学习过程中找到的相关书籍和教程相关内容的汇总和梳理 ...

  5. 联合使用Hetval和USDFLD模拟三维编织复合材料冲击损伤生热

    三维编织复合材料具有复杂的细观结构,附件文献对三维编织复合材料冲击损伤生热进行了细致的研究.他们分别建立了树脂基体和纤维束,再进行几何体的组装,如下图所示: 用这种方式建立的三维模型,建模比较复杂,网 ...

  6. abaqus子程序开发学习笔记

    子程序开发 vs使用 fortran语法 DLOAD DFLUX 位移边界条件子程序DISP 子程序接口 一个例子 应用实例 3.获取积分点信息工具子程序VGETVRM(显示分析) 4.重定义场变量子 ...

  7. umat怎么调用uexpan_ABAQUS子程序UMAT里弹塑本构的实现 -

    (3)对于不同的用户子程序ABAQUS调用的时间是不同的,有的是在每个STEP 的开始,有的是STEP的结尾,有的是在每个INCREMENT的开始等等.当ABAQUS 调用用户子程序时,都会把当前的S ...

  8. Vusdfld\vumat等显示动力学子程序获取单元编号的一种方法

    在编写vusdfld\vumat等子程序的时候,有时需要知道单元编号,以便对单元直接赋值,不同于usdfld,umat子程序,他们的单元编号信息会传入子程序中.但是显示动力学对应的子程序传入的是积分点 ...

  9. 子程序调用与宏定义的异同_如何用数控系统进行简单的宏程序调用?老师傅告诉你,用G65就行...

    什么是简单调用?很多人都不知道吧,如果想要深入操作宏, 就先要学会变量,学会变量之担,再去操作宏,就会变得非常的简单,今天给大家分享如何用G65进行简单的宏程序调用. 用户宏的简单宏调用是指在主程序中 ...

最新文章

  1. IOS开发怎么UINavigationController设置title标题的颜色?
  2. angular 示例项目
  3. ng-content的一个实际例子
  4. jetty部署多个web应用及将jetty配置成服务
  5. 西湖大学生命学院章永登实验室 (超分辨成像)科研团队招聘启事
  6. TextView 内容居中
  7. C++中const的一些知识点
  8. 构造函数与析构函数的重载及浅拷贝和深拷贝
  9. 【SORT系列】SIMPLE ONLINE AND REALTIME TRACKING
  10. 玩水——西沙:在海的远处,水是那么蓝那么清
  11. Epub电子书的格式(二)
  12. 第十八章 计算机取证
  13. Android源码目录结构分析
  14. 计算机桌面点击无反应,电脑屏幕点击没反应是怎么回事
  15. 百度css3背景图代码,CSS3 实现花式背景图案
  16. [Python] 制作超级玛丽游戏
  17. Hello Jexus
  18. 用美图秀秀批量等比处理图片宽度
  19. 山水之道第二境——精灵的世界之城
  20. 音频编辑开发SDK Audio DJ Studio for .NET Crack

热门文章

  1. 姚舜:你曾经拼命努力过,哪怕一次吗?
  2. 基于用户画像的电影推荐系统论文
  3. 大众文艺杂志大众文艺杂志社大众文艺编辑部2022年第9期目录
  4. hdu 5671(模拟)
  5. 马云:无论被拒绝多少次,请相信自己
  6. 移动互联网的未来发展趋势
  7. Android进阶之路 - 批量下载、缓存图片、视频
  8. 【统计技术】运营商数据:三大运营商2012年1月手机用户数据
  9. 20 美元的宜家台灯算力有多强?运行《毁灭战士》操作丝滑,最初竟是受假新闻启发...
  10. 现实迷途 第十七章 柳暗花明