ABAQUS三维骨料随机分布脚本(三种粒子,水泥沙子石子)

该脚本使用Python和ABAQUS实现三维骨料的随机分布,包括水泥、沙子和石子。通过设定不同粒径和体积分数,自动生成相应颗粒并填充到基体中。脚本包含基体创建、颗粒形状定义、实例化和随机位置分配等步骤。
摘要由CSDN通过智能技术生成

此脚本可以实现三维骨料的随机分布,有问题联系QQ1498356982

# -*- coding: utf-8 -*-
"""
Created on 10 Jun 10 22:18:10 2021

@author: guozihao
"""

from abaqus import *
from abaqusConstants import *
import random

myModel = mdb.models['GZH']
sndc = 1.0 #水泥粒径
snvol = 0.0001 #水泥体积分数
szdc = 2.0 #沙子粒径
szvol = 0.001 #沙子体积分数
stdc = 6.0 #石头粒径
stvol = 0.01 #石头体积分数
vBa = 75.0*75.0*275.0 #基体体积

#新建基体
def basic():
    s1 = myModel.ConstrainedSketch(name='__profile__', sheetSize=200.0)
    s1.rectangle(point1=(-137.5, 37.5), point2=(137.5, -37.5))
    p = myModel.Part(name='basic', dimensionality=THREE_D, type=DEFORMABLE_BODY)
    p.BaseSolidExtrude(sketch=s1, depth=75.0)
    del myModel.sketches['__profile__']

def qiu(na,a,n):
    nq=na+str(n)
    s1 = myModel.ConstrainedSketch(name='__profile__', sheetSize=200.0)
    s1.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
    s1.ArcByCenterEnds(center=(0.0, 0.0), point1=(0.0, a/2), point2=(0.0, -a/2), direction=CLOCKWISE)
    s1.Line(point1=(0.0, a/2), point2=(0.0, -a/2))
    p = myModel.Part(name=nq, dimensionality=THREE_D, type=DEFORMABLE_BODY)
    p.BaseSolidRevolve(sketch=s1, angle=360.0, flipRevolveDirection=OFF)
    del myMode

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值