*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 *static 1.E-20, 1.E-20 *endstep *Step, name=STEP-2, inc=10000 *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