User login

You are here

ABAQUS, partitioning an edge

Hello Everyone,

Does anyone knows how it is possible to partition an edge in one step with multiple points (like multiple datum points or multiple parameter values)? I know how to partition one edge one by one. The problem of doing it one by one is the amount of time that it takes to do that. For example if I want to put 50 points on one edge I have to pick that edge 50 times and partition it, which takes a lot of time.

I am doing the whole process by scripting with Python so I would be glad if the solutions are in scripting format (I am using ABAQUS 2016).

Thanks,

Navid

Comments

If you know the coordinates of every point of the structure and the line two point make, then it is possible to use macromanager to draw the required sketch and then mesh it.

 

 

 

You can run this example script to see how partitioning of an edge can be done iteratively in Python:

from abaqus import *
from abaqusConstants import *
Mdb()
myModel = mdb.Model(name='myModel')
import part
s = myModel.ConstrainedSketch(name='__profile__',sheetSize=200.0)
s.rectangle(point1=(-100,10), point2=(100,-10))
p = myModel.Part(name='Part1', dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s, depth=25.0)
del myModel.sketches['__profile__']
e = p.edges
pickedEdge = e.findAt(((50.,10.,25.), ))
EdgeIndex=pickedEdge[0].index
EdgeIndex=4
# parameters for edge partition by 50 points
param=range(0,50)
param=param[::-1]
param = [(i+1)/((i+2)* 1.0) for i in param]
# perform partition of edge
for i in param:
    p.PartitionEdgeByParam(edges=pickedEdge, parameter=i)
c=p.cells[0]
for i in range(8,len(p.vertices)):
    print(p.vertices[i].pointOn)

 

I hope this helps

 

George

Subscribe to Comments for "ABAQUS, partitioning an edge"

More comments

Syndicate

Subscribe to Syndicate