Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

How to create correct geometry of coil in Abaqus/CAE?

Status
Not open for further replies.

mikechy

Mechanical
Sep 18, 2008
37
Hi,
I try to create a spiral coil (fraction of it) with such parameters:
springRad = 3.835
wireRad = 0.2
helixAngle = 78.2
numTurns = 0.25 (can be any)
and therefore pitch = 2*pi*springRad/tan(helixAngle*pi/180)
by
p.BaseSolidRevolve(angle=numTurns*360.0,
flipPitchDirection=OFF, flipRevolveDirection=OFF, moveSketchNormalToPath=ON
, pitch=pitch, sketch=sketch).
When I drawn a circle centered on (springRad, 0.0), the measured spiral angle is 78.769646, which is not right. In addition, in the reverse calculation, the spring radius is 4.035, which is also incorrect.
If one draw a circle centered on (springRad+wireRad, 0.0), then the angle will be exactly the same as you would like (but the radius is wrong!).
The question is how to create a helical coil with right and desirable both pameters: springRad and helixAngle in Abaqus/CAE? Thanks.
 
Replies continue below

Recommended for you

Below is Python code for creating the described springs, maybe this will clarify my question:

Code:
from abaqus import *
from abaqusConstants import *

springRad = 3.835
wireRad = 0.2
helixAngle = 78.2
pitch = 2*pi*springRad/tan(helixAngle*pi/180)
numTurns = 0.25

# Correct spring radius but wrong helical angle
sketch1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
sketch1.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
sketch1.FixedConstraint(entity=sketch1.geometry[2])
sketch1.ArcByCenterEnds(center=(springRad, 
    0.0), direction=CLOCKWISE, point1=(springRad-wireRad, 0.0), point2=(springRad+wireRad, 0.0))
sketch1.ArcByCenterEnds(center=(springRad, 
    0.0), direction=COUNTERCLOCKWISE, point1=(springRad-wireRad, 0.0), point2=(springRad+wireRad, 0.0))
p1 = mdb.models['Model-1'].Part(dimensionality=THREE_D, name='Part-1', type=
    DEFORMABLE_BODY)
p1.BaseSolidRevolve(angle=numTurns*360.0, 
    flipPitchDirection=OFF, flipRevolveDirection=OFF, moveSketchNormalToPath=ON
    , pitch=pitch, sketch=sketch1)
del sketch1

# Correct helical angle but wrong spring radius
sketch2 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
sketch2.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
sketch2.FixedConstraint(entity=sketch2.geometry[2])
sketch2.ArcByCenterEnds(center=(springRad+wireRad, 
    0.0), direction=CLOCKWISE, point1=(springRad+wireRad-wireRad, 0.0), point2=(springRad+wireRad+wireRad, 0.0))
sketch2.ArcByCenterEnds(center=(springRad+wireRad, 
    0.0), direction=COUNTERCLOCKWISE, point1=(springRad+wireRad-wireRad, 0.0), point2=(springRad+wireRad+wireRad, 0.0))
p2 = mdb.models['Model-1'].Part(dimensionality=THREE_D, name='Part-2', type=
    DEFORMABLE_BODY)
p2.BaseSolidRevolve(angle=numTurns*360.0, 
    flipPitchDirection=OFF, flipRevolveDirection=OFF, moveSketchNormalToPath=ON
    , pitch=pitch, sketch=sketch2)
del sketch2

Hope there is someone who can answer to my question. Thanks.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor