#
#    Connector elements in  ABAQUS
#    EXAMPLE: SNUBBER ARM MECHANISM
#
#
from abaqus import *
import testUtils
testUtils.setBackwardCompatibility()
from abaqusConstants import *
##---------------------------------------------------------------------------
# define all imports
##---------------------------------------------------------------------------
import sys
import part
import material
import section
import assembly
import step
import interaction
import load
import mesh
import job
import regionToolset
import displayGroupMdbToolset as dgm
from connectorBehavior import *

# using old default for allowMapped option in order to preserve base results
session.defaultMesherOptions.setValues(allowMapped=OFF)

##---------------------------------------------------------------------------
# definition of the Cowling part
##--------------------------------------------------------------------------
Mdb()
session.viewports['Viewport: 1'].setValues(displayedObject=None)
s = mdb.models['Model-1'].Sketch(name='__profile__', sheetSize=200.0)
g, v, d = s.geometry, s.vertices, s.dimensions
s.sketchOptions.setValues(sheetSize=200.0, gridSpacing=5.0, grid=ON,
    gridFrequency=2, constructionGeometry=ON, dimensionTextHeight=5.0,
    decimalPlaces=2)
s.setPrimaryObject(option=STANDALONE)
s.ArcByCenterEnds(center=(0.0, 0.0), point1=(0.0, -11.44), point2=(0.0, 10.0))
s.Spot(point=(36.17, -11.44))
s.Spot(point=(40.8091, -9.90768))
s.Spot(point=(67.4409, 6.82308))
s.Spot(point=(66.111, 11.44))
s.Line(point1=(0.0, 11.44), point2=(66.111, 11.44))
s.Line(point1=(0.0, -11.44), point2=(36.17, -11.44))
s.Line(point1=(40.8091, -9.90768), point2=(67.4409, 6.82308))
s.ArcByStartEndTangent(point1=(36.17, -11.44), point2=(40.8091, -9.90768),
    vector=(1.0, 0.0))
s.ArcByStartEndTangent(point1=(67.4409, 6.82308), point2=(66.111, 11.44),
    vector=(0.846768727948863, 0.531961202878428))
p = mdb.models['Model-1'].Part(name='COWLING', dimensionality=TWO_D_PLANAR,
    type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['COWLING']
p.BaseShell(sketch=s)
s.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['COWLING']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
##---------------------------------------------------------------------------
# definition of the arm part
##--------------------------------------------------------------------------
s0 = mdb.models['Model-1'].Sketch(name='__profile__', sheetSize=200.0)
g, v, d = s0.geometry, s0.vertices, s0.dimensions
s0.sketchOptions.setValues(sheetSize=200.0, gridSpacing=5.0, grid=ON,
    gridFrequency=2, constructionGeometry=ON, dimensionTextHeight=5.0,
    decimalPlaces=2)
s0.setPrimaryObject(option=STANDALONE)
s0.Spot(point=(41.285, 11.44))
s0.Spot(point=(35.83, 11.44))
s0.Spot(point=(34.3781, 8.67193))
s0.Spot(point=(31.097, 8.245))
s0.Spot(point=(30.2384, 7.05602))
s0.Spot(point=(29.68, 5.612))
s0.Spot(point=(22.073, 1.038))
s0.Spot(point=(23.08, -0.016))
s0.Spot(point=(38.83, 6.55))
s0.Spot(point=(40.8443, 8.5731))
s0.Line(point1=(41.285, 11.44), point2=(35.83, 11.44))
s0.Spline(points=((35.83, 11.44), (34.3781, 8.67193), (31.097, 8.245), (
    30.2384, 7.05602), (29.68, 5.612)))
s0.Line(point1=(29.68, 5.612), point2=(22.073, 1.038))
s0.Line(point1=(23.08, -0.016), point2=(38.83, 6.55))
s0.ArcByStartEndTangent(point1=(22.073, 1.038), point2=(23.08, -0.016),
    vector=(-0.85700545213036, -0.515307340350239))
s0.Spline(points=((38.83, 6.55), (40.8443, 8.5731), (41.285, 11.44)))
p = mdb.models['Model-1'].Part(name='ARM', dimensionality=TWO_D_PLANAR,
    type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['ARM']
p.BaseShell(sketch=s0)
s0.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['ARM']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
##---------------------------------------------------------------------------
# definition of the shoe part
##---------------------------------------------------------------------------
s0 = mdb.models['Model-1'].Sketch(name='__profile__', sheetSize=20.0)
g, v, d = s0.geometry, s0.vertices, s0.dimensions
s0.sketchOptions.setValues(sheetSize=20.0, gridSpacing=0.5, grid=ON,
    gridFrequency=2, constructionGeometry=ON, dimensionTextHeight=0.5,
    decimalPlaces=2)
s0.setPrimaryObject(option=STANDALONE)
s0.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, 5.0))
session.viewports['Viewport: 1'].view.setValues(width=19.5707, height=11.7291)
s0.AngularConstructionLine(point=(0.0, 0.0), angle=100.0)
s0.AngularConstructionLine(point=(0.0, 0.0), angle=80.0)
s0.ArcByCenterEnds(center=(0.0, 0.0), point1=(-0.868240888334652,
    4.92403876506104), point2=(0.868240888334652, 4.92403876506104))
s0.delete(objectList=(g[3], ))
s0.VerticalConstructionLine(point=(-0.868240888334652, 4.92403876506104))
s0.VerticalConstructionLine(point=(0.868240888334652, 4.92403876506104))
s0.HorizontalConstructionLine(point=(-1.5, 4.5))
s0.Spot(point=(0.0, 3.75))
s0.Line(point1=(-0.868240888334652, 4.92403876506104), point2=(
    -0.868240888334652, 4.5))
s0.Line(point1=(0.868240888334652, 4.92403876506104), point2=(
    0.868240888334652, 4.5))
s0.Spline(points=((-0.868240888334652, 4.5), (0.0, 3.75), (0.868240888334652,
    4.5)))
p = mdb.models['Model-1'].Part(name='SHOE', dimensionality=TWO_D_PLANAR,
    type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['SHOE']
p.BaseShell(sketch=s0)
s0.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['SHOE']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
p1 = mdb.models['Model-1'].parts['SHOE']
f, v, e, d = p1.faces, p1.vertices, p1.edges, p1.datums
faces =(f.findAt((-0.772315, 4.796744,
    0.0), (0.0, 0.0, 1.0)), )
p1.PartitionFaceByShortestPath(point1=v.findAt((-0.868241, 4.5, 0.0),
    ), point2=v.findAt((0.868241,
    4.5, 0.0), ), faces=faces)
##---------------------------------------------------------------------------
# definition of the block part
##---------------------------------------------------------------------------
s = mdb.models['Model-1'].Sketch(name='__profile__', sheetSize=30.0)
g, v, d = s.geometry, s.vertices, s.dimensions
s.sketchOptions.setValues(sheetSize=30.0, gridSpacing=0.5, grid=ON,
    gridFrequency=2, constructionGeometry=ON, dimensionTextHeight=0.5,
    decimalPlaces=2)
s.setPrimaryObject(option=STANDALONE)
s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, 7.0))
s.AngularConstructionLine(point=(0.0, 0.0), angle=75.0)
s.AngularConstructionLine(point=(0.0, 0.0), angle=105.0)
s.ArcByCenterEnds(center=(0.0, 0.0), point1=(-1.81173331571765,
    6.76148078402348), point2=(1.81173331571765, 6.76148078402348))
s.delete(objectList=(g[3], ))
session.viewports['Viewport: 1'].view.setValues(cameraPosition=(0.17254,
    5.14385, 28.2843), cameraTarget=(0.17254, 5.14385, 0))
