首页/文章/ 详情

曹金凤博士:《Python语言在Abaqus中的应用》高级培训班七月线下开班

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
主编推荐
2年前浏览1812

图片

曹博士2019年线下培训

图片

导读:几个月前,朋友私信留言:“公司新招聘的几名员工想参加《Python语言在Abaqus中的应用》高级培训课,啥时可以办一期呀?”。讲真,这学期3门课,其中两门新课,再加上毕业设计和研究生指导工作,平时实在太忙没时间。但既然是老朋友邀请开班,还让多名新员工都来学习,我岂有拒绝之理,答应暑假挤时间办一期,届时也欢迎天南海北、志同道合、有Abaqus软件二次开发需求的朋友一起交流和学习, 详细安排见文末。
Python 语言是一种动态解释型面向对象的编程语言,1989 年由 Guido van Rossum 开发,并于 1991 年年初发表。Python 语言功能强大、自由便捷、简单易学,支持面向对象编程,已逐渐受到越来越多读者的关注。我将对其基础知识进行系列连载,希望能够为广大工程师和博硕研究生的学习起到一定帮助!如果觉得对你的学习有用,在文章末尾点赞,在看和分享到朋友圈,我赠送您2003-2019达索公司年会系列论文集(点击附件下载)。
图片
二、Python 语言的特点
Python 语言已经诞生20年,它的简洁性和易用性使得程序的开发过程变得十分简单,特别适用于快速应用开发。随着 Python 语言的不断优化以及计算机硬件技术的迅猛发展,已经越来越受到软件开发者的重视。
本节将介绍 Python 语言的8个重要特征:
1)面向对象性
面向对象的程序设计可以大大降低结构化程序设计的复杂性,使得设计过程更贴近现实生活,编写程序的过程就如同说话办事一样简单。面向对象的程序设计抽象出对象的行为和属性,并把行为和属性分开后,再合理地组织在一起。Python语言具有很强的面向对象的特性,它消除了保护类型、抽象类、接口等元素,使得面向对象的概念更容易理解。
2)简单性
Python 语言的代码简洁、易于阅读、保留字较少,Python 2.7 版本所有的保留字如表1所示(按照英文字母排序)。与 C 语言不同,Python 语言中不包含分号(;)、begin、end 等标记,而是通过使用空格或制表键缩进的方式进行代码分隔。

表1-1  Python 2.7 版本所有保留字

图片

3)健壮性

Python 语言提供了优秀的异常处理机制,能够捕获程序的异常情况。它的堆栈跟踪对象功能能够指出程序出错的位置和出错的原因。异常处理机制能够避免不安全退出,为程序员调试程序提供了极大的帮助

4)可扩展性

Python 语言是在 C 语言的基础上开发的,因此可以使用 C 语言来扩展 Python 语言,或者为 Python语言添加新的模块、类等。大型非线性有限元分析软件 Abaqus 就是在 Python 语言的基础上,扩展了自己的模块(例如,Part 模块、Property 模块等)。同样,Python 语言也可以嵌入到 C、C 语言中,使得程序具有脚本语言的特性。例如,如果希望保护某些算法,可以使用 C 语言或 C 语言来编写算法程序,并在 Python 程序中使用它们。

5)动态性

在Python语言中,直接赋值就可以创建一个新的变量,而不需要单独声明,这与JvaScript、Perl 语言等类似。

6)内置的数据结构

Python 语言提供了一些内置的数据结构,比如元组、列表、字典等。这些内置的数据结构可以简化程序设计。

7)跨平台性

使用 Python 语言编写的应用程序可以在 Windows、UNIX、Linux 等不同操作系统下运行。在一种操作系统上编写的 Python 语言代码只需要做少量修改,就可以移植到其他操作系统中,具有很强的跨平台性。

8)强制类型

Python 语言是一种强制类型语言,变量被创建后将会对应某种数据类型。Python 语言将根据赋值表达式的内容决定变量的数据类型,同时在内部建立了管理变量的机制,出现在同一个表达式中不同类型的变量需要进行类型转换。

