一些前端开发优化的经验总结(通用2篇)
一些前端开发优化的经验总结 篇1
前端开发中一些常用技巧总结
自己前端开发中常用到的一些技巧及问题解决方法,会常更新,希望对前端路上的朋友有帮助.1.文章标题列表中日期居右显示的两种方法,方法A相对方法B省资源,但比方法B要多写两句代码,使用时请视情况而定: 方法A(经典论坛ariesjia提供的思路.感谢~):
@Mr.Think这是文章标题2010-10-10
然后定义p和span的样式: p{position:relative}p span{position:absolute;right:0} 方法B:
2010-10-10@Mr.Think这是文章标题
然后定义span右浮动: p span{float:right}其实这两种方法可以延伸到很多情况下,很实用的一种写法;2.web标准中,同一页面中只能有一个h1标签.很多人知道这个概念,但做到的却很少;3.空白外边距互相叠加的问题:一般通过添加透明边框或者1px的内边距避免.详细解读:http://mrthink.net/css-margin-overlying-way/;4.ie6下max/min-width/height实现,_width: expression(this.width >600 ? “600px” : true);,height同理.5.html/class/id,最好统一以小写书写,这样更严谨(符合xhtml标准);6.不推荐用下面代码兼容IE8:
如果是非短期性页面,尽量避免使用,页面应尽可能保证向后兼容.更多兼容方法请详细阅读: http://mrthink.net/cssandhtml-hack-mainbrower/
7.空div在IE(FF中没有)是有默认高度的,可以用定义:div { witdh:100%;background:#9c0;font-size:0}的方式去掉默认高度;8.在使用table标签时应该尽可能的利用它本身的属性,最大限度的分离结构与样式.详细解读:http://mrthink.net/csshtml-colgroup-col-style/;9.充分利用表单中label标签提升用户体验;这一点对于页面中那些小的选项框,以及对残障人士阅读网站都有好处.细节是用户体验的第一步;10.fieldset, legend标签, 鲜为人知,却很实用的一组标签;它可以很明了的把一组元素框起来,主要用于表单;11.optgroup标签,鲜为人知,它对提升选择表单用户体验很有帮助.作用? 就是可以在有很多选项时,对这些选项分组:
效果演示:
12.表单都要加name值,name值是一个标示,不同于id,据我所发现,若是未定义name值,非IE浏览器下是无法通过document.formid获取到表单元素的.请看如下代码及注释:
一些前端开发优化的经验总结 篇2
ABAQUS是现在较为流行,且较为先进的大型有限元分析软件,具有广泛的模拟性能。在本文中,作者结合一些近期对ABAQUS的使用经验(主要是铸钢节点弹塑性分析[1,2]及索夹接触分析[3]两个应用)对ABAQUS做出一些使用体会的总结。
从积分算法的角度出发,总体来说,积分的次数越高,计算的精度越高,但是ABAQUS里的二次单元不可以用于接触分析。缩减单元虽然精度不会改变太大,且计算速度较快,但是容易造成沙漏问题(需要划分较细的单元网格来克服)。Hex,Wedge形状的单元计算精度和速度都很好,但不是所有的实体形状都适用。Tet单元可以模拟任意的几何形状,但计算的代价要比Hex,Wedge大。其线性单元精度很差,但是二次单元精度较高。网格划分的方法中,在实体中最常遇到的方法是Sweep和Free方法。当然Free方法适用于任何形状的实体;Sweep方法只适合于类似柱体的形状,但是其划分网格的质量通常比Free方法要好。
本人参与实验室做的几个铸钢节点[1,2]模型由于几何形状较不规则,因此只适用于Tet单元,网格划分密度为默认值。而索夹模型[3]在ABAQUS中可以运用Hex单元,所以优先选用Hex。
本人做了一个实验:在同样的划分密度下,用Tet,Hex,Wedge二次单元分别划分一个圆柱体,进行简单的收压弹塑性分析,所用的时间分别是10 s,7 s,6 s。因此粗略估算:运用Tet单元要比Hex,Wedge单元的计算时间多40%左右。
2 关于接触问题的要点[3]
在每个part的相互接触最好运用独立的荷载步(step)来施加,使得接触可以顺利地实现。若与荷载施加共用一个step,则十分可能造成不收敛的问题。接触问题顺利实现的一个重要因素是合理的定义接触对。在ABAQUS的接触分析中,主面与从面的定义非常重要。一般来说,主面的刚度需要比从面大(这里需要综合考虑材料和结构刚度两者),且为了使得计算更加容易收敛,从面的网格划分应该比主面要细分(见图1)。从有限元计算的角度出发,主面上的节点都应该与从面的节点重合[4],但是ABAQUS的算法允许其两者不重合的情况。其他为了使接触分析计算更加容易收敛,可以采取的方法有:1)主面上的节点尽量与从面的节点重合;2)主面与从面须尽量连续光滑,若存在很大的凹角或尖角,则应该分别定义为多个面,使得有限元方程组尽量简化[4]。
3 如何使非线性计算更容易收敛
要计算容易收敛,单元划分的质量十分重要。可以在单元划分后用ABAQUS自带的网格划分检查技术来检查单元质量,从而改变单元类型,甚至改进实体几何形状,来达到提高单元质量的目的。本人在铸钢节点弹塑性计算模拟中,发现造成不收敛的很大部分原因是荷载突然加得过大。在ABAQUS的有关书籍介绍中,提到ABAQUS会根据实际情况来调节子步的步长。但是经过实际检验发现ABAQUS的这一功能并不理想。倘若自己将荷载按实际需要分为多个子步(step),会使收敛更加容易。本人在铸钢节点的模拟计算中,希望看到塑性区开展的过程,因此在一个荷载步就加上10倍的工况荷载,导致电脑迭代得非常困难,在未达到60%已经不收敛。后来本人将10倍的工况分为10个子步(step)加力,可以算到第9步,即接近90%的荷载。
4 S.Mises应力超过材料屈服应力的分析
在ABAQUS计算结果中出现S.Mises应力超过材料屈服应力的情况。
铸钢节点的分析中,本人所设定的材料性质是理想弹塑性材料,屈服应力定在300 MPa。但是从计算的结果来看应力值明显高于屈服应力,甚至达到了400多兆帕。应力图见图2,图3。
出现这种情况主要是因为:1)应力云图是通过积分点外推形成的。在非线性分析中判断材料是否屈服也是通过积分点应力为判断依据的。之所以应力云图中会出现局部应力高于屈服应力的现象是因为积分点应力外推的结果。2)单元网格的大小对这个影响也比较大。误差比较大时,说明了网格太粗糙,应该适当细化网格。网格越小,越精确,但是耗费时间也增加许多。本人用不同的网格划分密度来计算铸钢节点模型(二次单元),所得到的数据如表1所示。另外,为了验证Tet线性与二次单元的计算结果差别,在铸钢节点的分析中,本人分别运用了线性及二次Tet单元来计算其荷载下的弹塑性工作情况,结果如表2所示。表2取同样的第8荷载步的结果。在二次Tet单元的计算过程中,若要完全计算完毕所用的时间应该大于11.5 h,这是因为在第二天上午来看的时候发现虽然仍然在算,但是迭代的子步长已经非常小,接近不可收敛的程度,因此将其计算终止。
5 其他一些总结
1)由于ABAQUS的建模相当麻烦,因此建议避免在ABAQUS程序中建立模型。应该在Auto CAD中建立好模型,按照不同的方法导入到ABAQUS中然后进行布网计算。从Auto CAD导入ABAQUS的方法:a.若模型为线,本人用的方法是先将Auto CAD的文件用dxf来保存,接着运用“犀牛软件”将其转化为iges,然后再用ABAQUS来导入;b.若模型为实体,则可以直接用Auto CAD将文件保存为sat格式,然后直接在ABAQUS中导入即可。
2)在本人分析铸钢节点的时候,经常发现在一些模型的不光滑地方(在Auto CAD中无法进一步处理)、或是支座处发现明显的应力集中现象,但是知道在实际结构中不会存在的。这本来没有什么不好,但是其应力的云图却使得别的地方显示不明显。这时,我们可以在计算后运用ABAQUS中调节应力云图所显示的最大应力功能来得到想要得到的较为理想的结果。
3)在建模的过程中由于单元的限制,有时候不能很好的模拟实际情况而需要运用到“刚臂”,如模拟预应力筋偏心的简支梁。倘若运用实体单元,则简支的边界条件就不好模拟;倘若运用梁单元模型,则预应力筋的偏心布置如何建立就成为了一个棘手的问题。本人建模中就是运用建立“刚臂”的方法来解决预应力筋偏心布置的问题,如图4所示。这里需要注意的是:刚臂的弹性模量不宜太大。因为若太大,则整个模型所建立的刚度矩阵的数据会在矩阵数值运算中被刚臂的数据“吃掉”,导致数值分析上的精度丢失问题的出现。所以刚臂的弹性模量并不是越大越好。实际上,其取值在其余材料最大值的20倍左右即可以得到很好的效果,若再大则有可能出现过犹不及的情况。
6 结语
ABAQUS是个非常强大的有限元分析软件,入门容易,但精通却很难。本文对ABAQUS运用过程中不同实体单元的计算速度、接触分析计算的要点、如何使弹塑性分析更加容易收敛、S.Mises应力超过材料屈服应力的情况和其他一些建模及计算技巧进行了相应的总结。
参考文献
[1]蔡建国,冯健,顾洪波,等.大型铸钢节点的工程应用和分析[J].钢结构,2008,23(4):53-57.
[2]Jian-Guo CAI,Jian FENG,Jing WANG,et al.ICCSIT 2009 Ses-sion 1.
[3]Chen Yao,Feng Jian.Numerical Simulations on the Cable Clampof a Concave Cable Arch[J].Applied Mechanics and Materials,2012(15):105-107.
[4]王勖成.有限单元法[M].北京:清华大学出版社,2010.
【一些前端开发优化的经验总结】推荐阅读:
网站前端开发07-23
Web前端优化08-25
前端经验分享09-22
Web前端开发07-01
前端开发工程师简历05-16
web前端开发实习日志09-27
VS2008中开发智能设备程序的一些总结06-19
前端开发面试题及答案09-05
教大家SEO优化的一些策略方法07-22
浅谈改进实验器材的一些经验11-09