版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ANSYS/LS-DYNA的轿车车门碰撞仿真模拟摘要碰撞问题属于冲击动力学的研究范畴,其过程具有高速、高温、高压等基本特性。因为加载速率高、变形大、接触物体间的侵彻贯入作用,在高速碰撞过程中材料内呈现明显的应变率及绝热温升效应,甚至发生相变。高速汽车碰撞对车身结构带来的破坏一直受到交通部门的关注,数值模拟因其经济性和高效性日益成为碰撞问题的重要研究手段。它可以节省试验的巨大投入,方便地描述和动态显示问题的整个过程。本文运用ANSYS/LS-DYNA对汽车车门被撞进行了动力学仿真,讨论了多种速度和碰撞角度情形下轿车门被碰撞的情况,对仿真中的各种情况进行的初步分析并对车门设计提出了一些直观建议。关键词:有限元方法;ANSYS/LS-DYNA;碰撞仿真AbstractCollisionproblembelongstotheresearchareasofimpactdynamics,thebasiccharacteristicofitsprocessmeanstobehighspeed,highvoltageandhightemperature.Becauseoftheloadofhighspeed,largedeformation,effectofpenetrationbetweenobjects,materialshowsobviousstrainrateandadiabaticwithtemperaturerising,evenphasechangingintheprocessofhigh-speedcollision.Thathigh-speedcollisionbetweenautomobiledamagesthebodystructureisconcernedbythetrafficdepartmentsforalongtime.Numericalsimulationwiththecharacterofeconomyandefficiencybecomesmoreandmoreimportantresearchmethodforcollisionproblem.Inthispaper,avehiclewillruninadooratcertainspeedandangle,thatisbasedontheanalysisabilityofANSYS/LS-DYNA.Keywords:Finiteelementmethod;ANSYS/LS-DYNA;Collisionsimulation目录第1章.绪言…………1第2章.ANSYS/LS-DYNA简介………3第3章.问题描述与建模……………53.1分析过程规划…………………53.2建立几何模型…………………63.3划分有限元网格……………113.4建立PART……………………113.5定义接触信息………………123.6定义边界条件及约束………133.7定义保险杠的初始速度……133.8施加保险杠面载荷…………14第4章.求解………174.1求解设置……………………174.2输出关键字文件Collision.K……………184.3向LS-DYNA求解器递交求解………………19第5章.结果分析…………………215.1观察碰撞过程………………215.2观察车门内的等效应力分布………………225.3观察速度值改变后的碰撞结果……………245.4观察速度方向改变后的碰撞结果…………245.5小结…………27参考文献……………30附录拼图游戏主要代码:1)选择界面MainActivity代码packagecom.angelnet.jigsaw.view;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importandroid.content.DialogInterface;importandroid.content.Intent;importandroid.os.Bundle;importandroid.util.DisplayMetrics;importandroid.view.KeyEvent;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.Button;importandroid.widget.GridView;importandroid.widget.SimpleAdapter;importandroid.widget.Spinner;importandroid.widget.AdapterView.OnItemClickListener;importandroid.widget.AdapterView.OnItemSelectedListener;importcom.angelnet.jigsaw.model.service.IMain;importcom.angelnet.jigsaw.model.service.MainImpl;publicclassMainActivityextendsActivity{ privateintscreenWidth=0;//屏幕的宽度privateintscreenHeight=0;//屏幕的高度privateSpinnerlevelSp;//等级 privateGridViewpictureGridView;//图片 privateButtonconfBtn; privatestaticfinalint[]pictureArray={R.drawable.pingtu_1_1,R.drawable.pingtu_2_2,R.drawable.pingtu_3_3,R.drawable.pingtu_4_4,R.drawable.pingtu_5_5,R.drawable.pingtu_6_6, R.drawable.pingtu_7_7,R.drawable.pingtu_8_8,R.drawable.pingtu_9_9}; privatestaticfinalintAUTHOR_INFO_ID=Menu.FIRST;//作者简介 privatestaticfinalintABOUT_ID=Menu.FIRST+1;//关于 privatestaticfinalintEXIT_ID=Menu.FIRST+2;//退出 privateIMainiMain; privateintpictureIndex=0;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);initControls();showGridView();}privatevoidinitControls(){ iMain=newMainImpl(); levelSp=(Spinner)findViewById(R.id.main_level_spinner); pictureGridView=(GridView)findViewById(R.id.main_picture_gridView); pictureGridView.setOnItemClickListener(newItemClickListener());//监听 pictureGridView.setOnItemSelectedListener(newItemSelectedListener());//选择监听 levelSp.setAdapter(iMain.getLevelAdapter(this)); confBtn=(Button)findViewById(R.id.main_confirm_btn); confBtn.setOnClickListener(btnOnClickListener);}@Override publicbooleanonCreateOptionsMenu(Menumenu){ //TODOAuto-generatedmethodstub menu.add(0,AUTHOR_INFO_ID,0,R.string.author).setShortcut('1','i').setIcon(R.drawable.author_info); menu.add(0,ABOUT_ID,0,R.string.about).setShortcut('2','a').setIcon(R.drawable.about); menu.add(0,EXIT_ID,0,R.string.exit).setShortcut('4','e').setIcon(R.drawable.exit); returnsuper.onCreateOptionsMenu(menu); } @Override publicbooleanonOptionsItemSelected(MenuItemitem){ //TODOAuto-generatedmethodstub switch(item.getItemId()){ caseAUTHOR_INFO_ID:{ onCreateDialog(AUTHOR_INFO_DIALOG).show(); returntrue; } caseABOUT_ID:{ onCreateDialog(ABOUT_DIALOG).show(); returntrue; } caseEXIT_ID:{ exitApp(); returntrue; } } returnsuper.onContextItemSelected(item); } @Override publicbooleanonKeyDown(intkeyCode,KeyEventevent){ //TODOAuto-generatedmethodstub if(keyCode==KeyEvent.KEYCODE_BACK){ exitApp(); returntrue; } returnsuper.onKeyDown(keyCode,event); } privatestaticfinalintABOUT_DIALOG=1; privatestaticfinalintAUTHOR_INFO_DIALOG=2; @Override protectedDialogonCreateDialog(intid){ //TODOAuto-generatedmethodstub switch(id){ caseABOUT_DIALOG:{ AlertDialog.Builderbuilder=newAlertDialog.Builder(this); builder.setIcon(R.drawable.alert_dialog_icon); builder.setTitle(R.string.about); builder.setMessage(R.string.aboutInfo); builder.setPositiveButton(R.string.confirm, newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ } }); returnbuilder.create(); } caseAUTHOR_INFO_DIALOG:{ AlertDialog.Builderbuilder=newAlertDialog.Builder(this); builder.setIcon(R.drawable.alert_dialog_icon); builder.setTitle(R.string.author); builder.setMessage(R.string.authorInfo); builder.setPositiveButton(R.string.confirm, newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ } }); returnbuilder.create(); } } returnsuper.onCreateDialog(id); } /** *显示就九空格 */ privatevoidshowGridView(){ //获取屏幕大小 DisplayMetricsdm=newDisplayMetrics();dm=this.getApplicationContext().getResources().getDisplayMetrics();screenWidth=dm.widthPixels;screenHeight=dm.heightPixels;//两列之间的边距为10pictureGridView.setColumnWidth((screenWidth-10*4)/3); SimpleAdaptersaImageItems=newSimpleAdapter(this,getAllItemsForListView(), R.layout.grid_item, newString[]{"ImageView"}, newint[]{R.id.gridItem_imgView}); pictureGridView.setAdapter(saImageItems); pictureGridView.setSelector(R.drawable.menuitemshape); } publicList<Map<String,Object>>getAllItemsForListView(){ //TODOAuto-generatedmethodstub //生成动态数组,并且传入数据 List<Map<String,Object>>imageItem=newArrayList<Map<String,Object>>(); for(inti=0;i<pictureArray.length;i++){ HashMap<String,Object>tempMap=newHashMap<String,Object>();// Bitmapbitamp=BitmapFactory.decodeResource(this.getResources(),pictureArray[i]); tempMap.put("ImageView",pictureArray[i]);// imageItem.add(tempMap); } returnimageItem; }/** *当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件 * */ privateclassItemClickListenerimplementsOnItemClickListener{ /** *@paramadapterView *TheAdapterViewwheretheclickhappened *@paramarg1 *TheviewwithintheAdapterViewthatwasclicked *@paramposition *Thepositionoftheviewintheadapter *@paramrowid *Therowidoftheitemthatwasclicked */ publicvoidonItemClick(AdapterView<?>adapterView, Viewview,intposition, longrowid){ //在本例中position=rowid pictureIndex=position; } } /** *选择监听 */ privateclassItemSelectedListenerimplementsOnItemSelectedListener{ @Override publicvoidonItemSelected(AdapterView<?>adapterView,Viewview,intposition, longrowid){ //TODOAuto-generatedmethodstub// HashMap<String,Object>item=(HashMap<String,Object>)adapterView.getItemAtPosition(position); pictureIndex=position; } @Override publicvoidonNothingSelected(AdapterView<?>arg0){ //TODOAuto-generatedmethodstub } } /** *退出应用程序 */ privatevoidexitApp(){ AlertDialog.Builderbuilder=newAlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.question_dialog_icon); builder.setTitle("退出"); builder.setMessage("您确定要退出益智拼图吗?"); builder.setPositiveButton(R.string.confirm, newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ MainActivity.this.finish(); } }); builder.setNegativeButton("取消",newDialogInterface.OnClickListener(){ @Override publicvoidonClick(DialogInterfacedialog,intwhich){ } }); builder.create().show(); } privateView.OnClickListenerbtnOnClickListener=newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub switch(v.getId()){ caseR.id.main_confirm_btn: Bundleextras=newBundle(); extras.putInt("level",levelSp.getSelectedItemPosition()); extras.putInt("pictureIndex",pictureIndex); Intentintent=newIntent(MainActivity.this,JigsawActivity.class); intent.putExtras(extras); startActivityForResult(intent,1); break; } } };}2)游戏界面JigsawActivity代码:packagecom.angelnet.jigsaw.view;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.View;importandroid.widget.Button;importandroid.widget.ImageView;importandroid.widget.TextView;importcom.angelnet.jigsaw.model.widgets.JigsawView;publicclassJigsawActivityextendsActivity{ privateImageViewpreviewImgView; privateJigsawViewmJigsawView; privateTextViewlevelTV; privateTextViewstepNumTV; privateTextViewtimeTV; privateBitmapmBitmap; privateButtonstartBtn; privatebooleanisGaming=false; privatebooleanisFirstThread=false; privatebooleanisPlay=false; /** *第一次运行该Activity时,就要运行onCreate方法 **/ @Override protectedvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub super.onCreate(savedInstanceState); setContentView(R.layout.jigsaw); initControls(); } privatevoidinitControls(){ Bundleextras=this.getIntent().getExtras(); intlevel=extras.getInt("level"); intpictureIndex=extras.getInt("pictureIndex"); previewImgView=(ImageView)findViewById(R.id.jigsaw_preview_imgview); mJigsawView=(JigsawView)findViewById(R.id.main_JigsawView); if(0==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_1); }elseif(1==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_2); }elseif(2==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_3); }elseif(3==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_4); }elseif(4==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_5); }elseif(5==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_6); }elseif(6==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_7); }elseif(7==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_8); }elseif(8==pictureIndex){ mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pingtu_9); } levelTV=(TextView)findViewById(R.id.jigsaw_level_tv); if(level==0){ mJigsawView.setRowCol(3,3); levelTV.setText("3X3"); }elseif(level==1){ mJigsawView.setRowCol(3,4); levelTV.setText("3X4"); }elseif(level==2){ mJigsawView.setRowCol(4,3); levelTV.setText("4X3"); }elseif(level==3){ mJigsawView.setRowCol(4,4); levelTV.setText("4X4"); } previewImgView.setImageBitmap(mBitmap); mJigsawView.setBitamp(mBitmap); stepNumTV=(TextView)findViewById(R.id.jigsaw_stepNum_tv); stepNumTV.setText(String.valueOf(mJigsawView.getStep())); timeTV=(TextView)findViewById(R.id.jigsaw_time_tv); timeTV.setText(timeParser(second)); startBtn=(Button)findViewById(R.id.jigsaw_start_btn); startBtn.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub //开始游戏 if(!isPlay){ isPlay=true; }else{ mJigsawView.setBitamp(mBitmap); } isGaming=true; second=0; mJigsawView.setStep(0); mJigsawView.setGameing(isGaming); startBtn.setText("REPLAY"); if(!isFirstThread){ isFirstThread=true; newThread(newGameRunable()).start(); } Messagemsg=newMessage(); msg.what=INIT_MESSAGE; mHandler.sendMessage(msg); } };} /** * *@paramtotalSecond *@return */ privateStringtimeParser(inttotalSecond){ StringBuffersb=newStringBuffer(); intminute=totalSecond/60; sb.append(minute); sb.append(":"); intsecond=totalSecond%60; if(second>=10) sb.append(second); else sb.append("0"+second); returnsb.toString(); } privateintsecond=0; classGameRunableimplementsRunnable{ publ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《个案工作的原理》课件
- 《游轮礼仪》课件
- 2024商业空间广告装饰施工协议版A版
- 2024年度供货合作模板协议文件版B版
- 2024年大班语言活动教案绘本《漏》
- 2024年工商行政管理局工作计划
- 2024小学二年级班主任工作计划第一学期例文
- 2024年大班科学教案800字
- 2024年土木结构工程人力分包标准协议书版B版
- 2024年专业降水工程标准协议范本版B版
- 养殖场安全生产培训
- 告诉我地址 -从IPv4到IPv6的传奇 课件 2024-2025学年清华大学版(2024)B版初中信息技术七年级上册
- 中学生学习制度
- 安全生产工作安排部署范文五篇
- (5篇)2024年秋国开《形势与政策》大作业:中华民族现代文明有哪些鲜明特质?建设中华民族现代文明的路径是什么?【附答案】
- 疑难病例讨论制度
- 胫腓骨骨折护理查房课件
- 2024年委托经营合同参考范文(五篇)
- 四年级英语上册 【期末词汇】 期末词汇专项检测卷(一)(含答案)(人教PEP)
- 心理健康教育(共35张课件)
- 2024年直播销售员(五级)职业鉴定(重点)备考试题库300题(附答案)
评论
0/150
提交评论