1、Python 一切皆对象的特点

Object(对象):可以是数据,可以是函数,也可以是包含若干数据和函数的打包整体。对象可以包括成员和方法。

Member(成员):对象包含的子对象,子对象可以是数据,也可以是下一层级的对象。

Method(方法):对象本身包含的对本身数据的操作函数。

Constructor(构造函数):一类特殊的方法,用于创建新的对象。

Class(类):创建对象的模板,本质也是一种对象,但是更强调它的模板性。

Module(模块):已经写好的类,对象,方法或者函数等等的集合,通过一系列操作完成某种特定的功能,module的作用在于方便代码复用。

2、Python 在 Abaqus 二次开发的特殊之处

(1)Database(数据库)

带有强烈abaqus特征的对象,比较典型的database就是mdb,odb。

根据 ABAQUS 6.14.4的帮助文档6.1.1 An overview of the Abaqus object model

(2)Repository(容器)

负责同一类型的对象的存储,可以视为python中的字典,只不过这个字典专门用于存储某一类对象,比如mdb.models中存储了当前环境下所建立的所有模型对象,通过对象的键值,可以实现对于特定对象的调用。

通过mdb.models.values()和mdb.models.keys()可以得到容器内已经定义的对象信息。key对应对象名(键),value对应对象(值)。

(3)声明使用(声明使用)

