Python 是一门通用语言。与其他的通用语言一样,没有一个绝对权威的工作环境,也不止一种方法使用它。与 Matlba,Scilab 或者 R 不同,Python 并没有预先绑定的一组科学计算模块。下面是可以组合起来获得科学计算环境的基础的组件。
Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 Jupyter 做 Debug。
hyper.deal 是一个高效的,无矩阵的有限元库,用于使用高阶不连续 Galerkin 方法求解二维至六维偏微分方程。它建立在低维有限元库 deal.II 的基础上,以创建低维网格并对其进行单独操作。我们通过张量产品即时组合这些网格,并提供新的高度优化的特殊用途的无矩阵功能。
论文中画出各种绚烂的插图,都是用一些什么样的软件画出来的。本文介绍 Python 的绘图模块 matplotlib: Python plotting。适用于从 2D 到 3D,从标量到矢量的各种绘图。能够保存成从 eps, pdf 到 svg, png, jpg 的多种格式。并且 Matplotlib 的绘图函数基本上都与 MATLAB 的绘图函数名字都差不多,迁移的学习成本比较低。
Gmsh 是三维开源有限元网格生成器,但其脚本语言编写比较难,本文介绍基于 Python 的 Pygmsh 程序包。Pygmsh 的目标是将 Gmsh 的功能与 Python 的多功能性相结合,并提供来自 Gmsh 脚本语言的有用功能,以便可以更轻松地创建复杂的几何图形。
目前 ABAQUS 的二次开发有两种,求解器层次的 Fortran 和前后处理层次的 Python。基于 Python 可以实现的前后处理层次上的二次开发;或者是编写程序段完成某一特定的分析优化计算;或者是利用 Python 对大量计算结果进行后处理提取想要的结果;或者是编写更契合用户使用习惯的 GUI 界面,简化使用者的操作流程。
本 PyQt5 教程展示了如何使用 Python 3 和 QT 在 Windows,Mac 或 Linux 上创建 GUI。包括为应用程序创建安装包等。PyQt 是一个库,可让您使用 Python 的 QT GUI 框架。QT 本身是用 C ++ 编写的。通过从 Python 使用它,您可以更快地构建应用程序,而不会牺牲很多 C ++ 的速度。
你可以开始学习任何编程语言(尽管其中一些被描述地比其他的更加“易学”),你得去问自己自己想用通过学习这门语言完成什么样的工作。这将会帮助你确定你应该追求的编程方式并且提供一个良好的开始。无论你做了什么样的决定,你可能只会希望从一门高水准又易学的语言开始。这些语言对于初学者非常有用,因为它们教授基本的概念和适用于几乎任何语言的思维过程。
d3plot2hdf5 是一个文件转换器,可将 LS-DYNA 的 d3plot 二进制文件转换为 HDF5。生成的 XDMF 文件的生成允许立即使用诸如 ParaView,VisIt 和 Ensight 之类的后处理工具。生成的 HDF5 数据可以使用 MATLAB 或 Mathematica 之类的工具进行处理。
近年来流行大数据,神乎其神的,由于经常面对海量数据编程,对大规模数据下的算法设计有一点心得,分享其中的一个点:并行思想。单机能搞定的数据与算法,我们姑且认为是小数据,搞不定的就是大数据。那么单机存储不了,自然而然的就想到了分散到多机存储与处理。
有限元软件 ABAQUS 支持用户自定义材料模型,相应的自定义模型程序称为用户材料子程序(User-Material Subroutine,简称 UMAT)。通过此方法可以开发各类非线性本构关系并应用于工程结构的有限元分析中。
这是用于商业有限元分析软件 LS-DYNA 的开源肌肉模型,从文献中选取了三组不同的哺乳动物实验数据,对这种物质模型进行了验证和验证,将它与 LS-DYNA 中已经存在的 * MAT_MUSCLE(* MAT_156)希尔型肌肉模型进行了比较,该模型目前在有限元人体模型(HBM)中使用。
本文针对习惯使用 MATLAB 的用户,介绍一个开源项目 MATLAB-LSDYNA,该项目包含有限元求解器 LS-DYNA 的 ASCII 结果文件的查看模块,以及从 MATLAB 中以编程方式调用 LS-DYNA 模拟的模块。不过,该项目与 LS-DYNA 的创建者或发行者没有任何关系,是完全第三方。
UIDL(User Interface Design Language) 即用户界面设计语言,是 ANSYS 为用户提供的专门进行程序界面设计的语言,允许用户改变 ANSYS 图形界面(GUI) 中的一些组项,提供 了一种允许用户灵活使用、组织设计 ANSYS 图形界面的强有力工具。它以“*.GRN”为扩展名,它可在 ANSYS 原 有的菜单中添加自己设定的菜单项和控制程序。
LS-DYNA 作为一个大型的通用有限元程序,对于多重非线性的大规模问题的解决具有独特的优势,在实际工程中也得到非常广泛的应用。本文将介绍,以一个简单的材料模型来演示在新的环境下的一个完整的开发过程,包括编译,连接,动态加载,源程序跟踪调试,以及模型验证等环节。
EditorConfig 有助于为跨越各种编辑器和 IDE 的同一项目的多个开发人员维护一致的编码样式。EditorConfig 项目由用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵循定义的样式。EditorConfig 文件易于阅读并且可以与版本控制系统配合使用。
GPU 全称叫做 graphics processing unit,图形处理器,顾名思义就是处理图形的,但随着技术进步,GPU 越来越强大,尤其是 shader 出现之后(这个允许我们在 GPU 上编程),GPU 能做的事越来越多,不再局限于图形领域,也就有人动手将其能力扩展到其他计算密集的领域,这就是 GP(General Purpose)GPU。
求解器是仿真软件的核心,求解器的性能直接决定了软件的水平。CAD/CAE/CFD/EDA 软件的开发,存在较多的开源求解器,根据经验,将开源求解器分为三类
本文为下篇,继上篇介绍了网格、单元、边界条件、求解器等问题后,本文讨论多物理场问题及相关案例,也可以作为多物理场有限元入门文章,对于从事仿真分析的工程师也可以对软件实现细节有所了解。
本文主要写给从事 CAD/CAE/EDA/CFD 等相关的软件研发测试人员,也可以作为有限元入门文章,对于从事仿真分析的工程师也可以对软件实现细节有所了解。鉴于篇幅原因,文章分为上下篇。
你有知识和方法要分享吗?
撰写文章