ABAQUS随机骨料python二次开发代码——二维椭圆颗粒生成

  1. 在<a href="/major/abaqus">ABAQUS中生成的模型展示

    可以根据自己的需要调整粒径大小和数量。

微信图片_20220918210912.jpg
微信图片_20220930093409.jpg

ABAQUS随机骨料python二次开发代码——二维椭圆颗粒生成的图3

2.部分代码展示

角度范围 0-90

import math

#定义创建椭圆的函数

def create_ellipse(centerx,centery,a,b,angle):

 s1.EllipseByCenterPerimeter(center=(centerx,centery), axisPoint1=(centerx+ a*math.cos(angle),centery+a*math.sin(angle)), axisPoint2=(centerx- b*math.sin(angle),centery+b*math.cos(angle)))

import random

center_coord = []

center_coord3D=[]

while len(center_coord) < number:

    centerx = random.uniform(0 + max_diameter/2,length-max_diameter/2)

    centery = random.uniform(0 + max_diameter/2,width - max_diameter/2)

    error = 0

    for result_x,result_y in center_coord:

        if ((centerx - result_x)**2 + (centery - result_y) ** 2) ** 0.5 < max_diameter:

            error = 1

            break

    if error == 0:

        center_coord.append([centerx,centery])

        radius = max_diameter/2

        angle = random.uniform(0,math.pi*2)

        create_ellipse(centerx,centery,a,b,angle)

备注:代码很长请付费立得代码压缩包,谢谢合作。

以下内容为付费内容,请购买后观看

   19人购买

ABAQUS随机骨料python二次开发代码——二维椭圆颗粒生成

App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

3
2