数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

2018-1-12更新: 电脑重装后再次安装DAMASK,完善文档,遇到了几个新问题,并附解决方法。 DAMASK是马普钢铁研究所开发的一款用于晶体塑性有限元模拟的开源软件。 安装过程如下: 求解器和编译器 DAMASK可以调用三种求解器:MSC.Marc/Mentat,Abaqus和自带的谱方法求解器。鉴于Abaqus用得范围广,这里选择Abaqus作为求解器。DAMASK实际是Abaqus的子程序,因此还需要安装Abaqus的subroutine编译器,即Intel的Fortran编译器。 这两个软件的安装及相互调用在之前的博客中已写过,见here。 Python及其Modules
Read more »

本文是对TutorialsPoint上的教程的翻译。 数据库QSqlDatabase PyQt API可以和很多基于SQL的数据库进行通信,用的类是QSqlDatabase。 具体使用哪个数据库要使用相应的驱动: 1. QDB2:IBM DB2 2. QIBASE:Borland InterBase Driver 3. QMYSQL:MySQL Driver 4. QOCI:Oracle Call Interface Driver 5. QODBC:ODBC Driver (includes Microsoft SQL Server) 6. QPSQL:PostgreSQL D
Read more »

本文是对TutorialsPoint上的教程的翻译。 QDialog QDialog通常提供一个窗口用来收集用户的响应。它可以设为模态(阻塞其父窗口)和非模态(可以绕过该对话窗口)。 PyQt API也提供了一些配置好的对话框控件,如之前提到的InputDialog、FileDialog、FontDialog。 举例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import sys from PyQt4.QtGui import * from PyQt4.QtCore import * def w
Read more »

本文是对TutorialsPoint上的教程的翻译。 标签QLabel 用来显示不可编辑的文字或图片,或GIF动画。也可用作其他控件的占位符。纯文本、超链接或富文本都可以显示在这个Label上。 QLabel类的函数 1. setAlignment():对齐文本,参数有Qt.AlignLeft、Qt.AlignRight、Qt.AlignCenter、Qt.AlignJustify 2. setIndent():设置文本缩进 3. setPixmap():显示一张图片 4. Text():显示label的标题 5. setText(): 编写程序来设定标题 6. selecte
Read more »

本文是对TutorialsPoint上的教程的翻译。 概述 PyQt是一个GUI控件工具箱,是Qt的Python接口。 PyQt有两个主要版本:PyQt 4.x和PyQt 5.x,两者不兼容,且前者基于Python 2和Python 3,后者仅基于Python 3。 Linux下载安装: 1 2 3 sudo apt-get install python-qt4 or sudo apt-get install pyqt5-dev-tools PyQt4由以下Modules组成:QtCore、QtGui、QtNetwork、QtXml、QtSvg、QtOpenGL、QtSql。
Read more »

什么是ICME 在TMS报告中,ICME的定义是“the integration of personnel (e.g., engineers, designers, etc.), computational models, experiments, design, and manufacturing processes across the product development cycle, for the purpose of accelerating and reducing the cost of development of a materials system or manufac
Read more »

本文是对前文的一个再次探索。 MOOSE项目太宏大,一点点来,这次先以解析怎样输入为主,还未涉及运行和求解,以后再不定期更新。 头文件 1 #include "ExampleApp.h" 声明具体问题类。 1 #include "MooseApp.h" 用于创建和存储各种对象。 1 #include "AppFactory.h" 声明AppFactory类,用于创建各种对象。里面有一个很隐藏的宏定义: 1 #define registerApp(name) AppFactory::instance().reg(#name) 在ExampleA
Read more »

本文转载自这里,修正了一些格式和文字错误。 引子 错误认识1:若程序员没有自己定义无参数的构造函数,那么编译器会自动生成默认构造函数,来进行对成员函数的初始化。 错误认识2:编译器合成出来的default constructor会明确设定“class内每一个data member的默认值”。但这两种种认识是有误的,不全面的。 正确认识: 默认的构造函数分为有用的和无用的,所谓无用的默认构造函数就是一个空函数、什么操作也不做,而有用的默认构造函数是可以初始化成员的函数。 对构造函数的需求也是分为两类:一类是编辑器需求,一类是程序的需求。 程序的需求:若程序需求构造函数时,就是要程序员自定义构造
Read more »

本文转载自这里,修正了一些格式和文字错误。 引子 在C++发明阶段,C++之父Stroustrup和贝尔实验室的C++小组对原先的宏方法进行了修订,对其进行了简化并将它从预处理范围移入了编译器。这种新的代码替换装置被称为模板,而且它变现了完全不同的代码重用方法:模板对源代码重用,而不是通过继承和组合重用对象代码。当用户使用模板时,参数由编译器来替换,这非常像原来的宏方法,却更清晰,更容易使用。 模板使类和函数可在编译时定义所需处理和返回的数据类型,一个模板并非一个实实在在的类或函数,仅仅是一个类和函数的描述。由于模板可以实现逻辑相同、数据类型不同的程序代码复制,所以使用模板机制可以减轻编程
Read more »

Intro 1 第一个例子演示了怎样创建一个Mesh Object。 头文件: 1 2 3 #include "libmesh/libmesh.h" //用来初始化库 #include "libmesh/mesh.h" //包含基本的mesh功能 using namespace libMesh; //所有的东西都在libMesh命名空间中 入口函数代码: 1 LibMeshInit init (argc, argv); // 初始化,这是必要的一步,因为libMesh可能依赖其他的比如MPI、PETSc等函数库 因为该程序的用法是: 1 ./ex1 -d DIM
Read more »