Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Abaqus, Variable Tow Angle plate 1

Status
Not open for further replies.

headcroco

Student
Oct 8, 2021
18
Hi, I am a Abaqus student edition user, and I am trying to build a plate made by plies which rotational angles vary with the surface coordinates in a linear way. Defining an orthonormal reference system x,y,z, where z is the normal to the laminate, the rotational angle which I would like to insert in Abaqus is: theta(x,y) = a + b*|y|, where a and b are parameters that depend on the specified ply. I tried to attach different many parts to make the laminate, but the resulting mesh is very bad and very long to make. Also, if stiffeners are added to the plate, the mesh quality rapidly decrease and cannot be used.

Any tips regarding this topic is welcome, even the use of a different software.
Thank you in advance.
 
Replies continue below

Recommended for you

You can use the distribution feature to define orientation angles on the layers of composite shell elements. And check the composite layup tool as well.
 
@FEA way
I have already tried using the distribution feature, but nothing happens.
edit: also, the discrete field feature( I am assuming you are talking about this one) doesn't let me insert an algebraic expression, for example theta = a+b|y|.
 
You can define spatial variation with an expression like that using expression fields (a subtype of analytical fields) but those aren't used for orientation definitions. For this purpose, you must utilize distributions (Abaqus/CAE supports distributions in form of discrete fields). So you would have to define orientations on an element-by-element basis. Or use the ORIENT subroutine.
 
@FEA way
I made an example with ORIENT subroutine. Did I put it in the right location?

**ABAQUS Input file example
*NODE
1, 10.0 , 0.0 , 0.0
2, 10.0 , 5.0 , 0.0
3, 5.0 , 5.0 , 0.0
4, 5.0 , 0.0 , 0.0
*ELEMENT,TYPE=S4,ELSET=Plate
6, 3, 4, 1, 2


SUBROUTINE ORIENT(T,NOEL,NPT,LAYER,KSPT,COORDS,BASIS,
1 ORNAME,NNODES,CNODES,JNNUM)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 ORNAME
C
DIMENSION T(3,3),COORDS(3),BASIS(3,3),CNODES(3,NNODES)
DIMENSION JNNUM(NNODES)


**Plate thickness 1mm
*SHELL SECTION,ELSET=Plate,MATERIAL=Steel
1.0 ,
*MATERIAL,NAME=Steel
*DENSITY
7.8000E-09,0.0
*ELASTIC,TYPE=ISOTROPIC
210000.0 ,0.3 ,0.0
**SOLVING METHOD
*STEP
*STATIC
0.1,1.0 ,1.0000E-05,1.0
**LOADS AND BOUNDARY CONDITIONS
*BOUNDARY
1,1,6,0.0
4,1,6,0.0
*CLOAD
2,3,-10.0
*OUTPUT,FIELD,FREQUENCY=1
*NODE OUTPUT,NSET = All_Nodes
u,nt
*ELEMENT OUTPUT,ELSET = All_Comp
s,e,
*END STEP
 
Subroutines are defined in separate files and referenced in the input file (or by proper setting in Abaqus/CAE). But you need a compiler to run the analysis with subroutines.
 
@FEA way
Which compiler should I use? Matlab?
edit: are the code lines I need to insert in the compiler like this?
1) Abaqus.exe
2) routine.exe
3) subroutine.exe
 
Normally you’d have to use paid Intel Fortran compiler but free Intel oneAPI compilers were released this year. You must link the compiler with Abaqus, there are several instructions for this procedure available online.
 
@FEA way
Thank you very much, I will try it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor