Abaqus/Python将材料从csv分配到体积分数

2024-06-18 13:11:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下代码创建分区

path = "C:\Users\s.espinosa14\OneDrive - Universidad de los Andes\Documents\Civil\Tesis Silvia\Cubos\cc.txt"
datalist = []
with open(path, "rb") as fp:
    for row in fp.readlines():
        tmp = row.split(",")
        try:
            datalist.append((float(tmp[0]), float(tmp[1]), float(tmp[2])))
        except:pass

numcor = len(datalist)
for i in range(0,numcor):
    p = mdb.models['Model-1'].parts['Part-1']
    p.DatumPointByCoordinate(coords=datalist[i])

for ii in range(2,numcor,3):
    p = mdb.models['Model-1'].parts['Part-1']
    print(ii)
    c = p.cells
    pickedCells = c
    v1, e1, d2 = p.vertices, p.edges, p.datums
    p.PartitionCellByPlaneThreePoints(cells=pickedCells, 
        point1=d2[ii],
    point2=d2[ii+1],
    point3=d2[ii+2])

现在,我尝试使用为每个分区指定一种材质。我有csv中的坐标和材质类型

datalist2 = []
with open(path2, "rb") as fp2:
    for row in fp2.readlines():
        tmp = row.split(",")
        try:
            datalist2.append((float(tmp[0]), float(tmp[1]), float(tmp[2]),float(tmp[3])))
        except:pass

numcor = len(datalist)
for i in range(0,numcor):
    p = mdb.models['Model-1'].parts['Part-1']
    c = p.cells
    pickedcell = c.findAt(tmp[0],tmp[1],tmp[2])
    p.HomogeneousSolidSection(material=
'tmp[3]', name='name', thickness=None)

csv具有x、y、z和材质(1或0),1是一种材质,0是另一种材质

提前谢谢


Tags: informodelmodelsrangefloattmprow