离散的

DiscreteLatticeMech的Python项目详细描述


谨慎的拉提切梅奇

简介

DiscreteLattchMech是一个基于离散单元的力学Python包,用于计算二维超材料晶格结构的有效静态特性。该软件利用晶格结构内部运动学和静态变量的渐近展开形式,利用其空间周期性。因此,它利用最小的重复材料单位,大大降低了全尺寸计算的成本。为了识别基本单元的参数,提供了一个专用的图形用户界面(GUI)。该代码计算完整的,柯西力学,刚度和柔度矩阵,提供访问所有弹性材料模量。重点阐述了建筑材料结构的法向模量、剪切模量和体积模量以及泊松比值。它的公式有利于分析广泛的晶格设计,建立了微观和宏观材料性能之间的基本联系。在

项目布局

  • DiscreteLatticeMech/Core:python库
  • DiscreteLatticeMech/GUI:GUI工具
  • DiscreteLatticeMech/SampleInputs:输入配置文件示例
  • tests:检查
  • examples:一组python脚本示例
  • videos::一组演示GUI工具用法的视频

要求

核心模块和GUI工具都需要python3.5或更高版本。在

核心模块的包装要求如下:

  • numpy
  • jsonschema
  • matplotlib
  • pytest

GUI工具的附加软件包要求如下:

  • wxpython

请注意,GUI工具只在Windows平台上测试过。在

安装

在Python环境和包的根文件夹中, 在终端中键入以下命令进行安装:

  • pip3 install .

否则,您可以安装PyPi发行版:

  • pip3 install DiscreteLatticeMech

GUI工具是包分发的一部分。但是,必须安装它的附加依赖项 通过运行以下命令:

  • pip3 install wxpython

测试

只需键入pytest即可通过自动运行tests文件夹中的脚本来检查安装情况。在

示例

要运行这些示例,只需在根文件夹中键入python3 examples/example1.pypython3 examples/example2.py。在

第一个示例读取examples文件夹中的输入配置文件(InputData_SquareEx.json),并用运行结果创建一个新文件夹。在

第二个示例在Python字典中设置输入数据并调用解算器,生成另一个文件夹 同样的结果。在

InputData_SquareEx.json的内容如下所示:

{
    "NumberElements": 2,
    "e_1": [1,0],
    "e_2": [0,1],
    "Y_1": [1, 0],
    "Y_2": [0, 1],
    "NumberNodes": 1,
    "Ob": [1,1],
    "Eb": [1,1],
    "Delta1": [1,0],
    "Delta2": [0,1],
    "Ka": [21,21],
    "Kb": [0.21,0.21],
    "Lb": [10,10],
    "tb": [1,1],
    "L1": 10,
    "L2": 10
}

在哪里

  • "NumberElements":元素数
  • "e_1", "e_2":每个元素的方向向量
  • ^{cd24>定义全局周期性
  • "NumberNodes":内部节点数
  • "Ob", "Eb", "Delta1", "Delta2":起点和终点以及增量的列表
  • "Ka", "Kb":单元轴向刚度和抗弯刚度列表
  • "Lb", "tb":元素长度和厚度列表
  • "L1", "L2":周期向量的范数

Python模块的典型用法类似于example1.py,如下所示:

^{pr2}$

用户可以指定一个配置文件作为example1.py脚本的运行时参数, 例如python3 examples/example1.py examples/InputData_SquareEx.json 此命令将自动创建一个文件夹Results_<data>_<time>,其中<;date>;和<;time>; 系统上的当前日期和时间,包含以下文件:

  • InputData.json:输入配置InputData的副本
  • CMatrix.txtFlexMatrix.txt:计算矩阵
  • EffectProperties.txt:计算的有效属性
  • NSB_Moduli.pngNormalToShear.pngPoissonRation.png:计算效果图ve属性

使用GUI工具:

GUI主要是作为一个支持工具来创建输入JSON文件,该文件是分析特定晶格结构所必需的。它允许通过定义原始材料单元的节点、元素和周期向量,对不同的晶格几何结构进行直接的图形解析。创建的输入随后可以独立使用,如前面的示例部分所示。Videos文件夹中提供了使用GUI工具的不同示例。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java收回EhCache中的所有元素   java创建带有箭头的组合框,以在其中增加值   在Java中使用JsonPath解析JSON中的数组   java如何在应用程序类不可见的模块中获取上下文?   exoplayer中的java Recyclerview不起作用   java MS Access无法打开更多表   从xmlschema到java的unicode拉丁脚本子集的正则表达式   在spring sts模型中,java时间戳格式必须为yyyymmdd hh:mm:ss   java将XPath转换为Jsoup的CssSelector   java Solr运算符类似于SQL中的类反向运算符   java使第三方类不可变   java跳过自定义卡片堆栈视图的动画   java如何修复“使用Spring AOP,我想更改返回值,但返回类不是我的返回方法”   java使用正则表达式解析字符串   java泛型与遗留代码的兼容性为什么foreach在运行时失败,而迭代器工作正常   hibernate如何使用java持久性重试锁定等待超时?