楼梯结构设计过程程中如何才能实现完全约束,并举例说明

当前位置:&&
结构设计的基准选择与自由度约束基准,和,约束,设计结构,自由度约束,自由度,结构设..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
结构设计的基准选择与自由度约束
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://jz.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口学习的不仅是技术,更是梦想!再牛B的技术,也经不住你傻B式的坚持!做人做事都是这个道理,真心实意付出,认真做好每一件小事。
一、树型关系的数据表
不少程序员在进行数据库设计的时候都遇到过树型关系的数据,例如常见的类别表,即一个大类,下面有若干个子类,某些子类又有子类这样的情况。当类别不确定,用户希望可以在任意类别下添加新的子类,或者删除某个类别和其下的所有子类,而且预计以后其数量会逐步增长,此时我们就会考虑用一个数据表来保存这些数据。按照教科书上的教导,第二类程序员大概会设计出类似这样的数据表结构:
类别表_1(Type_table_1)
类别标识,主键
不允许为空
类型名称,不允许重复
type_father
不允许为空
该类别的父类别标识,如果是顶节点的话设定为某个唯一值
这样的设计短小精悍,完全满足3NF,而且可以满足用户的所有要求。是不是这样就行呢?答案是NO!Why?
我们来估计一下用户希望如何罗列出这个表的数据的。对用户而言,他当然期望按他所设定的层次关系一次罗列出所有的类别,例如这样:总类别  类别1    类别1.1      类别1.1.1    类别1.2  类别2    类别2.1  类别3    类别3.1    类别3.2  &&
看看为了实现这样的列表显示(树的先序遍历),要对上面的表进行多少次检索?注意,尽管类别1.1.1可能是在类别3.2之后添加的记录,答案仍然是N次。这样的效率对于少量的数据没什么影响,但是日后类型扩充到数十条甚至上百条记录后,单单列一次类型就要检索数十次该表,整个程序的运行效率就不敢恭维了。或许第二类程序员会说,那我再建一个临时数组或临时表,专门保存类型表的先序遍历结果,这样只在第一次运行时检索数十次,再次罗列所有的类型关系时就直接读那个临时数组或临时表就行了。其实,用不着再去分配一块新的内存来保存这些数据,只要对数据表进行一定的扩充,再对添加类型的数量进行一下约束就行了,要完成上面的列表只需一次检索就行了。下面是扩充后的数据表结构:
类别表_2(Type_table_2)
类别标识,主键
不允许为空
类型名称,不允许重复
type_father
不允许为空
该类别的父类别标识,如果是顶节点的话设定为某个唯一值
type_layer
限定3层,初始值为000000
类别的先序遍历,主要为减少检索数据库的次数
按照这样的表结构,我们来看看上面例子记录在表中的数据是怎样的:
type_id type_name type_father type_layer1 总类别 0 0000002 类别1 1 0100003 类别1.1 2 0101004 类别1.2 2 0102005 类别2 1 0200006 类别2.1 5 0201007 类别3 1 0300008 类别3.1 7 0301009 类别3.2 7 03020010 类别1.1.1 3 010101&&
现在按type_layer的大小来检索一下:SELECT * FROM Type_table_2 ORDER BY type_layer
列出记录集如下:
type_id type_name type_father type_layer1 总类别 0 0000002 类别1 1 0100003 类别1.1 2 01010010 类别1.1.1 3 0101014 类别1.2 2 0102005 类别2 1 0200006 类别2.1 5 0201007 类别3 1 0300008 类别3.1 7 0301009 类别3.2 7 030200&&
现在列出的记录顺序正好是先序遍历的结果。在控制显示类别的层次时,只要对type_layer字段中的数值进行判断,每2位一组,如大于0则向右移2个空格。当然,我这个例子中设定的限制条件是最多3层,每层最多可设99个子类别,只要按用户的需求情况修改一下type_layer的长度和位数,即可更改限制层数和子类别数。其实,上面的设计不单单只在类别表中用到,网上某些可按树型列表显示的论坛程序大多采用类似的设计。
或许有人认为,Type_table_2中的type_father字段是冗余数据,可以除去。如果这样,在插入、删除某个类别的时候,就得对type_layer 的内容进行比较繁琐的判定,所以我并没有消去type_father字段,这也正符合数据库设计中适当保留冗余数据的来降低程序复杂度的原则,后面我会举一个故意增加数据冗余的案例。
二、商品信息表的设计
假设你是一家百货公司电脑部的开发人员,某天老板要求你为公司开发一套网上电子商务平台,该百货公司有数千种商品出售,不过目前仅打算先在网上销售数十种方便运输的商品,当然,以后可能会陆续在该电子商务平台上增加新的商品出售。现在开始进行该平台数据库的商品信息表的设计。每种出售的商品都会有相同的属性,如商品编号,商品名称,商品所属类别,相关信息,供货厂商,内含件数,库存,进货价,销售价,优惠价。你很快就设计出4个表:商品类型表(Wares_type),供货厂商表(Wares_provider),商品信息表(Wares_info):
商品类型表(Wares_type)
类别标识,主键
不允许为空
类型名称,不允许重复
type_father
不允许为空
该类别的父类别标识,如果是顶节点的话设定为某个唯一值
type_layer
限定3层,初始值为000000
类别的先序遍历,主要为减少检索数据库的次数
供货厂商表(Wares_provider)
provider_id
供货商标识,主键
provider_name
不允许为空
供货商名称
商品信息表(Wares_info)
商品标识,主键
wares_name
不允许为空
wares_type
不允许为空
商品类型标识,和Wares_type.type_id关联
wares_info
不允许为空
供货厂商标识,和Wares_provider.provider_id关联
内含件数,默认为1
库存,默认为0
不允许为空
sell_price
不允许为空
不允许为空
你拿着这3个表给老板检查,老板希望能够再添加一个商品图片的字段,不过只有一部分商品有图片。OK,你在商品信息表(Wares_info)中增加了一个haspic的BOOL型字段,然后再建了一个新表&&商品图片表(Wares_pic):
商品图片表(Wares_pic)
商品图片标识,主键
不允许为空
所属商品标识,和Wares_info.wares_id关联
pic_address
不允许为空
图片存放路径
程序开发完成后,完全满足老板目前的要求,于是正式启用。一段时间后,老板打算在这套平台上推出新的商品销售,其中,某类商品全部都需添加&长度&的属性。第一轮折腾来了&&当然,你按照添加商品图片表的老方法,在商品信息表(Wares_info)中增加了一个haslength的BOOL型字段,又建了一个新表&&商品长度表(Wares_length):
商品长度表(Wares_length)
商品图片标识,主键
不允许为空
所属商品标识,和Wares_info.wares_id关联
不允许为空
商品长度说明
刚刚改完没多久,老板又打算上一批新的商品,这次某类商品全部需要添加&宽度&的属性。你咬了咬牙,又照方抓药,添加了商品宽度表(Wares_width)。又过了一段时间,老板新上的商品中有一些需要添加&高度&的属性,你是不是开始觉得你所设计的数据库按照这种方式增长下去,很快就能变成一个迷宫呢?那么,有没有什么办法遏制这种不可预见性,但却类似重复的数据库膨胀呢?我在阅读《敏捷软件开发:原则、模式与实践》中发现作者举过类似的例子:7.3 &Copy&程序。其中,我非常赞同敏捷软件开发这个观点:在最初几乎不进行预先设计,但是一旦需求发生变化,此时作为一名追求卓越的程序员,应该从头审查整个架构设计,在此次修改中设计出能够满足日后类似修改的系统架构。下面是我在需要添加&长度&的属性时所提供的修改方案:
去掉商品信息表(Wares_info)中的haspic字段,添加商品额外属性表(Wares_ex_property)和商品额外信息表(Wares_ex_info)2个表来完成添加新属性的功能。
商品额外属性表(Wares_ex_property)
商品额外属性标识,主键
不允许为空
额外属性名称
商品额外信息表(Wares_ex_info)
商品额外信息标识,主键
不允许为空
所属商品标识,和Wares_info.wares_id关联
property_id
不允许为空
商品额外属性标识,和Wares_ex_property.ex_pid关联
property_value
不允许为空
商品额外属性值
在商品额外属性表(Wares_ex_property)中添加2条记录:ex_pid p_name1 商品图片2 商品长度
再在整个电子商务平台的后台管理功能中追加一项商品额外属性管理的功能,以后添加新的商品时出现新的属性,只需利用该功能往商品额外属性表(Wares_ex_property)中添加一条记录即可。不要害怕变化,被第一颗子弹击中并不是坏事,坏的是被相同轨道飞来的第二颗、第三颗子弹击中。第一颗子弹来得越早,所受的伤越重,之后的抵抗力也越强8)
三、多用户及其权限管理的设计
开发数据库管理类的软件,不可能不考虑多用户和用户权限设置的问题。 尽管目前市面上的大、中型的后台数据库系统软件都提供了多用户,以及细至某个数据库内某张表的权限设置的功能,我个人建议:一套成熟的数据库管理软件,还是应该自行设计用户管理这块功能,原因有二:
1.那些大、中型后台数据库系统软件所提供的多用户及其权限设置都是针对数据库的共有属性,并不一定能完全满足某些特例的需求;
2.不要过多的依赖后台数据库系统软件的某些特殊功能,多种大、中型后台数据库系统软件之间并不完全兼容。否则一旦日后需要转换数据库平台或后台数据库系统软件版本升级,之前的架构设计很可能无法重用。
下面看看如何自行设计一套比较灵活的多用户管理模块,即该数据库管理软件的系统管理员可以自行添加新用户,修改已有用户的权限,删除已有用户。首先,分析用户需求,列出该数据库管理软件所有需要实现的功能;然后,根据一定的联系对这些功能进行分类,即把某类用户需使用的功能归为一类;最后开始建表:
功能表(Function_table)
功能标识,主键
不允许为空
功能名称,不允许重复
用户组表(User_group)
用户组标识,主键
group_name
不允许为空
用户组名称
group_power
不允许为空
用户组权限表,内容为功能表f_id的集合
用户表(User_table)
用户标识,主键
不允许为空
不允许为空
所属用户组标识,和User_group.group_id关联
采用这种用户组的架构设计,当需要添加新用户时,只需指定新用户所属的用户组;当以后系统需要添加新功能或对旧有功能权限进行修改时,只用操作功能表和用户组表的记录,原有用户的功能即可相应随之变化。当然,这种架构设计把数据库管理软件的功能判定移到了前台,使得前台开发相对复杂一些。但是,当用户数较大(10人以上),或日后软件升级的概率较大时,这个代价是值得的。
四、简洁的批量m:n设计
碰到m:n的关系,一般都是建立3个表,m一个,n一个,m:n一个。但是,m:n有时会遇到批量处理的情况,例如到图书馆借书,一般都是允许用户同时借阅n本书,如果要求按批查询借阅记录,即列出某个用户某次借阅的所有书籍,该如何设计呢?让我们建好必须的3个表先:
书籍表(Book_table)
书籍标识,主键
不允许为空
借阅用户表(Renter_table)
用户标识,主键
renter_name
不允许为空
借阅记录表(Rent_log)
借阅记录标识,主键
不允许为空
用户标识,和Renter_table.renter_id关联
不允许为空
书籍标识,和Book_table.book_id关联
不允许为空
为了实现按批查询借阅记录,我们可以再建一个表来保存批量借阅的信息,例如:
批量借阅表(Batch_rent)
批量借阅标识,主键
不允许为空
批量借阅编号,同一批借阅的batch_no相同
不允许为空
借阅记录标识,和Rent_log.rent_id关联
batch_date
不允许为空
批量借阅时间
这样的设计好吗?我们来看看为了列出某个用户某次借阅的所有书籍,需要如何查询?首先检索批量借阅表(Batch_rent),把符合条件的的所有记录的rent_id字段的数据保存起来,再用这些数据作为查询条件带入到借阅记录表(Rent_log)中去查询。那么,有没有什么办法改进呢?下面给出一种简洁的批量设计方案,不需添加新表,只需修改一下借阅记录表(Rent_log)即可。修改后的记录表(Rent_log)如下:
借阅记录表(Rent_log)
借阅记录标识,主键
不允许为空
用户标识,和Renter_table.renter_id关联
不允许为空
书籍标识,和Book_table.book_id关联
不允许为空
批量借阅编号,同一批借阅的batch_no相同
不允许为空
其中,同一次借阅的batch_no和该批第一条入库的rent_id相同。举例:假设当前最大rent_id是64,接着某用户一次借阅了3本书,则批量插入的3条借阅记录的batch_no都是65。之后另外一个用户租了一套碟,再插入出租记录的rent_id是68。采用这种设计,查询批量借阅的信息时,只需使用一条标准T_SQL的嵌套查询即可。当然,这种设计不符合3NF,但是和上面标准的3NF设计比起来,哪一种更好呢?答案就不用我说了吧。
五、冗余数据的取舍
上篇的&树型关系的数据表&中保留了一个冗余字段,这里的例子更进一步&&添加了一个冗余表。先看看例子:我原先所在的公司为了解决员工的工作餐,和附近的一家小餐馆联系,每天吃饭记账,费用按人数平摊,月底由公司现金结算,每个人每个月的工作餐费从工资中扣除。当然,每天吃饭的人员和人数都不是固定的,而且,由于每顿工作餐的所点的菜色不同,每顿的花费也不相同。例如,星期一中餐5人花费40元,晚餐2人花费20,星期二中餐6人花费36元,晚餐3人花费18元。为了方便计算每个人每个月的工作餐费,我写了一个简陋的就餐记账管理程序,数据库里有3个表:
员工表(Clerk_table)
员工标识,主键
clerk_name
不允许为空
每餐总表(Eatdata1)
每餐总表标识,主键
不允许为空
就餐员工的员工标识集合
不允许为空
不允许为空
就餐类型,用来区分中、晚餐
totle_price
不允许为空
每餐总花费
persons_num
不允许为空
就餐计费细表(Eatdata2)
就餐计费细表标识,主键
不允许为空
每餐总表标识,和Eatdata1.totle_id关联
不允许为空
员工标识标识,和Clerk_table.clerk_id关联
不允许为空
每人每餐花费
其中,就餐计费细表(Eatdata2)的记录就是把每餐总表(Eatdata1)的一条记录按就餐员工平摊拆开,是个不折不扣的冗余表。当然,也可以把每餐总表(Eatdata1)的部分字段合并到就餐计费细表(Eatdata2)中,这样每餐总表(Eatdata1)就成了冗余表,不过这样所设计出来的就餐计费细表重复数据更多,相比来说还是上面的方案好些。但是,就是就餐计费细表(Eatdata2)这个冗余表,在做每月每人餐费统计的时候,大大简化了编程的复杂度,只用类似这么一条查询语句即可统计出每人每月的寄餐次数和餐费总帐:
SELECT clerk_name AS personname,COUNT(c_id) as eattimes,SUM(price) AS ptprice FROM Eatdata2 JOIN Clerk_tabsle ON (c_id=clerk_id) JOIN eatdata1 ON (totleid=tid) WHERE eat_date&=CONVERT(datetime,'"&the_date&"') AND eat_date&DATEADD(month,1,CONVERT(datetime,'"&the_date&"')) GROUP BY c_id
想象一下,如果不用这个冗余表,每次统计每人每月的餐费总帐时会多麻烦,程序效率也够呛。那么,到底什么时候可以增加一定的冗余数据呢?我认为有2个原则:
1、用户的整体需求。当用户更多的关注于,对数据库的规范记录按一定的算法进行处理后,再列出的数据。如果该算法可以直接利用后台数据库系统的内嵌函数来完成,此时可以适当的增加冗余字段,甚至冗余表来保存这些经过算法处理后的数据。要知道,对于大批量数据的查询,修改或删除,后台数据库系统的效率远远高于我们自己编写的代码。
2、简化开发的复杂度。现代软件开发,实现同样的功能,方法有很多。尽管不必要求程序员精通绝大部分的开发工具和平台,但是还是需要了解哪种方法搭配哪种开发工具的程序更简洁,效率更高一些。冗余数据的本质就是用空间换时间,尤其是目前硬件的发展远远高于软件,所以适当的冗余是可以接受的。不过我还是在最后再强调一下:不要过多的依赖平台和开发工具的特性来简化开发,这个度要是没把握好的话,后期维护升级会栽大跟头的。
阅读(...) 评论()一篇文章看懂“拓扑优化”与“3D打印”这对完美CP
增材制造技术(Additive Manufacturing,AM)通过材料层层累加的方式实现结构的制备。这种独特的制造方式可实现高度复杂结构的自由“生长”成形,极大地拓宽了设计“空间”,为新型结构及材料的制备提供了强大的工具。然而,现有的增材制造结构,绝大部分仍然采用面向传统制造工艺的设计构型。这样所制备的结构并未充分利用增材制造所提供的新型设计空间,性能无法在本质上得到飞跃。甚至受限于增材制造技术的不成熟,其性能劣于传统制造工艺所制备的结构。
拓扑优化因其不依赖初始构型及工程师经验,可获得完全意想不到的创新构型,受到学者以及工程人员的广泛关注。通俗地讲,拓扑优化就是利用优化的手段,寻找结构内部哪里需要布置材料,布置何种材料,在保证一定约束下获取最优的性能。
拓扑优化示意图
然而,拓扑优化结果几何构型复杂,采用传统制造工艺制备非常困难,因此拓扑优化方法与实际工程结构设计之间仍存在较大的鸿沟。设计人员往往要基于制造技术及经验对优化结果进行二次设计,来满足可制造性,降低制造成本。这种做法往往会损坏结构的最优性,得到的结构性能甚至达不到已有构型。另一方面,受制于传统设计理念及制造工艺,结构往往仅进行宏观拓扑设计,并未充分利用结构在多尺度上的变化或者空间梯度变化所带来的广阔设计空间,使得产品性能提升非常有限。
增材制造技术的出现,使得几何形式高度复杂,且使从微纳到宏观多个几何尺度结构的制备成为可能。它颠覆了传统制造技术的局限,解决了产品研发存在的“制造决定设计”问题。
因此,将拓扑优化(先进设计技术)与增材制造(先进制造技术)融合,发展创新设计技术具有广阔的前景,已引起学术界的广泛关注。航空结构创新研发具有小批量、多品种、高性能等特点。突破现有设计极限对结构创新设计技术及快速试制技术提出了更高的要求。增材制造作为一种“无模敏捷制造”技术,可大幅降低研发周期和成本,是“快速试制”的核心技术。
面向增材制造的优质结构构型设计
整体结构层级化、材料属性梯度化、功能结构一体化、结构多功能化已成为新结构与材料的重要发展方向。基于增材制造工艺,突破传统设计“极限”,研发整体化、轻量化、低成本的高性能新结构和材料是新一代重大/ 高端装备与结构研制的迫切需求。本节将主要介绍基于拓扑优化方法,从4个方面设计创新优质结构构型。
1 特定/特异性能材料微结构拓扑优化设计
复合材料因具有传统单一材料所无法达到的性能,且具有良好的可设计性,受到研究人员的广泛关注。通过设计微结构的构型,获得具有特定/ 特异性能的周期性复合材料已成为材料领域的研究热点,这种方式获得的新型材料也常称为构造化材料。拓扑优化技术为微结构构型设计提供了强大的工具,已开展了相当广泛的研究。基于增材制造技术,实现高性能构造化材料的制备,已然成为研究的前沿问题。
基于拓扑优化设计微结构构型示意图
2 多层级结构拓扑优化设计
多层级结构设计是指在结构的宏观和微观等多个层级上同时设计结构的构型,如图所示,这样可有效扩大设计空间,有利于获得性能优异的结构构型。
多层级结构设计示意图
超轻金属点阵材料
基于多层级结构设计的骨骼重构
多层级结构的拓扑优化设计在沉寂了10 年后,由于增材制造的快速发展,再次进入了一个新的研究热潮。然而,现有方法依然面临着许多技术难点,比如设计变量多、计算量过大等,如何在设计空间与计算效率上进行权衡,建立适用于工程结构设计的方法依然是未解决的难题。此外,现有设计大多基于均匀化方法将微结构等效为均质材料,未考虑结构的尺寸效应。
3 多材料结构拓扑优化设计
通过材料的合理布局,实现材料性质按需分配,可以大大提高结构性能,如图所示。
多材料结构示意图
柔性机构实例
多材料拓扑优化方法经过20年的发展已经逐渐趋于成熟,但是考虑界面缺陷以及梯度层影响的研究还很缺乏,有待进一步深入研究。另外,由于工艺限制,现有的多材料拓扑优化主要是面向分区均质多材料构型设计,近年来出现的增材制造技术可以通过改变不同材料在不同位置的组分比例实现空间内材料属性的变化。因此,增材制造技术为任意梯度变化多材料构型的制备提供了可能,这极大地释放了科研者的设计空间。因此,如何最大限度利用增材制造所释放的设计空间,同时考虑多材料构型制备工艺约束,是今后多材料布局优化的重要研究方向。
4 多功能结构拓扑优化设计
复杂部件级结构中除了承载功能外,往往还包括散热、减振、隐身及传导等其他功能。合理地设计结构构型,实现多功能化,是提升结构性能的有效方式。基于增材制造技术,可以制备内部含有复杂空腔、多种材料复合的新型结构,使得兼具承载和其他功能的部件有望实现。针对此,许多学者开展了多功能结构的拓扑优化设计方法研究,实现了比如减振降噪、承载- 散热、传导及天线等结构设计。
探地雷达天线设计
基于拓扑优化的多功能结构设计虽然已得到蓬勃发展,但是由于多物理场问题分析求解困难,现有设计大多集中在只考虑2~3 个独立的物理场。考虑多物理场耦合、多目标的拓扑优化设计方法仍处在研究初期,为实现设计结果的工程应用,此方向必将成为下一步研究的重点。
考虑增材制造工艺约束的拓扑优化设计方法
增材制造技术相对于传统制造工艺,因其独特的制造方式,可实现复杂几何结构构型的制备。然而,增材制造并非完全“自由”制造,仍然存在独特的制造约束,主要包括以下几类:结构最大/ 最小尺寸、支撑结构、制造缺陷(表面粗糙度、材料各向异性等)及连通性约束等。如何在拓扑优化设计过程中考虑增材制造工艺约束,实现拓扑优化结果的快速直接制备已经成为国内外学者关注的重点。
1 尺寸特征
不同3D 打印设备具有不同的打印精度,因此需要控制拓扑优化结果的特征尺寸,避免无法制造的细杆等结构出现。图10 分别给出了不考虑最小尺寸特征控制及考虑最小尺寸特征控制的拓扑优化结果。可以看出,对于图10(a)中存在的细微结构,对于一些打印机精度不是很高的机器,很难制备[17-18]。由于尺寸特征约束同样存在于传统制造工艺中,因此该方向很早就得到学者的广泛关注,已建立了比较完善的拓扑优化结果尺寸控制方法体系。
拓扑优化结果尺寸特征控制
2 自支撑结构设计
增材制造过程中,对于大悬挑结构,往往需要在其下方添加支撑结构,以防止制造工程中结构坍塌,如图所示。支撑结构的使用,不仅仅会带来打印时间及成本的增加,而且在后期去除时,带来工艺难度,影响结构最终表面精度。因此设计自支撑结构,在优化过程中自动识别特征结构,避免大悬挑结构,成为研究的热点。
部分学者在此方向做了初步探索,然而现有的模型大多基于理论假设,结构坍塌极限与材料属性、悬挑角度以及悬挑长度等关系,并未通过大量的试验精确获得。
3 制造缺陷
近几年,增材制造技术虽得到了飞速的发展,然而整体来看该制造工艺仍处于技术萌芽初期,尚未成熟。受工艺限制,增材制造结构件往往存在一些缺陷,例如材料各向异性、表面粗糙以及材料属性不确定等。针对该问题,一些学者将制造缺陷考虑到拓扑优化模型中,
大悬挑结构及支撑结构示意图
以减小缺陷对结构性能的影响。然而,在实际计算过程中,所使用的缺陷模型大多为理论模型,与增材制造工艺引起的不确定模型并不相符。因此,基于试验研究增材制造的材料成形机理,建立真实缺陷模型,并引入到拓扑优化过程中,是未来研究的目标。
4 连通性约束
封闭结构内部无法去除支撑结构
考虑不同连通性约束设计结构
增材制造过程中,无论是采用熔融沉积成型(FDM)或者激光选择性烧结粉末技术(SLS),都需要在结构打印结束后去除支撑材料或者未熔融的金属粉末,因而要求结构内部不能含有封闭的内部孔洞。对于含内部孔洞的结构,由于无法去除支撑材料或者未熔融的金属粉末,常常需要二次修正或者结构分区制造,大大增加了制造的工艺难度,提高了成本。
伴随着增材制造工艺的快速发展,建立面向增材制造的创新设计理论和方法,获得具有可制造性(可制造性设计)的优质构型(优质构型设计),已成为当今设计师和研究人员所面临的新课题。拓扑优化技术经过几十年的发展,已在优质构型设计上(构造化材料、多层级结构、多材料结构及多功能结构)开展了丰富的研究,可充分利用增材制造技术释放极大的创新设计空间。如何将拓扑优化(先进的设计工具)与增材制造技术(先进的制备工具)相结合,实现结构创新能力的飞速提升,必将成为未来10 年研究的重点和热点。
来源:《航空制造技术》杂志
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
国内第一本3D打印行业月刊——《3D打印世界》
清新风格,海量资讯,热门动态,一手掌握。深挖行业应用的全媒体平台。
今日搜狐热点&·&&·&发帖说明 本小组需要加入才可以发帖
[分享]结构设计嵌固端如何确定?
发表于&&&&1297人浏览&&&&1人跟帖&&&&筑龙币+50&&&&
高层建筑结构嵌固端位置的确定对计算结果的真实性和准确性有很大的影响,正确选取结构嵌固端,不仅对结构的位移角、基底剪力等结构整体指标有影响,还可以影响到结构的位移比、刚度比等楼层局部指标和内力分布、钢筋等。本文将为您介绍规范对嵌固端的计算和相关构造要求,阐述地下室顶板嵌固条件及不嵌固下移规范的处理方式,并结合PKPM结构设计软件相关的处理方式,加深您对于结构嵌固问题的理解和对实际工程问题的应对能力。前 &言建筑结构在进行结构分析计算之前必须首先确定结构嵌固端的所在位置,而嵌固端的选取按照《高层建筑混凝土结构技术规程》JGJ3-2010(以下简称“高规”)和《建筑抗震设计规范》GB(以下简称“抗规”)都要满足一定的条件,比如在地下室顶板嵌固需要满足相关范围内地下一层构件剪切刚度与上层构件剪切刚度比大于2,同时地下室顶板还需满足一定的构造要求,如果地下室顶板达不到嵌固条件,嵌固端下移,下移之后的嵌固端位置一般为地下室底板。实际工程中也由于各种特殊的情况,比如错层、夹层、坡地建筑、大底盘多塔结构等导致嵌固部位不太好确定,当然的确定也与是否有地下室、地下室层数的多少及基础形式都均有关系。不同的嵌固端位置会影响结构梁柱构件内力的调整、的高度、梁柱构件配筋放大的处理等,对于经济性会产生一定的影响。本文结合规范嵌固端相关要求,对当前设计中存在的一些问题进一步分析,加深设计师对于结构嵌固相关问题的理解及对提高设计师对实际工程问题的处理能力。对规范嵌固端的理解嵌固端包含两个层次的含义:1)计算嵌固端(计算模型的嵌固端或力学嵌固端,可理解为刚度嵌固端,简单理解被固定的位置);2)设计嵌固端(预期塑性铰出现的部位或者强度嵌固端)。实际结构设计中,若不存在地下室,结构的嵌固端就是结构最底部,该部位是属于计算嵌固端,构件最底部不发生任何的平动和转动变形;若存在地下室,结构的计算嵌固端应该属于地下室的底板,但从规范精神出发,由于地下室土体约束作用的不确定性及线性地震加速度反应谱曲线属于地面反应谱等原因,为了在计算中得到明确的计算模型,规范认为地下室顶板构造满足一定的条件、地下一层相关范围构件剪切刚度与地上一层剪切刚度比大于2时,上部结构剪力可以可靠传递给地下室,地下室由于刚度大,且有土体约束,将产生较小的变形,仍应将地下室顶板作为上部结构设计的嵌固端,此时的嵌固端可以理解为设计嵌固端,该位置也是在结构设计中预期出现塑性铰的部位。不带地下室的结构,地震作用下结构塑性铰一般出现在结构最底部;对于带地下室的结构,由于地下室土体的约束作用,导致地下室顶板下层产生刚度突变,地震作用下可能使高层建筑的塑性铰由基础顶部转移到地下室顶板部以上。震害表明,在地震作用下,一般塑性铰出现在结构正负0处,但塑性铰也有向地下一层延伸的情况,基本未发现地下室底板出现塑性铰的情况。规范中为满足地下室顶板嵌固,保证塑性铰更加可靠的出现在地下室顶板以上部位,且保证塑性铰不要下移,对地下室结构的刚度和承载力提出了适当的加强措施,通过这样的调整,迫使塑性铰在预期的部位出现。规范中的嵌固端,涉及到结构设计中的强度、刚度及延性,其重点是得到较为准确的计算模型及保证抗震作用下的延性。通过确定嵌固端,得到清晰准确的计算模型,进行内力分析、配筋设计及规范指标判定。嵌固端位置的确定1.不带地下室结构嵌固端位置的确定按照上述分析,对不带地下室的结构,结构嵌固端位置是结构最底部,在进行内力分析与配筋设计时,结构最底部既是力学意义的嵌固端也是设计意义的嵌固端,底部节点既不发生平动也不发生转动变形。2.带地下室结构嵌固端位置的确定对于带地下室的结构,按照规范要求,应将上部结构与地下室“相关部位”(地上结构外扩不超过三跨的地下室范围)构件一起进行整体分析,按照高规附录E.0.1进行剪切刚度比的计算,如果地下一层“相关部位”构件剪切刚度与上层剪切刚度比大于2,地下室顶板可以作为上部结构的嵌固端。如果地下一层“相关部位”构件剪切刚度与上层剪切刚度比不大于2时,地下室顶板无法作为上部结构嵌固部位,嵌固端下移,移动的嵌固端位置应该为地下室底板,此时规范设计嵌固端也就是计算嵌固端,不应将中间某层设置为嵌固端所在的楼层。是否能在地下室中间某楼层嵌固,规范并没有给出相关的计算条件,不能直接按照下层比上层剪切刚度比大于2去判定嵌固,还需要考虑下层为地下室这一容易被设计师所忽略的隐含重要信息,正如上部结构计算中不能认为某一层与上层刚度比大于2,就将该层位置作为嵌固一个道理。规范没有表明在地下室中间楼层位置嵌固的条件,不能盲目扩大剪切刚度2倍的使用范围。因此,如果地下室顶板不能作为上部结构的嵌固端时,应将嵌固端移至结构的最底部,即地下室底板。顶板嵌固相关问题1.上部结构的配筋及指标控制由于土体约束的不确定性,应尽量通过调整结构布置,满足地下室顶板嵌固的剪切刚度比要求,保证地下室顶板作为上部结构的嵌固端。当地下室顶板为上部结构的嵌固部位时,应按取消掉地下室进行上部结构的内力分析、配筋设计及规范相关控制指标的判定。地下室部分不进行地震作用的分析,上部结构计算的剪力即基底剪力通过地下室的顶板直接传递给地下室,在地下土体约束作用下,上部地震作用仅仅传给地下一层,不再向下传递。诸如,刚度比、刚重比、剪重比、周期比、位移比及层间位移角指标,也应该是在取消掉地下室的模型上计算得到的,并与规范限值进行比较。2.地下室地震作用分析按照高规3.9.5条的相关要求,地下室顶板作为上部结构嵌固部位时,规范要求地震作用下结构的屈服部位发生在地上楼层,同时将影响地下一层,地面以下结构的地震响应由于土体作用逐渐减小,规定地下一层抗震等级不降低,地下一层以下不要求计算地震作用,其抗震构造措施抗震等级逐层降低。规范认为当地下室顶板嵌固以后,按正负0以上结构计算的地震剪力,通过满足加强措施的地下室顶板传递给全部地下室,并主要由地下一层构件承担。3.地下室土体约束的考虑&&&&用于判断地下室顶板是否嵌固的剪切刚度与土体约束无关,但土体约束影响结构整体计算的刚度及内力,进而影响配筋。地下室层土体约束大小规范并没有给出具体值,当前设计一般都按照弹簧方式模拟土体作用,在SATWE软件中可以通过填写定义地下室,并填写“X、Y方向土层水平抗力系数的比例系数m值”来反映土体的这种约束作用。m值按照《建筑桩基技术规范》JGJ94-2008(以下简称“桩基规范”)中表5.7.5的灌注桩对应的地基土类型去确定,m值越大,对应的土体对结构整体的约束作用越强。如果m值填写为负值,比如三层地下室填写m=-3,代表地下两层在X、Y两个水平方向实现完全的嵌固,地下室不产生水平位移,但土体不会约束转动方向位移,地下室会产生转动方向的转角变形。4.地下室构件配筋的加强措施对地下室顶板嵌固的结构,为保证塑性铰不要出现在地下室,而出现在地上楼层,规范要求地下室结构的刚度和承载力做适当加强。地下室顶板满足梁板体系、最小板厚180、混凝土标号大于C30、最小配筋率0.25%等构造要求;地下一层梁、柱、墙等构件抗弯承载力做了提高,要求嵌固端下一层柱构件配筋单侧配筋是上层柱单侧配筋的1.1倍,梁构件支座部位按组合弯矩乘以1.3进行配筋,墙体边缘构件要求本来可设置构造边缘构件的,但要求纵筋面积不小于上层约束边缘构件纵筋面积。同时地下室构件配筋还要满足计算要求。顶板不嵌固相关问题1.地下室顶板不嵌固的内力分析与配筋设计抗规6.1.10.3强调了当结构计算嵌固端位于地下一层的底板或以下时,宜向下延伸到计算嵌固端。当地下室顶板无法作为上部结构的嵌固端时,规范要求嵌固端下移,此时一般设计师会直接将地下室和上部结构一起建模计算,按照桩基规范填写X、Y方向土层水平抗力系数的比例系数m值,完成上部与地下室的配筋。在配筋设计阶段嵌固端所在的层号对配筋处理有较大影响。如果是一层地下室,嵌固端填写1与2计算内力及配筋结果完全一样,导致很多设计师不用为了满足顶板嵌固而加大地下室墙柱构件的截面,直接将嵌固端放在地下室底板。对一层地下室结构,嵌固端位置不同,虽然计算结果完全一致,但不符合规范精神,应尽量通过加大地下室相关范围构件截面尺寸,做到在地下室顶板嵌固。带多层地下室结构,假如有4层,顶板若不嵌固,设计师会将嵌固端下移到地下一层底板作为嵌固端,此时,地下一层底板能否作为嵌固端,需要根据剪切刚度比去判断,部分设计师以地下二层剪切刚度与地下一层剪切刚度比是否大于2来判断是否嵌固,也有部分设计师以地下二层与地上一层剪切刚度比是否大于2判断是否嵌固。这样就有“嵌固端所在层号”为地下室中间某层,2或3或4等多种情况,按照规范若顶板不嵌固,应该只有嵌固端所在层号为1这种情况。在SATWE计算中如果将地下室与上部结构一起计算,填写嵌固端所在层号为3,内力分析与嵌固端所在层号填写无关,配筋设计时,考虑底部加强区下延,约束边缘构件延伸到嵌固端层,相应楼板、梁及柱对应的构造及配筋均做加强处理,柱单侧配筋1.1放大一直延伸到嵌固端,梁支座弯矩1.3放大不仅放大地下一层位置的,也放大嵌固端所在层号下一层的。当然对于地上结构配筋很多设计师由于把握不准确土约束大小,而采取了按照带地下室模型整体计算与不带地下室模型计算,对上部配筋包络设计。2.地下室顶板不嵌固的结构指标控制由于土体约束的不确定性,虽然可以按照桩基规范表5.7.5去填写,但这是一个范围,在进行结构内力分析时,设计师对相同的土体约束情况可能赋予不同的m值,这样会导致计算模型由于不同的刚度而引起各项指标可能有差别。设计中关注的结构整体指标位移角、基底剪力、刚重比与结构楼层指标层刚度比、位移比、剪重比等这些指标就很难把握。部分设计师可能认为考虑地下室土体约束情况,计算的各项指标更准确,但由于土体约束的不准确,此结果与规范限值控制需要的计算模型结果是不对等的。因此,即使地下室顶板不嵌固,在进行这类结构指标控制的时候,建议还是按照取消掉地下室的模型进行控制。与嵌固端相关细部问题1.底部加强区的确定及软件处理抗规6.1.10、高规7.1.4及对应条文说明对结构底部加强区的确定综合可概括如下。如果是地下室顶板嵌固,底部加强区为:max(H/10,顶板算起底部两层,有裙房层数时裙房层数加1,有转换层层数时转换层层数加2);如果是地下室顶板不嵌固,嵌固端下移,底部加强区下延,此时的H始终从地下室顶板算起。软件在处理规范这条时不完全与规范一致,对于H的取值,如果顶板嵌固,从正负0算起,如果嵌固端下移,H高度跟着下延。同时由于规范要求嵌固端下一层构造边缘构件纵筋大于上层约束边缘构件纵筋,软件对于底部加强区按照上述方式确定以后还下延一层。当然对于底部加强区高度也允许设计师进行任意楼层指定干预,如图1所示。图1 底部加强区人工干预图2.地下室顶板嵌固刚度比的判断及软件处理地下室顶板是否嵌固时,需判断地下一层“相关范围”内楼层剪切刚度与上层的剪切刚度比,按照抗规6.1.14.2、高规5.3.7及高规附录E.0.1可知,该剪切刚度比仅与层高、竖向构件截面尺寸有关,与土体约束无关。在使用SATWE软件进行该项判断时,需要带地下室模型做整体分析,m值默认即可,因为此值不影响剪切刚度比的计算。程序在计算剪切刚度比的时候采用的是本层刚度与下一层的刚度比,因此,如果查看地下室顶板能否嵌固,带着地下室计算,查看正负0 层剪切刚度比RATX与RATY两值是否小于0.5来判定。3.嵌固端抗震等级确定及软件处理按照抗规6.1.3及高规3.9.5,地下室顶板嵌固以后,地下一层相关范围内抗震等级同上部结构。地下一层及以下抗震构造措施抗震等级逐层降低,但不应低于四级,地下室超出上部主楼相关范围且无上部结构的部分,其抗震等级可根据具体情况采用三级或四级;顶板嵌固以后,地震剪力从上部仅传给地下一层,不再向下传递,实际上是抗震构造措施抗震等级为三级或四级。在SATWE软件中默认地下室构件抗震等级同上部结构的抗震等级,对嵌固端以下抗震构造措施抗震等级可逐层降低,如图2所示。在实际设计中对于地下一层及以下需要手工修改抗震等级及抗震构造措施的抗震等级,如图3所示。图2 抗震构造措施抗震等级逐层降低选项图图3 抗震等级及抗震构造措施抗震等级修改图4.嵌固端相关结构底部薄弱层判断及软件处理高规3.5.2对底部嵌固层是否是薄弱层提出了较高的要求,由于底部嵌固层层间位移角结果较小,规范对其与上一层侧向刚度比做了150%的要求。此处侧向刚度比指的是层剪力与层间位移的比值,如果有土体作用,该比值与土体约束有关。设计中需正确的处理结构模型,正确进行首层刚度比的计算,并进行首层是否是薄弱层的判定。SATWE软件中为了正确的去判断首层是否是薄弱层,需要取消掉地下室去计算首层与上层的刚度比。程序对于高规3.5.2的执行仅仅针对结构建模计算的首层执行刚度比150%的较高要求。需要注意的是,如果带地下室计算,程序仅对结构地下室最底部按照150%控制刚度比,对正负0这一层并不会执行规范的这条要求。直接查看3.1.6版本软件输出的首层的RATX2与RATY2,查看这两个值是否大于1.5进行薄弱层的判断(注意:2.2及以前版本这个刚度比已经考虑1.5的值,直接与1比较即可)。5.嵌固端相关底层剪力及倾覆力矩计算及软件处理高规4.3.12与抗规5.2.5对结构的底部最小剪力均提出了要求,要进行规范这项最小剪重比的判断,需要准确计算结构底部剪力。抗规和高规中要求通过计算的框架柱所占的倾覆力矩的比例确定相应的框剪结构的设计方法,倾覆力矩的计算是指嵌固端所在层即正负0处的计算结果。SATWE软件为了准确的考虑上部结构的剪力及倾覆力矩,在上部结构和地下室一起共同计算时,考虑地下室回填土的刚度贡献,但是有效质量系数的计算程序是不考虑地下室的,仅仅按照上部结构去统计有效质量系数。按照满足上部有效质量系数90%下计算的地下室顶板处的基底剪力进行最小剪重比调整及倾覆力矩的计算,底层倾覆力矩是嵌固端所在层的倾覆力矩。6.嵌固端相关转换柱的弯矩放大高规10.2.11中要求对于一、二级转换柱的顶上端和下端弯矩组合值分部乘以放大系数1.5,1.3。设计师需要注意,按照规范体系,转换柱这条的放大需要正确理解嵌固端情况下执行,正确定义转换柱。在SATWE程序中需要正确定义转换柱,程序才可以按照规范要求正确放大其顶部和底部,需要设计师注意的是,如果带地下室计算,转换柱底部定义到正负0 层即可,不要延伸到地下室,否则规范要求的放大没有正确执行。如果不带地下室,就应该定义转换柱从正负0到转换柱顶。7.嵌固端相关剪力墙轴压比、边缘构件判断及软件处理设计师在设计中发现不带地下室计算的剪力墙轴压比基本符合从底到顶轴压比逐渐减小,但是带地下室以后,导致剪力墙轴压比分布与概念判断不太相符,这主要是由于地下室土体约束引起的,土体约束导致地下首层刚度突变,剪力墙分担的恒活荷载也变化,进而引起轴压比在正负0处也会发生突变。对于剪力墙轴压比计算是采用重力荷载代表值作用下的轴力,恒活作用下的轴力与结构刚度有关,与土体约束有关。SATWE软件中,程序仅判断嵌固端所在楼层的剪力墙轴压比是否满足可设置构造边缘构件的条件。如果带地下室计算,即使嵌固端以上楼层轴压比大于表7.2.14的限值,嵌固层轴压比小于表7.2.14要求,程序仍然会一律设置构造边缘构件。在软件中参数设置如图4所示。图4 按抗规6.4.5是否设置构造边缘构件8.嵌固端相关强柱根调整及软件处理为了提高结构安全度,高规6.2.2要求对于底层柱弯矩进行放大(强柱根调整),以加强底层柱下端的实际受弯承载力,推迟塑性铰的出现。此处底层柱弯矩方法系数应该仅仅对结构正负0的底层柱进行放大即可。SATWE软件对地上一层、嵌固端和地下室底层的柱底弯矩都做了调整。如果建模计算中地下室参与结构整体分析,不论地下室顶板是否达到嵌固要求与否,地上一层天然存在一个或强或弱的被嵌固效果。地震灾害分析报告中绝大多数工程的地上一层都属于结构的最薄弱部位,极少见到地下室结构发生严重破坏的。为确保工程安全,软件按此进行控制虽然是保守的,但是必要的。9.嵌固端相关部位梁、柱、墙配筋放大及软件处理按照抗规6.1.14及高规12.2.1可知,对于地下室顶板作为上部结构嵌固端时,嵌固端下层的梁端实配抗震受弯承载力大于地上柱下端实配抗震受弯承载力的1.3倍;柱嵌固端下层柱单侧配筋不小于地上一层柱的1.1倍;墙嵌固端下层边缘构件纵筋面积不小于地下一层对应墙肢边缘构件的纵筋面积。SATWE软件对地下一层即嵌固端下一层柱构件配筋单侧配筋取上层柱单侧配筋的1.1倍与自身计算的大值,柱上下截面形式不一致时,程序不会自动做这个1.1放大。地下一层梁支座部位程序按组合后的弯矩乘以1.3进行配筋,未完全按照规范要求进行处理,同时这个放大也是有条件的,需要梁的两端均有竖向构件相连,并且梁端上部也需要有柱,同时还要满足地震作用组合,同时满足这三个条件,才执行端部1.3放大。地下一层墙体边缘构件要求本来可设置构造边缘构件的,但程序判断该层为底部加强区,认为属于约束边缘构件,在满足自身计算配筋的同时,取纵筋面积不小于上层约束边缘构件纵筋面积,两者取大。如果嵌固端不在地下室顶板,则嵌固端下移,如果嵌固端移到结构最底部,比如有四层地下室,则地下四层柱配筋均取地上一层柱单侧配筋1.1倍与计算的大值。对于梁端配筋,不仅地下室顶板梁支座部位按组合后的弯矩乘以1.3进行配筋,嵌固端所在层梁端支座也按照组合弯矩乘以1.3进行配筋。由于嵌固端下延,地下室均设置约束边缘构件,且配筋均取首层约束边缘构件配筋与自身计算配筋的大值。放大处理的理由是,与柱底设计内力的放大原则相同,一句话概括为:“地下室顶板处总是按照嵌固端设计”。结束语高层建筑结构设计中,由于土体的不确定性,结合规范要求,分析了关于内力、配筋及指标等各方面的问题,建议结构的嵌固端尽量设置在地下室顶板,如果无法在顶板满足下层与上层剪切刚度比不大于2,嵌固端下移至地下室底板。对于土体的约束如果输入m值,程序可以按照输入的值,体现土对结构的约束作用。实际设计中,无论选择地下室顶板还是结构最部位作为结构嵌固端,程序都通过相应的措施对梁、柱、墙及板配筋做了有针对性的加强,确保塑性铰尽可能出现在结构正负0,避免塑性铰向下延伸。本文同时结合设计师常用的SATWE设计软件对于嵌固端相关问题的处理及理解进行了详细的分析,供设计师在设计中参考。参 考 文 献[1] GB建筑抗震设计规范[S].北京:中国建筑工业出版社,2010.[2] JGJ3-2010高层建筑混凝土结构技术规程[S].北京:中国建筑工业出版社,2010.[3] JGJ94-2008建筑桩基技术规范[S].北京:中国建筑工业出版社,2008.
分享到微信朋友圈
打开微信"扫一扫",扫描上方二维码请点击右上角按钮&,选择&
&&发表于&&|&
&& &&筑龙币+10
正确选取结构嵌固端,不仅对结构的位移角、基底剪力等结构整体指标有影响,还可以影响到结构的位移比、刚度比等楼层局部指标和内力分布、钢筋等。
后才能评论,评论超过10个字,有机会获得筑龙币奖励!
筑龙学社APP扫码
立即免费下载资料
只需1元,认证E会员,百万资料免费下
【微信扫码支付】
您已成功认证为E会员
还可以输入&120&字
他一定是哪里做的不够好,别替他瞒着了,告诉我们吧~
:&400-900-8066

我要回帖

更多关于 结构设计的过程 的文章

 

随机推荐