栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ABAQUS中rsg二次开发

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ABAQUS中rsg二次开发

1.利用abaqus与python制作常用材料插件Material。

学习abaqus中自带的rsg与录制功能,获取输入材料代码格式,利用python进行修改,达到可以通过插件添加常用材料的功能,减少手动输入材料性能的时间。

为了实现在不同model与filed下的材料输入,添加了选择model与field的选项。

具体代码如下:

# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
#The name of model,material,field
def defined(Model,Name,Field):
    import material
    import part
    model=str(Model)
#Supporting material
    if Name == "SM400A" or "S303" or "A7N01":
        if Name == "SM400A":
            mdb.models[model].Material(name="SM400A")
# Using TEMP material
            if Field == "TEMP":
                mdb.models[model].materials['SM400A'].Density(temperatureDependency=ON,
                                                                  table=(
                                                                  (7.8e-09, 0.0), (7.73e-09, 300.0), (7.69e-09, 600.0),
                                                                  (7.68e-09,
                                                                   700.0), (7.67e-09, 750.0), (7.66e-09, 800.0),
                                                                  (7.63e-09, 900.0), (
                                                                      7.63e-09, 1200.0), (7.62e-09, 1400.0),
                                                                  (7.61e-09, 1450.0), (7.6e-09,
                                                                                       1500.0)))
                mdb.models[model].materials['SM400A'].Conductivity(
                    temperatureDependency=ON, table=((51.0, 0.0), (47.0, 300.0), (38.0,
                                                                                  600.0), (33.0, 700.0), (31.0, 750.0),
                                                     (29.0, 800.0), (30.0, 900.0), (
                                                         31.0, 1200.0), (32.0, 1400.0), (33.0, 1450.0),
                                                     (111.0, 1500.0)))
                mdb.models[model].materials['SM400A'].SpecificHeat(
                    temperatureDependency=ON, table=((420000000.0, 0.0), (600000000.0,
                                                                          300.0), (820000000.0, 600.0),
                                                     (900000000.0, 700.0), (1200000000.0,
                                                                            750.0), (710000000.0, 800.0),
                                                     (720000000.0, 900.0), (760000000.0,
                                                                            1200.0), (790000000.0, 1400.0),
                                                     (1110000000.0, 1450.0), (822000000.0,
                                                                              1500.0)))
# Using MECH material
            elif Field == "MECH":
                mdb.models[model].materials['SM400A'].Density(temperatureDependency=ON,
                                                              table=(
                                                                  (7.8e-09, 0.0), (7.73e-09, 300.0), (7.69e-09, 600.0),
                                                                  (7.68e-09,
                                                                   700.0), (7.67e-09, 750.0), (7.66e-09, 800.0),
                                                                  (7.63e-09, 900.0), (
                                                                      7.63e-09, 1200.0), (7.62e-09, 1400.0),
                                                                  (7.61e-09, 1450.0), (7.6e-09,
                                                                                       1500.0)))
                mdb.models[model].materials['SM400A'].Conductivity(
                    temperatureDependency=ON, table=((51.0, 0.0), (47.0, 300.0), (38.0,
                                                                                  600.0), (33.0, 700.0), (31.0, 750.0),
                                                     (29.0, 800.0), (30.0, 900.0), (
                                                         31.0, 1200.0), (32.0, 1400.0), (33.0, 1450.0),
                                                     (111.0, 1500.0)))
                mdb.models[model].materials['SM400A'].SpecificHeat(
                    temperatureDependency=ON, table=((420000000.0, 0.0), (600000000.0,
                                                                          300.0), (820000000.0, 600.0),
                                                     (900000000.0, 700.0), (1200000000.0,
                                                                            750.0), (710000000.0, 800.0),
                                                     (720000000.0, 900.0), (760000000.0,
                                                                            1200.0), (790000000.0, 1400.0),
                                                     (1110000000.0, 1450.0), (822000000.0,
                                                                              1500.0)))
                mdb.models[model].materials['SM400A'].Elastic(temperatureDependency=ON,
                                                                  table=((206000.0, 0.3, 0.0), (187000.0, 0.33, 300.0),
                                                                         (148000.0, 0.36,
                                                                          600.0), (130000.0, 0.365, 700.0),
                                                                         (110000.0, 0.37, 750.0), (100000.0,
                                                                                                   0.38, 800.0),
                                                                         (50000.0, 0.4, 900.0), (19000.0, 0.42, 1200.0),
                                                                         (18500.0,
                                                                          0.43, 1400.0), (18000.0, 0.44, 1450.0),
                                                                         (17000.0, 0.45, 1500.0)))
                mdb.models[model].materials['SM400A'].Plastic(temperatureDependency=ON,
                                                                  table=((300.0, 0.0, 0.0), (240.0, 0.0, 300.0),
                                                                         (120.0, 0.0, 600.0), (
                                                                             100.0, 0.0, 700.0), (60.0, 0.0, 750.0),
                                                                         (18.0, 0.0, 800.0), (17.0, 0.0,
                                                                                              900.0),
                                                                         (16.0, 0.0, 1200.0), (15.5, 0.0, 1400.0),
                                                                         (15.2, 0.0, 1450.0),
                                                                         (15.0, 0.0, 1500.0)))
                mdb.models[model].materials['SM400A'].Expansion(table=((5.5e-05, 0.0), (
                    5.1e-05, 300.0), (3.8e-05, 600.0), (3.6e-05, 700.0), (3e-05, 750.0), (
                                                                               2.6e-05, 800.0), (2.8e-05, 900.0),
                                                                           (2.9e-05, 1200.0), (3e-05, 1400.0),
                                                                           (6e-05, 1450.0), (0.0001, 1500.0)),
                                                                    temperatureDependency=ON)
            else:
                print("Wrong field name,please choose one of the following field:TEMP,MECH")
        elif Name == "S303":
            mdb.models[model].Material(name="S303")
            if Field == "TEMP":
                mdb.models[model].materials['S303'].Density(temperatureDependency=ON,
                                                                table=(
                                                                (7.9e-09, 0.0), (7.88e-09, 100.0), (7.83e-09, 200.0),
                                                                (7.79e-09,
                                                                 300.0), (7.75e-09, 400.0), (7.66e-09, 600.0),
                                                                (7.56e-09, 800.0), (
                                                                    7.37e-09, 1200.0), (7.32e-09, 1300.0),
                                                                (7.32e-09, 1500.0)))
                mdb.models[model].materials['S303'].Conductivity(temperatureDependency=ON,
                                                                     table=((14.6, 0.0), (15.1, 100.0), (16.1, 200.0),
                                                                            (17.9, 300.0), (18.0,
                                                                                            400.0), (20.8, 600.0),
                                                                            (23.9, 800.0), (32.2, 1200.0),
                                                                            (33.7, 1300.0), (
                                                                                120.0, 1500.0)))
                mdb.models[model].materials['S303'].SpecificHeat(temperatureDependency=ON,
                                                                     table=((462000000.0, 0.0), (496000000.0, 100.0),
                                                                            (512000000.0, 200.0),
                                                                            (525000000.0, 300.0), (540000000.0, 400.0),
                                                                            (577000000.0, 600.0), (
                                                                                604000000.0, 800.0),
                                                                            (676000000.0, 1200.0),
                                                                            (692000000.0, 1300.0), (
                                                                                700000000.0, 1500.0)))
            elif Field == "MECH":
                mdb.models[model].materials['S303'].Density(temperatureDependency=ON,
                                                                table=(
                                                                (7.9e-09, 0.0), (7.88e-09, 100.0), (7.83e-09, 200.0),
                                                                (7.79e-09,
                                                                 300.0), (7.75e-09, 400.0), (7.66e-09, 600.0),
                                                                (7.56e-09, 800.0), (
                                                                    7.37e-09, 1200.0), (7.32e-09, 1300.0),
                                                                (7.32e-09, 1500.0)))
                mdb.models[model].materials['S303'].Conductivity(temperatureDependency=ON,
                                                                     table=((14.6, 0.0), (15.1, 100.0), (16.1, 200.0),
                                                                            (17.9, 300.0), (18.0,
                                                                                            400.0), (20.8, 600.0),
                                                                            (23.9, 800.0), (32.2, 1200.0),
                                                                            (33.7, 1300.0), (
                                                                                120.0, 1500.0)))
                mdb.models[model].materials['S303'].SpecificHeat(temperatureDependency=ON,
                                                                     table=((462000000.0, 0.0), (496000000.0, 100.0),
                                                                            (512000000.0, 200.0),
                                                                            (525000000.0, 300.0), (540000000.0, 400.0),
                                                                            (577000000.0, 600.0), (
                                                                                604000000.0, 800.0),
                                                                            (676000000.0, 1200.0),
                                                                            (692000000.0, 1300.0), (
                                                                                700000000.0, 1500.0)))
                mdb.models[model].materials['S303'].Elastic(temperatureDependency=ON,
                                                                table=((198500.0, 0.294, 0.0), (193000.0, 0.295, 100.0),
                                                                       (185000.0,
                                                                        0.301, 200.0), (176000.0, 0.31, 300.0),
                                                                       (167000.0, 0.318, 400.0), (
                                                                           159000.0, 0.326, 600.0),
                                                                       (151000.0, 0.333, 800.0), (60000.0, 0.339,
                                                                                                  1200.0),
                                                                       (20000.0, 0.342, 1300.0),
                                                                       (10000.0, 0.388, 1500.0)))
                mdb.models[model].materials['S303'].Plastic(temperatureDependency=ON,
                                                                table=((265.0, 0.0, 0.0), (218.0, 0.0, 100.0),
                                                                       (186.0, 0.0, 200.0), (
                                                                           170.0, 0.0, 300.0), (155.0, 0.0, 400.0),
                                                                       (149.0, 0.0, 600.0), (91.0,
                                                                                             0.0, 800.0),
                                                                       (25.0, 0.0, 1200.0), (21.0, 0.0, 1300.0),
                                                                       (10.0, 0.0,
                                                                        1500.0)))
            else:
                print("Wrong field name,please choose one of the following field:TEMP,MECH")
        elif Name == "A7N01":
            mdb.models[model].Material(name="A7N01")
            if Field == "TEMP":
                mdb.models[model].materials['A7N01'].Density(temperatureDependency=ON,
                                                                 table=(
                                                                 (2.78e-09, 20.0), (2.76e-09, 100.0), (2.73e-09, 250.0),
                                                                 (
                                                                     2.7e-09, 400.0), (2.66e-09, 550.0),
                                                                 (2.45e-09, 700.0), (2.43e-09,
                                                                                     850.0), (2.42e-09, 1000.0)))
                mdb.models[model].materials['A7N01'].Conductivity(temperatureDependency=ON,
                                                                      table=(
                                                                      (156.0, 20.0), (164.0, 100.0), (174.0, 250.0),
                                                                      (182.0, 400.0), (
                                                                          189.0, 550.0), (88.0, 700.0), (92.0, 850.0),
                                                                      (105.0, 1000.0)))
                mdb.models[model].materials['A7N01'].SpecificHeat(temperatureDependency=ON,
                                                                      table=((869000000.0, 20.0), (912000000.0, 100.0),
                                                                             (981000000.0, 250.0),
                                                                             (1040000000.0, 400.0),
                                                                             (1189000000.0, 550.0),
                                                                             (1110000000.0, 700.0), (
                                                                                 1066000000.0, 850.0),
                                                                             (1015000000.0, 1000.0)))
            elif Field == "MECH":
                mdb.models[model].materials['A7N01'].Density(temperatureDependency=ON,
                                                                 table=(
                                                                 (2.78e-09, 20.0), (2.76e-09, 100.0), (2.73e-09, 250.0),
                                                                 (
                                                                     2.7e-09, 400.0), (2.66e-09, 550.0),
                                                                 (2.45e-09, 700.0), (2.43e-09,
                                                                                     850.0), (2.42e-09, 1000.0)))
                mdb.models[model].materials['A7N01'].Conductivity(temperatureDependency=ON,
                                                                      table=(
                                                                      (156.0, 20.0), (164.0, 100.0), (174.0, 250.0),
                                                                      (182.0, 400.0), (
                                                                          189.0, 550.0), (88.0, 700.0), (92.0, 850.0),
                                                                      (105.0, 1000.0)))
                mdb.models[model].materials['A7N01'].SpecificHeat(temperatureDependency=ON,
                                                                      table=((869000000.0, 20.0), (912000000.0, 100.0),
                                                                             (981000000.0, 250.0),
                                                                             (1040000000.0, 400.0),
                                                                             (1189000000.0, 550.0),
                                                                             (1110000000.0, 700.0), (
                                                                                 1066000000.0, 850.0),
                                                                             (1015000000.0, 1000.0)))
                mdb.models[model].materials['A7N01'].Elastic(temperatureDependency=ON,
                                                                 table=((70000.0, 0.3, 20.0), (66000.0, 0.31, 100.0),
                                                                        (56500.0, 0.32,
                                                                         250.0), (26000.0, 0.33, 400.0),
                                                                        (10700.0, 0.34, 550.0), (5000.0, 0.35,
                                                                                                 700.0),
                                                                        (3800.0, 0.36, 850.0), (3000.0, 0.37, 1000.0)))
                mdb.models[model].materials['A7N01'].Plastic(temperatureDependency=ON,
                                                                 table=((295.0, 0.0, 20.0), (285.0, 0.0, 100.0),
                                                                        (125.0, 0.0, 250.0), (
                                                                            48.0, 0.0, 400.0), (12.0, 0.0, 550.0),
                                                                        (5.0, 0.0, 700.0), (5.0, 0.0,
                                                                                            850.0), (5.0, 0.0, 1000.0)))
            else:
                print("Wrong field name,please choose one of the following field:TEMP,MECH")
    else:
        print("Wrong material name,please choose one of the following materials: SM400A,S303,A7N01")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号