离散的
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.py
和python3 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
,如下所示:
用户可以指定一个配置文件作为example1.py
脚本的运行时参数,
例如python3 examples/example1.py examples/InputData_SquareEx.json
此命令将自动创建一个文件夹Results_<data>_<time>
,其中<;date>;和<;time>;
系统上的当前日期和时间,包含以下文件:
InputData.json
:输入配置InputData的副本CMatrix.txt
,FlexMatrix.txt
:计算矩阵EffectProperties.txt
:计算的有效属性NSB_Moduli.png
,NormalToShear.png
,PoissonRation.png
:计算效果图ve属性
使用GUI工具:
GUI主要是作为一个支持工具来创建输入JSON文件,该文件是分析特定晶格结构所必需的。它允许通过定义原始材料单元的节点、元素和周期向量,对不同的晶格几何结构进行直接的图形解析。创建的输入随后可以独立使用,如前面的示例部分所示。Videos
文件夹中提供了使用GUI工具的不同示例。在
- 项目
标签: