*Heading
**  set frequency to nonzero in *output,field if deformed shape needed
** Some of the bodies are always rigid: valves, valve lifters, and tie rods
** The others can be turn into either a:
**    substructure nnt(SECTION 3 , comment out SECTION 1&2)
**    rigid body (SECTION 1&2 , comment out SECTION 3)
**    rigid body from substructure (SECTION 3&4, comment out SECTION 1&2)
**
**    analysis type:
**    only 3 lines are different between static and dynamic analyses:
**    *static                               dynamic,haftol=1.e6
**    0.02, 1., 1E-15, 0.02		    .005,1.0
**    *connectormotion, type=VELOCITY	    connectormotion, type=VELOCITY,amplitude=SMOOTH
**    19, 4, -13.0			    9, 4, -13.0
**
**    for the impact analysis - change the valve *CONNECTOR ELASTICITY to 0.25
**
**    comment out the substructure path, enter/leave as necessary
** ----------------------------------------------------------------
**
**          connector, ground, reference nodes, and materials
**
*include,input=crank_conn_gr_ref_nodes.inp
*include,input=crank_small_mass.inp
*include,input=crank_materials.inp
***********************************************************************
***                     Section 1
***              define deformable bodies
***
*include,input=crank_head_elts.inp
*include,input=crank_head_coupling.inp
*include,input=crank_conrod_elts.inp
*include,input=crank_conrod_coupling.inp
*include,input=crank_shaft_elts.inp
*include,input=crank_shaft_coupling.inp
*include,input=crank_shaft2_elts.inp
*include,input=crank_shaft2_coupling.inp
*include,input=crank_cam_elts.inp
*include,input=crank_cam_coupling.inp
*include,input=crank_camfollow1_elts.inp
*include,input=crank_camfollow1_coupling.inp
*include,input=crank_camfollow2_elts.inp
*include,input=crank_camfollow2_coupling.inp
*elset,elset=gravload
shaft,shaft2,conrod,head,cam,camfollow1,camfollow2
************************************************************************
*****                  Section 2
*****     turn all deformable bodies into rigid bodies
*****
***rigid body,elset=head,      ref node=300001
***rigid body,elset=conrod,    ref node=300002
***rigid body,elset=shaft,     ref node=300003
***rigid body,elset=shaft2,    ref node=300004
***rigid body,elset=cam,       ref node=300005
***rigid body,elset=camfollow1,ref node=300006
***rigid body,elset=camfollow2,ref node=300007
***********************************************************************
***                   Section 3
***    turn all deformable bodies into substructures
***
***element,type=z1,elset=substr_crank_head,file=crank_head
**400001,1,2,5186
***substructure property,elset=substr_crank_head
***element,type=z2,elset=substr_crank_conrod,file=crank_conrod
**400002,3,4,16145
***substructure property,elset=substr_crank_conrod
***element,type=z3,elset=substr_crank_shaft,file=crank_shaft
**400003,5,6,385
***substructure property,elset=substr_crank_shaft
***element,type=z4,elset=substr_crank_shaft2,file=crank_shaft2
**400004,7,8,3653
***substructure property,elset=substr_crank_shaft2
***element,type=z5,elset=substr_crank_cam,file=crank_cam
**400005,19999,9,16992
***substructure property,elset=substr_crank_cam
***element,type=z6,elset=substr_crank_camfollow1,file=crank_camfollow1
**400006,35,21,20
***substructure property,elset=substr_crank_camfollow1
***element,type=z7,elset=substr_crank_camfollow2,file=crank_camfollow2
**400007,36,23,22
***substructure property,elset=substr_crank_camfollow2
***elset,elset=gravload
**400001,400002,400003,400004,400005,400006,400007
************************************************************************
*****                   Section 4
*****     turn some substructures into rigid bodies
*****
***rigid body,elset=substr_crank_head,      ref node=500001
***rigid body,elset=substr_crank_conrod,    ref node=500002
***********************************************************************
** ----------------------------------------------------------------
** PART INSTANCE: HEAD
**
*include,input=crank_head_nodes.inp
*Nset, nset=HEAD_GROUNDNODE
29
*Nset, nset=HEAD_TIENODES
1, 2
** ----------------------------------------------------------------
** PART INSTANCE: CONROD
**
*include,input=crank_conrod_nodes.inp
*Nset, nset=CONROD_TIENODES
3, 4
** ----------------------------------------------------------------
** PART INSTANCE: CRANK_SHAFT
**
*include,input=crank_shaft_nodes.inp
*Nset, nset=CRANK_SHAFT_GROUNDNODE
34
*Nset, nset=CRANK_SHAFT_TIENODES
5, 6
** ----------------------------------------------------------------
** PART INSTANCE: CRANK_SHAFT2
**
*include,input=crank_shaft2_nodes.inp
*Nset, nset=CRANK_SHAFT2_GROUNDNODE
8
*Nset, nset=CRANK_SHAFT2_TIENODES
7
** ----------------------------------------------------------------
** PART INSTANCE: CAM
**
*include,input=crank_cam_nodes.inp
*Nset, nset=CAM_GROUNDNODE
28
*Nset, nset=CAM_TIENODES
9
** ----------------------------------------------------------------
** PART INSTANCE: CAM_FOLLOWER-1
**
*include,input=crank_camfollow1_nodes.inp
*Nset, nset=CAM_FOLLOWER1_TIENODES
20, 21
*Nset, nset=CAM_FOLLOWER1_GROUNDNODE
32
*Nset, nset=CAM_FOLLOWER1_SURF
35
** ----------------------------------------------------------------
** PART INSTANCE: CAM_FOLLOWER-2
**
*include,input=crank_camfollow2_nodes.inp
*Nset, nset=CAM_FOLLOWER2_GROUNDNODE
33
*Nset, nset=CAM_FOLLOWER2_SURF
36
*Nset, nset=CAM_FOLLOWER2_TIENODES
22, 23
** ----------------------------------------------------------------
** PART INSTANCE: VALVE-1 and VALVE-2
**
*include,input=crank_valves_nodes.inp
*include,input=crank_valves_elts.inp
*rigidbody, elset=VALVE-1, tienset=VALVE1_TIENODES, refnode=VALVE1_REFNODE
*****
*****
*Nset, nset=VALVE1_GROUNDNODE
11
*Nset, nset=VALVE1_REFNODE
37
*Nset, nset=VALVE1_TIENODES
10
*****
*****
*rigidbody, elset=VALVE-2, tienset=VALVE2_TIENODES, refnode=VALVE2_REFNODE
*Nset, nset=VALVE2_GROUNDNODE
13
*Nset, nset=VALVE2_REFNODE
38
*Nset, nset=VALVE2_TIENODES
12
** ----------------------------------------------------------------
** PART INSTANCE: VALVE_LIFTER-1 and VALVE_LIFTER-2
**
*include,input=crank_valvelifters_nodes.inp
*include,input=crank_valvelifters_elts.inp
*rigidbody, elset=VALVE_LIFTER-1, tienset=VALVE_LIFTER1_TIENODES, refnode=VALVE_LIFTER1_REFNODE
*****
*****
*Nset, nset=VALVE_LIFTER1_GROUNDNODE
30
*Nset, nset=VALVE_LIFTER1_REFNODE
39
*Nset, nset=VALVE_LIFTER1_TIENODES
14, 15, 16
*****
*****
*rigidbody, elset=VALVE_LIFTER-2, tienset=VALVE_LIFTER2_TIENODES, refnode=VALVE_LIFTER2_REFNODE
*Nset, nset=VALVE_LIFTER2_GROUNDNODE
31
*Nset, nset=VALVE_LIFTER2_REFNODE
40
*Nset, nset=VALVE_LIFTER2_TIENODES
17, 18, 19
** ----------------------------------------------------------------
** PART INSTANCE: TIE_ROD-1 and  TIE_ROD-2
**
*include,input=crank_tierods_nodes.inp
*include,input=crank_tierods_elts.inp
*****
*****
*rigidbody, elset=TIE_ROD-1, tienset=TIEROD1_TIENODES, refnode=TIEROD1_REFNODE
*Nset, nset=TIEROD1_REFNODE
42
*Nset, nset=TIEROD1_TIENODES
26, 27
*****
*****
*rigidbody, elset=TIE_ROD-2, tienset=TIEROD2_TIENODES, refnode=TIEROD2_REFNODE
*Nset, nset=TIEROD2_REFNODE
41
*Nset, nset=TIEROD2_TIENODES
24, 25
** ----------------------------------------------------------------
** PART INSTANCE: CAM_RIGSURF
**
*Element, type=MASS
15870, 19999
*Element, type=ROTARYI
15871, 19999
*Nset, nset=CAM_RIGSURF_REFPT
19999
*Elset, elset=CAM_RIGSURF_MASS
15870
*Elset, elset=CAM_RIGSURF_ROTI
15871
*surface, type=CYLINDER, name=CAM_RIGSURF
29.5, 2.13163E-14, -14.9405, 29.5, -1, -14.9405
28.5, 3.43059E-14, -14.9405
START, -4.24264068711929, -4.24264068711929
CIRCL, 0., 6.00000000000001, 0., 0.
CIRCL, 4.24264068711929, -4.24264068711929, 0., 0.
LINE, 2.12132034355963, -6.36396103067893
CIRCL, -2.12132034355964, -6.36396103067893, 0., -4.24264068711929
LINE, -4.24264068711929, -4.24264068711929
*rigidbody, refnode=CAM_RIGSURF_REFPT, analyticalsurface=CAM_RIGSURF
*mass, elset=CAM_RIGSURF_MASS
1E-9
*rotaryinertia, elset=CAM_RIGSURF_ROTI
1E-9, 1E-9, 1E-9,
** -----------------------------------------------------------------
** CAM FOLLOWER CONTACT SURFACES
**
*surface, type=NODE, name=CAM_FOLLOWER1_SURF
CAM_FOLLOWER1_SURF,
*surface, type=NODE, name=CAM_FOLLOWER2_SURF
CAM_FOLLOWER2_SURF,
** -----------------------------------------------------------------
** SURFACE INTERACTION DEFINITION AND CONTACT PAIR DEFINTIONS
**
*surfaceinteraction, name=NOFRIC
1.,
*contactpair, interaction=NOFRIC, adjust=0.01
CAM_FOLLOWER1_SURF, CAM_RIGSURF
*contactpair, interaction=NOFRIC, adjust=0.01
CAM_FOLLOWER2_SURF, CAM_RIGSURF
** ---------------------------------------------------------------------------------------------
** EQUATION DEFINITION FOR GEAR RATIO BETWEEN CRANK SHAFT AND CAM
**
*equation
2,
8, 4, 1., 19999, 4, 2.
** ---------------------------------------------------------------------------------------------
** ELEMENT DEFINTIONS FOR CONNECTORS
**
*Element, type=CONN3D2, elset=HINGE
1, 1, 4
2, 5, 3
3, 28, 9
*connectorsection, elset=HINGE
HINGE,
HINGEAXIS,
***
***
*Element, type=CONN3D2, elset=TRANSLATOR
4, 29, 2
5, 11, 10
6, 13, 12
*connectorsection, elset=TRANSLATOR
TRANSLATOR,
TRANSAXIS,
***
***
*Element, type=CONN3D2, elset=VALVE_SPRINGS
7, 11, 10
8, 13, 12
*connectorsection, elset=VALVE_SPRINGS, behavior=VALVESPR
AXIAL,
*connectorbehavior, name=VALVESPR
*connectorelasticity, component=1
0.25e2,
*connectorconstitutivereference
20.,
***
***
*Element, type=CONN3D2, elset=VALVE_LIFTER_STOPS
9, 10, 15
10, 12, 18
*connectorsection, elset=VALVE_LIFTER_STOPS
**,behavior=CONTACTSTOP
CARTESIAN,
HINGEAXIS,
*connectorbehavior, name=CONTACTSTOP
*connectorstop, component=3
0.,
*connectormotion
9, 3, 0.
10, 3, 0.
***
***
*Element, type=CONN3D2, elset=TIEROD_TOP
11, 27, 14
12, 25, 17
*connectorsection, elset=TIEROD_TOP, behavior=ROTSPRING
JOIN, CARDAN
TRANSAXIS,
*connectorbehavior, name=ROTSPRING
*connectorelasticity, component=4
100.,
***
***
*Element, type=CONN3D2, elset=TIEROD_BOT
13, 20, 26
14, 22, 24
*connectorsection, elset=TIEROD_BOT
JOIN,
***
***
*Element, type=CONN3D2, elset=VALVE_LIFTER_FRIC
15, 30, 16
16, 31, 19
*connectorsection, elset=VALVE_LIFTER_FRIC, behavior=FRIC
JOIN, REVOLUTE
ROTAXIS,
*connectorbehavior, name=FRIC
*connectorfriction, component=4
0.1,
*friction
0.1,
***
***
*Element, type=CONN3D2, elset=CAM_FOLLOWER_FRIC
17, 32, 21
18, 33, 23
*connectorsection, elset=CAM_FOLLOWER_FRIC, behavior=FRIC
JOIN, REVOLUTE
HINGEAXIS,
***
***
*Element, type=CONN3D2, elset=DRIVE_SHAFT
19, 34, 6
*connectorsection, elset=DRIVE_SHAFT
CARTESIAN, CARDAN
HINGEAXIS,
*connectormotion
19, 2, 0.
19, 3, 0.
19, 4, 0.
***
***
*Element, type=CONN3D2, elset=BEAM
20, 5, 7
*connectorsection, elset=BEAM
BEAM,
***
***
** ORIENTATION DEFINITIONS FOR CONNECTORS
**
*orientation, name=HINGEAXIS
1., 0., 0., 0., 1., 0.
3, 0.
*orientation, name=TRANSAXIS
1., 0., 0., 0., 1., 0.
2, -90.
*orientation, name=ROTAXIS
0., 1., 0., -1., 0., 0.
3, 0.
** -----------------------------------------------------------------
** FIXED BOUNDARY CONDITIONS AND FIXED CONNECTOR MOTION DEFINITIONS
**
*boundary
VALVE1_GROUNDNODE, 1, 6
VALVE2_GROUNDNODE, 1, 6
CAM_GROUNDNODE, 1, 6
HEAD_GROUNDNODE, 1, 6
CRANK_SHAFT_GROUNDNODE, 1, 6
VALVE_LIFTER1_GROUNDNODE, 1, 6
VALVE_LIFTER2_GROUNDNODE, 1, 6
CAM_FOLLOWER1_GROUNDNODE, 1, 6
CAM_FOLLOWER2_GROUNDNODE, 1, 6
*AMPLITUDE,NAME=SMOOTH,DEFINITION=SMOOTH STEP
0.,0.,   0.125,1.,   1.0,1.
** -------------------------------------------------------------------
** STEP DEFINITIONS
**
*Step, name=STEP-1, inc=10000,nlgeom,Convert Sdi=No
*static
1.E-20, 1.E-20
*endstep
*Step, name=STEP-2, inc=10000,Convert Sdi=No
*static
0.02, 1., 1E-15, 0.02
*connectormotion, type=VELOCITY
19, 4, -13.0
****
****
*dload
gravload,GRAV,1.0,0,0,-1.0
*output, field,freq=0
*output, history
*node output,nset=nconngrref
u,
*elementoutput, elset=VALVE_SPRINGS
CEF1, CU1, CP1
*elementoutput, elset=VALVE_LIFTER_STOPS
CRF3,
*elementoutput, elset=VALVE_LIFTER_FRIC
CSM1,
*elementoutput, elset=CAM_FOLLOWER_FRIC
CSM1,
*elementoutput, elset=DRIVE_SHAFT
CUR1, CPR1, CVR1, CAR1, CRM1
*contact output
CFN,
*endstep