本项目利用python
控制Abaqus2021对「钢管混凝土(CFST)」进行建模(用于批量建模、批量提交)。
本项目研究「钢管混凝土」有如下特性
- 研究方形、矩形截面形状的钢管混凝土柱。
- 柱两端由刚性板进行加载,刚性板与加载点进行绑定。(加载点可自由设置加载位置、加载转角、加载位移)
- 钢管混凝土内部可设置约束拉杆
abaqus_modeling.py
——Abaqus可以运行的脚本(python2.7)- 读取参数,并根据参数进行建模
task_item.py
——辅助生成参数的模块(python3.6+)result_reader.py
——辅助批量读取结果的模块(python3.6+)utils.py
——通用工具函数库(非开发者可忽略)(python3.6+)materlib
——材料数据库(非开发者可忽略)(python3.6+)
- 用
pip
或conda
安装numpy
- 比如,在
cmd
中执行pip install numpy
- 比如,在
- 下载并解压本仓库
- 注意:请解压到纯英文路径(建议只包含英文、数字、下划线)
- 在
readme.md
所在文件夹- 新建一个
temporary.py
- 写入以下代码(注意:请修改ABAQUS_RUNFOLDER的值)
- 运行代码
- 新建一个
import task_item as ti
from pathlib import Path
ABAQUS_RUNFOLDER = r"D:\Environment\Appdata\AbaqusData\Temp" # TODO: 请将该路径修改为ABAQUS的运行路径(可以在ABAQUS CAE的 "文件" -> "设置工作目录..." 中找到)
TASK_FOLDER = Path(ABAQUS_RUNFOLDER) / "tasks"
for e in [0.133, 0.233, 0.333]:
task_params: dict = ti.AbaqusData.get_ecc_cfst_alpha_template() # 生成「快速初始化参数模板」
print(task_params)
task_params["e"] = e # 对「快速初始化参数模板」进行修改, 此处修改偏心距
abadata = ti.AbaqusData.init_ecc_cfst_alpha(
task_params
) # 利用「快速初始化参数模板」快速实例化AbaqusData
abadata.gene_task_folder(TASK_FOLDER) # 生成任务文件夹
- 打开
ABAQUS CAE
- 点击「
运行脚本
」或「文件
->运行脚本...
」 - 找到本文件夹中的「
abaqus_modeling.py
」并运行 - 等待运行完成
- 点击「
- 获取结果
- 在
ABAQUS_RUNFOLDER
路径中找到tasks
文件夹,所有任务数据存放于此 result_reader.py
可以辅助读取任务数据
- 在
import result_reader as rr
from pathlib import Path
ABAQUS_RUNFOLDER = r"D:\Environment\Appdata\AbaqusData\Temp" # TODO: 请将该路径修改为ABAQUS的运行路径(可以在ABAQUS CAE的 "文件" -> "设置工作目录..." 中找到)
TASK_FOLDER = Path(ABAQUS_RUNFOLDER) / "tasks"
seq_of_tasks = rr.TaskFolderList(ABAQUS_RUNFOLDER)
for task in seq_of_tasks:
task: rr.TaskFolder
print(task)
print("用户数据摘要\n\n", task.task_params_abstract_1)
print("odb导出数据\n\n", task.odb_extract)
print("柱顶部中点位移数据\n\n", task.get_endpoint_displacement(0.5, 0.5, "top"))