通过在脚本开头声明导入某类模块,从而获得该模块中对象、成员和方法的使用权(实际上新的session被打开时,所有模块都被装载了,大部分声明是为了可读性与完备性,但有一些声明是不可以缺少的。

from abaqus import *

保证脚本可以使用abaqus中基本的object,同时保证脚本可以使用默认的模型数据库(mdb),在abaqus中以mdb标识

from abaqusConstants import *

保证Abaqus中定义的各个符号常量可以被脚本正确获取

from odbAccess import *

结果文件后处理

from visualization import *

涉及可视化操作则需要

import sketchimport partimport assemblyimport materialimport visualization

使用各个模块

(4)小括号和中括号的应用

在abaqus中,同样名称的单词(如这里的material),当它首字母大写(通常作为单数)出现时一般是构造函数(Constructor),而当它全小写(通常作为复数)出现时,它一般是类似字典的容器(abaqus里叫做repository)。显然构造函数后面需要的是输入参数(arguments),因此是圆括号,而字典类数据库后面需要的是指示符(index),因此是方括号。

(5)没有头绪的时候

在遇到某个特定操作不知道如何在脚本中实现时,这里给出一个可供参考的思路:首先确定基本的父级对象,比如想知道如何构造一个具体的材料模型,那父级对象就是mdb.models['myModel'],那么接下来通过mdb.models['myModel'].__methods__我们可以获得model对象中定义的所有方法,根据关键字我们可以找到Material这个构造函数,随后我们通过 mdb.models['myModel'].Material('NewMat')来新建一个material对象‘NewMat’,随后通过mdb.models['myModel'].materials['NewMat'].__methods__我们可以看到刚刚建立的材料对象都有哪些方法可以使用,就能知道具体可以定义那些材料,比如找到了Elastic这个构造函数,那么再使用mdb.models['myModel'].materials['NewMat'].Elastic.__doc__就能够知道Elastic这个构造函数的相关操作,如果描述不足的话,我们可以根据所获得的信息到Reference Manual里去查找更具体的信息。这样信息查找的来源可以变得更加丰富。最常见的基础父级对象是mdb,session还有mesh,从这几个对象出发,再加上abaqus对于对象和方法的命名很少使用缩写,同时结合参考手册,是能够确定大多数操作所对应的脚本实现语句的。

主要参考:

https://blog.csdn.net/young2203/article/details/81937268?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

abaqus python二次开发攻略_Python 进行 Abaqus 二次开发的基础知识相关推荐

  1. 前端开发攻略,微信公众号前端开发教程

    毕业工作一年之后,有了转行的想法,偶然接触到程序员这方面,产生了浓厚且强烈的兴趣,开始学习前端,成功收割了大厂offer,开始了我的程序员生涯. 在自学过程中有过一些小厂的面试经历,也在一些小型的互联 ...

  2. abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模

    一. 为什么要进行弹簧批量建模 当一个公司或者学者从事科研任务时,往往通过有限元进行建模分析,建模的时间通常与工作效率挂钩.例如ABAQUS/CAE建模,想必很多老用户都有某种共同的感受,那就是实体模 ...

  3. python京东抢购手机攻略_Python实现自动上京东抢手机

    本文实例为大家分享了python自动上京东抢手机的具体代码,供大家参考,具体内容如下 上次抢荣耀V9,被京东给恶心到了,所以就写了个简单的Python来自动抢V9.虽然用的是比较蠢的方法,但觉得还是有 ...

  4. python中字符串是对象吗_Python中关于字符串对象的一些基础知识

    Python的字符串被划分为不可变序列的类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且它们不可以在本地进行修改. 基本操作 字符串可以通过+操作符进行合并,可以使用*运算符进行重复. ...

  5. TI Davinci DM6446开发攻略——开发环境搭建

    TI DAVINCI DM6446的开发环境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之类的单核ARM那么简单,因为DM6446还有DSP端的开发环境,以及双核之间 ...

  6. I Davinci DM6446开发攻略——开发环境搭建

    TI DAVINCI DM6446的开发环境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之类的单核ARM那么简单,因为DM6446还有DSP端的开发环境,以及双核之间 ...

  7. 2019-1-30手把手教你怎么用AbaqusGUI二次开发攻略

    2019年1月30日13:05:51 手把手教你怎么用Abaqus进行GUI二次开发攻略 1.前言: 最近研究了下GUI二次开发,做了如下几个插件,学到了一些东西特地就跟大家做个分享,其中插件注册到了 ...

  8. Davinci DM6446开发攻略——LINUX GPIO驱动源码移植

    一.             DM6446 GPIO的介绍 说到LINUX 驱动移植,没有移植过的朋友,或刚刚进入LINUX领域的朋友,最好去看看<LINUX 设备驱动程序>第三版,有个理 ...

  9. 图像识别DM8127开发攻略——开发环境搭建

    经过两年多的爆炸性出货(针对我们这种小公司),目前稍微停顿了一下,现在难得有点时间继续写自己的博客,其实自己一直想静下心来做点东西,可惜做TI DAVINCI(ARM+DSP)这方面的人不太好招,本人 ...

最新文章

  1. 计算机软件uml,计算机软件——UML旅游管理系统
  2. 0016-Avro序列化反序列化和Spark读取Avro数据
  3. Mac OS 通过配置窗口来连接远程主机
  4. SQL Server基本函数
  5. linux 抓包工具_03-Python爬虫工程师-抓包工具
  6. mysql 数据库军规_用尽洪荒之力整理的Mysql数据库32条军规(转)
  7. 位图转换G代码小程序
  8. Filter中获取传递参数(解决post请求参数问题)
  9. webrtc与stunserver、turnserver建立连接花费时间十秒左右
  10. 汽车维修行业开发微信小程序的必要性
  11. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`
  12. win10+laravel8+PHP+ElasticSearch+Kibana+高亮 接口搜索
  13. 思科设备三层交换配置路由实现互通
  14. 空间数据库之矢量数据上载方法
  15. pixfllow光流传感器数据获取及悬停程序编写
  16. linux搭建个人网盘,Linux下使用nextcloud搭建个人网盘
  17. QT使用openGL绘制一个三角形
  18. 计算机专业择偶标准,爱情句子:说来说去我的择偶标准也就一个字——你
  19. 学习笔记(一):Java中Stream的基本用法和相关API详解
  20. Linux学习笔记2(root密码忘记重置,Linux系统更新yum源,YUM安装卸载,常见故障排除,vim,用户/组)

热门文章

  1. 这款耳机的性价比堪比AirPods,有点酷!
  2. 程序员离无人值班有多远?
  3. 为什么我们需要再给 Firefox 一次机会?
  4. PYPL 1 月 IDE 榜单:Visual Studio Code 猛追 IntelliJ
  5. Windows 10 终于干掉了 Windows 7!
  6. java ajax返回数组_js对ajax返回数组的处理介绍
  7. day16【前台】项目展示
  8. java web 中的乱码
  9. js reduce实现中间件_简述 laravel中间件 的原理
  10. php 解析lrc文件格式,PHP - 四级单词lrc文件解析为txt