二、运行 Python 脚本的方法

运行 Python 脚本的方法主要有3种,它们分别是:使用交互式命令行、执行脚本程序源文件和植入其他软件(例如,Abaqus/CAE)。下面使用这3种方法来输出。

1、使用交互式命令行

在 Windows 操作系统下,单击【开始】【程序】【Dassault System SIMULIA Abaqus CAE 2018】【Abaqus Command】,在 Abaqus 的命令行窗口中输入 abaqus python 命令,可以启动交互式命令行窗口,如图1所示:

图片

图1 在 Abaqus 命令行窗口中访问 Python 解释器

如果计算机中成功安装了 Python 软件,按照下列操作步骤也可以启动命令行程序:单击【开始】【程序】【Python 2.7】【Python(command line)】,则弹出如图2所示的 Python 命令行窗口:

图片

图2 启动 Python 命令行窗口

在 DOS 窗口中输入 Python 也可以启动交互式命令行,如图3所示:

图片

图3 在 DOS 窗口启动交互式命令行

☞ 提示:符号“>>>”是 Python 语句的提示符。对于 Windows 操作系统,同时按下 Ctrl z可退出提示符;对于 Linux/BSD shell 操作系统,同时按下 Ctrl d 可退出提示符。

2、执行脚本程序源文件

如果通过脚本程序源文件来输出的大小,首先应该编写代码(test1.py),程序的源代码如下:

image.png

有两种执行脚本文件 test1.py 的方法:
  • 1)借助于Abaqus 软件中带的 Python 解释器来运行源文件。在Abaqus 默认工作路径(笔者的默认工作路径为 C:\temp)下输入如图4所示的命令:

图片

图4  在 Abaqus 自带的 Python 解释器下运行

  • 2)在Python 解释器中运行源文件。此时,可以在DOS 窗口中输入如图5所示的命令:

图片

 图5  在 DOS 窗口中运行

建议选择源文件的方式来编写 Python 程序。编写 Python 脚本文件时,编辑器的好坏将直接影响到程序编写的效率和质量。好的编辑器应该满足下列2个基本要求:

  • (1)要包含语法加亮功能,该功能可以将 Python 程序的不同部分标以不同的颜色,方便修改和编写程序,也使得程序形象易读;

  • (2)执行的高效性,对于大型程序,需要编辑器具有较高的读入/写出效率。

对于 Windows 操作系统,建议选用 Editplus 、UltraEdit 或 IDLE 编辑器,它们除了具备语法加亮功能之外,还提供了许多便捷的其他功能。尽量不要使用记事本来编辑 Python 源文件,它既不包含语法加亮功能,也不支持文本缩进,而且大型代码文件的读写效率也很低。

3、植入Abaqus/CAE 软件

在 Abaqus/CAE 的命令行接口中,输入如图6所示的代码,也可以输出的值。

图片

图6 在Abaqus/CAE的命令行接口中实现

三、Python 编码规则

接下来,聊聊Python的编码规则,对于同一问题同一算法,如果选择不同的编程语言来实现,则编写的代码各不相同,这是因为:每种编程语言都有独特的编码规则。

1、合理使用注释

一个好的程序代码中往往都包含这些信息:算法介绍、各变量的含义、编写者、编写时间等,这些信息称为注释。注释是代码的一部分,起到了对代码补充说明的作用。程序代码越复杂,就应该包含越多的注释行,最好的做法就是:在定义每个函数、每个类、执行某个功能之前都加上适当的注释,提高程序的可读性和移植性。

Python 代码中的注释包括两种情况:

  • (1)如果只对某行代码进行注释,使用“#”号进行标注,“#”后面紧跟注释内容,按下回车键作为注释行的结束。例如;

mathscore = 100    #  数学成绩
  • (2)如果需要对一段代码进行注释,只需都以“#”号开始即可,如图7所示。例如:
图片

图7  用“#”对多行代码进行注释

