Abaqus-USDFLD使用教程

上传人:gbs****77 文档编号:10634648 上传时间:2020-04-13 格式:DOCX 页数:30 大小:1.20MB
返回 下载 相关 举报
Abaqus-USDFLD使用教程_第1页
第1页 / 共30页
Abaqus-USDFLD使用教程_第2页
第2页 / 共30页
Abaqus-USDFLD使用教程_第3页
第3页 / 共30页
点击查看更多>>
资源描述
user subroutines l4 usdfld 课件 目录 引言 3 Abaqus 的使用 3 定义场变量相关的材料属性 3 在用户子程序内定义场变量 3 定义场变量 4 访问积分点上的计算数据 4 显式方法 vs 隐式方法 4 使用解相关的状态变量 Solution Dependent State Variables SDVs 4 用户子程序 GETVRM 4 GETVRM 子程序界面 4 提供给 GETVRM 的变量 5 GETVRM 返回的变量 5 GETVRM 所支持的单元 5 USDFLD 子程序界面 5 需定义的变量 6 可能被定义的变量 6 变量信息 6 USDFLD 与自动时间增量 7 实例 层状复合板失效 7 材料模型 8 基体拉伸开裂 9 基体压缩开裂 9 纤维 基体剪切失效 9 部分输入数据 10 用户子程序 10 结果 10 备注 10 1 1 49 USDFLD User subroutine to redefine field variables at a material point 11 参考文献 11 概述 11 明确的解依赖性 11 定义场变量 11 访问材料点数据 12 状态变量 12 用户子程序界面 12 定义的变量 12 能够更新的变量 12 传递信息的变量 13 实例 损伤弹性模型 14 2 1 6 Obtaining material point information in an Abaqus Standard analysis 15 参考文献 15 概述 15 界面 16 提供给实用程序的变量 16 从实用程序中返回的变量 16 可用的输出变量钥匙 16 返回分量的顺序 16 返回值的分析时间 17 返回值的平衡状态 17 实例 17 访问状态依赖变量 17 不支持的单元类型 进程与输出变量钥匙 17 引言 通常使用用户子程序 USDFLD 当需要对复杂材料行为建模与用户不想要使用 UMAT 子程序时 在 ABAQUS Standard 中的大多数材料属性可以被定为场变量的函数 子程序 USDFLD 允许在单元的每个积分点定义 子程序可以访问计算结果数据 因此 材料属性可以是计算结果数据的函数 子程序 USDFLD 只能使用在具有 Material 选项的材料属性的单元 详见 p L4 18 页上 GETVRM 所支持的单元 Abaqus 的使用 在模型中 与 DLOAD 和 FILM 子程序相比 包括 USDFLD 在内的子程序需要付出更多的努力 通常用户必须定义材料属性的依赖性 例如弹性模量或屈服应力 作为场变量的函数 这可以通过表格输入或额外用户子程序来完成 使用子程序 USDFLD 来在积分点上定义的值 在材料定义中包括了 USER DEFINED FIELD 选项 这表明对于使用材料定义的这些单元来说 USDFLD 子程序可以使用 可以被定义为在积分点上有的计算结果数据的函数 例如应力 应变 定义场变量相关的材料属性 这里有两种方法 能够定义场变量相关的材料属性 对于 Abaqus 内置的材料模型 使用表格定义方式 使用其他用户子程序来定义材料属性为的函数 例如蠕变 CREEP 表格定义 使用在材料选项上 DEPENDENCIES 选项来指定对于给定材料选项存在有多少不同场变量 弹性模量 E 是场变量 1 的函数 当 增加 E 减少 可以代表材料的损伤 1 1 1 热膨胀系数是 与场变量 2 的函数 1 2 值的改变都会影响弹性模量 E 与热膨胀系数 1 Abaqus 在表格输入的数据点间将使用线性插值 当 超过了指定范围将使用最后一个数据点 它不会对数 据外推 对于每一种材料属性 的范围不必须是一样的 在用户子程序内定义场变量 将定义在 USDFLD 中的 值传递到下列用户子程序内 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT UTRS UINTER 定义在这些子程序内的材料属性可以是 的函数 定义场变量 Abaqus 通常认为场变量 是节点数据 当 Abaqus 开始计算单元应力与刚度时 例如 一个单元循环 它将对节点数据 插值到单元的积分点 当使用子程序 USDFLD 时 在计算单元的材料属性前 定义在子程序 USDFLD 中的这些数值将取代了插值 Abaqus 并不存储 USDFLD 定义的这些数值 如果你需要访问先前的值 你必须在 USDFLD 中把他们存储为相关解变量 solution dependent variables SDVs 假如你绕过 USDFLD 子程序 可能因为在给定步中材料属性不会改变 积分点将使用 的差值 通常 这些差值 是分配给节点的最初值 假如没有明确给定最初值 在 Abaqus 会默认为 0 当定义材料属性时使用差值 很可能会造成不正确的结果 确保你知道 Abaqus 在干什么 可以使用输出变量 FV 分别在 EL PRINT EL FILE 与 ELEMENT OUTPUT 选项上将单元积分点上 的值输 出到 dat 文件 file 文件与 odb 文件 ABAQUS Viewer 能够绘制 FV 的轮廓图 访问积分点上的计算数据 ABAQUS Standard 允许定义 为积分点上计算数据的函数 如应力 应变 这些提供的计算数据值是从当前增量的开始 子程序 USDFLD 必须能够使用 ABAQUS 实用程序 GETVRM 来访问材料积分点数据 显式方法 vs 隐式方法 既然 USDFLD 子程序只有在增量步开始访问材料积分点值 以这种方式介绍的解决方案是显式的 在给定增量下材料属性不受此增量内结果的影响 因此 结果的精度依赖于时间增量大小 因此 用户能通过变量 PNEWDT 来控制 USDFLD 子程序中的时间增量 对于大多数非线性材料行为 如 塑性 ABAQUS Standard 在当前增量步结束时将使用隐式积分方法来计算材料属性 这种隐式积分方法使得 ABAQUS Standard 可以使用任何时间增量 然而依然是有条件的 使用解相关的状态变量 Solution Dependent State Variables SDVs 如果 有任何历史依赖性 在 USDFLD 中必须使用 SDVs ABAQUS Standard 不会在 USDFLD 中存储 的值 将在 USDFLD 中更新的 SDVs 传递到在积分点处被调用的其他用户子程序 例如列在 p L4 5 中的变量 Defining Field Variable Dependent Material Properties 用 DEPVAR 选项来指定状态变量的数目 用户子程序 GETVRM 子程序 GETVRM 提供给 USDFLD 用来访问分析过程中存储在数据库中的计算数据 GETVRM 子程序界面 CALL GETVRM VAR ARRAY JARRAY FLGRAY JRCD 1 JMAC JMATYP MATLAYO LACCFLA 提供给 GETVRM 的变量 提供给 GETVRM 的变量是输出变量关键 VAR 对于想要的计算结果数据 与 JMAC JAMTYP MATLAYO LACCFLA 在这些笔记中没有进一步讨论这些变量 这些可用的输出变量列在了输出列表中 ABAQUS Standard User s Manual Section 4 2 1 对于单元积分点处的结果文件输出 这些变量必须是可用的 例如 对于应力的米塞斯应力 S GETVRM 返回的变量 包含输出变量的独立浮点部分的数组 ARRAY 包含输出变量的独立整数值部分的数组 JARRAY 一个特征数组 FLGRAY 包含对应于各个部分的标志 标志将包含 YES NO 或 N A 不适用 返回代码 JRCD JRCD 0 表明 GETVRM 没有遇到错误 然而值 1 表明这里有一个输出请求错误或者所有的 输出变量部分都是 0 如下写出了请求变量的组分 单个指标分量 与没有分量的请求 返回在位置 1 2 3 etc 对于对称张量按顺序 11 22 33 12 13 23 返回双指标分量 张量 对于非对称张量接着是 21 31 32 例如变 形梯度 因此 对于平面应力单元 返回应力为 ARRAY 1 S11 ARRAY 2 S22 ARRAY 3 0 0 and ARRAY 4 S12 不管分析的维度 对于主值请求 最小值 第一 与最大值 第三 总要返回三个数值 GETVRM 所支持的单元 既然 GETVRM 是关于积分点数值 对于不需要 MATERIAL 定义的大部分单元类型是不适用的 因此 不支持以下单元类型 DASHPOTx SPRING x JOINTC JOINTxD DRAGxD ITS xxx MASS ROTARYI all acoustic elements 所有声学单元 all contact elements 所有的接触单元 all gasket elements all hydrostatic fluid elements 所有流体静力学单元 USA elements USA 单元 USDFLD 子程序界面 用户子程序 USDFLD 界面是 需定义的变量 数组 FIELD NFIELD 包含当前积分点处的场变量 传递当前增量步结束时从节点差值的数值 用 INITISL CONDITION 选项与 FIELD 选项来指定 使用更新的 来计算作为场变量函数的积分点数值 传递更新的 进其他用户子程序 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS 可能被定义的变量 在 USDFLD 中能定义包含解相关状态变量的数组 STATEV NSTATV 传递这些 作为增量步开始时的值 在所有的情况下子程序中能够更新 STATEV 更新后的值被传递到其他用户子程序中 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS 与积分点相联系的状态变量数目用 DEPVAR 来定义 给出了新建议时间增量与使用的时间增量 DTIME 如下 间的比值 PNEWDT 该变量允许用户提供输入到 ABAQUS 自动时间增量算法 变量信息 场变量 NFIELD 的数目存在在这点上 在材料方向的全局坐标系统中方向余弦与当前积分点 DIRECT 相联系 DIRECT 1 定义第一积分点方向 方向余弦 T 模型中特征单元长度 CELENT 与 MATERIAL 选项相联系的名字 CNAME 与单元相联系 ORIENTATION 的名字 ORNAME 正应力分量的数目 NDI 剪应力分量的数目 NSHR 分析步 KSTEP 与增量步数目 KINC 其中子程序被调用 当前增量结束时的分析步时间值 TIME 1 总时间值 TIME 2 当前时间增量 DTIME 单元数目 NOEL 与积分点数目 NPT 在适合时 层 LAYER 与界面点数目 KSPT 在积分点处坐标 COORD 必须传到 GETVRM 实用子程序的变量 JMAC JMATYP MATLAYO LACCFLA USDFLD 与自动时间增量 ABAQUS Standard 在分析中使用自动时间增量算法来控制时间增量大小 当不可能收敛或结果不够准确时 此算法允许 ABAQUS Standard 减少时间增量大小 当很容易收敛时 允 许增加时间增量 像 USDFLD 这样子程序能够使算法不正常工作 因此 这些算法使用变量 PNEWDT 给增量算法提供信息 在每次调用 USDFLD 前 将 PNEWDT 设定一个大值 假如 PNEWDT 重新定义为小于 1 0 的数 ABAQUS 将放弃时间增量 并用一个较小时间增量来再次试探 提供给自动时间算法的新建议时间增量是 PNEWDT DTIME 其中 所使用的 PNEWDT 是所有调用用户子程序中的最小值 用户子程序对于此次迭代允许重新定义 PNEWDT 假如对于此次迭代与增量收敛的所有调用用户子程序 PNEWDT 是一个给定的大于 1 0 的值 ABAQUS 可能会增 加时间增量 提供给自动时间算法的新建议时间增量是 PNEWDT DTIME 其中 所使用的 PNEWDT 是此次迭代中所有调用用户子程序中的最小值 假如维持时间增量大小 设定 PNEWDT 1 0 假如对于分析程序没有选择自动时间增量 那将忽略大于 1 0 的 PNEWDT 的值 小于 1 0 的 PNEWDT 的值将会 造成任务停止 实例 层状复合板失效 ABAQUS Example Problems Manual Section 1 1 14 详细描述了此实例 此实例对中间带有孔洞的层状复合板发生的损伤进行建模 它将承受面内压缩 此板包含石墨环氧复合材料 每层内纤维方向是 45 45 此问题中使用了四分之一对称有限元模型 如图 4 1 使用了两层 CSP4 单元 而不是壳单元 板厚足够大 面外的位移可以忽略 材料模型 Chang 与 Lessard 详细描述了每层的材料行为 Chang F K and L B Lessard Damage Tolerance of Laminated Composites Containing an Open Hole and Subjected to Compressive Loadings Part I Analysis Journal of Composite Materials vol 25 pp 2 43 1991 最初的弹性特性是 长度方向模量 宽度方向模量 剪切模量 泊松比 材料计算剪切上的损伤 导致了非线性应力应变关系 形式为 其中 为最初的剪切模量 非线性用因子 来表示 0 8 10 14 为了考虑非线性 非线性应力应变关系 等式 4 1 需以不同形式来表示 在每个增量结束时的应力应该是应变的线性函数 最明显的方式是对非线性项线性化 则 对等式 4 2 进行转换 则 这就提供了一种定义等效剪切模量的算法 然而 这种算法不是非常合适 因为在大应变水平下它是不稳定的 这通过稳定分析很容易证明 详见例 子手册 为了获得一个更加稳定的算法 我们把非线性应力应变法则写成 其中 是一个未知系数 对等式 4 4 表达式的稳定分析 优化的应力应变算法是 以损伤参数 d 的形式进行表达 即 将此关系实施到用户子程序 USDFLD 直接将损伤参数值分配到用于定义弹性属性的第三场变量 FV3 对复合材料 使用下列强度性能 横向拉伸强度 剪切强度 基体压缩强度 纤维屈曲强度 将强度参数集合到多轴加载的失效准则中去 在分析模型中考虑了三种不同失效模型 在模型中没有考虑纤维屈曲失效 因为主要失效模型是纤维 基体剪切 基体拉伸开裂 非线性剪切行为下基体拉伸开裂的失效指标是 当此模型中复合材料失效 横向刚度与泊松比将变成 0 基体压缩开裂 这种失效指标形式与拉伸开裂模型相同 在 USDFLD 中使用同样失效指标 场变量 因为两个模型不会在同一 个点同时发生 纤维 基体剪切失效 从本质上失效准则与其他两种准则有相同形式 这种失效机制可能与其他两种准则同时发生 因此 在 USDFLD 中使用了不同的失效指标 使用用户子程序 USDFLD 来计算活跃的失效指标值 用于表征基体拉伸开裂 基体压缩失效指标的值 存储为 SDV 1 当指标超过了 1 0 时 设定为 1 0 1 用于表征纤维 基体剪切失效指标的值 存储为 SDV 2 当指标超过了 1 0 时 设定为 1 0 2 使用子程序 USDFLD 来计算在非线性应力应变关系中损伤参数 d d 值存储为 SDV 3 与 3 表 4 1 显示了依赖于的材料属性 部分输入数据 用户子程序 结果 备注 并不是将失效指标值直接分配给 相反 它们被存储为解相关的状态变量 即使失效指标值超过了 1 0 相应的的用户定义场变量设定为 1 0 在失效指标值超过了 1 0 后 即使应力可能显著减少 相应的 依然为 1 0 这就确保了材料损伤后不会愈 合 应用 USDFLD 的材料模型确保 失效发生后 在失效方向上的应力立即变为 0 这对应于没有能量吸收的脆性 失效 这种假设是非常不现实的 在现实中 失效发生后随着应变的增加应力承载能力逐渐退化 因此 使用这个模型并不能很好捕捉到失效开始后复合材料的行为 此外 应力承载能力瞬间消失会使得失效后分析结果强烈依赖于有限单元网格的细化与所使用的有限单元网格 在本例子中 模型中唯一显著非线性是复合材料的失效 因此 使用固定的时间增量非常有效 然而 分析结果对时间增量大小高度敏感 此模型中使用的时间增量显示 接近最大允许使用值 0 05 见图 4 4 与图 4 5 如果在分析中呈现了另外的非线性 很有可能需要使用自动时间增量算法 在这些分析类型中 在子程序 USDFLD 必须使用便利 PNEWDT 以控制时间增量大小 子程序手册 1 1 49 USDFLD User subroutine to redefine field variables at a material point Product Abaqus Standard 参考文献 Section 2 1 6 在 Abaqus Standard 分析中获得积分点信息 Obtaining material point information in an Abaqus Standard analysis Abaqus 用户分析手册中 Section 21 1 2 积分点数据定义 Material data definition 用户定义场 USER DEFINED FIELD Abaqus 例子手册中 Section 1 1 14 层状复合板的损伤与失效 Damage and failure of a laminated composite plate Abaqus 验证手册中 Section 4 1 24 USDFLD 概述 用户子程序 USDFLD 允许你在积分点定义场变量作为事件或列在输出变量标识表中积分点变量的函数 Abaqus 用户分析手册 Section 4 2 1 Abaqus Standard output variable identifiers 除了用户定义的输出变量 UVARM 与 UVARMn 使用它来引进解相关材料属性 既然能够轻易定义这些属性为场变量的函数 对于积分点包含用户定义场变量的单元来说 在其所有积分点上都能够调用子程序 必须调用实用程序 GETVRM 来访问积分点数据 能够使用并更新场变量 能够与用户子程序 UFIELD 一起使用来规定预定义场变量 明确的解依赖性 既然子程序只能在增量开始时访问积分点数据 以这种方式介绍的解依赖是明确的 在增量步中获得的结果不会 影响给定增量下的材料性能 因此 结果的精度依赖于时间增量步的大小 因而 你可以通过变量 PNEWDT 来控 制子程序中时间增量 定义场变量 在调用用户子程序 USDFLD 之前 通过定义在节点上值差值方式来计算积分点上场变量的值 在用户子程序中场 变量的任何改变局限于积分点 节点场变量保持最初状态 预定义场变量或在用户子程序 USDFLD 中的值 定义 在子程序中场变量的值经常用来计算依赖于场变量的材料属性值 将它传递到能在物质点上调用的其他用户子程 序中去 例如 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT UTRS 使用单元积分点输出变量 FV 来获得在材料点处用户定义场变量的输出 详见 Abaqus 用户手册 Section 4 2 1 Abaqus Standard output variable identifiers 访问材料点数据 在增量开始 或一个线性摄动分析步的基本状态中 通过实用子程序 GETVRM 来访问材料点数据 详见 Section 2 1 6 Obtaining material point information in an Abaqus Standard analysis 通过以合适输出变量关键来调用 GETVRM 来获得材料点数值 以数组来恢复材料点数值 ARRAY JARRAY and FLGRAY 分别代表浮点 整数 与特征数 你并不能获得在增量开始时未定义的一些材料点值 例如 ER 状态变量 既然在 USDFLD 中重新定义的场变量局限在当前增量步 将场变量恢复到每个增量开始时从节点差值得到的值 必须介绍通过使用这个子程序来更新材料属性的历史依赖性 在 USDFLD 中能够更新状态变量 然后被传到能够在这个材料点调用的其他用户子程序中去 例如上面列举的子 程序 你可以指定这些状态变量的数目 在本章末尾的例子中有说明 详见 用户分析手册 Section 18 1 1 Allocating space in User subroutines overview 用户子程序界面 定义的变量 FIELD NFIELD 一个数组包含在当前材料点的场变量 用当前增量结束时从节点的差值来传递这些场变量 通过最初条件定义 预定义场变量定义 或用户子程序 UFIELD 使用与温度差值相同的差值方法 对于线性单元使用平均值 对于二 次单元使用近似线性变量 可以参考 Abaqus Analysis User s Manual Section 28 1 1 Solid continuum elements 使用更新数值来计算材料属性值 其材料属性依赖于场变量并被传递到在材料点调用的其他用户子程序 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS 能够更新的变量 STATEV NSTATV 一个数组包含解相关变量 这些都是在增量开始时以数值传入的 在所有情况下 在子程序中能够更新 STATEV 然后更新后的数值被传递到能够在材料点调用的其他用户子程序中去 CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS 定义了与材料点相关的状态变量的数目 详见 Abaqus 用户分 析手册 Section 18 1 1 User subroutines overview PNEWDT PNEWDT 指的是建议新的时间增量与所使用时间增量间的比例 DTIME 如下 此变量能够允许你在 Abaqus Standard 中对自动时间增量提供输入 假如选择了自动时间增量的话 在每次调用 USDFLD 之前 将 PNEWDT 设定为一个大数值 如果 PNEWDT 被重新定义为小于 1 0 的数 Abaqus Standard 必须舍弃时间增量 用一个更小时间增量再次尝试 提供给自动时间积分算法的建议新的时间增量是 PNEWDT DTIME 其中 PNEWDT 是允许迭代中重新定义 PNEWDT 的所有调用用户子程序中最小值 如果 PNEWDT 是调用用户子程序中一个给定大于 1 0 的值 Abaqus Standard 可能会增加时间增量 提供给自动时 间积分算法的建议新的时间增量是 PNEWDT DTIME 其中 PNEWDT 是允许迭代中重新定义 PNEWDT 的所有 调用用户子程序中最小值 如果在分析程序中没有选择自动时间增量 将忽略大于 1 0 的 PNEWDT 小于 1 0 的 PNEWDT 会造成任务停止 传递信息的变量 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 是完全一致的 对于壳单元与膜单元 1 1 1 2 其余分量为 0 其中 为法向矢量逆时针旋转角度 如果没有使用方 2 1 2 2 3 3 1 0 形 那么 是单位矩阵 方向并不适用于梁单元 CELENT 特征单元长度 对于一阶单元来说 是沿单元一条线的长度 对于二阶单元来说 是同样典型长度的一半 对于 梁与桁架 是沿单元轴的特征长度 对于膜与壳单元 它是参考面的特征长度 对于轴对称单元 它只是 r z 平面内的特征长度 TIME 1 在当前增量步开始时的分析步时间值 TIME 2 在当前增量步开始时总的时间值 DTIME 时间增量 CMNAME 用户指定的材料名称 左对齐 ORNAME 用户指定的局部方向名称 左对齐 NFIELD 定义在材料点的场变量的数目 NSTATV 用户定义的解依赖的状态变量 详见 Abaqus 用户分析手册 Section 18 1 1 Allocating space in User subroutines overview NOEL 单元数目 NPT 积分点数目 LAYER 层数 对于复合壳体与分层固体 KSPT 当前层内截面点的数目 KSTEP 步数 KINC 增量数 NDI 此点法向应力分量的数目 NSHR 此点切向应力分量的数目 COORD 在材料点的坐标 JMAC 必须将变量传到 GETVRM 实用程序来访问输出变量 JMATYP 必须将变量传到 GETVRM 实用程序来访问输出变量 MATLAYO 必须将变量传到 GETVRM 实用程序来访问输出变量 LACCFLA 必须将变量传到 GETVRM 实用程序来访问输出变量 实例 损伤弹性模型 下面介绍一个用户子程序 USDFLD 的例子 在例子中 桁架单元承受拉应力 介绍了损伤弹性模型 模量随在加 载历史中发生的最大拉应变的函数而减少 最大拉应变存储为解依赖的状态变量 详见 Abaqus Analysis User s Manual Section 33 6 1 Defining solution dependent field variables in Predefined fields 子程序手册 2 1 6 Obtaining material point information in an Abaqus Standard analysis 在 Abaqus Standard 分析中获得物质点信息 Product Abaqus Standard 参考文献 UVARM Section 1 1 53 USDFLD Section 1 1 49 UDMGINI Section 1 1 25 Damage and failure of a laminated composite plate Section 1 1 14 of the Abaqus Example Problems Manual USDFLD Section 4 1 24 of the Abaqus Verification Manual UVARM Section 4 1 26 of the Abaqus Verification Manual 概述 从用户子程序 UVARM UDMGINI 或 USDFLD 中 调用 GETVRM 实用程序来访问材料积分点信息 界面 DIMENSION ARRAY 15 JARRAY 15 CHARACTER 3 FLGRAY 15 CALL GETVRM VAR ARRAY JARRAY FLGRAY JRCD JMAC JMATYP MATLAYO LACCFLA 提供给实用程序的变量 VAR Abaqus 用户分析手册 Section 4 2 1 Abaqus Standard output variable identifiers 表格中有输出变量钥匙 output variable key 在输出表格中列出了可应用的钥匙 对于单元积分点上结果输出结果是可行的 例如 对 于应力是 S JAMC 变量必须传递到 GRTVRM 实用程序中去 所调用的用户子程序提供了这个变量 JMATYP 变量必须传递到 GRTVRM 实用程序中去 所调用的用户子程序提供了这个变量 MATLAYO 变量必须传递到 GRTVRM 实用程序中去 所调用的用户子程序提供了这个变量 LACCFLA 变量必须传递到 GRTVRM 实用程序中去 所调用的用户子程序提供了这个变量 从实用程序中返回的变量 ARRAY 包含输出变量单独分量的实数组 JARRAY 包含输出变量单独分量的整数数组 FLGRAY 包含相对于独立分量的标志的特征数组 标志将包含 YES NO or N A 不可用 JRCD 返回代码 0 无错误 1 输出请求错误或输出请求所有分量为 0 可用的输出变量钥匙 只有输出变量钥匙对结果文件输出是有效的 在使用 GETVRM 时它才是可用的 通常来说 假如一个钥匙对 应于一个集体输出变量而不是一个单独分量 它可以使用 GETVRM 例如 对于应力张量使用 S 然而 任何一 个单独的应力分量 假如说 S11 这是不能使用的 集体输出变量钥匙是与单独分量是有区别的 在 Abaqus 用户 分析手册 Section 4 2 1 Abaqus Standard output variable identifiers 的表格中 在 fil 列中有一个圆点 在本章后面 将列出不能够使用 GETVRM 的输出变量钥匙 将给你返回 ARRAY JARRAY FLGRAY 分别相对应于实数分量 整数值分量 与 VAR 请求相关的标志 如果对于一个给定请求任何数组分量都不适用 它将返回初始值 ARRAY 为 0 JARRAY 为 0 FLGRAY 为 N A 当任何时候不能识别请求钥匙 或请求是无效的 例如 对于使用薄壳理论的壳单元要求输出横向剪切应力 或所有请求的输出分离是 0 将从 GETVRM 返回 JRCD 1 否则 JRCD 0 返回分量的顺序 下面写出了请求分量 以 1 2 3 等的位置返回单一指标分量 与没有分量的请求 双指标返回顺序是 对于 轴对称张量为 11 22 33 12 13 23 而对于非轴对称张量 变形梯度 紧接着 21 31 32 因此 对于平面应力单 元返回的应力为 ARRAY 1 S11 ARRAY 2 S22 ARRAY 3 0 0 and ARRAY 4 S12 不管分析的维度 对 于主应力请求 最小值第一与最大值第三 这三个值总是返回 输出变量的描述 详见 Abaqus Analysis User s Manual Section 4 2 1 Abaqus Standard output variable identifiers 决定了使用 GETVRM 恢复哪个分量 返回值的分析时间 当使用实用程序 GETVRM 请求材料积分点值时 返回值的增量内的时间依赖于用户子程序调用它 GETVRM 在当前增量的结束时返回值到用户子程序 UVARM 然而 GETVRM 在当前增量的开始时返回值到用户 子程序 USDFLD 返回值的平衡状态 用户子程序 UVARM 可以在每个增量内多次调用 GETVRM 当 Abaqus Standard 迭代到一个收敛解 对于此 增量的最终迭代之前从 GETVRM 返回的值不会代表收敛结果 实例 为了说明 GETVRM 的使用 假如在连接材料中指定了 PEQC ARRAY 将返回独立等效塑形应变分量 PEQC1 PEQC2 PEQC3 与 PEQC4 既然没有与此标识相关的整数输出变量 JARRAY 将返回默认值 0 FLGRAY 数组将包含 YES 或 NO 标识 表明每个分量是否产生 如果对材料的塑性指定了标识 PE ARRAY 将返回塑性应变分量 PE11 PE22 PE33 PE12 PE13 PE23 等效塑形应变 PEEQ 塑性应变大小 PEMAG 既然没 有与此请求相关的整数值 JARRAY 将为 0 FLGRAY 数组 对于前六个分量含有 N A 对第七个分量 对应于 PEEQ 是 YES 或 NO 说明材料当前是否产生 对第八个分量是 N A 如果指定了 HFL ARRAY 将返回 HFLM 的大小与其分量 HFL1 HFL2 and HFL3 详见 Abaqus Analysis User s Manual Section 4 2 1 Abaqus Standard output variable identifiers 访问状态依赖变量 假如 GETVRM 访问了状态依赖变量 输出变量钥匙 SDV 并且在分析中定义了超过 15 个状态依赖变量 那 么必须改变 ARRAY 与 JARRAY 的维度状态 使得这些数组达到状态依赖变量的最大数目 不支持的单元类型 进程与输出变量钥匙 既然此功能涉及到物质点的值 因此对于并不需要材料定义的大部分单元类型并不适用 因此 不支持下列单元 类型 DASHPOTx SPRING x CONN x D x FRAMEx D JOINTC JOINT x D DRAG x D PSIxx ITS xxx MASS ROTARYI all acoustic elements all contact elements all hydrostatic fluid elements 假如使用用户子程序 UVARM 此功能并不适用于线性摄动程序 见 Abaqus Analysis User s Manual Sect ion6 1 3 General and linear perturbation procedures static linear perturbation analysis Defining an analysis Section 6 1 2 of the Abaqus Analysis User s Manual Eigenvalue buckling prediction Section 6 2 3 of the Abaqus Analysis User s Manual Natural frequency extraction Section 6 3 5 of the Abaqus Analysis User s Manual Transient modal dynamic analysis Section 6 3 7 of the Abaqus Analysis User s Manual Mode based steady state dynamic analysis Section 6 3 8 of the Abaqus Analysis User s Manual Direct solution steady state dynamic analysis Section 6 3 4 of the Abaqus Analysis User s Manual Subspace based steady state dynamic analysis Section 6 3 9 of the Abaqus Analysis User s Manual Response spectrum analysis Section 6 3 10 of the Abaqus Analysis User s Manual and Random response analysis Section 6 3 11 of the Abaqus Analysis User s Manual 下列输出变量钥匙并不适合使用 GETVRM SVOL TSHR CTSHR COORD 子程序手册 1 1 35 UHARD User subroutine to define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models 概述 用户子程序 UHARD 在所有单元的物质计算点被调用 对于金属塑性材料定义包括用户定义的各向同性硬化或循环硬化 能够用来定义材料的各向同性屈服行为 能够用来定义在组合硬化模型中的屈服面的大小 可以包括依赖于场变量或状态变量的材料行为 合适时 需要关于应变 应变率与温度来定义屈服应力派生品的值 或在组合硬化模型中的屈服面的大小 用户子程序界面 被定义的变量 SYIELD 各向同性塑性的屈服应力 对于组合硬化的屈服面大小 HARD 1 SYIELD 关于等效塑形应变的变化 HARD 2 SYIELD 关于等效塑形应变率的变化 此数量不会与组合硬化模型一起使用 HARD 3 SYIELD 关于温度的变化 只有在绝热 完全耦合的温度 位移与热 电 结构分析中需要使用 STATEV NSTATV 在某点上包含用户定义解依赖状态变量的数组 它们被应用作为增量开始时的数值 或其他用户子程序更新 的值 详见 Abaqus Analysis User s Manual Section 18 1 1 User subroutines overview 并且返回作为增量步结束 时的值 作为信息被传入的变量 EQPLAS 等效塑形应变 EQPLASRT 等效塑形应变率 TIME 1 在当前增量步开始时 分析步的数值 TIME 2 在当前增量步开始时 总时间的数值 DTIME 时间增量 TEMP 在增量开始时的温度 DTEMP 温度增量 NOEL 单元编号 NPT 积分点数目 LAYER 层数 对于复合壳体和层状固体 KSPT 在当前层内截面点数目 KSTEP 分析步数目 KINC 增量步数目 CMNAME 用户指定的材料名称 左对齐 NSTATV 与材料相关联的解依赖状态变量的用户指定数目 详见 Abaqus Analysis User s Manual Section 18 1 1 User subroutines overview NUMFIELDV 场变量的数目 PREDEF NUMFIELDV 增量步开始时在物质点上预定义场变量的插值数组 基于节点上读入的数值 分析开始时的最初值与分析中 的当前值 DPRED NUMFIELDV 对于此增量在物质点上的预定义场变量增量的数组 它包括用用户子程序 USDFLD 更新的任何值 NPROPS 用于此用户定义硬化而输入的硬化属性数目 PROPS NPROPS 用于此用户定义硬化而输入的硬化属性数组 分析手册 3 21 1 2 Material Data Definition Products Abaqus Standard Abaqus Explicit Abaqus CFD Abaqus CAE 参考文献 Material library overview Section 21 1 1 Combining material behaviors Section 21 1 3 MATERIAL Creating materials Section 12 4 1 of the Abaqus CAE User s Manual 综述 在 Abaqus 中材料的定义 指定材料行为 并提供所有相关属性数据 能够包含多种材料行为 应指定名字 用来说明有材料构成的模型的某部分 应有温度与 或场变量依赖 在 Abaqus Standard 有解变量依赖 在局部坐标系统下指定 见 Section 2 2 5 Orientations 假如材料不是各向同性的 这是需要的 材料定义 在分析中可以定义任意数量的材料 每种材料定义能够包含任意数量的材料行为 根据需要 来指定完全的 材料行为 例如 在线性静态应力分析中 只需要定义弹性材料行为 然而 在更加复杂的分析中可能需要几种 材料行为 必须对每种材料定义指定一个名字 这个名字允许参考材料 从用来分配材料的横截面定义到模型中的区域 Input File Usage MATERIAL NAME name 在数据块中指定每种材料定义 通过 MATERIAL 选项来开始 材料定义继续 直到介绍了一个不定义材料 属性的选项 例如另一个 MATERIAL 选项 在那一点上材料定义假定是完全的 材料属性选项定义顺序并不重 要 在数据块内所有材料行为选项假定定义同一种材料 Abaqus CAE Usage Property module 属性模型 material editor 编辑材料 Name 使用 Material Options 下的菜单栏来对材料添加属性 考虑大变形 当对于有限变形计算给定材料属性时 应力意味着真应力 柯西应力 此时单位面积上的力 应变意味着对 数应变 例如 除非其他 单轴行为为 指定材料属性作为温度与独立场变量的函数 Specifying material data as functions of temperature and independent field variables 经常指定材料数据作为独立变量的函数 例如温度 通过指定几种不同温度下的材料属性 来使得材料属性依赖 于温度 在一些情况下 可以定义材料属性为 Abaqus 中计算的变量的函数 例如 为了定义加工硬化曲线 必须给定 应力作为等效塑形应变的函数 材料属性也可以依赖于场变量 field variables 用户定义场变量能够表示任何独立的量 定义在节点上 作为 时间的函数 例如 材料的模可以定义为复合材料中织物密度或合金中相分数的函数 详见 Specifying field variable dependence 指定场变量依赖性 场变量的初始值被给定为初始条件 见 Section 33 2 1 Initial conditions in Abaqus Standard and Abaqus Explicit 并且在分析中可以随时间的函数而改变 见 Section 33 6 1 Predefined fields 这种功能是有用的 例如 假如由于辐射或其他预定的环境影响 材料性能随时间而改变 使用 Abaqus Standard 中分布定义的任何材料行为 质量密度 线弹性行为 与 或热膨胀 这些不能用稳定 或场依赖来定义 然而 用分布定义的材料行为能够包括在具有温度或场依赖的其他材料行为的材料定义中去 见 Section 21 2 1 Density Section 22 2 1 Linear elastic behavior Section 26 1 2 Thermal expansion 材料数据的差值 在最简单的属性不变的例子中 只要输入常数值 当材料数据只是一个变量的函数时 必须按照独立变量增加的 顺序来给定数据 Abaqus 会对给定数据之间的数值进行线性插值 在给定独立变量的范围外 假定材料属性为常 数 织物材料除外 使用最后一个指定数据点的斜率来对指定范围外进行线性插值 因此 你可以给定或多或少 对材料模型必要的输出数据 如果材料数据以强烈非线性的方式依赖于独立变量 你必须指定足够多数据点 以 致于线性插值能够准确捕捉到非线性行为 当材料属性依赖于几个变量 必须在其他变量固定的情况下给定材料属性关于第一个变量的变化 再增加第 二个变量值 然后第三个变量 等等 这些数据必须总是有序的 给定独立变量一增加值 这个过程确保材料属 性值完全并唯一地定义在材料属性依赖的独立变量的任何值上 想要进一步解释与例子 见 Section 1 2 1 Input syntax rules 实例 依赖温度的线性各向同性的弹性 图 21 1 2 1 显示了一个简单 各向同性 线弹性材料 给出了杨氏模量与泊松比随温度的变化 在此例中 使用六组数值定义材料 如下表 对于温度在 与 范围外时 Abaqus 假定 E 与 v 为常数 图中的虚线代表了将用于此模型中的直线近似 在 1 6 例子中 只给定了一个热扩散系数值 它独立于温度 1 实例 弹 塑性材料 图 21 1 2 2 显示了一个弹塑性材料 其屈服应力依赖于等效塑形应变与温度 在这种情况下 第二个独立变量 温度 必须保持恒定 那样 屈服应力能够描述成第一个独立变量 等效塑形 应变 的函数 然后 选择一个更高的温度 并在此温度下给定其依赖等效塑形应变的情况 如下表 必要时重 复这个过程来详细描述属性变化 指定场变量依赖性 Specifying field variable dependence 你能够对许多材料行为来指定用户定义场变量依赖的数目 详见 Section 33 6 1 Predefined fields 假如你没有 对场变量依赖的材料行为来指定场变量依赖的数目 假定材料数据不依赖于场变量 Input File Usage MATERIAL BEHAVIOR OPTION DEPENDENCIES n MATERIAL BEHAVIOR OPTION 指的是用于指定场依赖性的任何材料行为 每个数据行可以容纳八个数据项 目 假如需要更多的场变量依赖而不是在单一数据行 能够添加更多的数据行 例如 一个线性 各向同性弹性 材料能够定义为温度与其他七个场变量 的函数 如下 当需要定义材料为温度与场变量函数时 需重复这两行数据行 Abaqus CAE Usage Property module material editor material behavior Number of field variables n material behavior 指的是对于指定场依赖的任何材料行为 指定材料数据作为解相关变量 Specifying material data as functions of solution dependent variables 在 Abaqus 中你能使用用户子程序来介绍解变量的依赖性 在 Abaqus Standard 中的用户子程序 USDFLD 与 Abaqus Explicit 中的用户子程序 VUSDFLD 能够允许你在物质点上定义场变量作为事件 材料方向与任何可用的 物质点的值的函数 those listed in Abaqus Standard output variable identifiers Section 4 2 1 for the case of USDFLD and those listed in Available output variable keys in Obtaining material point information in an Abaqus Explicit analysis Section 2 1 7 of the Abaqus User Subroutines Reference Manual for the case of VUSDFLD 因此 定义为这 些场变量函数的材料属性依赖于解 能够在每个物质点调用用户子程序 USDFLD 与 VUSDFLD 因此 材料的定义包含了对用户子程序的参考 对于通用分析步来说 在用户子程序 USDFLD 与 VUSDFLD 中提供的变量值是对应于增量开始的那些值 因 此 以这种方式介绍的解依赖性是显式的 对于给定增量 在增量中获得的结果并不会影响材料属性 因此 结 果的精度通常依赖于时间增量大小 在 Abaqus Explicit 中这通常不是关心的 因为稳定时间增量一般足够小来确 保精度高 在 Abaqus Standard 中你可以通过内置子程序 USDFLD 来控制时间增量 对于线性摄动步 在基本状态 的解变量是可用的 关于通用与线性摄动分析步的讨论 见 Section 6 1 3 General and linear perturbation procedures Input File Usage USER DEFINED FIELD Abaqus CAE Usage User subroutines USDFLD and VUSDFLD are no
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!