【生成C01/C10材料常数excel表】

该文提供了一个Python脚本,用于根据邵尔硬度(HA)和C01/C10比值计算材料常数,并生成Excel表格。脚本适用于防水橡胶圈的非线性仿真过程中的材料参数设定。用户输入硬度和比值,程序将计算并存储C10和C01值,最后保存到Excel文件中。
摘要由CSDN通过智能技术生成

一、说明

邵尔硬度和C01/C10材料常数的对应关系表,在做防水橡胶圈的非线性仿真过程中需要用到。在设计之余利用闲暇时间写的笔记,截取部分图以示说明:
在这里插入图片描述

二、代码示例

#!/usr/bin/env python
# -*- coding = utf-8 -*-
# @Time : 2021/3/19 9:55
# @Author : Leuanghing
# @File : 计算C01/C10材料常数
# @Software : PyCharm

import xlwt         #进行excel操作

double_constant = []
constant_list = []

def Material_constant():
    HA = input("请输入邵尔硬度HA:")
    R = input("请输入C01/C10比值:")
    E = (15.75+2.15*float(HA))/(100-float(HA))
    C10 = float(E)/(6*(1+float(R)))
    C01 = float(R)*float(E)/(6*(1+float(R)))
    C10 = round(C10, 4)         # 保留四位有效数字
    C01 = round(C01, 4)
    return C10, C01

def Material_constant_form():
    for HA in range(99):
        HA = HA + 1
        for R in range(100):
            R = R + 1
            E = (15.75 + 2.15 * float(HA)) / (100 - float(HA))
            C10 = float(E) / (6 * (1 + 0.01 * float(R)))
            C01 = 0.01 * float(R) * float(E) / (6 * (1 + 0.01 * float(R)))
            C10 = round(C10, 4)  # 保留四位有效数字
            C01 = round(C01, 4)
            # double_constant.append(C10)
            # double_constant.append(C01)
            double_constant.append("({},{})".format(C10, C01))
    return double_constant

# 保存数据
def saveData(datalist, savepath):
    print("save......")
    book = xlwt.Workbook(encoding="utf-8", style_compression=0)                     # 创建workbook对象
    sheet = book.add_sheet('材料常数C10与C01查询表', cell_overwrite_ok=True)                # 创建工作表
    # 创建行名
    row = ["", ]
    for row_name in range(0, 100):
        row_cell_text = "邵尔硬度{}HA".format(row_name+1)
        row.append(row_cell_text)

    # 创建列名
    col = ["", ]
    for col_name in range(1, 100):
        constant = round(0.01*col_name, 2)
        col_cell_text = "C01/C10={}".format(constant)
        col.append(col_cell_text)

    for r in range(0, 100):
        sheet.write(0, r, row[r])                               # 写入行名

    for c in range(0, 100):
        sheet.write(c, 0, col[c])                               # 写入列名

    num = 0
    for i in range(1, 100):
        print("第%d行" % (i+1))
        for j in range(1, 100):
            sheet.write(i, j, datalist[num])                        # 数据
            num += 1

    book.save(savepath)



if __name__ == '__main__':
    # while 1:
    #    constant = Material_constant()
    #    print("C10, C01分别为:{}MPa、{}MPa".format(constant[0], constant[1]))
 
    datalist = Material_constant_form()
    savepath = r'.\\材料常数C10与C01查询表.xls'
    saveData(datalist, savepath)

三、结果

需要excel的请自取:材料常数C10与C01查询表.xls
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值