s.VerticalConstructionLine(point=(-1.81173331571765, 6.76148078402348))
s.VerticalConstructionLine(point=(1.81173331571765, 6.76148078402348))
s.HorizontalConstructionLine(point=(-1.5, 7.5))
s.Line(point1=(-1.81173331571765, 6.76148078402348), point2=(
    -1.81173331571765, 7.5))
s.Line(point1=(-1.81173331571765, 7.5), point2=(1.81173331571765, 7.5))
s.Line(point1=(1.81173331571765, 7.5), point2=(1.81173331571765,
    6.76148078402348))
p = mdb.models['Model-1'].Part(name='BLOCK', dimensionality=TWO_D_PLANAR,
    type=ANALYTIC_RIGID_SURFACE)
p = mdb.models['Model-1'].parts['BLOCK']
p.AnalyticRigidSurf2DPlanar(sketch=s)
s.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['BLOCK']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
p1 = mdb.models['Model-1'].parts['BLOCK']
v0, e, d0, n = p1.vertices, p1.edges, p1.datums, p1.nodes
p1.ReferencePoint(point=p1.InterestingPoint(edge=e.findAt((-0.913683, 6.940114,
    0.0), ), rule=MIDDLE))
mdb.models['Model-1'].parts['BLOCK'].features.changeKey('RP', 'BLOCK')
##-----------------------------------------------------------------------
# Define stiff material property and section for the top part of the shoe
##-----------------------------------------------------------------------
mdb.models['Model-1'].Material('StiffMat')
mdb.models['Model-1'].materials['StiffMat'].Elastic(table=((30000.0, 0.0), ))
mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',
    material='StiffMat', thickness=1.0)
p1 = mdb.models['Model-1'].parts['SHOE']
f = p1.faces
faces = f.findAt(((0.0, 4.666667,
    0.0), (0.0, 0.0, 1.0)), ((0.21706, 4.408203, 0.0), (0.0, 0.0, 1.0)), )
region = regionToolset.Region(faces=faces)
p0 = mdb.models['Model-1'].parts['SHOE']
p0.SectionAssignment(region=region, sectionName='Section-1')
##------------------------------------------------------------------------
# Assembly of the model
##------------------------------------------------------------------------
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
a = mdb.models['Model-1'].rootAssembly
a.DatumCsysByDefault(CARTESIAN)
p = mdb.models['Model-1'].parts['ARM']
a.Instance(name='ARM-1', part=p, dependent=OFF)
a = mdb.models['Model-1'].rootAssembly
p = mdb.models['Model-1'].parts['BLOCK']
a.Instance(name='BLOCK-1', part=p, dependent=OFF)
a = mdb.models['Model-1'].rootAssembly
p = mdb.models['Model-1'].parts['COWLING']
a.Instance(name='COWLING-1', part=p, dependent=OFF)
a = mdb.models['Model-1'].rootAssembly
p = mdb.models['Model-1'].parts['SHOE']
a.Instance(name='SHOE-1', part=p, dependent=OFF)
a = mdb.models['Model-1'].rootAssembly
a.DatumPointByCoordinate(coords=(0.0, 0.0, 0.0))
a.DatumPointByCoordinate(coords=(36.17, -10.14, 0.0))
a.DatumPointByCoordinate(coords=(38.37, 12.25, 0.0))
a.DatumPointByCoordinate(coords=(31.19, 7.58, 0.0))
a.DatumPointByCoordinate(coords=(38.37, 11.44, 0.0))
a.DatumPointByCoordinate(coords=(22.53, 0.5, 0.0))
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
a = mdb.models['Model-1'].rootAssembly
p1 = a.instances['BLOCK-1']
p1.translate(vector=(38.37, 5.25, 0.0))
#: The instance BLOCK-1 was translated by 38.37, 5.25, 0 with respect to the ass
#embly coordinate system
a = mdb.models['Model-1'].rootAssembly
p1 = a.instances['SHOE-1']
p1.translate(vector=(38.37, 7.25, 0.0))
#: The instance SHOE-1 was translated by 38.37, 7.25, 0 with respect to the asse
#mbly coordinate system
##-----------------------------------------------------------------------
# Defining the step
##-----------------------------------------------------------------------
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial',
    timePeriod=3.0, initialInc=0.001, maxInc=0.05, minInc=1e-5, nlgeom=ON)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
##-----------------------------------------------------------------------
# Define interaction
##-----------------------------------------------------------------------
# Definition of reference points
session.viewports['Viewport: 1'].view.fitView()
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[10])
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[11])
session.viewports['Viewport: 1'].view.setValues(width=4.21184, height=2.52424,
    viewOffsetX=-2.95592, viewOffsetY=-0.137187)
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[15])
session.viewports['Viewport: 1'].view.fitView()
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[13])
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[13])
session.viewports['Viewport: 1'].view.setValues(width=5.76838, height=3.45711,
    viewOffsetX=4.85825, viewOffsetY=5.37773)
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[14])
a = mdb.models['Model-1'].rootAssembly
d11 = a.datums
a.ReferencePoint(point=d11[14])
session.viewports['Viewport: 1'].view.fitView()
# Rename Reference points
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-1', 'COWLING')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-2', 'COWLING_ARM_S')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-3', 'ARM_COWLING_S')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-4', 'COWLING_ARM_J')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-5', 'ARM_COWLING_J')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-6', 'ARM_SHOE')
mdb.models['Model-1'].rootAssembly.features.changeKey('RP-7', 'SHOE_ARM')
# Definite display body constraints (Constraint-1 and Constraint-2)
a0 = mdb.models['Model-1'].rootAssembly
r1 = a0.referencePoints
mdb.models['Model-1'].DisplayBody(name='Constraint-1',
    instance=a0.instances['COWLING-1'], controlPoints=(r1[16], ))
mdb.models['Model-1'].DisplayBody(name='Constraint-2',
    instance=a0.instances['ARM-1'], controlPoints=(r1[20], ))
# Tie Cowling reference nodes (Constraint-3)
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[17], r1[19], )
a.Set(referencePoints=refPoints1, name='Set-1')
#: The set 'Set-1' has been created (2 reference points).
a = mdb.models['Model-1'].rootAssembly
region4=a.sets['Set-1']
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[16], )
region1=regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].RigidBody(name='Constraint-3', refPointRegion=region1,
    tieRegion=region4)
# Tie Arm reference nodes (Constraint-4)
session.viewports['Viewport: 1'].view.fitView()
session.viewports['Viewport: 1'].view.setValues(width=8.69835, height=5.2131,
    viewOffsetX=5.47285, viewOffsetY=4.88386)
session.viewports['Viewport: 1'].view.fitView()
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[18], r1[21], )
region4=regionToolset.Region(referencePoints=refPoints1)
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[20], )
region1=regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].RigidBody(name='Constraint-4', refPointRegion=region1,
    tieRegion=region4)
# Define the bottom part of the shoe to be a rigid body (Constraint-5)
a = mdb.models['Model-1'].rootAssembly
f1 = a.instances['SHOE-1'].faces
faces1 = f1.findAt((
    (38.58706, 11.658203, 0.0), (0.0, 0.0, 1.0)), )
region2=regionToolset.Region(faces=faces1)
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[22], )
region1=regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].RigidBody(name='Constraint-5', refPointRegion=region1,
    bodyRegion=region2)
# Define contact between the shoe abd the block
session.viewports['Viewport: 1'].view.setValues(width=8.05742, height=4.82898,
    viewOffsetX=5.15091, viewOffsetY=5.89904)
