user2739143
user2739143

Reputation: 621

Abaqus Scripting: Finding a varying number of faces using findat

I'm trying to run a parametric study using Abaqus scripting. It's going to create a shell geometry and then partition it a varying number of times depending on how many times I specify.

My problem is that I'm trying to apply a centrifugal force and to do that I have to find all faces in the part. Is there a simple way to select a whole part? Its easy to calculate a coordinate system for each face, but I'm having trouble trying to combine them all into a value that Abaqus accepts.

Abaqus requires the coordinates to specified as follows, ((x1,y1,z1),), ((x2,y2,z2),)......... ((xn,yn,zn),)

I have been trying to use a while loop (shown below) to create a tuple with the coordinates but it does not like the extra set of brackets put either side. It also won't accept a string.

El = 1      #Used as a counter for how many partitions
allFaceCoords = ()

while El <= NumOfElLength:      
    regionCentreSpan = (Length/NumOfElLength)*0.5+((El-1)*(Length/NumOfElLength)) # Creates z coord
    regionCentre = (CentreLineXCord, 0.0, regionCentreSpan) # Put x,y,z coords in one value

    faceCoords =((regionCentre),)   # Abaqus wants each repeating unit as ((x,y,z),)
    allFaceCoords = allFaceCoords + (faceCoords,) # To add all the coordinates into 1 tuple

    El=El+1

facesAll = faces.findAt((allFaceCoords,))

Any ideas how I could achieve this would be much a appreactiated.

Cheers, Matt

Upvotes: 0

Views: 5452

Answers (1)

Aaron
Aaron

Reputation: 194

try using the commands:

mdb.models['Model-1'].parts['part_name'].faces.getBoundingBox(,,,)

or

mdb.models['Model-1'].parts['skt_R_board'].faces.getByBoundingSphere(

or

mdb.models['Model-1'].parts['skt_R_board'].faces.index[#]

Upvotes: 1

Related Questions