CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Structural Mechanics (https://www.cfd-online.com/Forums/structural-mechanics/)
-   -   ABAQUS Assigning Composite Problem (https://www.cfd-online.com/Forums/structural-mechanics/252121-abaqus-assigning-composite-problem.html)

R786 September 28, 2023 12:20

ABAQUS Assigning Composite Problem
 
Hello,
I have a python script which I am using to apply a composite assign to a box but I get error in this script, what can be the reason, I think its the surface of the box
from abaqus import *
from abaqusConstants import *




# functions


def Create_Part_3D(length,thickness,width,part,model):
s1 = mdb.models[model].ConstrainedSketch(name='__profile__', sheetSize=200.0)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.Line(point1=(0.0, 0.0), point2=(length, 0.0))
s1.Line(point1=(length,0.0), point2=(length, thickness))
s1.Line(point1=(length,thickness), point2=(0, thickness))
s1.Line(point1=(0, thickness), point2=(0,0))
p = mdb.models[model].Part(name=part, dimensionality=THREE_D, type=DEFORMABLE_BODY)
p = mdb.models[model].parts[part]
p.BaseSolidExtrude(sketch=s1, depth=width)
s1.unsetPrimaryObject()
p = mdb.models[model].parts[part]
del mdb.models[model].sketches['__profile__']

def Create_Datum_Plane_by_Principal(type_plane,part,mo del,offset_plane):
p = mdb.models[model].parts[part]
p.DatumPlaneByPrincipalPlane(principalPlane=type_p lane, offset=offset_plane)

def Create_Set_All_Cells(model,part,set_name):
p = mdb.models[model].parts[part]
c = p.cells[:]
p.Set(cells=c, name=set_name)

def Create_Material_Data(model,material_name,e11,e22,e 33,nu12,nu13,nu23,g12,g13,g23,lts,lcs,tts,tcs,lss, tss):
mdb.models[model].Material(name=material_name)
mdb.models[model].materials[material_name].Elastic(type=ENGINEERING_CONSTANTS, table=((e11,e22,e33,nu12,nu13,nu23,g12,g13,g23), ))
mdb.models[model].materials[material_name].HashinDamageInitiation(table=((lts,lcs,tts,tcs,ls s,tss), ))


def Create_Assembly(model,part,instance_name):
a = mdb.models[model].rootAssembly
a.DatumCsysByDefault(CARTESIAN)
p = mdb.models[model].parts[part]
a.Instance(name=instance_name, part=p, dependent=ON)

def Create_Set_Face(x,y,z,model,part,set_name):
face = ()
p = mdb.models[model].parts[part]
f = p.faces
myFace = f.findAt((x,y,z),)
face = face + (f[myFace.index:myFace.index+1], )
p.Set(faces=face, name=set_name)

def Create_Set_Surface(x,y,z,model,part,set_name):
face = ()
p = mdb.models[model].parts[part]
s = p.faces
myFace = s.findAt((x,y,z),)
face = face + (s[myFace.index:myFace.index+1], )
p.Surface(side1Faces=face, name=set_name)

def Create_Composite_Layup(model,part,set_name,composi te_name,number,material,thickness,angle):
layupOrientation = None
p = mdb.models[model].parts[part]
region1=p.sets[set_name]
normalAxisRegion = p.sets['Outer-Surface']
primaryAxisRegion = p.sets['Panel']
compositeLayup = mdb.models[model].parts[part].CompositeLayup(name=composite_name, description='', elementType=CONTINUUM_SHELL, symmetric=False)
compositeLayup.Section(preIntegrate=OFF, integrationRule=SIMPSON, poissonDefinition=DEFAULT, thicknessModulus=None, temperature=GRADIENT, useDensity=OFF)
for i in range(0,number,1):
compositeLayup.CompositePly(suppressed=False, plyName='Ply-'+str(i), region=region1, material=material, thicknessType=SPECIFY_THICKNESS, thickness=thickness, orientationType=SPECIFY_ORIENT, orientationValue=angle[i], additionalRotationType=ROTATION_NONE, additionalRotationField='', axis=AXIS_3, angle=0.0, numIntPoints=3)
compositeLayup.ReferenceOrientation(orientationTyp e=DISCRETE, localCsys=None, additionalRotationType=ROTATION_ANGLE, angle=90.0, additionalRotationField='', axis=AXIS_3, stackDirection=STACK_3, normalAxisDefinition=SURFACE, normalAxisRegion=normalAxisRegion, normalAxisDirection=AXIS_3, flipNormalDirection=False, primaryAxisDefinition=EDGE, primaryAxisRegion=primaryAxisRegion, primaryAxisDirection=AXIS_2, flipPrimaryDirection=False)


# variables


myString = "Wingbox"
myPart="Panel"
myLength = 25.0
myWidth=50.0
myThickness = 2.5
myModel = mdb.Model(name=myString)
myPart = "Panel"
myAngle = [45,-45,0,90,90,0,-45,45]
myPlyNumber = len(myAngle)

# material parameters

myE11 = 133000
myE22 = 11500
myE33 = 11500
myNu12 = 0.32
myNu13 = 0.32
myNu23 = 0.37
myG12 = 4800
myG13 = 4800
myG23 = 4200

# hashin damage parameters

myLTS = 1200
myLCS = 972
myTTS = 37
myTCS = 147
myLSS = 71.5
myTSS = 32

#create model

Create_Part_3D(myLength,myThickness,myWidth,myPart ,myString)
Create_Datum_Plane_by_Principal(XZPLANE,myPart,myS tring,0.0)
Create_Datum_Plane_by_Principal(XYPLANE,myPart,myS tring,myLength)
Create_Datum_Plane_by_Principal(YZPLANE,myPart,myS tring,0.0)
Create_Set_All_Cells(myString,myPart,"Panel")

Create_Set_Face(myWidth-myLength,0.0,0.0,myString,myPart,"Outer-Surface")
Create_Set_Face(myWidth-myLength,0.0,myWidth,myString,myPart,"Outer-Surface1")
Create_Set_Face(myLength/2.0,myThickness,myThickness,myString,myPart,"RP-1")
Create_Set_Face(myLength/2.0,0.0,myThickness,myString,myPart,"RP-2")
Create_Set_Surface(myWidth,myThickness,myLength,my String,myPart,"Outer-Surface")
Create_Composite_Layup(myString,myPart,"Panel","Qu asi_Isotropic",myPlyNumber,"CFRP",myThickness/myPlyNumber,myAngle)
Create_Material_Data(myString,"CFRP",myE11,myE22,m yE33,myNu12,myNu13,myNu23,myG12,myG13,myG23,myLTS, myLCS,myTTS,myTCS,myLSS,myTSS)
Create_Assembly(myString,myPart,"Panel")


All times are GMT -4. The time now is 20:31.