mdb.models['Model-1'].ContactProperty('IntProp-1')
mdb.models['Model-1'].interactionProperties['IntProp-1'].TangentialBehavior(
    formulation=PENALTY, directionality=ISOTROPIC, slipRateDependency=OFF,
    pressureDependency=OFF, temperatureDependency=OFF, dependencies=0, table=((
    0.5, ), ), shearStressLimit=None, maximumElasticSlip=FRACTION,
    fraction=0.005, elasticSlipStiffness=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(interactions=ON,
    constraints=ON, connectors=ON)
mdb.models['Model-1'].interactionProperties['IntProp-1'].tangentialBehavior.setValues(
    formulation=PENALTY, directionality=ISOTROPIC, slipRateDependency=OFF,
    pressureDependency=OFF, temperatureDependency=OFF, dependencies=0, table=((
    0.5, ), ), shearStressLimit=None, maximumElasticSlip=FRACTION,
    fraction=0.005, elasticSlipStiffness=None)
mdb.models['Model-1'].interactionProperties['IntProp-1'].NormalBehavior(maxStiffness=None, constraintEnforcementMethod=AUGMENTED_LAGRANGE)
#: The interaction property "IntProp-1" has been created.
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial')
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['BLOCK-1'].edges
side2Edges1 = s1.findAt(
    ((37.456317, 12.190114, 0.0), ), )
region1=regionToolset.Region(side2Edges=side2Edges1)
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['SHOE-1'].edges
side1Edges1 = s1.findAt(
    ((39.238241, 11.85601, 0.0), ), ((38.805779, 12.230973, 0.0), ), ((
    37.501759, 12.068029, 0.0), ), )
region2=regionToolset.Region(side1Edges=side1Edges1)
mdb.models['Model-1'].SurfaceToSurfaceContactStd(name='Int-1',
    createStepName='Initial', master=region1, slave=region2, sliding=FINITE,
    interactionProperty='IntProp-1', adjustMethod=TOLERANCE,
    adjustTolerance=1e-03)
#: The interaction "Int-1" has been created.
###########################################################################
###########################################################################
###########################################################################
##
##-------------------------------------------------------------------------
# Defining Connector elements properties
##-------------------------------------------------------------------------
# Joint between the arm and the cowling
cstop = ConnectorStop(components=(6, ), maxMotion=39.27)
mdb.models['Model-1'].ConnectorSection(name='JOIN-1', assembledType=NONE,
    translationalType=JOIN, rotationalType=ROTATION, behaviorOptions=(cstop,))
# Joint between the shoe and the arm
elasticity = ConnectorElasticity(components=(6, ), table=((10.0, ), ))
mdb.models['Model-1'].ConnectorSection(name='JOIN-2', assembledType=NONE,
    translationalType=JOIN, rotationalType=ROTATION, behaviorOptions=(elasticity,))
# Spring between the cowling and the arm
elasticity = ConnectorElasticity(components=(1, ), table=((50.0, ), ))
mdb.models['Model-1'].ConnectorSection(name='SPRING', assembledType=NONE,
    translationalType=AXIAL, rotationalType=NONE, u1ReferenceLength=16.3,
    behaviorOptions=(elasticity,))
##--------------------------------------------------------------------------
# Define connector elements
##--------------------------------------------------------------------------
session.viewports['Viewport: 1'].view.fitView()
#: Warning: You are already at the beginning of the cycle list.
a = mdb.models['Model-1'].rootAssembly
a0 = mdb.models['Model-1'].rootAssembly
r1 = a0.referencePoints
point1=r1[19]
point2=r1[20]
setname = 'JOIN-COWLING-ARM_CnSet'
connSect = 'JOIN-1'
edge = a.WirePolyLine(points=((point1, point2), ), mergeWire=OFF, meshable=OFF)
a.Set(name=setname, edges=a.getFeatureEdges(edge.name))
csa = a.SectionAssignment(region=a.sets[setname], sectionName=connSect)
co = a.ConnectorOrientation(region=csa.getSet())
#: The connector "JOIN-COWLING-ARM" has been created.
session.viewports['Viewport: 1'].view.setValues(width=5.67682, height=3.40224,
    viewOffsetX=5.18018, viewOffsetY=4.91129)
a0 = mdb.models['Model-1'].rootAssembly
r1 = a0.referencePoints
point1=r1[21]
point2=r1[22]
setname = 'JOIN-ARM-SHOE_CnSet'
connSect = 'JOIN-2'
edge = a.WirePolyLine(points=((point1, point2), ), mergeWire=OFF, meshable=OFF)
a.Set(name=setname, edges=a.getFeatureEdges(edge.name))
csa = a.SectionAssignment(region=a.sets[setname], sectionName=connSect)
co = a.ConnectorOrientation(region=csa.getSet())
#: The connector "JOIN-ARM-SHOE" has been created.
session.viewports['Viewport: 1'].view.fitView()
a0 = mdb.models['Model-1'].rootAssembly
r1 = a0.referencePoints
point1=r1[17]
point2=r1[18]
setname = 'SPRING-COWLING-ARM_CnSet'
connSect = 'SPRING'
edge = a.WirePolyLine(points=((point1, point2), ), mergeWire=OFF, meshable=OFF)
a.Set(name=setname, edges=a.getFeatureEdges(edge.name))
csa = a.SectionAssignment(region=a.sets[setname], sectionName=connSect)
co = a.ConnectorOrientation(region=csa.getSet())
#: The connector "SPRING-COWLING-ARM" has been created.
##--------------------------------------------------------------------------
# Boundary conditions
##--------------------------------------------------------------------------
a = mdb.models['Model-1'].rootAssembly
# Encaster block reference point
r1 = a.instances['BLOCK-1'].referencePoints
refPoints1=(r1[2], )
region = regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].DisplacementBC(name='BLOCK-FIXED',
    createStepName='Initial', region=region, u1=SET, u2=SET, ur3=SET,
    amplitude=UNSET, distributionType=UNIFORM, localCsys=None)
