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)

備注:代碼很長請付費立得代碼壓縮包,謝謝合作。

以下內容為付費內容,請購買后觀看

   20人購買

ABAQUS隨機骨料python二次開發代碼——二維橢圓顆粒生成

App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3
2