还可以使用三重引号对一段文字或多行代码进行注释,如图8所示。调试代码的过程中,合理使用注释行,可以大大提高代码调试效率。

图片

 图8 用三重引号对多行代码进行注释 

如果要使用中文注释,则必须在 Python 代码的开始位置加上注释说明语句 # -*- coding: UTF – 8 -* -;如果 Python 代码可能在 Windows 操作系统以外的平台下运行,则需要在开始位置加上注释说明语句 # ! /user/bin/python。

2、合理使用空行

空行的作用在于分隔两段不同功能或不同含义的代码,便于以后代码的维护或重构。一般情况下,编写程序代码时应该在函数与函数之间、类的方法之间、类和函数入口之间设置空行,用来表示一段新代码的开始。一般情况下设置两个空行。

3、语句的分隔和连接

C 语言和 Java 语言必须以分号作为语句结束的标识。Python 语言也支持分号作为语句的标识,但分号可以省略,它主要通过换行来识别语句的结束。

例如,下列两条语句是等效的,输出结果都是 this is a banana。

image.png

Python 语言中的代码行分为物理行和逻辑行两类:物理行指的是编写程序时看到的行,而逻辑行指的是Python 语言能够识别的单个语句。如果一个物理行包含多个逻辑行,此时需要使用分号(;)进行分隔。例如:
 x = 1; y = 2; z = 3

上述代码也可以写为:  

x,y,z=1,2,3

即:同时为x、y、z赋值1,2,3读者在编写 Python 代码时,建议每个物理行只编写一句逻辑行,使得程序更加简洁易读。如果逻辑行太长,则可以在多个物理行编写一个逻辑行,Python 语言使用反斜线“\”作为换行符,这种做法称为“行连接”。

例如:

str = 'This is a string.\This line continues the first string.'    print str

l 第1行代码和第2行代码之间使用了反斜线“\”进行连接,输出结果为:

This is a string. This line continues the first string.
、我的Python线下高级培训班

1、培训时间:

  • 培训报到:7月19日(全天)

  • 培训日期:7月20-21日(全天)

  • 具体时间:9:00-12:00和14:00-17:00

2、培训方式:线下,培训地点详见报到通知(请联系仿真秀客服)

3、培训讲师:

曹金凤,仿真秀优秀讲师,工程力学专业博士,Abaqus青岛培训中心主任,从事计算固体力学、数值模拟、二次开发等方面的研究工作,具有17年Abaqus软件有限元分析经验。负责或作为主要参加人完成科研项目以及企业横向研究课题45项;出版《Abaqus有限元分析常见问题解答》(第1著者,Abaqus畅销书,累计印次重印8次,销量18000册,目前仍在售)和《Python语言在Abaqus中的应用》(第1著者,Abaqus畅销书,累计印次6次,销量10000册,目前仍在售),一直对外提供技术咨询服务,拥有含橡胶材料(轮胎、密封条、封隔器等)等项目的Abaqus分析经验,组织Abaqus软件基础培训、Python语言二次开发培训、橡胶材料有限元分析培训45场,学员近千人。

3、培训费用:

  • 研发工程师:2500元/人;

  • 在读研究生凭学生证2000元/人;

  • 同一单 位3人及以上报名,享受95折优惠;同一单位5人及以上报名,享受8折优惠。  

4、联系方式:

送邮件至service@fangzhenxiu.com领取报名邀请函及回执,

联系电话:010-52167874(刘老师)

微 信咨询15321399867

5、培训简介及内容大纲

图片
(完)
作者:曹金凤 仿真秀优秀讲师
声明:本文首发力学与Abqus仿真,部分图片和内容源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。
图片
喜欢作者,请点在看图片
二次开发通用静力学结构基础pythonAbaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-06-26
最近编辑:2年前
仿真圈
技术圈粉 知识付费 学习强国
获赞 9014粉丝 20377文章 3157课程 204
点赞
收藏
未登录
1条评论
静水流深
学无止境
1年前
学习
回复

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