session.viewports['Viewport: 1'].view.fitView()
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[16], )
# Eliminate translation and out of plane rotation of the cowling
region = regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].DisplacementBC(name='COWLING-NO-TRANSLATION',
    createStepName='Initial', region=region, u1=SET, u2=SET,
    ur3=UNSET, amplitude=UNSET, distributionType=UNIFORM, localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
a = mdb.models['Model-1'].rootAssembly
r1 = a.referencePoints
refPoints1=(r1[16], )
# Amplitude definition
mdb.models['Model-1'].TabularAmplitude(name='Amp-1', timeSpan=STEP,
    smooth=SOLVER_DEFAULT, data=((0.0,0.0),(1.0, -0.087266), (2.0,0.0),(3.0, 0.087266)))
# Define cowling rotation
region = regionToolset.Region(referencePoints=refPoints1)
mdb.models['Model-1'].DisplacementBC(name='COWLING-ROTATE',
    createStepName='Step-1', region=region, u1=UNSET, u2=UNSET, u3=UNSET,
    ur1=UNSET, ur2=UNSET, ur3=1.0, amplitude='Amp-1', fixed=OFF,
    distributionType=UNIFORM, localCsys=None)
##--------------------------------------------------------------------------
# Mesh top part of the shoe
##--------------------------------------------------------------------------
session.viewports['Viewport: 1'].view.setValues(width=8.14898, height=4.88386,
    viewOffsetX=4.09732, viewOffsetY=5.6521)
a0 = mdb.models['Model-1'].rootAssembly
partInstances =(a0.instances['SHOE-1'], )
a0.seedPartInstance(regions=partInstances, size=0.21)
#: Global seeds have been assigned.
a0 = mdb.models['Model-1'].rootAssembly
partInstances =(a0.instances['SHOE-1'], )
a0.generateMesh(regions=partInstances)
##--------------------------------------------------------------------------
# Creation of the job
##--------------------------------------------------------------------------
session.viewports['Viewport: 1'].view.fitView()
mdb.Job(name='snubber', model='Model-1', type=ANALYSIS,
    explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, description='',
    userSubroutine='', numCpus=1, scratch='', echoPrint=OFF, modelPrint=OFF,
    contactPrint=OFF, historyPrint=OFF)
mdb.saveAs('snubber')