一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自动地生成建筑物的结构系统的框架栅格的技术的制作方法

2022-06-22 16:07:43 来源:中国专利 TAG:

用于自动地生成建筑物的结构系统的框架栅格的技术


背景技术:
技术领域
1.各种实施方案总体上涉及结构工程和计算机辅助设计,并且更具体地涉及用于自动地生成建筑物的结构系统的框架栅格的技术。
2.相关技术的描述
3.在建筑物的典型设计过程中,建筑师会生成建筑物平面图,该建筑物平面图指定建筑物的轮廓、建筑物的每个楼层的一个或多个轮廓以及将要包括在建筑物中的任何数量的建筑元素。建筑元素的一些示例包括但不限于墙壁、电梯和楼梯。一旦完成建筑物平面图,结构工程师然后基于建筑物平面图、对建筑物施加的各种设计约束、建筑物的不同设计目标以及各种设计变量来设计建筑物的结构系统。结构系统包括任何数量的结构构件,这些结构构件共同使得建筑物能够根据设计约束抵抗各种荷载。例如,给定的建筑物的结构系统可包括板、梁和柱,使得建筑物能够在不超过容许的应力的情况下抵抗由重力引起的垂直荷载和由飓风级风引起的横向荷载。在设计过程中对建筑物平面图、设计约束、设计目标、设计变量或荷载进行任何变化的情况下,结构工程师必须重新设计结构系统以应对这些变化。
4.在设计建筑物的结构系统的一种方法中,结构工程师独立地使用常规的计算机辅助设计(“cad”)应用程序来生成结构系统的不同设计,其中每个设计都满足对建筑物施加的各种设计约束。为了生成结构系统的给定设计,结构工程师通常基于建筑物平面图、设计和结构工程基础以及源自结构工程师的总体设计经验的设计洞察力来生成基线设计。基线设计尤其指定建筑物的结构构件的布局以及用于结构构件的大小。使用cad应用程序,结构工程师然后逐步地完善基线设计,通常实现有限元分析求解器来评估设计决策并验证得到的最终设计。在结构工程师生成结构系统的多个最终设计之后,基于建筑物的不同设计目标将设计进行比较,并且选择结构系统的单一最终设计。
5.上述生成建筑物的结构系统的最终设计的方法的一个缺点在于,常规的cad应用程序未被配置为有效地探索给定结构系统的总体设计空间。因此,使用常规的cad应用程序生成的结构系统的最终设计通常没有针对相关建筑物的不同设计目标进行适当优化。在这方面,由于评估设计决策涉及对许多完善的设计执行计算上复杂的有限元分析操作,因此完善基线设计的过程通常非常耗时。因此,在典型的设计过程中,只能生成并完善给定结构系统的少数基线设计。此外,结构工程师可能会做出保守的设计决策,以便减少生成最终设计所需的时间,但要牺牲任何数量的设计目标。例如,结构工程师可能会高估一些结构元素所需的大小,以增加这些结构元素被在最终设计中而无需进一步修改的可能性。在这种情况下,结构工程师故意忽略探索和评估在最小化重量的设计目标方面更收敛的结构系统设计。
6.以上问题随着建筑物的复杂性和规模增加而加重。例如,对于典型的多层建筑物,相关设计变量的不同值组合的总数可能超过五十万,其中每个组合都会导致建筑物的结构
系统的不同设计。使用常规的cad应用程序,无法确保结构工程师在生成建筑物的结构系统的最终设计时考虑到所有这些不同的组合和得到的设计。事实上,如上所述,在这种情况下,结构工程师很可能只考虑到可能设计总数中的少数,这大大降低了最终设计被适当优化的可能性。
7.如前述内容所说明,本领域中需要用于生成建筑物的结构系统的设计的更有效技术。


技术实现要素:

8.本发明的一个实施方案阐述了一种用于生成建筑物的结构系统的一个或多个框架栅格的计算机实现的方法。所述方法包括:基于所述结构系统的计算机辅助设计来确定边集;基于所述边集来执行一个或多个聚类操作以确定第一基本方向集;基于所述边集和所述第一基本方向集中包括的第一基本方向来确定第一边子集;基于所述第一边子集来执行一个或多个聚类操作以确定与所述第一基本方向相关联的第一组栅格线;以及基于所述第一组栅格线和与所述第一基本方向集中包括的第二基本方向相关联的第二组栅格线来生成所述结构系统的第一框架栅格。
9.所公开的技术相对于现有技术的至少一个技术优势在于,所公开的技术可被并入cad应用程序中,以使得cad应用程序能够自动地探索设计空间以识别针对任何数量的设计目标来优化建筑物的结构系统的区域。在这方面,利用所公开的技术,cad应用程序能够将复杂的总体设计优化问题分解为涉及结构系统设计的不同方面的更简单的优化问题。因此,cad应用程序能够以更加高效和系统的方式探索总体设计。这种在常规cad应用程序中不可用的功能增加了可识别和生成收敛于建筑物设计目标的结构系统的优化设计的可能性。这些技术优点提供优于现有技术方法的一个或多个技术改进。
附图说明
10.为了能够详细地理解各种实施方案的上述特征,可参考各种实施方案来更具体地描述以上简要地概述的发明构思,这些实施方案中的一些在附图中示出。然而,应注意,附图仅示出了本发明构思的典型实施方案,并且因此决不应被认为是对范围的限制,并且存在其他同等有效的实施方案。
11.图1是被配置为实现各种实施方案的一个或多个方面的系统的概念图示;
12.图2是根据各种实施方案的图1的重力设计应用程序的更详细图示;
13.图3是根据各种实施方案的图2的重力设计优化器的更详细图示;
14.图4是根据各种实施方案的图1的栅格生成应用程序的更详细图示;
15.图5是根据各种实施方案的图1的框架规范应用程序的更详细图示;
16.图6是根据各种实施方案的图1的迭代大小设定应用程序的更详细图示;
17.图7a至图7b阐述了根据各种实施方案的用于生成建筑物的结构系统的设计的方法步骤的流程图;
18.图8a至图8b阐述了根据各种实施方案的用于生成建筑物的结构系统的框架栅格的方法步骤的流程图;
19.图9是根据各种实施方案的用于生成与建筑物相关联的框架系统的设计的方法步
骤的流程图;并且
20.图10a至图10b阐述了根据各种实施方案的用于设计建筑物的结构系统以抵抗横向荷载的方法步骤的流程图。
具体实施方式
21.在以下描述中,阐述许多具体细节以提供对各种实施方案的更透彻的理解。然而,对本领域的技术人员将显而易见的是,可在没有这些具体细节中的一者或多者的情况下实践本发明构思。
22.系统概述
23.图1是被配置为实现各种实施方案的一个或多个方面的系统100的概念图示。如图所示,系统100包括但不限于显示装置104和计算实例110。出于解释的目的,相似对象的多个实例用标识对象的附图标记和在需要时标识实例的带括号字母数字字符来表示。
24.系统100的任何数量的部件可分布在多个地理位置或者以任何组合在一个或多个云计算环境(即,封装的共享资源、软件、数据等)中实现。在一些实施方案中,系统100可包括但不限于显示装置104的任何数量(包括零)的实例和计算实例110的任何数量的实例。在相同或其他实施方案中,计算实例110的每个实例可在云计算环境中实现、作为任何其他分布式计算环境的一部分来实现,或者以独立方式实现。
25.如图所示,计算实例110包括但不限于处理器112和存储器116。处理器112可以是能够执行指令的任何指令执行系统、设备或装置。例如,处理器112可包括中央处理单元、图形处理单元、控制器、微控制器、状态机或它们的任何组合。存储器116存储供处理器112使用的内容,诸如软件应用程序和数据。在一些替代实施方案中,计算实例110的任何数量的实例中的每一者可包括以任何组合的处理器112的任何数量的实例和存储器116的任何数量的实例。特别地,计算实例110的任何数量的实例(包括一个)可以任何技术上可行的方式提供多处理环境。
26.存储器116可以是易获得的存储器中的一种或多种,诸如随机存取存储器、只读存储器、软盘、硬盘或任何其他形式的本地或远程数字存储装置。在一些实施方案中,存储装置(未示出)可补充或代替存储器116。存储装置可包括处理器112可访问的任何数量和类型的外部存储器。例如但不限于,存储装置可包括安全数字卡、外部快闪存储器、便携式光盘只读存储器、光学存储装置、磁性存储装置或前述项的任何合适的组合。
27.如图所示,在一些实施方案中,计算实例110与显示装置104相关联。显示装置104可以是能够显示图像和/或任何其他类型的视觉内容的任何装置。例如,显示装置104可以是但不限于液晶显示器、发光二极管显示器、投影显示器、等离子显示面板等。在一些实施方案中,显示装置104是能够显示视觉内容并接收输入(例如,来自用户)的触摸屏。
28.在一些实施方案中,计算实例110可与任何数量和/或类型的其他装置(例如,计算实例110的其他实例、输入装置、输出装置、输入/输出装置等)一起集成到用户装置中。用户装置的一些示例包括但不限于台式计算机、膝上型计算机、智能手机、智能电视、游戏机、平板电脑等。
29.一般而言,计算实例110的每个实例被配置为实现一个或多个软件应用程序。仅出于解释的目的,每个软件应用程序被描述为驻留在计算实例110的存储器116中并且在计算
实例110的处理器112上执行。然而,在一些实施方案中,任何数量的软件应用程序的功能可分布于驻留在计算实例110的任何数量的实例的存储器116的实例中并且以任何组合在计算实例110的任何数量的实例的处理器112的任何数量的实例上执行的任何数量的其他软件应用程序。此外,任何数量的软件应用程序的功能可合并到单个软件应用程序中。
30.特别地,计算实例110被配置为实现可用于自动地设计建筑物的结构系统的一个或多个计算机辅助设计(“cad”)应用程序。如本文中先前所述,在设计建筑物的结构系统的一种常规方法中,结构工程师使用一个或多个常规的cad应用程序基于建筑物平面图、设计和结构工程基础以及源自结构工程师的总体设计经验的设计洞察力来独立地生成多个基线设计。结构工程师然后使用常规的cad应用程序来逐步地完善基线设计,通常执行有限元分析求解器来评估设计决策并验证得到的最终设计。在结构工程师生成结构系统的多个最终设计之后,基于建筑物的不同设计目标将设计进行比较,并且选择结构系统的单一最终设计。
31.上述生成建筑物的结构系统的最终设计的方法的一个缺点在于,常规的cad应用程序未被配置为有效地探索给定结构系统的总体设计空间。特别地,由于评估设计决策涉及对许多完善的设计执行计算上复杂的有限元分析操作,因此完善基线设计的过程通常非常耗时。因此,在典型的设计过程中,只能生成并完善给定结构系统的少数基线设计。因此,使用常规的cad应用程序生成的结构系统的最终设计通常没有针对相关联建筑物的不同设计目标进行适当优化。
32.用于设计建筑物的结构系统的生成式设计技术
33.为了解决上述问题,在一些实施方案中,计算实例110包括但不限于结构设计应用程序120。结构设计应用程序120是cad应用程序,该cad应用程序实现生成式设计技术以基于任何数量和/或类型的设计目标以及任何和/或类型的设计约束来生成建筑物的结构系统的设计。如下文更详细地描述,结构设计应用程序120定义总体优化设计问题,并且然后将总体优化设计问题分解为多层不太复杂的优化问题,在本文中称为组成优化问题。每个组成优化问题与结构系统设计的不同方面相关联。为了解决总体优化设计问题,结构设计应用程序120执行总体设计流程,该总体设计流程基于在解决组成优化问题时生成的结果来动态地自我调整。
34.在一些实施方案中,结构设计应用程序120驻留在计算实例110的存储器116中并且在计算实例110的处理器112上执行。一般而言,结构设计应用程序120的功能可分布在任何数量的软件应用程序上。每个软件应用程序可驻留在计算实例110的任何数量的实例的存储器116的任何数量的实例中并且以任何组合在计算实例110的任何数量的实例的处理器112的任何数量的实例上执行。
35.如图所示,在一些实施方案中,结构设计应用程序120包括但不限于界面引擎108、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172的任何数量的实例(未明确示出)、以及总体排名引擎190。在相同或其他实施方案中,迭代优化应用程序172包括但不限于框架规范应用程序170和迭代大小设定应用程序180。
36.在一些实施方案中,界面引擎108经由显示装置104来显示图形用户界面(“gui”)106。界面引擎108可经由gui 106来接收一定数量和/或类型的输入并且可经由gui 106来显示任何数量和/或类型的输出。在一些实施方案中,界面引擎108经由gui 106来接收任何
数量和/或类型的设计约束(未示出)和/或任何数量和/或类型的设计目标(未示出)。在相同或其他实施方案中,界面引擎108经由gui 106来显示总体优化设计问题的任何数量的解决方案和/或组成优化问题的任何数量的解决方案的一部分(包括无或全部)。
37.在一些实施方案中,结构设计应用程序120生成设计问题定义122,该设计问题定义描述总体设计优化问题并且指定但不限于任何量和/或类型的辅助数据。结构设计应用程序120可基于任何量和/或类型的输入数据以任何技术上可行的方式生成设计问题定义122。如图所示,在一些实施方案中,结构设计应用程序120至少部分地基于经由gui 106接收的输入来生成设计问题定义122。在相同或其他实施方案中,界面引擎108可经由gui 106来显示设计问题定义122的一部分(包括无或全部)。
38.总体设计优化问题是基于任何数量和/或类型的设计目标以及任何数量和/或类型的设计约束来生成建筑物的结构系统的任何数量的设计。在一些实施方案中,设计问题定义122包括但不限于建筑物的计算机辅助设计(未示出)中所包括的建筑物平面图124、设计指令130、风向164(1)至164(w)以及建筑物风荷载数据162,其中w可以是任何正整数。
39.在一些实施方案中,建筑物平面图124包括但不限于建筑物轮廓126和楼层轮廓128(1)至128(f),其中f可以是任何正整数。建筑物轮廓126是具有f层的建筑物的轮廓。仅出于解释的目的,本文中随后使用的“建筑物”是指与建筑物平面图124相关联的建筑物。楼层轮廓128(1)至128(f)中的每一者是建筑物的不同楼层的轮廓。仅出于解释的目的,楼层轮廓128(1)至128(f)在本文中也单独地称为“楼层轮廓128”并且统称为“楼层轮廓128”。
40.在相同或其他实施方案中,代替建筑物轮廓126和/或楼层轮廓128或除此之外,建筑物平面图124可包括与设计建筑物的结构系统相关的任何量和/或类型的数据。例如,在一些实施方案中,建筑物平面图124包括但不限于每个楼层的楼层平面图(未示出),其中每个楼层平面图指定楼层轮廓128、任何数量的房间、每个房间的占用类型,和/或任何数量的墙壁。在相同或其他实施方案中,建筑物平面图124包括但不限于预定义的柱栅格(未示出),其中框架的位置被限于预定义的柱栅格中所包括的栅格线。
41.如图所示,在一些实施方案中,设计指令130包括但不限于约束132、目标函数134、设计变量数据136和参数数据138。约束132可指定与建筑物相关联的任何量和/或类型的限制。例如,在一些实施方案中,约束132包括但不限于由用户在高层指定(例如,经由gui106)的任何数量的设计约束、基于设计约束和/或任何其他类型的用户输入得出的任何数量的限制、与建筑物平面图124相关联的任何数量和/或类型的限制、与任何数量和/或类型的建筑条例和/或分区法规相关联的任何数量和/或类型的限制,和/或与构造的任何方面相关联的任何数量和/或类型的限制。
42.结构设计应用程序120可以任何技术上可行的方式生成约束132。例如,在一些实施方案中,用户经由gui 106来指定预定义的柱栅格。基于预定义的柱栅格,结构设计应用程序120生成根据预定义的柱栅格来限制柱的位置和/或将预定义的柱栅格添加到设计指令130的任何数量的约束132。
43.在相同或其他实施方案中,结构设计应用程序120生成指定但不限于与任意数量和/或类型的建筑条例相关联的任何数量的设计安全系数的任何数量的约束132。在一些实施方案中,设计安全系数中的每一者指定但不限于一种类型的结构构件在一种或多种类型的荷载下的最大容许应力(例如,剪切应力、弯曲应力等)。设计安全系数的一些示例包括但
不限于梁和板的弯曲和垂直挠度安全系数、梁和板的剪切安全系数、板的振动安全系数以及框架的横向挠度极限。在一些实施方案中,可针对可服务性极限状态和最大极限状态分别定义设计安全系数。
44.目标函数134以任何技术上可行的方式封装任何数量和/或类型的设计目标。设计目标的一些示例包括但不限于最小化总重量、最小化隐含碳、最小化材料成本和最小化材料浪费,仅举几例。在一些实施方案中,结构设计应用程序120接收目标函数134作为用户输入(例如,经由gui 106)。在其他实施方案中,结构设计应用程序120可以任何技术上可行的方式生成目标函数134。
45.在一些实施方案中,目标函数134量化设计或其任何部分与设计目标的收敛程度。可以任何技术上可行的方式表达目标函数134。在一些实施方案中,目标函数134是复合函数。在相同或其他实施方案中,目标函数134是各自与一个或多个设计目标相关联的度量的集合。
46.目标函数134的值在本文中也统称为“目标值”并且单独地称为“目标值”。在一些实施方案中,结构设计应用程序120试图最大化目标函数134。在一些其他实施方案中,结构设计应用程序120试图最小化目标函数134。在一些实施方案中,结构设计应用程序120以任何技术上可行的方式将任何数量和/或类型的约束132合并到目标函数134中作为惩罚。在相同或其他实施方案中,在不同的优化操作期间,根据在优化操作期间优化的设计变量忽略任何数量的惩罚。例如,在一些实施方案中,迭代大小设定应用程序180忽略与栅格间距相关联的任何惩罚。
47.设计变量数据136包括但不限于至少部分地定义与设计问题定义122相关联的结构系统的设计空间的任何量和/或类型的数据。例如,在一些实施方案中,设计变量数据136包括但不限于任何数量类型的结构构件的任何数量的横截面数据库、任何数量类型的结构构件的任何数量和/或类型的允许尺寸范围、每种材料(钢筋混凝土、预制混凝土、配筋砌体、结构钢、冷弯型钢、木材等)的当地可用性以及相对和/或实际成本、隐含碳或它们的任何组合。
48.参数数据138包括但不限于与结构设计应用程序120、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序180或它们的任何组合相关的任何数量和/或类型的参数的值。在一些实施方案中,参数数据138包括但不限于最大变化计数(未示出),在本文中表示为n,该最大变化计数限制在总体设计流程中的任何数量的点和/或与任何数量的组成优化问题相关联的任何数量的设计流程中的任何数量的点处保留的选项的总数。在相同或其他实施方案中,参数数据138包括但不限于与总体设计流程和/或与任何数量的组成优化问题相关联的任何数量的设计流程的任何数量的迭代部分相关联的任何数量和/或类型的完成标准。在一些实施方案中,参数数据138可包括基于准确度和速度之间的折衷的任何数量和/或类型的设置组。
49.风向164(1)至164(w)指定与结构设计应用120要考虑的风荷载相关联的任何数量的方向。在一些实施方案中,风荷载中的每一者是由建筑物的风赋予的荷载。仅出于解释的目的,风向164(1)至164(w)在本文中也单独地称为“风向164”并且统称为“风向164”。在一些实施方案中,结构设计应用程序120基于用户输入(例如,经由gui 106接收)来确定风向164。在相同或其他实施方案中,结构设计应用程序120可以任何技术上可行的方式确定风
向164。
50.建筑物风荷载数据162指定但不限于建筑物被设计来抵抗的由风引起的任何量和/或类型的横向荷载。在一些实施方案中,建筑物风荷载数据162包括但不限于风向164(1)至164(w)中的每一者的不同建筑物风荷载(未示出)。结构设计应用程序120或迭代大小设定应用程序180可以任何技术上可行的方式确定建筑物风荷载数据162。例如,在一些实施方案中,结构设计应用程序120或迭代大小设定应用程序180基于建筑物轮廓126、墙壁的位置、正在创建的结构系统以及用户输入(例如,经由gui 106接收)来计算建筑物风荷载数据162,该用户输入指定但不限于平均风速、结构因素、地形类别、山岳因素或它们的任何组合。
51.在一些实施方案中,在生成设计问题定义122之后,结构设计应用程序120将总体设计优化问题定义为在考虑到重力和建筑物风荷载的同时基于目标函数134和约束132来生成建筑物的结构系统的任何数量的设计。结构设计应用程序120然后将总体设计问题分解为组成优化问题。在一些实施方案中,结构设计应用程序120将总体设计问题分解为布局和重力设计优化问题、框架栅格优化问题、框架系统定义优化问题、垂直和横向荷载设计优化问题或它们的任何组合。
52.在一些实施方案中,为了开始总体设计流程,结构设计应用程序120将重力设计应用程序140配置为解决布局和重力设计优化问题。更具体地,在一些实施方案中,结构设计应用程序120将重力设计应用程序140配置为生成重力设计148(1)至148(n)并且任选地基于建筑物平面图124和设计指令130来评估重力设计目标值146(1)至146(n),其中n可以是任何正整数。仅出于解释的目的,重力设计148(1)至148(n)在本文中也单独地称为“重力设计148”并且统称为“重力设计148”。类似地,重力设计目标值146(1)至146(n)在本文中也单独地称为“重力设计目标值146”并且统称为“重力设计目标值146”。
53.每个重力设计148是在考虑重力而不考虑建筑物风荷载的同时基于目标函数134和约束132优化的建筑物的结构系统的不同cad设计。“cad设计”在本文中也称为“设计”。在一些实施方案中,结构系统的任何部分(包括全部)的设计指定但不限于结构系统的该部分的cad布局(图1中未示出)和任何量和/或类型的大小设定数据(图1中未示出)。在相同或其他实施方案中,结构系统的任何部分(包括全部)的每个设计可另外地指定但不限于任何量和/或类型的连接数据(图1中未示出)、框架系统(图1中未示出)、任何量和/或类型的荷载数据(图1中未示出),或它们的任何组合。
[0054]“cad布局”在本文中也称为“布局”。在一些实施方案中,结构系统的任何部分(包括全部)的“布局”指定但不限于结构系统的该部分中包括的任何数量的结构构件中的每一者的位置、类型和材料。在一些实施方案中,在每个布局中指定的结构构件包括但不限于以任何组合的任何数量的板、梁和柱。
[0055]
在一些实施方案中,大小设定数据包括但不限于布局中指定的任何数量和/或类型的结构构件的大小设定。如本文所述,给定的结构元素的大小设定可指定但不限于影响结构元素的大小的任何量和/或类型的数据。例如,在一些实施方案中,钢筋混凝土平板的大小设定指定混凝土的等级、板的厚度以及钢筋的厚度和分布。在相同或其他实施方案中,钢柱的大小设定指定横截面轮廓。
[0056]
在一些实施方案中,连接数据指定但不限于任何数量和/或类型的接头。接头类型
的一些示例包括但不限于刚性接头、半刚性接头、铰接接头、销接头等。在相同或其他实施方案中,框架系统包括但不限于任何数量和/或类型的框架(图1中未示出),其中每个框架抵抗垂直荷载和横向荷载两者。在一些实施方案中,每个框架包括但不限于经由抗力矩接头互连的任何数量和/或类型的梁和任何数量和/或类型的柱。在一些实施方案中,为了指定框架系统,设计包括但不限于任何数量的框架规范(图1中未示出),其中每个框架规范指定框架系统中的不同框架。
[0057]
由于重力设计应用程序140在生成重力设计148时没有考虑任何横向荷载(例如,建筑物风荷载),因此重力设计148未必包括框架系统规范。重力设计目标值146(1)至146(n)分别是重力设计148(1)至148(n)的目标值。重力设计应用程序140可以任何技术上可行的方式生成重力设计148。
[0058]
如下文结合图2更详细地描述,在一些实施方案中,重力设计应用程序140实现分支合并设计流程来生成重力设计148。在分支阶段期间,重力设计应用程序140将结构系统的每个楼层划分为多个段(图1中未示出)。在一些实施方案中,重力设计应用程序140实现基于规则的专家系统来生成每个段的多个段布局(图1中未示出)。在相同或其他实施方案中,基于规则的专家系统是基于领域知识。仅出于解释的目的,基于领域知识的基于规则的专家系统中所包括的规则在本文中也称为“基于领域知识的规则”。每个段布局指定但不限于任何数量的板、任何数量的梁和任何数量的柱的位置、类型和材料。
[0059]
在一些实施方案中,重力设计应用程序140独立地初始化和优化每个段布局的大小设定数据以生成经优化的段设计(图1中未示出)。在优化大小设定数据之前,重力设计应用程序140可以任何技术上可行的方式确定任何量(包括无)和/或类型的相关数据。例如,在一些实施方案中,重力设计应用程序140使用基于领域知识的规则来确定板跨越类型(例如,单向跨越、双向跨越、悬臂等)。在相同或其他实施方案中,重力设计应用程序140使用基于领域知识的规则来选择任何数量的连续梁系统(例如,多个对齐边缘的群组)以被视为单个梁。为了优化给定的段设计的大小设定数据,重力设计应用程序140在考虑重力而不考虑建筑物风荷载的同时基于约束132和目标函数134来按顺序优化组成板、梁和柱的大小设定数据。重力设计应用程序140还计算经优化的段设计的目标值。
[0060]
在合并阶段期间,在一些实施方案中,重力设计应用程序140生成每个楼层的多个经优化的楼层设计(未示出)。为了生成给定楼层的经优化的楼层设计,重力设计应用程序140基于经优化的段设计和相关联的目标值来执行每段的增量合并。在每个增量合并之后,重力设计应用程序优化合并设计(未示出)的大小设定数据并且计算相关联的目标值。
[0061]
在一些实施方案中,重力设计应用程序140确定经优化的楼层设计的不同组合以生成重力设计148。重力设计应用程序140可以任何技术上可行的方式确定经优化的楼层设计的不同组合。在一些实施方案中,重力设计应用程序140实现遗传算法以基于相关联的目标值来组合经优化的楼层设计,以便生成重力设计148。例如,在一些实施方案中,重力设计应用程序140对与指定经优化的楼层设计的一个组合的第一组值相关联的目标值执行遗传算法,以确定指定经优化的楼层设计的相对于设计目标更收敛的另一个组合的第二组值。重力设计应用程序140然后分别基于目标函数134和重力设计148(1)至148(n)来计算重力设计目标值146(1)至146(n)。
[0062]
尽管未示出,但在一些实施方案中,结构设计应用程序120未必解决框架栅格优化
问题和/或框架优化问题。结构设计应用程序可以任何技术上可行的方式确定是否解决了框架栅格优化问题和/或框架优化问题。在一些实施方案中,结构设计应用程序120默认解决框架栅格优化问题和框架优化问题。在相同或其他实施方案中,如果设计指令130包括预定义的柱栅格,则结构设计应用程序120不解决框架栅格优化问题。相反,结构设计应用程序120使用预定义的柱栅格线来确定一个或多个框架栅格,而不是解决框架栅格优化问题,并且本文中描述的技术相应地修改。
[0063]
如本领域技术人员将认识到,钢筋混凝土框架结构系统中的梁和柱通常经由刚性接头进行连接,并且因此框架系统被固有地定义。由于这个原因,在一些实施方案中,如果重力设计148指定钢筋混凝土框架结构系统,那么结构设计应用程序120既不解决框架栅格优化问题也不解决框架优化问题。相反,结构设计应用程序将迭代大小设定应用程序180配置为生成指定在所有可能位置的框架的框架规范,同时解决垂直和横向荷载设计优化问题。本文中描述的技术相应地修改。
[0064]
如图所示,在一些实施方案中,结构设计应用程序120将栅格生成应用程序150配置为解决框架栅格优化问题。更具体地,在一些实施方案中,结构设计应用程序120将栅格生成应用程序150配置为基于重力设计148(1)至148(n)以及任选地重力设计目标值146(1)至146(n)和/或任何量的参数数据138来生成框架栅格158(1)至158(m),其中m可以是任何正整数。在一些实施方案中,每个框架栅格158(1)至158(n)与建筑物的每个楼层相关联。在一些其他实施方案中,框架栅格158(1)至158(n)的不同子集与楼层的不同子集相关联。例如,在一些实施方案中,框架栅格158(1)至158(n)中的一些与意图用于停车的任何数量的楼层相关联,而框架栅格158(1)至158(n)的其余部分与意图用于住宅用途的任何数量的楼层相关联。
[0065]
每个框架栅格158(1)至158(n)包括但不限于任何数量的栅格线组(未示出),其中每组栅格线与不同的方向相关联。栅格线共同指定建筑物的结构系统的框架的允许位置。仅出于解释的目的,框架栅格158(1)至158(m)在本文中也单独地称为“框架栅格158”并且统称为“框架栅格158”。
[0066]
如下文结合图4更详细地描述,在一些实施方案中,栅格生成应用程序150实现任何数量和/或类型的无监督聚类技术来生成框架栅格158。在一些实施方案中,栅格生成应用程序150基于重力设计148来确定边集(图1中未示出)。边集包括但不限于任何数量的边(未示出),其中每条边对应于连接到至少一个柱的梁。在一些实施方案中,栅格生成应用程序150生成每个重力设计148的不同的边组,并且然后基于边组的并集来确定边集。
[0067]
随后,在一些实施方案中,栅格生成应用程序150基于边集中所包括的边的方向来生成加权方向集(图1中未示出)。栅格生成应用程序150然后将任何数量和/或类型的无监督聚类技术应用于加权方向集以生成基本方向集(图1中未示出),该基本方向集包括但不限于任何数量的基本方向(图1中未示出)。
[0068]
在相同或其他实施方案中,栅格生成应用程序150基于边集中所包括的边的方程和任选地重力设计目标值146来生成加权方程集(图1中未示出)。对于每个基本方向,栅格生成应用程序确定加权方程集的包括但不限于大致平行于基本方向的任何数量的加权方程的对应加权方程子集(未示出)。
[0069]
对于每个加权方程子集,栅格生成应用程序150将任何数量和/或类型的无监督聚
类技术应用于加权方程子集,以确定相关联的基本方向上的任何数量的栅格线组。基于基本方向的栅格线组,栅格生成应用程序150生成框架栅格158。在一些实施方案中,每个框架栅格158包括用于每个基本方向的栅格线组的不同组合。
[0070]
在一些实施方案中,结构设计应用程序120基于重力设计148(1)至148(n)和框架栅格158(1)至158(m)来生成配置168(1)至168(z),其中z可以是任何正整数。如图所示,在一些实施方案中,配置168(1)包括但不限于重力设计148(1)、框架栅格158(1)、建筑物风荷载数据162和设计指令130。也如图所示,在一些实施方案中,配置168(z)包括但不限于重力设计148(n)、框架栅格158(m)、建筑物风荷载数据162和设计指令130。一般而言,每个配置168(1)至168(n)代表重力设计148(1)至148(n)和框架栅格158(1)至158(m)的不同组合。结构设计应用程序120可以任何技术上可行的方式生成配置168(1)至168(z)。例如,在一些实施方案中,结构设计应用程序120生成重力设计148(1)至148(n)和框架栅格158(1)至158(m)的详尽组合,并且因此z等于n和m的乘积。在一些其他实施方案中,结构设计应用程序120生成重力设计148(1)至148(n)中的最佳x个重力设计和框架栅格158(1)至158(m)中的最佳x个框架栅格的详尽组合,并且因此z等于x的平方,其中x可以是任何整数(例如,x可以是n)。
[0071]
在一些实施方案中,结构设计应用程序120将迭代优化应用程序172配置为针对配置168(1)至168(z)中的每一个独立地迭代且协同地解决框架系统优化问题以及垂直和横向荷载设计优化问题。更具体地,在一些实施方案中,结构设计应用程序120可将迭代优化应用程序172的任何数量的实例配置为基于配置168(1)至168(z)按顺序、同时地或以它们的任何组合生成结构设计188(1)至188(z)和建筑物目标值186(1)至186(z)。
[0072]
如图所示,在一些实施方案中,结构设计应用程序120将迭代优化应用程序172(1)至172(z)配置为分别基于配置168(1)至168(z)独立地生成相应的结构设计188(1)至188(z)和相应的建筑物目标值186(1)至186(z)。在一些其他实施方案中,结构设计应用程序120将迭代优化应用程序172的单个实例配置为按顺序生成结构设计188(1)至188(z)和建筑物目标值186(1)至186(z)。仅出于解释的目的,迭代优化应用程序172的实例在本文中也单独地称为“迭代优化应用程序172”并且统称为“迭代优化应用程序172”。
[0073]
结构设计188(1)至188(z)是迭代优化应用程序172在考虑重力和建筑物风荷载的同时基于目标函数134和约束132优化的建筑物的结构系统的设计。仅出于解释的目的,结构设计188(1)至188(z)在本文中也单独地称为“结构设计188”并且统称为“结构设计188”。建筑物目标值186(1)至186(z)分别是结构设计188(1)至188(z)的目标值。仅出于解释的目的,建筑物目标值186(1)至186(z)在本文中也单独地称为“建筑物目标值186”并且统称为“建筑物目标值186”。
[0074]
在一些实施方案中,迭代优化应用程序172的每个实例包括但不限于框架规范应用程序170的不同实例和迭代大小设定应用程序180的不同实例。在操作中,迭代优化应用程序172经由框架规范应用程序170和迭代大小设定应用程序180来协调任何数量的设计优化迭代。下面结合图5更详细地描述框架规范应用程序170。下面结合图6更详细地描述迭代大小设定应用程序180。仅出于解释的目的,在基于配置168(1)来生成结构设计188(1)和建筑物目标值186(1)的迭代优化应用程序172(1)的上下文中结合图1描述迭代优化应用程序172的功能。
[0075]
在一些实施方案中,为了开始第一设计优化迭代,迭代优化应用程序172(1)将重力设计148(1)、框架栅格158(1)和风向164输入到框架规范应用程序170中。作为响应,框架规范应用程序170基于重力设计148(1)和框架栅格158(1)来确定每个风向164的不同潜在框架位置集(图1中未示出)。对于每个风向164,框架规范应用程序170基于建筑物荷载质心(图1中未示出)将相关联的潜在框架位置集分成左框架组(图1中未示出)和右框架组(图1中未示出)。
[0076]
在一些实施方案中,框架规范应用程序170将遗传算法(图1中未示出)配置为基于与先前设计优化迭代(如果有的话)相关联的建筑物目标值186(1)分别迭代且共同地优化左框架组和右框架组的左框架计数(图1中未示出)和右框架计数(图1中未示出)。对于第一设计优化迭代,在一些实施方案中,遗传算法随机地确定左框架计数和右框架计数。如下文更详细地描述,迭代大小设定应用程序180生成结构设计188(1)并计算建筑物目标值186(1)以完成每个设计优化迭代。
[0077]
对于每个左框架组,框架规范应用程序170按距建筑物荷载质心的距离减小的次序选择来自左框架组的位置的相关联左框架计数。类似地,对于每个右框架组,框架规范应用程序170按距建筑物荷载质心的距离减小的次序选择来自右框架组的位置的相关联右框架计数。框架规范应用程序170然后基于选定的位置来生成框架系统规范178(1)。在一些实施方案中,对于每个选定的位置,框架系统规范178(1)指定但不限于重力设计148(1)中包括的与选定的位置相关联的结构构件将经由抗力矩接头进行互连。
[0078]
为了开始每个后续设计优化迭代,迭代优化应用程序172(1)将在先前设计优化迭代期间由迭代大小设定应用程序180生成的建筑物目标值186(1)输入到框架规范应用程序170中。作为响应,框架规范应用程序170将建筑物目标值186(1)输入到遗传算法中。遗传算法重新确定左框架计数和右框架计数。随后,框架规范应用程序170基于重新确定的左框架计数和重新确定的右框架计数来重新生成框架系统规范178(1)。
[0079]
在一些其他实施方案中,框架规范应用程序170不将潜在的框架位置集分成左框架组和右框架组。而是,框架规范应用程序180将遗传算法配置为基于与先前设计优化迭代(如果有的话)相关联的建筑物目标值186(1)来迭代且共同地优化潜在的框架位置集上的每个潜在框架位置的布尔值。在每个设计优化迭代期间,在使用遗传算法确定潜在框架位置的布尔值之后,框架规范应用程序170从潜在框架位置集选择对应的布尔值为真的位置。随后,框架规范应用程序170生成框架系统的框架系统规范178(1),该框架系统规范指定但不限于在每个选定的位置处的不同框架。
[0080]
为了完成每个设计优化迭代(包括第一设计优化迭代),迭代优化应用程序172(1)将框架系统规范178(1)、重力设计148(1)、设计指令130和建筑物风荷载数据162输入到迭代大小设定应用程序180中。作为响应,在一些实施方案中,迭代大小设定应用程序180将根据框架系统规范178(1)的框架规范添加到重力设计148(1)以生成当前结构设计(未示出)。以此方式,当前结构设计指定了包括但不限于任何数量的框架的框架系统。
[0081]
在一些实施方案中,迭代大小设定应用程序180定义并迭代地解决嵌套优化问题以在考虑重力和建筑物风荷载的同时基于约束132和目标函数134来优化当前结构设计中包括的梁和柱的大小设定。为了开始嵌套优化问题的每个顶层迭代,迭代大小设定应用程序180基于约束132和目标函数134迭代地优化柱的大小设定数据,从而在每次迭代之后更
新恒荷载,同时保持结构构件的风荷载固定。迭代大小设定应用程序180然后迭代地执行任何数量的中层迭代。
[0082]
为了开始每个中层迭代,迭代大小设定应用程序180将建筑物风荷载分布在与当前结构设计的框架规范相对应的框架上以生成每个框架的固定横向荷载。对于每个框架,迭代大小设定应用程序180开始任何数量的底层迭代。在给定框架的每个底层迭代期间,迭代大小设定应用程序180基于与框架相关联的固定横向荷载迭代地优化框架中的柱和梁的大小设定。应注意,在每个底层迭代期间,迭代大小设定应用程序180迭代地将固定的横向荷载重新分布在相关联的框架内的结构元素上。
[0083]
在迭代大小设定应用程序180解决嵌套优化问题之后,迭代大小设定应用程序180将结构设计188(1,1)设置为等于当前结构设计。迭代大小设定应用程序180然后基于结构设计188(1)和目标函数134来计算建筑物目标值186(1)。
[0084]
迭代优化应用程序172(1)然后确定是否开始另一个设计优化迭代。迭代优化应用程序172(1)可以任何技术上可行的方式确定是否开始另一个设计优化迭代。在一些实施方案中,迭代优化应用程序172(1)基于经由参数数据138指定的任何数量和/或类型的完成标准来确定是否模仿另一个设计优化迭代。在一些实施方案中,如果迭代优化应用程序172(1)确定开始另一个设计优化迭代,那么迭代优化应用程序172(1)将建筑物目标值186(1)输入到框架规范应用程序170中。否则,迭代优化应用程序172(1)将结构设计188(1)和建筑物目标值186(1)传输到总体排名引擎190。
[0085]
在一些实施方案中,在总体排名引擎190接收到结构设计188(1)至188(z)和建筑物目标值186(1)至186(z)之后,总体排名引擎190生成经排名的结构设计列表198。经排名的结构设计列表198包括但不限于结构设计188和与结构设计188相关联的建筑物目标值186。在一些实施方案中,总体排名引擎190根据建筑物目标值186按与设计目标的收敛递减的顺序指定经排名的结构设计列表198中的结构设计188。
[0086]
如图所示,在一些实施方案中,总体排名引擎190将经排名的结构设计列表198传输到界面引擎108以经由gui 106进行显示。在相同或其他实施方案中,结构设计应用程序120将经排名的结构设计列表198的任何部分(包括无或全部)和/或任何数量的组成优化问题的任何数量的解决方案存储在可用于至少一个其他软件应用程序的任何存储器中。在一些实施方案中,结构设计应用程序120以任何技术上可行的方式将经排名的结构设计列表198的任何部分(包括无或全部)和/或任何数量的组成优化问题的任何数量的解决方案传输到任何数量的其他软件应用程序。
[0087]
在一些实施方案中,结构设计应用程序120、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序180或它们的任何组合使用任何数量和/或类型的经训练机器学习模型来设计、优化和/或分析任何数量和/或类型的结构元素、布局、设计、框架系统、框架或它们的任何组合。在相同或其他实施方案中,结构设计应用程序120、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序180或它们的任何组合存储任何量的训练数据以用于训练和/或重新训练任何数量和/或类型的机器学习模型。
[0088]
应注意,在一些实施方案中,结构设计应用程序120、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序
180或它们的任何组合应用任何数量和/或类型的设计和/或结构工程基础来设计、优化和/或分析任何数量和/或类型的结构元素、布局、设计、框架系统、框架或它们的任何组合。
[0089]
设计和结构工程基础的一些示例包括但不限于位移概念、结构理想化、叠加原理、门架法和截面法的兼容性。例如,在一些实施方案中,结构设计应用程序120、重力设计应用程序140和迭代大小设定应用程序180生成板、梁、柱、框架和/或框架系统的理想化结构以简化结构系统的不同部分(包括全部)的分析和/或设计。
[0090]
有利地,将本文在结构设计应用程序120、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170和迭代大小设定应用程序180的上下文中描述的任何量(包括全部)的功能性结合到cad应用程序中可增加cad应用程序可生成结构系统的更收敛于设计目标的优化设计的可能性。在这方面,相对于使用有限元分析来评估基于设计者直觉手动地创建的设计的现有技术,使用经训练的机器学习模型和/或设计和结构引擎基础来评估设计决策可显著减少对设计进行优化所需的时间。此外,相对于常规的cad应用程序,由于结构设计应用程序120将总体优化设计问题分解为多个组成优化问题,因此结构设计应用程序120可更有效和系统地探索结构系统的设计空间。在相同或其他实施方案中,因为任何数量的界面引擎108、重力设计应用程序140、栅格生成应用程序150、框架规范应用程序170和迭代大小设定应用程序180可被配置为仅保留最佳解决方案,所以可以更直接且因此更高效的方式探索结构系统的设计空间。
[0091]
应注意,本文中描述的技术是说明性的而非限制性的,并且可在不脱离本发明的更广泛的精神和范围的情况下进行改变。在不脱离所描述的实施方案的范围和精神的情况下,对由结构设计应用程序120、界面引擎108、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序180和总体排名引擎190提供的功能的许多修改和变化对于本领域普通技术人员将是显而易见的。例如,在一些实施方案中,可修改任何数量的结构设计应用程序120、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170和迭代大小设定应用程序180的功能,以除了或代替建筑物风荷载而基于任何数量和/或类型的横向荷载来执行优化操作。
[0092]
应理解,本文所示的系统100是说明性的,并且变化和修改是可能的。例如,如本文所述的由结构设计应用程序120、界面引擎108、重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170、迭代大小设定应用程序180和总体排名引擎190提供的功能可集成到或分布在任何数量的软件应用程序(包括一个)和系统100的任何数量的部件中。此外,可根据需要修改图1中的各种单元之间的连接拓扑。
[0093]
在一些实施方案中,任何数量的重力设计应用程序140、栅格生成应用程序150、迭代优化应用程序172、框架规范应用程序170和迭代大小设定应用程序180可以任何技术上可行的方式由任何数量的软件应用程序和/或用户以独立方式执行。
[0094]
经由分支合并设计流程来生成重力设计
[0095]
图2是根据各种实施方案的图1的重力设计应用程序140的更详细图示。如本文先前结合图1所述,重力设计应用程序140解决了布局和重力设计优化问题。在一些实施方案中,为了解决布局和重力设计优化问题,重力设计应用程序140基于建筑物平面图124和设计指令130来生成重力设计148和重力设计目标值146。
[0096]
如本文先前结合图1所述,重力设计148中的每一者是在不考虑建筑物风荷载的情
况下基于约束132和目标函数134优化的结构系统的不同设计。在一些实施方案中,重力设计应用程序140实现分支合并设计流程以生成重力设计148。在相同或其他实施方案中,重力设计应用程序140包括但不限于设计概念引擎220、楼层设计引擎210的任何数量的实例(未明确示出)以及多楼层优化器290。
[0097]
在一些实施方案中,设计概念引擎220将布局和重力设计优化问题分为针对建筑物的每个楼层的不同楼层优化问题。如图所示,在一些实施方案中,设计概念引擎220分别基于楼层轮廓128(1)至128(f)和设计指令130来生成楼层结构模板222(1)至222(f)。仅出于解释的目的,楼层结构模板222(1)至222(f)在本文中也单独地称为“楼层结构模板222”并且统称为“楼层结构模板222”。
[0098]
每个楼层结构模板222是对应于不同楼层的结构系统的一部分的布局的模板。结构系统的与建筑物中的每个楼层相对应的部分在本文中也单独地称为“楼层结构”并且统称为“楼层结构”。在一些实施方案中,给定楼层结构的每个布局包括但不限于与对应的楼层相关联的任何数量和/或类型的水平结构构件以及被设计为楼层结构的一部分的任何数量和/或类型的垂直结构构件。在相同或其他实施方案中,被设计为给定楼层结构的一部分的垂直结构构件包括但不限于从楼层向下延伸到紧接较低楼层(如果存在的话)或地基的任何数量和/或类型的垂直构件。在一些实施方案中,给定楼层结构的每个布局指定但不限于板、任何数量的梁和任何数量的柱的位置、类型和材料。
[0099]
设计概念引擎220可以任何技术上可行的方式生成楼层结构模板222。在一些实施方案中,设计概念引擎220生成楼层结构模板222(1)至222(w),每个楼层结构模板指定但不限于板(未示出),该板由板材料/类型(未示出)表征并且具有分别指定与楼层轮廓128(1)至128(w)的尺寸相关联的尺寸的位置。在相同或其他实施方案中,在楼层结构模板222(1)至222(w)中指定的板的水平横截面分别匹配楼层轮廓128(1)至128(w)。
[0100]
板材料/类型的一个示例是使用长宽比为1.0的方形面板构造成的具有钢筋混凝土梁的双向钢筋混凝土板。板材料/类型的另一个示例是使用长宽比为1.25的矩形面板构造成的具有预制梁的预制空心板。板材料/类型的又一个示例是使用长宽比为1.5的矩形面板构造成的后张平板。设计概念引擎220可以任何技术上可行的方式确定板材料/类型。
[0101]
在一些实施方案中,在设计指令130中指定板材料/类型。在一些其他实施方案中,设计概念引擎220实现任何数量的专家系统技术来确定板材料/类型。例如,在一些实施方案中,设计概念引擎220根据知识库(未示出)中包括的一个或多个规则基于楼层轮廓128的尺寸、约束132、目标函数134、设计变量数据136或它们的任何组合来确定板材料/类型。
[0102]
在一些实施方案中,设计概念引擎220将楼层设计引擎210配置为独立地解决每个楼层结构的楼层优化问题。更准确地说,设计概念引擎220将楼层设计引擎210配置为分别基于楼层结构模板222(1)至222(f)和设计指令130来生成经排名的楼层设计列表288(1)至288(f)。仅出于解释的目的,经排名的楼层设计列表288(1)至288(f)在本文中也单独地称为“经排名的楼层设计列表288”并且统称为“经排名的楼层设计列表288”。
[0103]
尽管未示出,但经排名的楼层设计列表288中的每一者与不同的楼层结构相关联,并且指定但不限于经优化的局部设计268的任何数量的实例(图2中未明确示出)和局部目标值266的对应实例(图2中未明确示出)。仅出于解释的目的,经优化的局部设计268的实例在本文中也单独地称为“经优化的局部设计268”并且统称为“经优化的局部设计268”。此
外,仅出于解释的目的,局部目标值266的实例在本文中也单独地称为“局部目标值266”并且统称为“局部目标值266”。
[0104]
每个经优化的局部设计268是结构系统的至少一部分的设计,并且指定但不限于在不考虑横向荷载的情况下基于约束132和目标函数134优化的组成结构构件的大小设定数据。每个局部目标值266对应于经优化的局部设计268中的不同一者并且是经优化的局部设计268的目标函数134的值。
[0105]
在与给定楼层结构相关联的经排名的楼层设计列表288中包括的每个经优化的局部设计268是楼层结构的不同设计。仅出于解释的目的,对应于给定楼层结构的经优化的局部设计268在本文中也被单独称为“楼层结构的经优化的局部设计286”并且统称为“楼层结构的经优化的局部设计268”。
[0106]
设计概念引擎220可将楼层设计引擎210的任何数量的实例配置为以任何技术上可行的方式按顺序、同时地或以它们的任何组合生成经排名的楼层设计列表288(1)至288(f)。仅出于解释的目的,楼层设计引擎210的实例在本文中也单独地称为“楼层设计引擎210”并且统称为“楼层设计引擎210”。
[0107]
如图所示,在一些实施方案中,重力设计应用程序140将楼层设计引擎210(1)至210(f)配置为分别基于楼层结构模板222(1)至222(f)和设计指令130分别同时地生成经排名的楼层设计列表288(1)至288(f)。在一些其他实施方案中,设计概念引擎220将楼层设计引擎210的单个实例配置为按顺序生成经排名的楼层设计列表288(1)至288(f)。
[0108]
楼层设计引擎210可以任何技术上可行的方式基于楼层结构的楼层结构模板222和设计指令130来生成给定楼层结构的经排名的楼层设计列表288。仅出于解释的目的,下面在图2中描绘的基于楼层结构模板222(1)和设计指令130来生成经排名的楼层设计列表288(1)的楼层设计引擎210(1)的上下文中更详细地描述一些实施方案中的楼层设计引擎210的功能。仅出于解释的目的,楼层结构模板222(1)和楼层结构模板222(1)都与第一楼层结构相关联。
[0109]
在一些实施方案中,楼层设计引擎210(1)包括但不限于划分引擎224、段设计引擎240的任何数量的实例(未明确示出)以及增量合并引擎280。划分引擎224将与给定楼层结构相关联的楼层优化问题分为多个不同的段优化问题。在一些实施方案中,划分引擎224可将每个楼层优化问题分为不同数量的段优化问题。
[0110]
在一些实施方案中,对于每个楼层结构,每个段优化问题与楼层结构的被表示为段230的不同实例(未明确示出)的不同部分相关联。仅出于解释的目的,段230的实例在本文中也单独地称为“段230”并且统称为“段230”。划分引擎224可以任何技术上可行的方式生成与给定楼层结构相关联的段230。
[0111]
如图所示,在一些实施方案中,划分引擎224基于楼层结构模板222(1)和设计指令130来生成段230(1)至230(s),其中s可以是任何正整数。在相同或其他实施方案中,与楼层结构模板222(1)相关联的每个段230(1)至230(s)与楼层结构模板222(1)中指定的板的不同部分相关联。在一些实施方案中,划分引擎224在生成段230(1)至230(s)之前确定s的值。例如,在一些实施方案中,划分引擎224将s设置为等于在参数数据138中指定的最大变化计数(表示为n)。在一些其他实施方案中,s的值由划分引擎224基于楼层结构模板222(1)生成的段230的数量间接地定义。
[0112]
在一些实施方案中,划分引擎224实现基于规则的专家系统以基于设计指令130中包括的任何量和/或类型的数据来将楼层结构模板222(1)划分为段230(1)至230(s)。在相同或其他实施方案中,划分引擎224(1)至少部分地基于楼层结构模板222的形状和/或相关联的板材料/类型将楼层结构模板222(1)划分为段230(1)至230(s)。
[0113]
例如,在一些实施方案中,如果楼层是u形的,那么划分引擎224将楼层结构模板222划分为至少一个或多个东翼、一个或多个中心翼和一个或多个西翼。在相同或其他实施方案中,如果对应于楼层结构模板222的板材料/类型指定板由面板构造成,则划分引擎224至少部分地基于每个面板的尺寸来将楼层结构模板222划分为段230(1)至230(s)。
[0114]
划分引擎224将段设计引擎240配置为独立地解决每个段230(1)至230(s)的段优化问题。在一些实施方案中,为了解决段230(1)至230(s)的段优化问题,划分引擎224将段设计引擎240配置为分别基于段230(1)至230(s)和设计指令130来生成经排名的段设计列表278(1)至278(s)。
[0115]
经排名的段设计列表278(1)至278(s)是与楼层结构模板222(1)相关联的经排名的段设计列表278的实例的子集(未明确示出)。一般而言,段设计列表278的每个实例与段230的不同实例相关联。仅出于解释的目的,经排名的段设计列表278的实例在本文中也单独地称为“经排名的段设计列表278”并且统称为“经排名的段设计列表278”。尽管未示出,但每个经排名的段设计列表278指定但不限于相关联段230的任何数量的经优化局部设计268以及局部目标值266的对应实例。
[0116]
划分引擎224可将段设计引擎240的任何数量的实例配置为以任何技术上可行的方式按顺序、同时地或以它们的任何组合生成经排名的段设计列表278(1)至278(s)。仅出于解释的目的,段设计引擎240的实例在本文中也单独地称为“段设计引擎240”并且统称为“段设计引擎240”。
[0117]
如图所示,在一些实施方案中,划分引擎224(1)将段设计引擎240(1)至240(s)配置为分别基于段230(1)至230(s)和设计指令130分别同时生成经排名的段设计列表278(1)至278(s)。在一些其他实施方案中,划分引擎224(1)将段设计引擎240的单个实例配置为按顺序生成经排名的段设计列表278(1)至278(s)。
[0118]
段设计引擎240可以任何技术上可行的方式生成经排名的段设计列表278中的每一者。仅出于解释的目的,下面在图2中描绘的基于段230(1)和设计指令130来生成经排名的段设计列表278(1)的段设计引擎240(1)的上下文中更详细地描述一些实施方案中的段设计引擎240的功能。如图所示,在一些实施方案中,段设计引擎240包括但不限于布局变化引擎250、重力设计优化器260的任何数量的实例以及段设计排名引擎270。
[0119]
在一些实施方案中,布局变化引擎250基于段230(1)和设计指令130来生成局部设计258(1)至258(k),其中k可以是任何正整数。局部设计258(1)至258(k)是与段230(1)相关联的局部设计258的实例的子集(图2中未明确示出)。在一些实施方案中,布局变化引擎250可生成每个段230的局部设计258的不同数量的实例。
[0120]
仅出于解释的目的,局部设计258的实例在本文中也单独地称为“局部设计258”并且统称为“局部设计258”。每个局部设计258是结构系统的至少一部分的设计。对于每个段230,由布局变化引擎250基于段230生成的局部设计258是段230的不同设计并且在本文中也称为“段230的局部设计258”。
[0121]
布局变化引擎250可以任何技术上可行的方式确定k的值。例如,在一些实施方案中,布局变化引擎250将k设置为等于在参数数据138中指定的最大变化计数(表示为n)。在一些其他实施方案中,k的值由布局变化引擎250为段230(1)生成的局部设计258的数量间接地定义。布局变化引擎250可以任何技术上可行的方式生成每个段230的任何数量的局部设计258。
[0122]
在一些实施方案中,布局变化引擎250包括但不限于段布局252的任何数量的实例(未明确示出),并且布局变化引擎250基于段布局252的实例来生成段230的局部设计258。仅出于解释的目的,段布局252的实例在本文中也单独地称为“段布局252”并且统称为“段布局252”。每个段布局252是一个段230的布局。由布局变化引擎250基于段230生成的每个段布局252是段230的不同布局。布局变化引擎250可以任何技术上可行的方式生成段布局252。
[0123]
在一些实施方案中,布局变化引擎250实现任何数量和/或类型的专家系统技术以基于段230和任选地任何量(包括无)的设计指令130来生成任何数量的段布局252。例如,在一些实施方案中,布局变化引擎250基于段230、知识数据库(未示出)中包括的任何数量的规则和任何量(包括无)的设计指令130来生成任何数量的段布局252。
[0124]
在相同或其他实施方案中,布局变化引擎250使用“过滤”训练的机器学习模型来预测段布局252中的哪些(如果有的话)是低于标准的。布局变化引擎250然后丢弃预测为低于标准的任何段布局252。在一些实施方案中,布局变化引擎250和/或重力设计应用程序140存储任何量和/或类型的训练数据以用于重新训练过滤训练的机器学习模型。
[0125]
仅出于解释的目的,在一些实施方案中,布局变化引擎250基于段230(1)生成并且随后不丢弃段布局252(1)至252(k)。布局变化引擎250将局部设计258(1)至258(k)中的每一者初始化为空设计。布局变化引擎250然后将段布局252(1)至252(k)分别复制到局部设计258(1)至258(k)。在一些实施方案中,布局变化引擎250指定段布局252中的任何量和/或类型的大小设定数据和/或任何量和/或类型的连接数据的默认值。例如,在一些实施方案中,布局变化引擎250指定每个局部设计258的结构构件之间的每个连接是刚性接头。在一些其他实施方案中,对于每个局部设计258,布局变化引擎250指定在建筑物的外周边上的连接中的每一者是刚性接头并且其他连接是铰链接头或销接头。
[0126]
如图所示,在一些实施方案中,布局变化引擎250将重力设计优化器260配置为基于局部设计258(1)至258(k)和设计指令130来生成经优化的局部设计268(1)至268(k)和局部目标值266(1)至266(k)。布局变化引擎250可将重力设计优化器260的任何数量的实例配置为以任何技术上可行的方式按顺序、同时地或以它们的任何组合生成经优化的局部设计268(1)至268(k)和局部目标值266(1)至266(k)。仅出于解释的目的,重力设计优化器260的实例在本文中也单独地称为“重力设计优化器260”并且统称为“重力设计优化器260”。
[0127]
如图所示,在一些实施方案中,布局变化引擎250将重力设计优化器260(1)至260(k)配置为分别基于局部设计258(1)至258(k)和设计指令130来分别生成经优化的局部设计268(1)至268(k)和局部目标值266(1)至266(k)。在一些其他实施方案中,布局变化引擎250将重力设计优化器260的单个实例配置为按顺序生成经优化的局部设计268(1)至268(k)和局部目标值266(1)至266(k)。
[0128]
重力设计优化器260可对局部设计258中包括的结构部件的大小设定进行任何数
量和/或类型的优化操作以生成经优化的局部设计268。如下面结合图3更详细地描述,在一些实施方案中,重力设计优化器260按顺序优化局部设计258中包括的板、梁和柱的大小设定以生成经优化的局部设计268。
[0129]
如图所示,在一些实施方案中,段设计排名引擎270基于经优化的局部设计268(1)至268(k)和局部目标值266(1)至266(k)来生成经排名的段设计列表278(1)。段设计排名引擎270可以任何技术上可行的方式生成经排名的段设计列表278(1)。例如,在一些实施方案中,段设计排名引擎270基于局部目标值266(1)至266(k)对经优化的局部设计268(1)至268(k)进行排名。
[0130]
在一些实施方案中,段设计排名引擎270在生成经排名的段设计列表278(1)时基于任何数量和/或类型的过滤标准来过滤掉任何数量的经优化的局部设计268(1)至268(k)。因此,在这样的实施方案中,在经排名的段设计列表278(1)中指定的经优化的局部设计268的总数小于k。经优化的局部设计268(1)至268(k)在本文中也称为“潜在段设计”,并且在经排名的段设计列表178(1)中指定的经优化的局部设计268在本文中也称为“段设计”。例如,在一些实施方案中,过滤标准是经由经排名的段设计列表278(1)来指定局部目标值266(1)至266(k)和相关联的经优化的局部设计268(1)至268(k)中的n个最佳项,其中n是最大变化计数。段设计排名引擎270丢弃剩余的局部目标值266(1)至266(k)和相关联的经优化的局部设计268(1)至268(k)。
[0131]
在一些实施方案中,对于每个楼层,楼层设计引擎210将增量合并引擎280配置为基于与楼层相关联的经排名的段设计列表278和设计指令130来生成与楼层相关联的经排名的楼层设计列表288。在相同或其他实施方案中,增量合并引擎280包括但不限于重力设计优化器260的任何数量的实例。增量合并引擎280可以任何技术上可行的方式生成经排名的楼层设计列表288(1)至288(s)。
[0132]
在一些实施方案中,楼层设计引擎210(1)将增量合并引擎280配置为基于经排名的段设计列表278(1)至278(s)和设计指令130来生成经排名的楼层设计列表288(1)。经排名的楼层设计列表288(1)中包括的每个经优化的局部设计268是在不考虑横向荷载的情况下基于约束132和目标函数134优化的第一楼层结构的设计。在一些实施方案中,经排名的楼层设计列表288(1)中包括的每个经优化的局部设计268是基于经优化的局部设计268的s个实例的不同集合生成的。s个实例的每个集合包括但不限于来自与第一楼层结构相关联的每个经排名的段设计列表278(1)至278(s)的经优化的局部设计268中的一个。
[0133]
在一些实施方案中,增量合并引擎280执行(s-1)个不同的扩展迭代以生成经排名的楼层设计列表288(1)。在第一扩展迭代期间,增量合并引擎280将每个段230(1)至230(s)的段排名值设置为分别等于经排名的段设计列表278(1)至278(s)中包括的局部目标值266中的最佳值。增量合并引擎280从段230(1)至230(s)选择具有最差段排名值的段230作为第一合并参与者。在一些实施方案中,结构设计应用程序120试图最大化目标函数134,并且最差段排名值是段排名值中的最低值。在一些其他实施方案中,结构设计应用程序120试图最小化目标函数134,并且最差段排名值是段排名值中的最高值。增量合并引擎280然后从与第一合并参与者相邻的段230(1)至230(s)的子集选择具有最差段排名的段作为第二合并参与者。
[0134]
增量合并引擎280在第一合并参与者的经优化的局部设计268与第二合并参与者
的经优化的局部设计268之间执行任何数量的合并操作以生成局部设计258的任何数量的新实例。局部设计258的每个新实例代表两个合并参与者并且在本文中也被称为“局部楼层设计”。增量合并引擎280然后将重力设计优化器260配置为基于局部设计258的新实例和设计指令130来生成经优化的局部设计268的新实例和局部目标值266的新实例。增量合并引擎280生成经排名的合并设计列表(未示出),该经排名的合并设计列表包括但不限于与n个最佳新局部目标值对应的经优化的局部设计268的n个新实例。
[0135]
对于每个后续扩展迭代,增量合并引擎280从与先前选择的合并参与者中的一者相邻并且尚未被选作合并参与者的片段230(1)至230(s)的子集选择具有最差段排名值的新合并参与者。增量合并引擎280然后在新合并参与者的经优化的局部设计268与经排名的合并设计列表之间执行任何数量的合并操作以生成局部设计258的任何数量的新实例。增量合并引擎280基于局部设计258的新实例来重新生成经排名的合并设计列表。在完成(s-1)扩展迭代之后,增量合并引擎280将经排名的楼层设计列表288(1)设置为等于经排名的合并设计列表。
[0136]
在一些其他实施方案中,增量合并引擎280执行任何数量和/或类型的搜索算法和/或优化算法以生成经排名的楼层设计列表288(1)。例如,在一些实施方案中,增量合并引擎280可执行任何数量和/或类型的遗传算法、任何数量和/或类型的和声搜索算法、任何数量和/或类型的整数优化算法、重力设计优化器260或它们的任何组合以生成经排名的楼层设计列表288(1)。
[0137]
如图所示,在一些实施方案中,重力设计应用程序140将多楼层优化290配置为基于经排名的楼层设计列表288(1)至288(f)来生成重力设计148(1)至148(n)和重力设计目标值146(1)至146(n)。在一些实施方案中,重力设计应用程序140基于经优化的局部设计268中的f个经优化的局部设计的不同集来生成每个重力设计148(1)至148(n)。经优化的局部设计268的f个经优化的局部设计的每个集包括但不限于来自每个经排名的楼层设计列表288(1)至288(f)的经优化的局部设计268中的一个。
[0138]
在一些实施方案中,多楼层优化器290基于经排名的楼层设计列表288(1)至288(f)来执行任何数量和/或类型的增量合并操作和/或聚合操作,以生成重力设计148(1)至148(n)。在相同或其他实施方案中,多楼层优化器290以任何组合执行任何数量和/或类型的搜索算法以生成重力设计148。例如,在一些实施方案中,多楼层优化器290执行任何数量和/或类型的遗传算法、任何数量和/或类型的和声搜索算法、任何数量和/或类型的整数优化算法或它们的任何组合以生成重力设计148。
[0139]
多楼层优化器290以任何技术上可行的方式计算对应于重力设计148(1)至148(n)的重力设计目标值146(1)至146(n)。例如,在一些实施方案中,多楼层优化器290将目标函数134应用于重力设计148(1)至148(n)以分别计算重力设计目标值146(1)至146(n)。因为多楼层优化器290合并了对应于不同楼层结构的经优化的局部设计268的组合,并且经优化的局部设计268不一定针对横向荷载进行优化,所以在一些实施方案中,多楼层优化器290不优化任一结构构件的大小设定。
[0140]
在相同或其他实施方案中,多楼层优化器290基于在与重力设计148相关联的经优化的局部设计268中指定的任何数量的垂直荷载来计算并指定用于每个重力设计148的任何数量的垂直荷载。例如,在一些实施方案中,多楼层优化器290将与柱的界面处的重力设
计148相关联的经优化的局部设计268的垂直荷载相加,以确定重力设计148的对应垂直荷载。在相同或其他实施方案中,对于对应于给定楼层结构的经优化的局部设计268,当经优化的局部设计268中没有对应于比该楼层结构低一层的楼层结构的柱时,多楼层优化器390使用转移梁。转移梁从这样的“孤立”柱接收荷载并将荷载转移到经优化的局部设计268中的对应于比该楼层结构低一层的楼层结构的一个或多个现有柱和/或梁上。
[0141]
在一些实施方案中,重力设计应用程序140以任何技术上可行的方式将任何数量的重力设计148和/或任何数量的重力设计目标值146传输到任何数量的其他软件应用程序。在相同或其他实施方案中,重力设计应用程序140将任何数量的重力设计148和/或任何数量的重力设计目标值146存储在至少一个其他软件应用程序可访问的存储器中。在一些实施方案中,重力设计应用程序140将重力设计148和重力设计目标值146存储在结构设计应用程序120可访问的存储器中。
[0142]
图3是根据各种实施方案的图2的重力设计优化器260的更详细图示。如图所示,在一些实施方案中,重力设计优化器260基于局部设计258和设计指令130来生成经优化的局部设计268和局部目标值266。如本文中先前结合图1所述,局部设计258的每个实例是结构系统的至少一部分的设计。更具体地,在一些实施方案中,重力设计优化器260接收的局部设计258的每个实例是楼层结构中的一个的至少一部分的设计。
[0143]
如图所示,在一些实施方案中,重力设计优化器260基于局部设计258来生成楼层设计数据集368。在相同或其他实施方案中,楼层设计数据集368包括但不限于楼层布局310、楼层大小设定数据320、楼层活荷载数据322和楼层恒荷载数据324。在一些实施方案中,楼层布局310包括但不限于板数据312、梁列表314和柱列表316。板数据312指定但不限于板(未示出)的位置、材料和类型。梁列表314指定但不限于任何数量的梁(未示出)的位置、材料和类型。柱列表316指定但不限于任何数量的柱(未示出)的位置、材料和类型。如用斜体描绘,在一些实施方案中,楼层布局310是固定的。
[0144]
楼层大小设定数据320指定但不限于楼层布局310中指定的板、梁和柱的任何量和/或类型的大小设定数据。在一些实施方案中,楼层活荷载数据322包括但不限于楼层布局310中包括的每个房间的任何数量和/或类型的活荷载。楼层恒荷载数据324包括但不限于与楼层布局310相关联的任何数量和/或类型的恒荷载。
[0145]
尽管未示出,但在一些实施方案中,楼层设计数据集368指定在楼层布局310中指定的结构构件之间的任何数量和/或类型的默认连接。例如,在一些实施方案中,楼层设计数据集368指定楼层布局310中指定的结构构件之间的每个连接是刚性接头。应注意,楼层设计数据集368没有指定任何横向荷载,并且重力设计优化器260没有考虑任何横向荷载(例如,建筑物风荷载)。
[0146]
如图所示,在一些实施方案中,重力设计优化器260包括但不限于重力板优化器360、重力梁优化器370和重力柱优化器380。在一些实施方案中,重力设计优化器260将重力板优化器360配置为在不考虑任何横向载荷的情况下基于约束132和目标函数134来优化板数据312中指定的板的大小设定。重力板优化器360可以任何技术上可行的方式优化板的大小设定。
[0147]
在一些实施方案中,重力板优化器360基于对应的目标值将不同的设计选项从最佳到最差进行分类。重力板优化器360然后执行二分算法以找到具有满足约束132的最佳目
标值的设计选项。在一些其他实施方案中,重力板优化器360经由基于非梯度的优化算法迭代地优化板的大小设定。例如,在一些实施方案中,重力板优化器360基于设计变量数据136和板的类型来确定板的可用厚度和钢筋的可用厚度。重力板优化器360使用结构工程基础来确定最小厚度和满足约束132的最小厚度的最小钢筋。
[0148]
在一些实施方案中,在修改板的大小设定之前,重力板优化器360计算活荷载和恒荷载的初始值。当重力板优化器360迭代地修改板的大小设定时,重力板优化器重新计算相关联的恒荷载。在一些实施方案中,除了来自重力板优化器360在重力板优化器修改板的大小设定时重新计算的板的自重的贡献之外,恒荷载的初始值还包括但不限于来自重力板优化器360随后不会改变的面层(例如,地砖)的贡献。在一些实施方案中,在重力板优化器360完成修改板的大小设定之后,重力板优化器360更新楼层大小设定数据320、楼层活荷载数据322和楼层恒荷载数据324。在相同或其他实施方案中,重力设计应用程序140使用基于领域知识的规则来确定板跨越类型(例如,单向跨越、双向跨越、悬臂等)。
[0149]
随后,在一些实施方案中,重力设计优化器260基于板跨越类型来将恒荷载和活荷载分布在梁列表314中指定的梁的子集上。重力设计优化器260相应地更新楼层活荷载数据322和楼层恒荷载数据324。重力设计优化器260然后将重力梁优化器370配置为在不考虑任何横向荷载的情况下基于约束132和目标函数134来优化梁列表314中指定的梁的大小设定。重力梁优化器370可以任何技术上可行的方式优化梁的大小设定。例如,在一些实施方案中,梁优化器370可使用二分算法来优化梁的大小设定。
[0150]
例如,在一些实施方案中,重力梁优化器370经由二分算法和任何数量和/或类型的结构工程基础来迭代地优化梁的大小设定。在相同或其他实施方案中,重力梁优化器370经由任何数量和/或类型的专家系统和/或经训练的机器学习模型来优化梁的大小设定。在一些实施方案中,在重力梁优化器370完成修改梁的大小设定之后,重力梁优化器370更新楼层大小设定数据320和楼层恒荷载数据324。
[0151]
随后,在一些实施方案中,重力设计优化器260将恒荷载和活荷载分布在柱列表316中指定的柱上,并且相应地更新楼层活荷载数据322和楼层恒荷载数据324。重力设计优化器260然后将重力柱优化器380配置为在不考虑任何横向荷载的情况下基于约束132和目标函数134来优化柱列表316中指定的柱的大小设定。重力柱优化器380可以任何技术上可行的方式优化柱的大小设定。
[0152]
例如,在一些实施方案中,重力柱优化器380经由二分算法和任何数量和/或类型的结构工程基础来迭代地优化柱的大小设定。在相同或其他实施方案中,重力柱优化器380经由任何数量和/或类型的专家系统和/或经训练的机器学习模型来优化柱的大小设定。在一些实施方案中,在重力柱优化器380完成修改柱的大小设定之后,重力柱优化器380更新楼层大小设定数据320和楼层恒荷载数据324。
[0153]
如图所示,在一些实施方案中,重力设计优化器260然后基于楼层设计数据集368来产生经优化的局部设计268。在一些实施方案中,重力设计优化器260基于楼层设计数据集368和目标函数134来计算局部目标值266。在一些其他实施方案中,重力设计优化器260基于经优化的局部设计268和目标函数134来计算局部目标值266。
[0154]
在一些实施方案中,重力设计优化器260以任何技术上可行的方式将经优化的局部设计268和/或局部目标值266传输到任何数量的其他软件应用程序。在相同或其他实施
方案中,重力设计优化器260将经优化的局部设计268和/或局部目标值266存储在至少一个其他软件应用程序可访问的存储器中。在一些实施方案中,重力设计优化器260将经优化的局部设计268和局部目标值266存储在重力设计应用程序140可访问的存储器中。
[0155]
应注意,本文中描述的技术是说明性的而非限制性的,并且可在不脱离本发明的更广泛的精神和范围的情况下进行改变。例如,在一些实施方案中,重力设计优化器260省略楼层设计数据集368并且将重力板优化器360、重力梁优化器370和重力柱优化器380配置为以任何技术上可行的方式修改局部设计258。
[0156]
使用无监督聚类来生成框架栅格
[0157]
图4是根据各种实施方案的图1的栅格生成应用程序150的更详细图示。仅出于解释的目的,在图4所描绘的实施方案中,在解决本文中先前结合图1描述的框架栅格优化问题的上下文中描述栅格生成应用程序150的功能。
[0158]
在一些实施方案中,结构设计应用程序120将重力设计148(1)至148(n)和任选地重力设计目标值146(1)至146(n)和/或任何量的参数数据138输入到栅格生成应用程序150中。作为响应,栅格生成应用程序150生成并输出框架栅格158(1)至158(m)。在一些其他实施方案中,栅格生成应用程序150可被配置为至少部分地基于抵抗垂直荷载的结构系统的任何数量和/或类型的设计来为任何类型的抵抗横向荷载的结构元素生成任何数量和/或类型的栅格。
[0159]
如本文中先前所述,每个重力设计148指定但不限于共同抵抗垂直荷载的任何数量的结构构件的位置、类型和材料。在一些实施方案中,重力设计目标值146(x)与重力设计148(x)和设计目标之间的收敛程度相关,其中x是介于1和n之间的整数。输入到栅格生成应用程序150中的参数数据138的部分指定但不限于与生成框架栅格158相关的任何数量和/或类型的参数的参数值。
[0160]
如图所示,在一些实施方案中,栅格生成应用程序150包括但不限于基本方向引擎410、栅格方程引擎440和栅格规范引擎490。在接收到重力设计148后,栅格生成应用程序150生成边集402。为了生成边集402,栅格生成应用程序150将边集402初始化为空列表。对于每个重力设计148,栅格生成应用程序150将附接到至少一个柱(未示出)的梁(未示出)添加到边集402作为边(未示出)。因此,边集402包括但不限于各自对应于不同梁的任何数量的边。每条边都与方向和长度两者相关联。
[0161]
在一些实施方案中,栅格生成应用程序150将每个边与包括对应梁的重力设计148相关联。在相同或其他实施方案中,栅格生成应用程序150表示在重力设计148的边界上的每个边,该重力设计包括对应的梁作为边界边。栅格生成应用程序150可以任何技术上可行的方式将边与重力设计148相关联和/或表示也是边界边的边。
[0162]
在一些实施方案中,栅格生成应用程序150将边集402和任选地参数数据138的任何部分输入到基本方向引擎410中。作为响应,基本方向引擎410生成经排名的方向聚类集列表408。下面更详细地描述经排名的方向聚类集列表408。如图所示,基本方向引擎410包括但不限于方向聚类引擎420。
[0163]
在一些实施方案中,基本方向引擎410基于边缘集402来生成加权方向集412。为了生成加权方向集412,基本方向引擎410确定边集402中包括的边的唯一方向。基本方向引擎410然后基于该方向上的非边界边的总长度和该方向上的边界边的总长度对每个方向进行
加权,以生成对应的加权方向(未示出)。随后,基本方向引擎410生成加权方向集412,该加权方向集包括但不限于加权方向。在一些其他实施方案中,基本方向引擎410可以任何技术上可行的方式基于与生成框架栅格158相关的任何量和/或类型的标准来确定方向并对其进行加权。
[0164]
基本方向引擎410然后将加权方向集412和任选地参数数据138的任何部分输入到方向聚类引擎420中。方向聚类引擎420基于加权方向集412来执行任何数量和/或类型的无监督聚类操作,以生成方向聚类集428(1)至428(d),其中d可以是任何正整数。方向聚类集428(1)至428(d)在本文中也单独地称为“方向聚类集428”并且统称为“方向聚类集428”。每个方向聚类集428指定但不限于加权方向集412中包括的加权方向在任何数量的方向聚类(未示出)上的不同分布。应注意,任何给定的一对方向聚类集428中包括的方向聚类的数量可相同或不同。
[0165]
随后,方向聚类引擎420可对方向聚类集428执行任何数量和/或类型的排名和/或过滤操作以生成经排名的方向聚类集列表408。方向聚类引擎420和/或基本方向引擎410可以任何技术上可行的方式基于任何量和/或类型的数据来确定方向聚类集428的总数(在本文中表示为d)。例如,在一些实施方案中,基本方向引擎410基于参数数据138来确定d的值并且将方向聚类引擎420配置为生成方向聚类集428的d。在一些其他实施方案中,方向聚类引擎420实现d的默认值。
[0166]
更具体地,在一些实施方案中,方向聚类引擎420包括但不限于k均值聚类算法424(1)至424(d)和聚类集排名引擎430。k均值聚类算法424(1)至424(d)中的每一者是实现k均值聚类的k均值聚类算法424的不同实例(未明确示出)。如本领域技术人员将认识到,k均值聚类是指一种生成预定数量的聚类的众所周知的无监督学习算法。k均值聚类算法424(1)至424(d)在本文中也单独地称为“k均值聚类算法424”并且统称为“k均值聚类算法424”。在一些实施方案中,基本方向引擎410将k均值聚类算法424(1)至424(d)配置为同时分别生成方向聚类集428(1)至428(d)。
[0167]
在一些其他实施方案中,基本方向引擎410将k均值聚类算法424的少于d个实例配置为以任何技术上可行的方式按顺序、同时地或以它们的任何组合生成方向聚类集428(1)至428(d)。例如,在一些实施方案中,基本方向引擎410将k均值聚类算法424的单个实例配置为按顺序生成方向聚类集428(1)至428(d)。
[0168]
方向聚类引擎420(0)可将k均值聚类算法424的任何数量的实例配置为以任何技术上可行的方式分别生成方向聚类集428(1)至428(d)。例如,在一些实施方案中,方向聚类引擎420(0)分别将聚类设置422(1)至422(d)输入到k均值聚类算法424(1)至424(d)中。作为响应,k均值聚类算法424(1)至424(d)分别输出方向聚类集428(1)至428(d)。
[0169]
聚类设置422(1)至422(d)在本文中也单独地称为“聚类设置422”并且统称为“聚类设置422”。每个聚类设置422包括但不限于与k均值聚类算法424相关的任何数量和/或类型的设置的不同值组合。在一些实施方案中,每个聚类设置422指定k值(即,要生成的聚类的数量)和种子设定的不同组合。
[0170]
方向聚类引擎420可以任何技术上可行的方式确定聚类设置422。例如,在一些实施方案中,方向聚类引擎420随机地生成每个聚类设置422的k值和种子设定。在一些其他实施方案中,方向聚类引擎420基于参数数据138确定k值和任何数量和/或类型的种子设定启
发法的允许范围。在其他实施方案中,基本方向引擎410基于参数数据138来确定聚类设置422,并且然后将聚类设置422输入到方向聚类引擎420中。
[0171]
如图所示,在一些实施方案中,方向聚类引擎420将方向聚类集428(1)至428(d)输入到聚类集排名引擎430中。作为响应,聚类集排名引擎430对方向聚类集428(1)至428(d)执行任何数量和/或类型的排名和/或过滤操作以生成经排名的方向聚类集列表408。经排名的方向聚类集列表408包括但不限于以任何技术上可行的方式基于任何数量和/或类型的标准进行排名的任何数量的方向聚类集428(1)至428(d)。
[0172]
在一些实施方案中,聚类集排名引擎430包括但不限于肘部法则启发法432。肘部法则启发法432是基于肘部法则。如本领域技术人员将认识到,肘部法则是指用于确定可将一组点聚类成的最佳聚类数量(即,k值)的公知类型的技术。如图所示,在一些实施方案中,肘部法则启发法432基于方向聚类集428来确定肘点434。在一些实施方案中,对于每个方向聚类集428,肘部法则启发法432确定基于方差的度量的值。肘部法则启发法432将方向聚类集428的k值与基于方差的度量的值聚类成两组,并且然后将肘点434设置为等于这两组之间的交点。
[0173]
在一些实施方案中,对于每个方向聚类集428,聚类集排名引擎430基于相关联的k值和基于方差的度量来计算到肘点434的距离。聚类集排名引擎430然后基于到肘点434的增加的距离对方向聚类集428进行排名以生成经排名的方向聚类集列表408。在一些实施方案中,聚类集排名引擎430可基于任何技术上可行的标准来过滤掉经排名的方向聚类集列表408中包括的任何数量的方向聚类集428。例如,在一些实施方案中,聚类集排名引擎430基于参数数据138来确定经排名的方向聚类集列表408中所需的方差的最小值。如果经排名的方向聚类集列表408包括方差大于所需最小值的那些,那么聚类集排名引擎430将它们移除。例如,在一些实施方案中,聚类集排名引擎420基于参数数据138来确定基于方差的度量的最大允许值。对于经排名的方向聚类集列表408中包括的每个方向聚类集428,如果基于方差的度量的相关联值高于最大允许值,则聚类集排名引擎430将方向聚类集428从经排名的方向聚类集列表408移除。
[0174]
在一些实施方案中,栅格生成应用程序150按照经排名的方向聚类集列表408基于具有最高排名的方向聚类集428来生成基本方向集436。如图所示,基本方向集436包括但不限于基本方向438(1)至438(b),其中b是具有最高排名的方向聚类集428中包括的方向集的总数,并且因此可以是任何正整数。基本方向438(1)至438(b)在本文中也单独地称为“基本方向438”并且统称为“基本方向438”。每个基本方向438对应于具有最高排名的方向聚类集428中包括的不同方向聚类。在一些实施方案中,栅格生成应用程序150将每个基本方向438设置为等于与对应方向聚类的质心相关联的方向。
[0175]
随后,在一些实施方案中,栅格生成应用程序150将基本方向集436、边集402和任选地重力设计目标值146(1)至146(n)和/或参数数据138的任何部分输入到栅格方程引擎440中。作为响应,栅格方程引擎440生成框架栅格158(1)至158(m)。
[0176]
尽管图4中未描绘,但在一些其他实施方案中,栅格生成应用程序150为经排名的方向聚类集列表408中的任何数量的方向聚类集中的每一者生成基本方向集合436的不同实例。基本方向集436的实例在本文中也统称为“基本方向集436”。每个基本方向集436可包括但不限于不同总数的基本方向438。栅格生成应用程序150将每个基本方向集436输入到
栅格方程引擎440的不同实例中,以生成每个基本方向集436的一个或多个框架栅格158。
[0177]
如图所示,在一些实施方案中,栅格方程引擎440包括但不限于方程划分引擎450和方程聚类引擎460(1)至460(b),其中b是基本方向集436中包括的基本方向438的总数并且因此可以是任何正整数。方程聚类引擎460(1)至460(b)是方程聚类引擎460的不同实例(未明确示出)。仅出于解释的目的,方程聚类引擎460(1)至460(b)在本文中也单独地称为“方程聚类引擎460”并且统称为“方程聚类引擎460”。
[0178]
在一些实施方案中,栅格方程引擎440基于边集402和任选地重力设计目标值146(1)至146(n)来生成加权方程集442。加权方程集442包括但不限于针对边集402中包括的每个边的不同加权方程(未示出)。可以任何技术上可行的方式指定加权方程。例如,在一些实施方案中,以“ax by c=0”的格式指定每个加权方程。为了生成加权方程集442,栅格方程引擎440可以任何技术上可行的方式基于与生成框架栅格158相关的任何量和/或类型的标准来确定加权方程并对其进行加权。
[0179]
在一些实施方案中,栅格方程引擎440基于由建筑特征引起的建筑权重和解权重的组合对每个方程进行加权。例如,在一些实施方案中,栅格方程引擎440将对应于边界边的方程的建筑权重设置为高于对应于其他边的方程的建筑权重的值。在相同或其他实施方案中,栅格方程引擎440根据包括对应边的重力设计148的目标值146来向对应于更好解的方程分配更高的解权重。
[0180]
如图所示,在一些实施方案中,方程划分引擎450分别基于加权方程集442和基本方向438(1)至438(b)来生成加权方程子集458(1)至458(b)。仅出于解释的目的,加权方程子集458(1)至458(b)在本文中也单独地称为“加权方程子集458”并且统称为“加权方程子集458”。加权方程子集458(1)至458(b)分别表示与基本方向438(1)至438(b)相关联的加权方程集442的不同子集。方程划分引擎450可以任何技术上可行的方式生成加权方程子集458(1)至458(b)。
[0181]
在一些实施方案中,方程划分引擎450基于基本方向438(1)至438(b)和容差量(例如,3度)来生成加权方程子集458(1)至458(b)。对于每个基本方向438,方程划分引擎450选择加权方程集442中包括的大致平行于基本方向438的加权方程的子集。如本文所使用,当由加权方程表示的线与基本方向438之间的角度在零度的容差量内(例如,在-3度和3度之间)时,加权方程大致平行于基本方向438。方程划分引擎450可以任何技术上可行的方式确定容差量。在一些情况下,在一些实施方案中,方程划分引擎450实现默认容差量。
[0182]
在一些其他实施方案中,方程划分引擎450被边划分引擎(未示出)和方程引擎(未示出)替代。对于每个基本方向438(1)至438(b),边划分引擎确定边集402中包括的大致平行于基本方向438的边的不同子集。如本文所使用,当与边相关联的方向在基本方向438的容差量内(例如,在基本方向438的3度内)时,边大致平行于基本方向438。对于每个基本方向438,方程引擎基于与基本方向相关联的边的子集以及任选地重力设计目标值146(1)至146(n)来生成与基本方向438相关联的加权方程子集458。
[0183]
如图所示,在一些实施方案中,栅格方程引擎440将参数数据138的任何部分(包括无)和加权方程子集458(1)至458(b)分别输入到方程聚类引擎460(1)至460(b)中。作为响应,方程聚类引擎460(1)至460(b)生成经排名的方程聚类集列表468(1)至468(b)。仅出于解释的目的,经排名的方程聚类集列表468(1)至468(b)在本文中也单独地称为“经排名的
方程聚类集列表468”并且统称为“经排名的方程聚类集列表468”。
[0184]
在一些其他实施方案中,栅格方程引擎440将参数数据138的任何部分(包括无)和加权方程子集458(1)至458(b)按顺序、同时地或以它们的任何组合输入到方程聚类引擎460的任何数量的实例中。例如,在一些实施方案中,栅格方程引擎440按顺序将加权方程子集458(1)至458(b)输入到方程聚类引擎460的单个实例中。作为响应,方程聚类引擎460的单个实例按顺序输出经排名的方程聚类集列表468(1)至468(b)。
[0185]
在接收到加权方程子集458中的一者后,栅格方程引擎440基于加权方程子集458中包括的加权方程来执行任何数量和/或类型的无监督聚类操作以生成任何数量的方程聚类集(未示出)。每个方程聚类集指定但不限于加权方程在任何数量的方程聚类(未示出)上的不同分布。应注意,任何给定的一对方程聚类集中包括的方程聚类的数量可相同或不同。
[0186]
随后,栅格方程引擎440可对方程聚类集执行任何数量和/或类型的排名和/或过滤操作以生成经排名的方程聚类集列表468。因此,在一些实施方案中,经排名的方程聚类集列表468指定但不限于一个或多个方程聚类集。更准确地说,经排名的方程聚类集列表468(b)指定但不限于与基本方向438(b)相关联的一个或多个方程聚类集,其中b是从1到b的整数。
[0187]
方程聚类引擎460可以任何技术上可行的方式获取(例如,接收或确定)任何量和/或类型的配置数据。配置数据的一些示例是但不限于方程聚类集的总数、与生成每个方程聚类集相关联的任何数量和/或类型的设置、任何数量和/或类型的排名标准,以及任何数量和/或类型的过滤标准。例如,在一些实施方案中,栅格方程引擎440基于参数数据138来确定任何量和/或类型的配置数据。
[0188]
尽管未描绘,但在一些实施方案中,方程聚类引擎460对加权方程子集458执行与方向聚类引擎420对加权方向集412执行的相同类型的聚类、排名和过滤操作。例如,在一些实施方案中,方程聚类引擎460包括但不限于k均值聚类算法424和肘部法则启发法432的任何数量的实例。方程聚类引擎460将k均值聚类算法424的每个实例配置为基于聚类设置422的不同实例(未明确示出)对加权方程子集458中包括的加权方程执行聚类操作。作为响应,k均值聚类算法424的每个实例生成方程聚类集中的一者。
[0189]
在相同或其他实施方案中,方程聚类引擎460然后使用肘部法则启发法432来确定肘点434的新实例。方程聚类引擎460然后基于到肘点434的增加的距离对方程聚类集进行排名以生成经排名的方程聚类集列表468。在一些实施方案中,方程聚类引擎460可对经排名的方程聚类集列表468执行任何数量和/或类型的过滤操作。
[0190]
如图所示,在一些实施方案中,栅格规范引擎490基于经排名的方程聚类集列表468(1)至468(b)来生成框架栅格158(1)至158(m),其中m可以是任何正整数。每个框架栅格158包括但不限于b组栅格线的不同组合,其中b组栅格线的每个组合包括用于每个基本方向438(1)至438(b)的一组栅格线。栅格规范引擎490可以任何技术上可行的方式生成框架栅格158。
[0191]
在一些实施方案中,为了生成框架栅格158(m),其中m是介于1和m之间的整数,栅格规范引擎490从每个经排名的方程聚类集列表468(1)至468(b)选择方程聚类集中的一者。栅格规范引擎490然后为b个选定的方程聚类集中的每一者生成一组不同的栅格线。随后,栅格规范引擎490对b组栅格线进行聚合以生成框架栅格158(m)。
[0192]
栅格规范引擎490可以任何技术上可行的方式为每个选定的方程聚类集生成一组栅格线。在一些实施方案中,对于给定的方程聚类集,栅格规范引擎490生成包括但不限于用于方程聚类集中包括的每个方程聚类的不同栅格线的一组栅格线。在相同或其他实施方案中,栅格规范引擎490基于与聚类的质心相关联的方程来生成给定的聚类的栅格线。在一些实施方案中,在生成栅格线之后,栅格规范引擎490将每条栅格线对齐到任何附近的建筑特征(例如,边界边)并且将每条栅格线延伸到与最近的楼层相关联的边界边之外。
[0193]
在一些实施方案中,用于b个选定的方程聚类集中的每一者的一组栅格线指定大致平行于与选定的方程聚类集相关联的基本方向438的一个或多个方程。因此,对于每个基本方向438(1)至438(b),每个框架栅格158(1)至158(m)包括但不限于平行于基本方向438的一条或多条栅格线。
[0194]
栅格规范引擎490可以任何技术上可行的方式为框架栅格158(1)至158(m)选择b个方程聚类集的m个不同组合。在一些实施方案中,栅格规范引擎490选择在每个经排名的方程聚类集列表468(1)至468(b)中排名最高的r个方程聚类集,其中r可以是任何正整数。栅格规范引擎490然后从每个经排名的方程聚类集列表468(1)至468(b)生成单个选定的方程聚类集的所有可能组合。对于方程聚类集的得到的b^r个组合中的每一者,栅格规范引擎490生成一个不同的框架栅格158。
[0195]
在一些其他实施方案中,栅格规范引擎490实现遗传算法以迭代地确定方程聚类集的不同组合。例如,在一些实施方案中,栅格规范引擎490实现遗传算法,该遗传算法包括但不限于表示经排名的方程聚类集列表468的b个不同设计变量。在相同或其他实施方案中,遗传算法基于与基于设计变量的组合生成的结构设计188相关联的建筑物目标值186来确定设计变量的每个组合的拟合度。
[0196]
在一些实施方案中,在栅格规范引擎490生成框架栅格158之后,栅格生成应用程序150以任何技术上可行的方式将框架栅格158中的一个或多个传输到任何数量的其他软件应用程序。在相同或其他实施方案中,栅格生成应用程序150将框架栅格158存储在至少一个其他软件应用程序可访问的存储器中。在一些实施方案中,栅格生成应用程序150将框架栅格158存储在结构设计应用程序120可访问的存储器中。
[0197]
经由遗传算法来定义框架系统
[0198]
图5是根据各种实施方案的图1的框架规范应用程序170的更详细图示。仅出于解释的目的,在图4所描绘的实施方案中,在本文中先前结合图1描述的框架栅格优化问题的上下文中描述框架规范应用程序170的功能。更具体地,在迭代优化应用程序172执行来生成抵抗垂直和横向荷载两者的结构设计188的总体设计流程的迭代设计优化部分的上下文中描述框架规范应用程序170的功能。
[0199]
如本文中先前结合图1所述,在一些实施方案中,为了开始第一设计优化迭代,迭代优化应用程序172将风向164(1)至164(w)、框架栅格158和重力设计148输入到框架规范应用程序170中。作为响应,框架规范应用程序170生成框架系统规范178,该框架系统规范指定但不限于在每个风向164上的至少一个框架的位置(图5中未示出)。
[0200]
为了完成第一设计优化迭代,迭代优化应用程序172将迭代大小设定应用程序180配置为至少部分地基于框架系统规范178来生成结构设计188并且计算建筑物目标值186。结构设计188是建筑物的结构系统的设计,该设计包括但不限于在框架系统规范178中指定
的位置处的框架并且在考虑到垂直和横向荷载两者的同时基于约束132和目标函数134进行优化。在一些实施方案中,建筑物目标值186与结构设计188和与建筑物相关联的设计目标之间的收敛程度相关。
[0201]
为了开始任何数量的后续设计优化迭代中的每一者,迭代优化应用程序172将建筑物目标值186输入到框架规范应用程序170中。作为响应,框架规范应用程序170基于建筑物目标值186来生成框架系统规范178的新版本。为了完成设计优化迭代,迭代优化应用程序172将迭代大小设定应用程序180配置为重新生成结构设计188并且至少部分地基于框架系统规范178的新版本来重新计算建筑物目标值186。
[0202]
应注意,本文中描述的技术是说明性的而非限制性的,并且可在不脱离本发明的更广泛的精神和范围的情况下进行改变。例如,在一些其他实施方案中,框架规范应用程序170的任何实例可基于建筑物结构的任何类型的设计、任何类型的栅格、任何数量的横向荷载方向以及任何数量和/或类型的优化标准来迭代地优化框架系统中的框架的位置(未示出)。
[0203]
如图所示,在一些实施方案中,框架规范应用程序170包括但不限于风向分配引擎510、框架划分引擎530(1)至530(w)、遗传算法550和框架选择引擎580。风向分配引擎510分别基于框架栅格158(1)、重力设计148(1)和风向164(1)至164(w)来生成潜在框架位置集514(1)至514(w)。仅出于解释的目的,潜在框架位置集514(1)至514(w)在本文中也单独地称为“潜在框架位置集514”并且统称为“潜在框架位置集514”。
[0204]
在一些实施方案中,每个潜在框架位置集514包括但不限于不同的位置集,其中每个位置在框架栅格158中的不同栅格线的容差量内并且对应于相对于重力设计148的不同潜在框架。在一些其他实施方案中,在第一次设计优化迭代期间执行框架规范应用程序170之前,迭代优化应用程序172基于框架栅格158重新生成重力设计148的布局。因此,潜在框架位置集514中包括的每个位置匹配框架栅格158中的不同栅格线并且对应于相对于重力设计148的不同潜在框架。
[0205]
如本文所述,相对于重力设计148的“潜在”框架是指重力设计148中包括的一组结构构件,其可经由抗力矩接头进行连接以形成抵抗垂直和横向荷载两者的框架。在一些实施方案中,重力设计148中的每个潜在框架包括但不限于来自重力设计148的可经由任何数量和/或类型的刚性接头、任何数量和/或类型的半刚性接头或它们的任何组合进行互连的一组一个或多个梁和一个或多个柱。潜在框架位置集514中包括的位置在本文中也称为“潜在框架位置”。
[0206]
在相同或其他实施方案中,潜在框架位置集514(1)至514(w)包括但不限于对应于在组成结构构件经由抗力矩接头进行内在连接时主要抵抗分别与风向164(1)至164(w)相关联的风荷载的潜在框架的任何数量的位置。在一些实施方案中,每条栅格线与潜在框架位置集514中的至多一个位置相关联。风向分配引擎510可以任何技术上可行的方式生成潜在框架位置集514。
[0207]
例如,在一些实施方案中,风向分配引擎510确定关于重力设计148的任何数量的潜在框架,每个潜在框架具有在框架栅格158中的不同相关联栅格线的容差量内的位置。在相同或其他实施方案中,容差量等于零并且每个潜在框架在框架栅格158中的不同栅格线上。风向分配引擎510然后计算每个风向164在每个潜在框架上的投影。对于与至少一个非
零投影相关联的每个潜在框架,风向分配引擎510将相关联的位置添加到对应于在潜在框架上具有最大投影的风向164的潜在框架位置集514。
[0208]
如图所示,在一些实施方案中,风向分配引擎510基于重力设计148来计算建筑物荷载质心520。风向分配引擎510可以任何技术上可行的方式定义和/或计算建筑物荷载质心520。在一些实施方案中,建筑物荷载质心520是风向分配引擎510基于重力设计148而设置为等于建筑物中所有楼层的总恒荷载和活荷载的质心的建筑物荷载质心。在相同或其他实施方案中,框架规范应用程序170将框架划分引擎530(1)至530(w)配置为基于建筑物荷载质心520将潜在框架位置集514(1)至514(w)分成左框架组542(1)至542(w)和右框架组544(1)至544(w)。
[0209]
每个框架划分引擎530(1)至530(w)是框架划分引擎530的不同实例(未明确示出)。仅出于解释的目的,框架划分引擎530(1)至530(w)在本文中也单独地称为“框架划分引擎530”并且统称为“框架划分引擎530”。左框架组542(1)至542(w)在本文中也单独地称为“左框架组542”并且统称为“左框架组542”。右框架组544(1)至544(w)在本文中也单独地称为“右框架组544”并且统称为“右框架组544”。在左框架组2 542和右框架组544中指定的位置在本文中也称为“潜在框架位置”。
[0210]
在一些实施方案中,对于每个风向164,框架规范应用程序170将风向164(w)、潜在框架位置集514(w)和建筑物荷载质心520输入框架分割引擎530(w)中,其中w是从1到w的整数。作为响应,框架划分引擎530(w)将左框架组542(w)设置为等于在潜在框架位置集514(w)中指定的相对于风向164(w)将在建筑物荷载质心520的左侧的位置的子集。框架划分引擎530(w)将右框架组544(w)设置为等于在潜在框架位置集514(w)中指定的相对于风向164(w)将在建筑物荷载质心520的右侧的位置的子集。框架划分引擎530(w)然后输出左框架组542(w)和右框架组544(w)。
[0211]
在一些其他实施方案中,框架规范应用程序170将框架划分引擎530的任何数量的实例配置为基于建筑物荷载质心520按顺序、同时地或以它们的任何组合来划分潜在框架位置集514(1)至514(w)。例如,在一些实施方案中,框架规范应用程序170将框架划分引擎530的单个实例配置为基于建筑物荷载质心520按顺序划分潜在框架位置集514(1)至514(w)。
[0212]
在一些实施方案中,为了生成遗传算法550,框架规范应用程序170配置元启发式方法来基于建筑物目标值186(1,1)迭代地且共同地优化左框架计数572(1)至572(w)和右框架计数574(1)至574(w)。因此,框架规范应用程序170将左框架计数572(1)至572(w)和右框架计数574(1)至574(w)定义为遗传算法550的整数设计变量。左框架计数572(1)至572(w)在本文中也单独地称为“左框架计数572”并且统称为“左框架计数572”。右框架计数574(1)至574(w)在本文中也单独地称为“右框架计数574”并且统称为“右框架计数574”。左框架计数572和右框架计数574在本文中也称为“位置计数”。
[0213]
对于从1到w的整数w,左框架计数572(w)指定左框架组542(w)中的将成为框架系统中的框架的位置的总数。如图所示,在一些实施方案中,框架规范应用程序170将遗传算法550配置为分别将左框架计数572(1)至572(w)设置为左框架计数范围562(1)至562(w)内的整数。对于左框架计数范围562(1)至562((w),框架规范应用程序170(1-1)反应性地将下限设置为一并且将上限设置为左框架组542(1)至542(w)的大小。因此,每个左框架计数范
围562(1)至562(2)是整数范围。
[0214]
类似地,对于从1到w的整数w,右框架计数574(w)指定右框架组544(w)中的将成为框架系统中的框架的位置的总数。如图所示,在一些实施方案中,框架规范应用程序170将遗传算法550配置为分别将右框架计数574(1)至574(w)设置为右框架计数范围564(1)至564(w)内的整数。对于右框架计数范围564(1)至564((w),框架规范应用程序170反应性地将下限设置为一并且将上限设置为右框架组544(1)至544(w)的大小。因此,每个右框架计数范围564(1)至564(w)是整数范围。
[0215]
在配置遗传算法550之后,框架规范应用170使遗传算法550确定第一设计优化迭代的左框架计数572和右框架计数574。遗传算法550最初可以任何技术上可行的方式确定左框架计数572和右框架计数574。例如,在一些实施方案中,遗传算法550将每个左框架计数572(1)至572(w)设置为分别等于每个左框架计数范围562(1)至562(w)内的随机整数,并且将每个右框架计数574(1)至574(w)设置为分别等于每个右框架计数范围564(1)至564(w)内的随机整数。在一些其他实施方案中,泛型算法550将每个左框架计数572(1)至572(w)和每个右框架计数574(1)至574(w)设置为等于一。
[0216]
在一些实施方案中,在遗传算法550在给定的设计优化迭代确定或重新确定左框架计数572和右框架计数574之后,框架选择引擎580生成用于设计优化迭代的框架系统规范178。如图所示,在一些实施方案中,框架选择引擎580基于左框架计数572、左框架组542、右框架计数574和右框架组544来生成框架系统规范178。框架选择引擎580可以任何技术上可行的方式生成框架系统规范178。
[0217]
在一些实施方案中,框架选择引擎580实现封装设计和结构工程基础的框架选择规则(未示出),以生成框架系统规范178。根据设计和结构工程基础,随着框架与建筑物荷载质心520的距离增加,框架抵抗风的有效性也增加。为了优化框架系统的有效性,框架选择引擎580实现框架选择规则,从而指定按距建筑物荷载质心520的距离减小的次序从左框架组542(w)和右框架组544选择框架的位置。
[0218]
在相同或其他实施方案中,对于每个左框架组542(w),其中w是从1到w的整数,框架选择引擎580基于框架选择规则来选择在左框架组542(w)中指定的位置的左框架计数572(w)。因此,框架选择引擎580选择在左框架组542(w)中指定的距建筑物荷载质心520最远的位置。例如,如果左框架计数572(1)是二,那么框架选择引擎580选择在左框架组542(w)中指定的距建筑物荷载质心520最远的两个位置。
[0219]
类似地,在一些实施方案中,对于每个右框架组544(w),其中w是从1到w的整数,框架选择引擎580基于框架选择规则来选择在右框架组544(w)中指定的位置的右框架计数574(w)。相应地,框架选择引擎580选择在右框架组544(w)中指定的距建筑物荷载质心520最远的位置。例如,如果右框架计数574(1)是三,那么框架选择引擎580从右框架组544(w)选择距建筑物荷载质心520最远的三个位置。
[0220]
随后,框架选择引擎580生成框架系统的框架系统规范178,该框架系统规范包括但不限于在每个选定的位置处的不同框架。框架系统规范178可以任何技术上可行的方式指定框架系统。例如,在一些实施方案中,框架系统规范178是选定的位置的列表。
[0221]
在一些实施方案中,在框架选择引擎580生成框架系统规范178之后,框架规范应用程序170以任何技术上可行的方式将框架系统规范178传输到任何数量的其他软件应用
程序。在相同或其他实施方案中,框架规范应用程序170将框架系统规范178存储在至少一个其他软件应用程序可访问的存储器中。在一些实施方案中,框架规范应用程序170将框架系统规范178存储在迭代优化应用程序172可访问的存储器中,并且迭代优化应用程序172将框架系统规范178输入到迭代大小设定应用程序180中。
[0222]
在一些实施方案中,在框架规范应用程序170为当前的设计优化迭代生成框架系统规范178之后,框架规范应用程序170可基于任何数量和/或类型的优化标准为新的设计优化迭代重新生成框架系统规范178。框架规范应用程序170可以任何技术上可行的方式确定何时重新生成框架系统规范178和/或获取与优化标准相关的任何量和/或类型的数据。
[0223]
如用虚线箭头所描绘,在一些实施方案中,框架规范应用程序170在接收到与当前设计优化迭代相关联的建筑物目标值186作为输入后为新的设计优化迭代重新生成框架系统规范178。响应于接收到建筑物目标值186,框架规范应用程序170将建筑物目标值186输入到遗传算法550中。
[0224]
在相同或其他实施方案中,遗传算法550基于建筑物目标值186来实现任何数量和/或类型的基于搜索的优化操作,以重新确定左框架计数572和右框架计数574。框架选择引擎580然后基于左框架计数572、左框架组542、右框架计数574和右框架组544来重新生成框架系统规范178。
[0225]
框架规范应用程序170可以任何技术上可行的方式确定何时停止操作。例如,在一些实施方案中,框架规范应用程序170响应于来自迭代优化应用程序172或结构设计应用程序120的终止命令而停止操作。在相同或其他实施方案中,当自框架规范应用程序170上次接收到输入以来已经过去的时间量超过最大等待时间时,框架规范应用程序170停止操作。
[0226]
针对垂直和横向荷载来优化结构构件的大小设定
[0227]
图6是根据各种实施方案的图1的迭代大小设定应用程序180的更详细图示。仅出于解释的目的,在图6所描绘的实施方案中,在解决本文中先前结合图1描述的垂直和横向荷载设计优化的上下文中描述迭代大小设定应用程序180的功能。更具体地,迭代大小设定应用程序180基于框架系统规范178和目标函数134来添加或修改重力设计148中的柱和梁之间的连接和大小设定,以生成抵抗恒荷载、活荷载以及建筑物风荷载数据162中包括的建筑物风荷载的结构设计188。
[0228]
应注意,本文中描述的技术是说明性的而非限制性的,并且可在不脱离本发明的更广泛的精神和范围的情况下进行改变。一般而言,可以任何技术上可行的方式执行迭代大小设定应用程序180的任何数量的实例。迭代大小设定应用程序180可修改建筑物的结构系统的任何类型的设计中的任何类型的结构构件之间的连接和/或大小设定,以生成抵抗任何数量和/或类型的荷载的结构设计188。迭代大小设定应用程序180可基于任何量(包括无)的数据、任何数量和/或类型的优化标准以及任何数量和/或类型的约束132来修改结构系统的设计中的连接和/或大小设定。
[0229]
如图所示,在一些实施方案中,迭代大小设定应用程序180基于重力设计148、框架系统规范178、设计指令130和建筑物风荷载数据162来生成结构设计188和建筑物目标值186。本文中先前结合图1描述了重力设计148、设计指令130和建筑物风荷载数据162。本文中先前结合图5详细地描述了框架系统规范178。
[0230]
在相同或其他实施方案中,迭代大小设定应用程序180包括但不限于设计初始化
引擎620、结构系统迭代控制器630、框架系统迭代控制器650和框架迭代引擎670(1)至670(r)。每个框架迭代引擎670(1)至670(r)是框架迭代引擎670的不同实例(未明确示出)。仅出于解释的目的,框架迭代引擎670(1)至670(r)在本文中也单独地称为“框架迭代引擎670”并且统称为“框架迭代引擎670”。如下文更详细地描述,在一些实施方案中,r是设计初始化引擎620基于框架系统规范178确定的正整数。在一些其他实施方案中,迭代大小设定应用程序180可包括但不限于框架迭代引擎670的任何数量(包括一个)的实例。
[0231]
如图所示,在一些实施方案中,设计初始化引擎620基于重力设计148、框架系统规范178和设计指令130来将结构设计数据集610初始化。仅出于解释的目的,在任何给定的时间点,结构设计数据集610在本文中也称为建筑物的与重力设计148相关联的“当前结构设计”。
[0232]
结构设计数据集610可包括但不限于与生成结构设计188和/或计算建筑物目标值186相关的任何量和/或类型的数据。在一些实施方案中,结构设计数据集610包括但不限于建筑物布局612、大小设定数据614、框架规范616(1)至616(r)、连接数据618、活荷载数据622、恒荷载数据624、横向荷载数据626和设计指令130,其中r可以是任何正整数。
[0233]
建筑物布局612指定但不限于当前结构设计中包括的结构构件的位置、类型和材料。在一些实施方案中,结构构件包括但不限于任何数量的板、任何数量的梁和任何数量的柱。如用斜体所描绘,在一些实施方案中,建筑物布局612是固定的并且因此不被迭代大小设定应用程序180修改。大小设定数据614指定但不限于当前结构设计中包括的结构构件的任何量和/或类型的大小设定数据。
[0234]
框架规范616(1)至616(r)在本文中也单独地称为“框架规范622”并且统称为“框架规范622”。在一些实施方案中,每个框架规范616指定不同的框架(未示出),并且这些框架在本文中统称为“框架系统”(未示出)。在相同或其他实施方案中,框架系统对应于框架系统规范178(1,1)。因此,并且如下文更详细地描述,在一些实施方案中,r是设计初始化引擎620基于框架系统规范178(1,1)确定的正整数。
[0235]
每个框架规范616指定但不限于当前设计的经由抗力矩接头进行互连以形成对应框架的结构构件的不同组。例如,在一些实施方案中,每个框架规范616指定但不限于经由刚性接头互连的任何数量的梁和任何数量的柱。
[0236]
连接数据618指定与当前结构设计的结构构件之间的连接相关联的任何量和/或类型的数据。在一些实施方案中,连接数据618指定但不限于当前结构设计中包括的任何数量和/或类型的接头。在相同或其他实施方案中,连接数据618指定但不限于用于在每个框架规范616中指定的结构构件之间的每个互连的刚性接头。
[0237]
活荷载数据622包括但不限于与当前结构设计相关联的任何数量和/或类型的活荷载。活荷载数据622是固定的并且因此不被迭代大小设定应用程序180修改。恒荷载数据624包括但不限于与当前结构设计相关联的任何数量和/或类型的恒荷载。横向荷载数据626包括但不限于与当前结构设计相关联的任何数量和/或类型的横向荷载。在一些实施方案中,分别包括在活荷载数据622、恒荷载数据624和横向荷载数据626中的活荷载、恒荷载和横向荷载可相对于当前的结构设计以任何粒度水平指定。例如,在一些实施方案中,活荷载和恒荷载被指定为相对于水平区域(例如,房间)的分布荷载。
[0238]
在相同或其他实施方案中,横向荷载数据626包括但不限于任何数量和/或类型的
构件横向荷载(未示出)。每个构件横向荷载与当前结构设计的结构构件中的一者相关联,并且指定但不限于与结构构件相关联的任何类型的横向荷载。在一些实施方案中,在任何给定的时间,构件横向荷载可反映任何数量和/或类型的建筑物横向荷载(未示出)到每个结构构件的分布。每个建筑物横向荷载是与当前结构设计和/或相关联建筑物相关联的横向荷载。在一些实施方案中,建筑物横向荷载包括但不限于建筑物风荷载数据162中包括的任何数量的建筑物风荷载。
[0239]
设计初始化引擎620可以任何技术上可行的方式将结构设计数据集610初始化。在一些实施方案中,设计初始化引擎620将设计指令130复制到结构设计数据集610。如本文中先前所述,设计指令130包括但不限于约束132、目标函数134、设计变量数据136和参数数据138。在相同或其他实施方案中,设计初始化引擎620从重力设计148复制任何量和/或类型的数据以将建筑物布局612和大小设定数据614初始化。
[0240]
设计初始化引擎620基于重力设计148和框架系统规范178(1,1)来生成框架规范616。设计初始化引擎620可以任何技术上可行的方式生成框架规范616。例如,在一些实施方案中,框架系统规范178指定重力设计148(1)中的要经由抗力矩接头进行互连的每组结构构件的位置。对于在框架系统规范178中指定的每个位置,设计初始化引擎620识别当前结构设计中的对应结构构件组,并且生成指定但不限于所识别的结构构件组的框架规范616。因此,框架规范616的总数等于框架系统规范178中指定的位置的数量。
[0241]
在相同或其他实施方案中,设计初始化引擎620将连接数据618初始化以指定但不限于与对应于框架规范616的框架相关联的任何数量和/或类型的抗力矩接头。在一些实施方案中,对于每个框架规范616,设计初始化引擎620经由连接数据618来指定在框架规范616中指定的结构构件之间的每个连接是刚性接头。在相同或其他实施方案中,设计初始化引擎620经由连接数据618来指定当前结构设计中的结构构件之间的在框架规范616中未指定的每个连接是销接头或铰接接头。
[0242]
在一些实施方案中,设计初始化引擎620从重力设计148复制数据以将活荷载数据622和恒荷载数据624初始化。在其他实施方案中,设计初始化引擎620基于建筑物布局612、大小设定数据614和任选地设计指令130来计算活荷载数据622和恒荷载数据624。在一些实施方案中,设计初始化引擎620将横向荷载数据626初始化以针对任何数量和/或类型的构件横向荷载中的每一个指定初始值为零。
[0243]
如用双箭头所指示,在一些实施方案中,结构系统迭代控制器630、框架系统迭代控制器650和框架迭代引擎670(1)至670(r)可读取、写入和/或修改结构设计数据集610。在一些其他实施方案中,迭代大小设定应用程序180可以任何技术上可行的方式在结构设计数据集610、结构系统迭代控制器630、框架系统迭代控制器650和框架迭代引擎670(1)至670(r)之间路由任何量和/或类型的数据。
[0244]
在一些实施方案中,迭代大小设定应用程序180定义并解决嵌套优化问题以生成结构设计188(1,1)。在一些实施方案中,解决嵌套优化问题对应于在考虑到重力和任何数量和/或类型的建筑物横向荷载的同时基于目标函数134和约束132来优化当前结构设计中包括的大小设定数据614。在一些实施方案中,一个或多个约束132是确保结构设计188令人满意地抵抗垂直荷载和横向荷载的安全设计系数。
[0245]
在一些实施方案中,结构系统迭代控制器630执行顶部循环中包括的任何数量的
迭代以解决嵌套优化问题的顶层并且从而解决嵌套优化问题。如图所示,在一些实施方案中,结构系统迭代控制器630包括但不限于结构系统迭代控制器640。在相同或其他实施方案中,结构系统迭代控制器640可读取、写入和/或修改结构设计数据集610。在一些其他实施方案中,结构系统迭代控制器630可以任何技术上可行的方式在结构设计数据集610和结构系统迭代控制器640之间路由任何量和/或类型的数据。
[0246]
在一些实施方案中,为了开始每个“顶部循环迭代”,结构系统迭代控制器630将结构系统迭代控制器640配置为在保持横向荷载数据626固定的同时基于目标函数134和约束132来优化大小设定数据614。结构系统迭代控制器640可以任何技术上可行的方式针对当前设计的任何数量和/或类型的结构构件来优化大小设定数据614。
[0247]
在一些其他实施方案中,结构系统迭代控制器640迭代地优化当前结构设计中的梁,并且然后迭代地优化当前结构设计中的柱,从而在每次迭代之后更新恒荷载数据624,同时保持横向荷载数据626固定。结构系统迭代控制器640可实现任何数量和/或类型的优化算法和/或任何数量和/或类型的基本规则,它们各自封装任何数量和/或类型的设计和/或结构工程基础。例如,在一些实施方案中,结构系统迭代控制器640实现满应力设计方法以优化当前结构设计中的梁和/或柱的大小设定数据614。
[0248]
在一些其他实施方案中,结构系统迭代控制器640执行基于二分的梁优化算法,该基于二分的梁优化算法基于目标函数134和约束132来迭代地优化梁的大小设定数据614,从而在每次迭代之后更新恒荷载数据624,同时保持横向荷载数据626固定。随后,在一些实施方案中,结构系统迭代控制器640执行基于二分的优化算法,以基于目标函数134和约束132来迭代地优化柱的大小设定数据614,从而在每次迭代之后更新恒荷载数据624,同时保持横向荷载数据626固定。
[0249]
在相同或其他实施方案中,在结构系统迭代控制器640在保持横向荷载数据626固定的同时优化大小设定数据614之后,结构系统迭代控制器630将框架系统迭代控制器650配置为相对于顶部循环迭代来解决嵌套优化问题的中间层。解决嵌套优化问题的中间层对应于基于任何数量和/或类型的建筑物横向荷载来优化经由框架规范616指定的框架的大小设定数据614。框架的大小设定数据614是经由框架规范616指定的结构元素的大小设定数据614。仅出于解释的目的,每个框架的大小设定数据614在本文中也称为“大小设定数据集”。
[0250]
在一些实施方案中,框架系统迭代控制器650包括但不限于横向荷载分布引擎660。在一些实施方案中,横向荷载分布引擎660可读取、写入和/或修改结构设计数据集610。在一些其他实施方案中,框架系统迭代控制器650可以任何技术上可行的方式在结构设计数据集610和横向荷载分布引擎660之间路由任何量和/或类型的数据。
[0251]
如图所示,在一些实施方案中,框架系统迭代控制器650执行中间循环中包括的任何数量的迭代以相对于顶部循环迭代来解决嵌套优化问题的中间层。在一些实施方案中,为了开始每个“中间循环迭代”,框架系统迭代控制器650将横向荷载分布引擎660配置为将任何数量和/或类型的建筑物横向荷载分布在对应于框架规范616的框架上。
[0252]
例如,如用斜体所描绘,在一些实施方案中,框架系统迭代控制器650将横向荷载分布引擎660配置为将建筑物风荷载数据162中包括的任何数量的建筑物风荷载(未示出)分布在对应于框架规范616的框架上。在一些实施方案中,建筑物风荷载数据162包括但不
限于任何数量的方向(例如,风向164(1)至164(w))中的每一者的不同建筑物风荷载。
[0253]
横向荷载分布引擎660可以任何技术上可行的方式将由框架系统迭代控制器650指定的建筑物横向荷载分布在对应于框架规范616的框架上。在一些实施方案中,横向荷载分布引擎660将各自封装任何数量和/或类型的结构工程基础的任何数量和/或类型的基本规则应用于框架规范616,以将建筑物横向荷载分布在对应的框架上。在相同或其他实施方案中,横向荷载分布引擎660基于框架的刚度将建筑物横向荷载分布在框架上。在相同或其他实施方案中,对于每个框架,横向荷载分布引擎660生成与框架相关联并且对应于横向荷载分布引擎660分布到框架的建筑物横向荷载部分的一个或多个框架横向荷载(未示出)。因此,对于每个框架规范616,框架横向荷载指定横向荷载分布引擎660分布到对应框架的建筑物横向荷载部分。框架横向荷载在本文中也称为“基于框架的横向荷载”。
[0254]
在一些实施方案中,在横向荷载分布引擎660生成框架横向荷载之后,框架系统迭代控制器650将框架迭代引擎670的任何数量的实例配置为相对于中间循环迭代针对每个框架规范616(1)至616(r)独立地解决嵌套优化问题的底层。针对每个框架规范616解决嵌套优化问题的底层对应于优化对应框架的大小设定数据614,同时保持相关联的框架横向荷载固定。
[0255]
如图所示,在一些实施方案中,框架系统迭代控制器650将框架迭代引擎670(1)至670(r)配置为分别针对每个框架规范616(1)至616(r)独立地解决优化问题的底层。在一些其他实施方案中,框架系统迭代控制器650将框架迭代引擎670的少于r个实例配置为分别针对每个框架规范616(1)至616(r)独立地解决优化问题的底层。例如,在一些实施方案中,框架系统迭代控制器650将框架迭代引擎670的单个实例配置为针对每个框架规范616(1)至616(r)按顺序解决优化问题的底层。
[0256]
在一些实施方案中,框架迭代引擎670的每个实例可读取、写入和/或修改结构设计数据集610。在一些其他实施方案中,框架系统迭代控制器650可以任何技术上可行的方式在结构设计数据集610和框架迭代引擎670的每个实例之间路由任何量和/或类型的数据。
[0257]
为了针对框架规范616解决优化问题的底层,框架迭代引擎670可以任何技术上可行的方式优化框架规范616中指定的结构元素的大小设定数据614,同时保持相关联的框架横向荷载固定。如针对框架迭代引擎670(1)所示,框架迭代引擎670包括但不限于框架迭代控制器672、框架分析器680和横向荷载调整大小引擎690。
[0258]
在一些实施方案中,框架迭代控制器672开始底部循环中包括的任何数量的迭代以优化框架规范616中指定的结构元素的大小设定数据614,同时保持与框架规范616相关联的框架横向荷载固定。在一些实施方案中,为了开始每个底部循环迭代,框架迭代控制器672至少部分地基于框架横向荷载来生成对应于框架规范616的框架的弯矩图662和剪力图664。框架分析器680可以任何技术上可行的方式生成弯矩图662和剪力图664。
[0259]
在一些实施方案中,框架分析器680基于任何数量和/或类型的基本规则来执行任何数量和/或类型的框架分析操作,以生成弯矩图662和剪力图664。例如,在一些实施方案中,框架分析器680基于框架横向荷载将任何数量和/或类型的基本规则应用于框架规范616,以计算局部弯矩图(未示出)和局部剪力图(未示出)。更具体地,在一些实施方案中,框架分析器680基于框架横向荷载将门架法、等效柱法或力矩分布法应用于框架规范616中指
定的结构元素的大小设定数据614,以生成局部弯矩图和局部剪力图。
[0260]
随后,在一些实施方案中,框架分析器680基于活荷载数据622和恒荷载数据624来确定与对应于框架规范616的框架相关联的任何数量和/或类型的垂直荷载。然后,框架分析器680使用叠加法以基于与框架相关联的垂直荷载和局部弯矩图来生成对应于框架规范616的框架的弯矩图662。在相同或其他实施方案中,框架分析器680使用与叠加法相关联的基本规则以基于与框架相关联的垂直荷载和局部剪力图来生成对应于框架规范616的框架的剪力图664。
[0261]
在一些实施方案中,横向荷载调整大小引擎690基于弯矩图662、剪力图664、目标函数134和约束132来优化框架规范616中指定的结构元素的大小设定数据614。横向荷载调整大小引擎690可以任何技术上可行的方式优化框架规范616中指定的结构元素的大小设定数据614。
[0262]
例如,在一些实施方案中,横向荷载调整大小引擎690执行基于二分的框架优化算法,该基于二分的框架优化算法共同地优化框架规范616中指定的梁和柱的大小设定数据614。在任何数量的迭代中的每一者期间,基于二分的框架优化算法基于弯矩图662、剪力图664、目标函数134和约束132来更新梁和柱的大小设定数据614。在相同或其他实施方案中,横向荷载调整大小引擎690可以任何技术上可行的方式优化框架规范616中指定结的构元素的大小设定数据614,同时保持相关联的框架横向荷载固定。
[0263]
在一些实施方案中,在横向荷载调整大小引擎690优化框架规范616中指定的梁和柱的大小设定数据614之后,相关联的底部循环迭代完成。在一些实施方案中,横向荷载调整大小引擎690或框架迭代控制器672更新恒荷载数据624和构件横向荷载,以反映对框架规范616中指定的梁和柱的大小设定数据614的任何改变。框架迭代控制器672可以任何技术上可行的方式确定是否开始另一个底部循环迭代。
[0264]
在一些实施方案中,如果对于框架规范616已经达到最大数量的底部循环迭代(未示出),那么框架迭代控制器672不开始另一个底部循环迭代。在相同或其他实施方案中,框架迭代控制器672至少部分地基于在底部循环迭代之间对框架规范616中指定的结构构件的大小设定数据614的任何改变的幅度来确定是否开始另一个底部循环迭代。
[0265]
在一些实施方案中,如果框架迭代控制器672确定已经探索了相关的大小设定选项,那么框架迭代控制器672不开始另一个底部循环迭代。框架迭代控制器672可以任何技术上可行的方式确定是否已经探索了相关的大小设定选项。例如,在一些实施方案中,当框架规范616中指定的每个结构元素处于根据设计变量数据136的最大允许大小时,框架迭代控制器672确定已经探索了相关的大小设定操作。
[0266]
如用虚线箭头所描绘,如果框架迭代控制器672不开始另一个底部循环迭代,那么框架迭代控制器672以任何技术上可行的方式向框架系统迭代控制器650指示完成对于框架规范616的底部循环。在一些实施方案中,当完成对于框架规范616的底部循环时,框架迭代引擎670已经相对于中间循环迭代解决了对应于框架规范616的框架的嵌套优化问题的底层。
[0267]
在框架迭代引擎670的实例已经完成对于框架规范616(1)至616(r)的底部循环之后,框架系统迭代控制器650任选地基于框架规范616来执行任何数量的优化和/或细化操作。例如,如本领域技术人员将认识到,如果建筑物风荷载的质心与当前结构设计的剪切质
心不对齐,那么所得的偏心距在将建筑物风荷载应用于建筑物时会引起不平衡扭转力。因此,在一些实施方案中,框架系统迭代控制器650实现一种或多种技术来减少建筑物风荷载数据162中包括的建筑物风荷载的偏心距。
[0268]
例如,在一些实施方案中,框架系统迭代控制器650为建筑物中的每个楼层实现比例-积分-微分(“pid”)控制器(未示出)的不同实例。pid控制器将不平衡扭转力的大小与框架规范616中指定的梁和柱的安全系数校正联系起来。更具体地,pid控制器的每个实例基于相关联楼层的任何不平衡扭转力来校正约束132中包括的设计安全系数(未示出)。校正刚度安全系数使横向荷载调整大小引擎690人工地加强与框架规范616相对应的一些框架,使得建筑物风荷载的质心与当前结构设计的剪切质心之间的距离减小。在相同或其他实施方案中,框架系统迭代控制器650针对每个框架的每个级别实现pid控制器的不同实例。对于给定的建筑物风荷载,pid控制器过度设计相对于建筑物风荷载位于建筑物的较弱侧(例如,在左框架组542或右框架组544中)的框架。
[0269]
在框架系统迭代控制器650任选地对框架规范616执行任何数量的优化和/或细化操作之后,完成中间循环迭代。框架系统迭代控制器650然后确定是否开始另一个中间循环迭代。框架系统迭代控制器650可以任何技术上可行的方式确定是否开始另一个中间循环迭代。例如,在一些实施方案中,如果已经达到最大数量的中间循环迭代(未示出),那么框架系统迭代控制器650不开始另一个顶部循环迭代。在相同或其他实施方案中,框架系统迭代控制器650至少部分地基于在中间循环迭代之间对框架规范616中指定的结构构件的大小设定数据614的任何改变的幅度和/或框架横向荷载的任何变化的幅度来确定是否开始另一个中间循环迭代。在一些实施方案中,如果框架系统迭代控制器650确定已经探索了相关的大小设定选项,那么框架系统迭代控制器650不开始另一个底部循环迭代。
[0270]
如用虚线箭头所描绘,如果框架系统迭代控制器650不开始另一个中间循环迭代,那么框架系统迭代控制器650向结构系统迭代控制器630指示完成中间循环。在一些实施方案中,当完成中间循环时,那么框架系统迭代控制器650已经相对于顶部循环迭代解决了框架系统的嵌套优化问题的中间层。
[0271]
结构系统迭代控制器630然后确定是否开始另一个顶部循环迭代。结构系统迭代控制器630可以任何技术上可行的方式确定是否开始另一个顶部循环迭代。例如,在一些实施方案中,如果已经达到最大数量的顶部循环迭代(未示出),那么结构系统迭代控制器630不开始另一个顶部循环迭代。在相同或其他实施方案中,结构系统迭代控制器630至少部分地基于在顶部循环迭代之间对大小设定数据614的任何改变的幅度来确定是否开始另一个顶部循环迭代。在一些实施方案中,如果结构系统迭代控制器630确定已经探索了相关的大小设定选项,那么框架系统迭代控制器650不开始另一个底部循环迭代。
[0272]
如果结构系统迭代控制器630不开始另一个顶部循环迭代,那么完成顶部循环。在一些实施方案中,当完成顶部循环时,结构系统迭代控制器630已经解决了嵌套优化问题。如图所示,结构系统迭代控制器630然后基于结构设计数据集610来生成结构设计188。在一些实施方案中,结构系统迭代控制器630基于目标函数134来计算结构设计188的建筑物目标值186。在相同的其他实施方案中,结构系统迭代控制器630可计算与任何数量和/或类型的设计目标相关联的任何数量和/或类型的其他度量的任何数量和/或类型的值。
[0273]
在一些实施方案中,迭代大小设定应用程序180以任何技术上可行的方式将结构
设计188和/或建筑物目标值186传输到任何数量的其他软件应用程序。在相同或其他实施方案中,迭代大小设定应用程序180将结构设计188和/或建筑物目标值186存储在至少一个其他软件应用程序可访问的存储器中。在一些实施方案中,迭代大小设定应用程序180将建筑物目标值186存储在迭代优化应用程序172可访问的存储器中,并且迭代优化应用程序172将建筑物目标值186输入到框架规范应用程序170(1,1)中。
[0274]
在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。例如,在一些实施方案中,重力设计148指定钢筋水泥混凝土框架结构系统。如本领域技术人员将认识到,钢筋混凝土框架结构系统中的梁和柱通常经由刚性接头进行连接,并且因此框架系统规范178是多余的。在一些实施方案中,如果框架系统规范178没有输入到迭代大小设定应用程序180中,那么设计初始化引擎620生成指定重力设计148的所有适当位置处的框架的框架规范616。在相同或其他实施方案中,如果框架系统规范178没有输入到迭代大小设定应用程序180中并且重力设计148指定垂直荷载,那么迭代大小设定应用程序180在执行第一结构系统设计迭代之前不执行结构系统迭代控制器630。
[0275]
应当理解,在图6中描绘并结合该图描述的迭代大小设定应用程序180的实例是说明性的,并且对迭代大小设定应用程序180的变化和修改是可能的。例如,如本文中描述的由迭代大小设定应用程序180提供的功能可集成到或分布在迭代大小设定应用程序180的任何数量的部件上。此外,可根据需要修改迭代大小设定应用程序180的各种部件之间的连接拓扑。
[0276]
例如,在一些实施方案中,迭代大小设定应用程序180省略了设计初始化引擎620和/或结构设计数据集610,并且迭代大小设定应用程序180可以任何技术上可行的方式确定任何量和/或类型的数据,和/或将任何量和/或类型的数据路由到任何数量的部件、在任何数量的部件之间路由所述数据以及从任何数量的部件路由所述数据。在一些实施方案中,迭代大小设定应用程序180以任何技术上可行的方式接收重力设计148、框架系统规范178、设计指令130以及任何数量和/或类型的建筑物横向荷载。作为响应,迭代大小设定应用程序180基于重力设计148和框架系统规范178来生成初始结构设计(未示出)。迭代大小设定应用程序180然后将结构系统迭代控制器630、框架系统迭代控制器650和框架迭代引擎670配置为基于设计指令130和建筑物横向荷载来协同地优化初始结构设计。
[0277]
图7a至图7b阐述了根据各种实施方案的用于生成建筑物的结构系统的至少一个设计的方法步骤的流程图。尽管参考图1至图3的系统描述了方法步骤,但是本领域技术人员将理解,被配置为按任何次序实现方法步骤的任何系统都落在本发明的范围内。
[0278]
如图所示,方法700开始步骤702,其中设计概念引擎220基于建筑物平面图124来生成建筑物的结构系统的每个楼层的楼层结构模板222。重力设计应用程序140然后选择第一楼层。在步骤704处,划分引擎224将选定的楼层的楼层结构模板222划分为任何数量的段230,并且然后选择选定的楼层的段230中的第一个。
[0279]
在步骤706处,布局变化引擎250生成选定的段230的多个局部设计258。在步骤708处,重力设计优化器260基于约束132和目标函数134来优化选定的段230的局部设计258以生成选定的段230的经优化的局部设计268。在步骤710处,段设计排名引擎270基于目标函数134对选定的段230的经优化的局部设计268进行排名,以生成选定的段230的经排名的段
设计列表278。
[0280]
在步骤712处,划分引擎224确定选定的段230是否为与选定的楼层相关联的段230中的最后一个。如果在步骤712处,划分引擎224确定选定的段230不是与选定的楼层相关联的段230中的最后一个,那么方法700进行到步骤714。在步骤714处,划分引擎224选择与选定的楼层相关联的下一个段230,并且方法700返回到步骤706,其中布局变化引擎250生成选定的段230的多个局部设计258。
[0281]
然而,如果在步骤712处,划分引擎224确定选定的段230是与选定的楼层相关联的段230中的最后一个,那么方法700直接进行到步骤716。在步骤716处,增量合并引擎280在与选定的楼层相关联的经排名的段设计列表278上执行增量逐段合并和优化操作,以生成选定的楼层的经排名的楼层设计列表288。
[0282]
在步骤718处,重力设计应用程序140确定选定的楼层是否为最后的楼层。如果在步骤718处,重力设计应用程序140确定选定的楼层不是最后的楼层,那么方法700进行到步骤720。在步骤720处,重力设计应用程序140选择下一楼层,并且方法700返回到步骤704,其中划分引擎224划分选定的楼层的楼层结构模板222。
[0283]
然而,如果在步骤718处,重力设计应用程序140确定选定的楼层是最后的楼层,那么方法700直接进行到步骤722。在步骤722处,多楼层优化器290基于目标函数134对经排名的楼层设计列表288执行一个或多个搜索操作,以生成重力设计148。在步骤724处,多楼层优化器290基于重力设计148和目标函数134来计算重力设计目标值146。在步骤726处,重力设计应用程序140将任何数量的重力设计148和/或重力设计目标值146存储和/或传输到任何数量的软件应用程序,以用于进一步的设计活动。方法700然后终止。
[0284]
仅出于解释的目的,方法700的方法步骤被描绘和描述为按顺序发生。然而,如本领域技术人员将认识到,针对每个楼层可按顺序、同时地或以它们的任何组合执行步骤704至720。类似地,针对每个段230可按顺序、同时地或以它们的任何组合执行步骤706至714。
[0285]
图8a至图8b阐述了根据各种实施方案的用于生成建筑物的结构系统的框架栅格的方法步骤的流程图。尽管参考图1至图4的系统描述了方法步骤,但是本领域技术人员将理解,被配置为按任何次序实现方法步骤的任何系统都落在本发明的范围内。
[0286]
如图所示,方法800开始步骤802,其中栅格生成应用程序150获取重力设计148以及任选地与重力设计148相关联的重力设计目标值146。在步骤804处,栅格生成应用程序150基于重力设计148生成边集402。边集402中包括的每个边对应于连接到至少一个柱的不同梁。
[0287]
在步骤806处,基本方向引擎410基于边集402中包括的边的方向生成加权方向集412。在步骤808处,方向聚类引擎420对加权方向集412中包括的加权方向执行任何数量和/或类型的聚类操作以生成方向聚类集428。在步骤810处,方向聚类引擎420对方向聚类集428执行任何数量和/或类型的排名和/或过滤操作以生成经排名的方向聚类集列表408。
[0288]
在步骤812处,针对根据经排名的方向聚类集列表408具有最高排名的任何数量的方向聚类集428中的每一者,栅格生成应用程序150基于方向聚类集428中包括的方向聚类生成基本方向集436。在步骤814处,栅格生成应用程序150选择基本方向集436中的第一个。
[0289]
在步骤816处,栅格方程引擎440基于表示边集402中包括的边的方程来生成加权方程集442。在步骤818处,方程划分引擎450从加权方程组442为选定的基本方向集436中指
定的每个基本方向438确定加权方程子集458。在步骤820处,栅格方程引擎440选择与选定的基本方向集436相关联的加权方程子集458中的第一个。
[0290]
在步骤822处,栅格方程引擎440对加权方程子集458中的选定的子集中包括的加权方程执行任何数量和/或类型的聚类操作,以生成一个或多个方程聚类集。在步骤824处,栅格方程引擎440对方程聚类集执行任何数量和/或类型的排名和/或过滤操作,以生成与加权方程子集458中的选定的子集相关联的基本方向438的经排名的方程聚类集列表468。
[0291]
在步骤826处,栅格方程引擎440确定加权方程子集458中的选定的子集是否为与选定的基本方向集436相关联的加权方程子集458中的最后一个。如果在步骤826处,栅格方程引擎440确定加权方程子集458中的选定的子集不是与选定的基本方向集436相关联的加权方程子集458中的最后一个,那么方法800进行到步骤828。
[0292]
在步骤828处,栅格方程引擎440选择与选定的基本方向集436相关联的下一个加权方程子集458,并且方法800返回到步骤822,其中栅格方程引擎440生成一个或多个新的方程聚类集。方法800继续循环通过步骤822至828,直到在步骤826处,栅格方程引擎440确定加权方程子集458中的选定的子集是与选定的基本方向集436相关联的加权方程子集458中的最后一个。
[0293]
如果在步骤826处,栅格方程引擎440确定加权方程子集458中的选定的子集是与选定的基本方向集436相关联的加权方程子集458中的最后一个,那么方法800的方向进行到步骤830。在步骤830处,栅格规范引擎490基于加权方程子集458中的选定的子集的经排名的方程聚类集列表468来生成任何数量的框架栅格158。
[0294]
在步骤832处,栅格生成应用程序150确定选定的基本方向集436是否为基本方向集436中的最后一个。如果在步骤832处,栅格生成应用程序150确定选定的基本方向集436不是基本方向集436中的最后一个,那么方法800进行到步骤834。在步骤834处,栅格生成应用程序150选择下一个基本方向集436,并且方法800返回到步骤818,其中方程划分引擎450基于选定的基本方向集436来确定加权方程子集458。方法800继续循环通过步骤818至834,直到在步骤822处,栅格生成应用程序150确定选定的基本方向集436是基本方向集436中的最后一个。
[0295]
如果在步骤822处,栅格生成应用程序150确定选定的基本方向集436是基本方向集436中的最后一个,那么方法800的方向进行到步骤836。在步骤836处,栅格生成应用程序150将任何数量的框架栅格158存储和/或传输到任何数量的软件应用程序,以用于进一步的设计活动。方法800然后终止。
[0296]
仅出于解释的目的,方法800的方法步骤被描绘和描述为按顺序发生。然而,如本领域技术人员将认识到,针对每个基本方向集436可按顺序、同时地或以它们的任何组合执行步骤814至834。类似地,针对每个加权方程子集458可按顺序、同时地或以它们的任何组合执行步骤820至828。
[0297]
图9是根据各种实施方案的用于生成与建筑物相关联的框架系统的设计的方法步骤的流程图。尽管参考图1至图5的系统描述了方法步骤,但是本领域技术人员将理解,被配置为按任何次序实现方法步骤的任何系统都落在本发明的范围内。
[0298]
如图所示,方法900开始步骤902,其中风向分配引擎510基于建筑物的重力设计148、框架栅格158来确定每个风向164的潜在框架位置集514。在步骤904处,风向分配引擎
510基于重力设计148来计算建筑物的建筑物荷载质心520。
[0299]
在步骤906处,对于每个风向164(w),其中w是从1到w的整数,框架划分引擎530基于建筑物荷载质心520将潜在框架位置集514(w)分成左框架组542(w)和右框架组544(w)。在步骤908处,框架规范应用程序170实现遗传算法550,该遗传算法具有对于每个风向164(w)的两个设计变量:左框架计数572(w)和右框架计数574(w)。
[0300]
在步骤910处,框架规范应用程序170使遗传算法550确定左框架计数572和右框架计数574。在步骤912处,对于每个风向164(w),框架选择引擎580从左框架组542(w)选择距建筑物荷载质心520最远的位置的左框架计数572(w)。在步骤914处,对于每个风向164(w),框架选择引擎580从右框架组544(w)选择距建筑物荷载质心520最远的位置的右框架计数574(w)。
[0301]
在步骤916处,框架选择引擎580生成框架系统规范178,该框架系统规范指示框架系统包括但不限于选定的位置处的框架。在步骤918处,框架规范应用程序170将框架系统规范178存储和/或提供到任何数量的软件应用程序以用于进一步的设计活动。
[0302]
在步骤920处,框架规范应用程序170确定框架规范应用程序170是否获取与框架系统规范178相关联的建筑物目标值186。如果在步骤920处,框架规范应用程序170确定框架规范应用程序170没有获取建筑物目标值186,那么方法900终止。
[0303]
然而,如果在步骤920处,框架规范应用程序170确定框架规范应用程序170获取建筑物目标值186,那么方法900进行到步骤922。在步骤922处,框架规范应用程序170使遗传算法550基于建筑物目标值186来重新确定左框架计数572和右框架计数574。方法900然后返回到步骤912,其中框架选择引擎580基于左框架计数572和右框架计数574从左框架组542和右框架组544选择位置。
[0304]
方法900继续循环通过步骤912至922,直到在步骤920处,框架规范应用程序170确定框架规范应用程序170没有获取建筑物目标值186。方法900然后终止。
[0305]
图10a至图10b阐述了根据各种实施方案的用于设计建筑物的结构系统以抵抗横向荷载的方法步骤的流程图。尽管参考图1至图6的系统描述了方法步骤,但是本领域技术人员将理解,被配置为按任何次序实现方法步骤的任何系统都落在本发明的范围内。
[0306]
如图所示,方法1000开始步骤1002,其中设计初始化引擎620基于重力设计148和框架系统规范178来生成指定但不限于框架系统606的结构设计数据集610。结构系统迭代控制器630然后将构件横向荷载初始化为零。在步骤1004处,结构系统迭代控制器640在保持构件横向荷载固定的同时基于约束132和目标函数134来按顺序优化结构设计数据集610中指定的梁和柱的大小设定。
[0307]
在步骤1006处,横向荷载分布引擎660将一个或多个建筑物横向荷载(例如,建筑物风荷载数据162中包括的建筑物风荷载)分布在对应于框架规范616的框架上,以确定每个框架的任何数量的框架横向荷载。框架系统迭代控制器650然后选择对应于框架规范616(1)的框架。
[0308]
在步骤1008处,框架分析器680基于相关联的框架横向荷载和相关联的垂直荷载来生成选定的框架的弯矩图662和剪力图664。在步骤1010处,横向荷载调整大小引擎690基于弯矩图662、剪力图664、约束132和目标函数134来共同地优化选定的框架中的梁和柱的大小设定。
[0309]
在步骤1012处,框架迭代控制器672确定框架迭代控制器672是否已完成优化选定的框架。如果在步骤1012处,框架迭代控制器672确定框架迭代控制器672尚未完成优化选定的框架,那么方法1000返回到步骤1008,其中框架分析器680重新生成选定的框架的弯矩图662和剪力图664。
[0310]
然而,如果在步骤1012处,框架迭代控制器672确定框架迭代控制器672已经完成优化选定的框架,那么方法1000的方向进行到步骤1014。在步骤1014处,框架系统迭代控制器650确定选定的框架是否对应于框架规范616中的最后一个。如果在步骤1014处,框架系统迭代控制器650确定选定的框架不对应于框架规范616中的最后一个,那么方法1000进行到步骤1016。
[0311]
在步骤1016处,框架迭代控制器672选择对应于下一个框架规范616的框架。方法1000然后返回到步骤1008,其中框架分析器680重新生成选定的框架的弯矩图662和剪力图664。方法1000继续循环通过步骤1008至1016,直到在步骤1014处,框架迭代控制器672确定选定的框架对应于框架规范616中的最后一个。
[0312]
如果在步骤1014处,框架迭代控制器672确定选定的框架对应于框架规范616中的最后一个,那么方法1000直接进行到步骤1018。在步骤1018处,框架系统迭代控制器650确定框架系统迭代控制器650是否已经完成优化框架系统。
[0313]
如果在步骤1018处,框架系统迭代控制器650确定框架系统迭代控制器650尚未完成优化框架系统,那么方法1000返回到步骤1006,其中横向荷载分布引擎660将建筑物横向荷载重新分布在对应于框架规范616的框架上。方法1000继续循环通过步骤1006至1018,直到在步骤1018处,框架系统迭代控制器650确定框架系统迭代控制器650已经完成优化框架系统。
[0314]
如果在步骤1018处,框架系统迭代控制器650确定框架系统迭代控制器650已经完成优化框架系统,那么方法1000进行到步骤1020。在步骤1020处,结构系统迭代控制器630确定结构系统迭代控制器630是否已经完成优化结构设计数据集610。
[0315]
如果在步骤1020处,结构系统迭代控制器630确定结构系统迭代控制器630尚未完成优化结构设计数据集610,那么方法1000返回到步骤1004,其中结构系统迭代控制器640按顺序优化结构设计数据集610中的梁和柱的大小设定,同时保持构件横向荷载固定。方法1000继续循环通过步骤1004至1020,直到在步骤1020处,结构系统迭代控制器630确定结构系统迭代控制器630已经完成优化结构设计数据集610。
[0316]
如果在步骤1020处,结构系统迭代控制器630确定结构系统迭代控制器630已经完成优化结构设计数据集610,那么方法1000进行到步骤1022。在步骤1022处,结构系统迭代控制器630基于结构设计数据集610来生成结构设计188并且任选地计算结构设计188的建筑物目标值186。在步骤1024处,迭代大小设定应用程序180以任何技术上可行的方式将结构设计188和/或建筑物目标值186存储和/或传输到任何数量的其他软件应用程序。方法1000然后终止。
[0317]
仅出于解释的目的,方法1000的方法步骤被描绘和描述为按顺序发生。然而,如本领域技术人员将认识到,对于对应于框架规范616的每个框架,可按顺序、同时地或以它们的任何组合执行步骤1008至1016。
[0318]
总之,所公开的技术可用于基于建筑物平面图、任何数量和类型的约束、封装任何
数量和/或类型的设计目标的目标函数以及一个或多个建筑物风荷载来高效地生成建筑物的结构系统的设计。在一些实施方案中,结构设计应用程序将总体设计优化问题分解为与结构系统的不同方面相关联的多个不太复杂的组成优化问题。结构设计应用程序执行总体设计流程,该总体设计流程基于在解决组成优化问题时生成的结果进行动态自我调整,以生成结构系统的经排名的结构设计列表。经排名的结构设计列表指定建筑物结构系统的任何数量的结构设计以及目标函数的对应值或“建筑物目标值”。每个设计都基于约束、目标函数、重力和建筑物风荷载进行优化。在经排名的结构设计列表中按照建筑物目标值以与设计目标的收敛程度的降序列出结构设计。
[0319]
为了开始总体设计流程,结构设计应用程序将重力设计应用程序配置为基于建筑物平面图、约束和目标函数来生成指定数量的重力设计。每个重力设计指定但不限于任何数量的板、任何数量的梁和任何数量的柱的位置、类型、材料和大小设定。应注意,在考虑重力而不考虑建筑物风荷载的同时基于约束和目标函数对每个重力设计进行优化。
[0320]
重力设计应用程序实现分支合并设计流程以生成重力设计。在分支阶段期间,重力设计应用程序将结构系统的每个楼层划分为多个段,并且然后实现基于规则的专家系统来生成每个段的各种段布局。每个段布局指定但不限于任何数量的板、任何数量的梁和任何数量的柱的位置、类型和材料。
[0321]
重力设计应用程序将重力设计优化器配置为独立地优化每个段布局的大小设定数据以生成经优化的段设计。为了优化给定的段布局的大小设定数据,重力设计应用程序在考虑重力(作为活荷载和恒荷载)而不考虑建筑物风荷载的同时基于约束和目标函数来按顺序优化组成板、梁和柱的大小设定数据。重力设计应用程序还基于目标函数来计算每个段设计的目标值。对于每个段,重力设计应用程序基于目标值对相关联的段设计进行排名以生成经排名的段设计列表。给定段的经排名的段设计列表包括但不限于段的n个最高排名的段设计和相关联的目标值,其中n是可以是任何正整数的参数值。
[0322]
在合并阶段期间,重力设计应用程序基于相关联的经排名的段设计列表来生成每个楼层的多个楼层设计。对于给定的楼层,重力设计应用程序基于相关联的经排名的段设计列表来执行逐段增量合并。在每个增量合并之后,重力设计应用程序将重力设计优化器配置为优化得到的合并设计并且计算相关联的目标值。在执行最终的逐段增量合并之后,重力设计应用程序生成楼层的经排名的楼层设计列表,该经排名的楼层设计列表包括但不限于相关联楼层的n个设计和相关联的目标值。相关联楼层的n个设计是代表整个楼层的经优化的合并布局的子集的n个最高排名的经优化合并设计。重力设计应用程序然后执行遗传算法,该遗传算法搜索不同楼层的经排名的楼层设计列表以生成结构系统的n个不同的重力设计。
[0323]
随后,结构设计应用程序将栅格生成应用程序配置为基于n个重力设计来生成任何数量的框架栅格。每个框架栅格包括但不限于任何数量的栅格线,抵抗横向荷载的框架将沿着所述栅格线对齐。对于每个重力设计,栅格生成应用程序选择连接到至少一个柱的梁并且生成边集,该边集包括但不限于用于每个选定的梁的不同边。栅格生成应用程序然后基于边集中包括的边的方向来生成加权方向集。栅格生成应用程序基于种子设定和聚类数量的不同组合对加权方向集多次执行k均值聚类算法,以生成不同的方向聚类值。随后,栅格生成应用程序将肘部法则启发法应用于方向聚类集以确定肘点并且基于到肘点的距
离对方向聚类集进行排名以生成经排名的方向聚类集列表。对于最高排名的方向聚类集中包括的每个聚类,栅格生成应用程序生成基本方向,该基本方向等于与聚类的质心相关联的方向。
[0324]
栅格生成应用程序基于边集中包括的边的方程和相关联重力设计的目标值来生成加权方程集。对于每个基本方向,栅格生成应用程序确定包括但不限于大致平行于基本方向的加权方程的对应加权方程子集。对于每个加权方程子集,栅格生成应用程序使用k均值聚类算法和肘部法则启发法来生成经排名的方程聚类集列表。栅格生成应用程序然后基于经排名的方程聚类集列表来生成任何数量的框架栅格。对于每个基本方向,每个框架栅格包括但不限于大致平行于基本方向的一个或多个栅格线。
[0325]
对于一个重力设计和一个框架栅格的每个独特组合,结构设计应用程序将迭代优化应用程序的不同实例配置为生成结构系统的不同结构设计和相关联的建筑物目标值。在考虑重力和建筑物风荷载的同时基于约束和目标函数对结构系统的每个结构设计进行优化。
[0326]
迭代优化应用程序的每个实例包括但不限于框架规范应用程序的不同实例和迭代大小设定应用程序的不同实例。在操作中,迭代优化应用程序经由框架规范应用程序和迭代大小设定应用程序来执行任何数量的设计优化迭代。
[0327]
为了执行第一设计优化迭代,迭代优化应用程序将重力设计、框架栅格和任何数量的风向输入到框架规范应用程序中。作为响应,框架规范应用程序生成框架系统规范,该框架系统规范指定但不限于对每个风向提供横向阻力的至少一个框架的位置。随后,迭代优化应用程序将重力设计、框架系统规范、建筑物风荷载、约束和目标函数输入到迭代大小设定应用程序中。作为响应,迭代优化应用程序生成结构设计的第一版本并且计算相关联的建筑物目标值。
[0328]
为了执行任何数量的后续设计优化迭代中的每一者,迭代优化应用程序将在先前设计优化迭代期间计算的建筑物目标值输入到框架规范应用程序中。作为响应,框架规范应用程序重新生成框架系统规范。随后,迭代优化应用程序将重力设计、重新生成的框架系统规范、建筑物风荷载、约束和目标函数输入到迭代大小设定应用程序中。作为响应,迭代优化应用程序生成结构设计的新版本并且计算相关联的建筑物目标值。
[0329]
在第一设计优化迭代期间,对于每个风向,框架规范应用程序基于框架栅格和重力设计来生成不同的潜在框架位置集。每个潜在框架位置集包括但不限于潜在框架的不同子集相对于重力设计的位置,其中子集是互斥的。基于重力设计,框架规范应用程序将建筑物荷载质心设置为等于建筑物的所有楼层上的总恒荷载。对于每个风向,框架规范应用程序然后基于建筑物荷载质心将相关联的潜在框架位置集分为左框架组和右框架组。
[0330]
框架规范应用程序配置遗传算法以基于与先前迭代相关联(且由迭代大小设定应用程序计算)的建筑物目标值分别迭代地且共同地优化左框架组和右框架组的左框架计数和右框架计数。每个左框架计数是遗传算法的设计变量,该设计变量可在从1到相关联左框架组中的位置总数的范围内。类似地,每个右框架计数是遗传算法的设计变量,该设计变量可在从1到相关联右框架组中的位置总数的范围内。
[0331]
仍在第一设计迭代期间,框架规范应用程序使遗传算法随机地确定左框架计数和右框架计数。对于每个左框架组,框架规范应用程序按距建筑物荷载质心的距离减小的次
序选择来自左框架组的位置的相关联左框架计数。类似地,对于每个右框架组,框架规范应用程序按距建筑物荷载质心的距离减小的次序选择来自右框架组的位置的相关联右框架计数。框架规范应用程序然后生成框架系统规范,该框架系统规范包括但不限于选定的位置。
[0332]
在每个后续设计优化迭代期间,框架规范应用程序接收在先前的设计优化迭代期间由迭代大小设定应用程序计算的建筑物目标值。框架规范应用程序将建筑物目标值输入到遗传算法中。作为响应,遗传算法重新确定左框架计数和右框架计数。基于左框架计数和右框架计数,框架规范应用程序重新生成框架系统规范。
[0333]
在每个设计优化迭代期间,迭代大小设定应用程序基于重力设计、与设计优化迭代相关联的框架系统规范、约束、目标函数和建筑物风荷载来生成结构设计。结构设计根据任何数量的约束指定抵抗活荷载、恒荷载和建筑物风荷载的结构系统。迭代大小设定应用程序还基于目标函数来计算结构设计的建筑物目标值。
[0334]
在操作中,迭代大小设定应用程序基于框架系统规范来修改重力设计,以生成包括但不限于框架系统的当前结构设计。源自框架系统规范的任何数量的框架规范中的每一个指定但不限于当前结构设计中包括的经由刚性接头互连的一组一个或多个梁和一个或多个柱。迭代大小设定应用程序还将当前结构设计的板、梁和柱的构件横向荷载初始化为零。
[0335]
随后,迭代大小设定应用程序定义并解决嵌套优化问题以基于目标函数、约束、重力和建筑物风荷载来优化当前结构设计中包括的梁和柱的大小设定。迭代大小设定应用程序包括但不限于结构系统迭代控制器、框架系统迭代控制器和框架迭代引擎。
[0336]
结构系统迭代控制器执行任何数量的顶部循环迭代以解决嵌套优化问题的顶层并且从而解决嵌套优化问题。为了开始顶部循环迭代,结构系统迭代控制器执行基于梯度的梁优化算法,该基于梯度的梁优化算法基于目标函数和约束来迭代地优化梁的大小设定数据,从而在每次迭代之后更新恒荷载,同时保持构件风荷载固定。随后,结构系统迭代控制器执行基于梯度的柱优化算法,该基于梯度的柱优化算法基于目标函数和约束来迭代地优化柱的大小设定数据,从而在每次迭代之后更新恒荷载,同时保持构件风荷载固定。
[0337]
框架系统迭代控制器然后将框架系统迭代控制器配置为执行任何数量的中间循环迭代以相对于顶部循环迭代解决嵌套优化问题的中间层。解决嵌套优化问题的中间层对应于基于建筑物风荷载来优化框架系统中的柱和梁的大小设定。
[0338]
为了开始每个中间循环迭代,框架系统迭代控制器将建筑物风荷载分布在当前结构设计中包括的框架上,以生成每个框架的一个或多个框架横向荷载。对于每个框架,框架系统迭代控制器将框架迭代引擎的不同实例配置为相对于中间循环迭代独立地解决嵌套优化问题的底层。解决给定框架的嵌套优化问题的底层对应于优化经由对应的框架规范指定的梁和柱的大小设定,同时保持相关联的框架横向荷载固定。
[0339]
框架迭代引擎执行任何数量的底部循环迭代,以相对于中间循环迭代解决给定框架的嵌套优化的底层。为了开始每个底部循环迭代,框架迭代引擎基于与框架相关联的框架横向荷载和垂直荷载来生成框架的弯矩图和剪力图。框架迭代引擎然后基于弯矩图、剪力图、目标函数和约束来迭代地且共同地优化框架中的梁和柱的大小设定。在框架迭代引擎优化梁和柱的大小设定之后,完成底部循环迭代。
[0340]
框架迭代引擎可以任何技术上可行的方式确定是否执行另一个底部循环迭代。如果框架迭代引擎未执行另一个底部循环迭代,那么框架迭代引擎向框架系统迭代控制器指示框架迭代引擎已经相对于中间循环迭代解决了框架的嵌套优化问题的底层。
[0341]
在框架系统迭代控制器确定完成相对于中间循环迭代的框架系统中的每个框架的嵌套优化问题的底层之后,框架系统迭代控制器确定是否执行另一个中间循环迭代。如果框架系统迭代控制器不执行另一个中间循环迭代,那么框架系统迭代控制器向结构系统迭代控制器指示框架系统迭代控制器已经相对于顶部循环迭代解决了嵌套优化问题的中间层。
[0342]
结构系统迭代控制器可以任何技术上可行的方式确定是否执行另一个顶部循环迭代。如果结构系统迭代控制器不执行另一个顶部循环迭代,那么结构系统迭代控制器将设计优化迭代的结构设计设置为等于当前结构设计。系统迭代控制器还计算结构设计的建筑物目标值。迭代大小设定应用程序然后将结构设计和建筑物目标值提供到迭代优化应用程序,并且完成设计优化迭代。
[0343]
作为响应,迭代优化应用程序确定是否执行另一个设计优化迭代。迭代优化应用程序可以任何技术上可行的方式确定何时执行另一个设计优化迭代(例如,建筑物目标值何时达到目标值)。如果迭代优化应用程序不执行另一个设计优化应用程序,那么迭代优化应用程序将结构设计的最新版本和相关联的建筑物目标值提供到结构设计应用程序。
[0344]
在迭代优化应用程序的所有实例将结构设计和相关联的建筑物目标值提供到结构设计应用程序之后,结构设计应用程序生成经排名的结构设计列表。结构设计应用程序然后以任何技术上可行的方式将经排名的结构设计的任何部分存储和/或传输到任何数量和/或类型的软件应用程序。
[0345]
所公开的技术相对于现有技术的至少一个技术优势在于,利用所公开的技术,可自动地探索建筑物的结构系统的设计空间,以生成在满足设计约束的同时更收敛于设计目标的结构设计。就这点而言,利用所公开的技术,通过将总体设计优化问题分解为任何数量的布局和重力设计优化问题、框架栅格优化问题、框架系统定义优化问题以及垂直和横向荷载设计优化问题,结构设计应用程序可高效且系统地探索结构系统的设计空间,以识别针对设计目标优化的区域。此外,相对于常规的cad应用程序,使用经训练的机器学习模型和/或设计和结构引擎基础来评估设计决策并动态地丢弃较差的局部设计使得结构设计应用程序能够探索设计空间是更有针对性且因此更有效的方式。因此,增加了针对设计目标适当地优化结构设计的可能性。这些技术优点提供优于现有技术方法的一个或多个技术改进。
[0346]
1.在一些实施方案中,一种用于生成建筑物的结构系统的一个或多个框架栅格的计算机实现的方法包括:基于所述结构系统的计算机辅助设计来确定边集;基于所述边集来执行一个或多个聚类操作以确定第一多个基本方向;基于所述边集和所述第一多个基本方向中包括的第一基本方向来确定第一边子集;基于所述第一边子集来执行一个或多个聚类操作以确定与所述第一基本方向相关联的第一多个栅格线;以及基于所述第一多个栅格线和与所述第一多个基本方向中包括的第二基本方向相关联的第二多个栅格线来生成所述结构系统的第一框架栅格。
[0347]
2.如条款1所述的计算机实现的方法,其中确定所述边集包括生成在所述计算机
辅助设计中指定的连接到在所述计算机辅助设计中指定的至少一个柱的每个梁的边。
[0348]
3.如条款1或2所述的计算机实现的方法,其中基于所述边集来执行所述一个或多个聚类操作包括:基于所述边集来确定多个加权方向;针对多个聚类设置中包括的每个聚类设置对所述多个加权方向执行聚类算法,以生成多个方向聚类集;对所述多个方向聚类集执行肘部法则启发法以确定肘点;以及基于所述多个方向聚类集和所述肘点来计算所述第一多个基本方向。
[0349]
4.如条款1至3中任一项所述的计算机实现的方法,其中计算所述第一多个基本方向包括:基于到所述肘点的多个距离来对所述多个方向聚类集执行一个或多个排名操作,以确定最高排名的方向聚类集;以及基于所述最高排名的方向聚类集来确定所述第一多个基本方向。
[0350]
5.如条款1至4中任一项所述的计算机实现的方法,其中基于所述第一边子集来执行所述一个或多个聚类操作包括:基于所述第一边子集来确定第一加权方程子集;对所述第一加权方程子集执行k均值聚类算法以生成多个方程聚类;以及基于所述多个方程聚类来生成所述第一多个栅格线。
[0351]
6.如条款1至5中任一项所述的计算机实现的方法,其中确定所述第一加权方程子集包括:基于所述第一边子集中包括的第一边来确定第一方程;以及基于所述第一方程以及量化所述结构系统的一个或多个设计目标的目标函数的第一值或与所述第一边相关联的长度中的至少一者来生成第一加权方程。
[0352]
7.如条款1至6中任一项所述的计算机实现的方法,其中所述第一多个栅格线中包括的第一栅格线与所述结构系统的所述计算机辅助设计相关联,并且所述第一多个栅格线中包括的第二栅格线与所述结构系统的另一个计算机辅助设计相关联。
[0353]
8.如条款1至7中任一项所述的计算机实现的方法,其中所述建筑物包括多个楼层,并且所述第一框架栅格与所述多个楼层中包括的至少一个楼层相关联。
[0354]
9.如条款1至8中任一项所述的计算机实现的方法,其中确定所述第一边子集包括选择所述边集中包括的具有在所述第一基本方向的容差量内的方向的每个边。
[0355]
10.如条款1至9中任一项所述的计算机实现的方法,所述计算机实现的方法还包括基于所述第一多个栅格线和与所述第二基本方向相关联的第三多个栅格线来生成所述结构系统的第二框架栅格。
[0356]
11.在一些实施方案中,一种或多种非暂时性计算机可读介质包括指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器通过执行以下步骤来生成建筑物的结构系统的一个或多个框架栅格:基于所述结构系统的计算机辅助设计来确定边集;基于所述边集来执行一个或多个聚类操作以确定第一多个基本方向;基于所述边集和所述第一多个基本方向中包括的第一基本方向来确定第一边子集;基于所述第一边子集来执行一个或多个聚类操作以确定与所述第一基本方向相关联的第一多个栅格线;以及基于所述第一多个栅格线和与所述第一多个基本方向中包括的第二基本方向相关联的第二多个栅格线来生成所述结构系统的第一框架栅格。
[0357]
12.如条款11所述的一种或多种非暂时性计算机可读介质,其中确定所述边集包括:基于所述结构系统的多个计算机辅助设计来确定至少两组边;以及从所述至少两组边的并集确定所述边集。
[0358]
13.如条款11或12所述的一种或多种非暂时性计算机可读介质,其中基于所述边集来执行所述一个或多个聚类操作包括:基于所述边集来确定多个加权方向;对所述多个加权方向执行k均值聚类算法以生成多个方向聚类;以及基于所述多个方向聚类来确定所述第一多个基本方向。
[0359]
14.如条款11至13中任一项所述的一种或多种非暂时性计算机可读介质,其中基于所述第一边子集来执行所述一个或多个聚类操作包括:基于所述第一边子集来确定多个加权方程;针对多个聚类设置中包括的每个聚类设置对所述多个加权方程执行聚类算法,以生成多个方程聚类集;基于所述多个方程聚类集执行肘部法则启发法以确定肘点;以及基于所述肘点和所述多个方程聚类集来计算所述第一多个栅格线。
[0360]
15.如条款11至14中任一项所述的一种或多种非暂时性计算机可读介质,其中计算所述第一多个栅格线包括:基于到所述肘点的多个距离来对所述多个方程聚类集执行一个或多个排名操作,以确定最高排名的方程聚类集;以及基于所述最高排名的方程聚类集来确定所述第一多个栅格线。
[0361]
16.如条款11至15中任一项所述的一种或多种非暂时性计算机可读介质,其中所述第一多个栅格线中包括的第一栅格线与所述结构系统的所述计算机辅助设计相关联,并且所述第一多个栅格线中包括的第二栅格线与所述结构系统的另一个计算机辅助设计相关联。
[0362]
17.如条款11至16中任一项所述的一种或多种非暂时性计算机可读介质,其中所述建筑物包括多个楼层,并且所述第一框架栅格与所述多个楼层中包括的每个楼层相关联。
[0363]
18.如条款11至17中任一项所述的一种或多种非暂时性计算机可读介质,其中确定所述第一边子集包括选择所述边集中包括的具有在所述第一基本方向的容差量内的方向的每个边。
[0364]
19.如条款11至18中任一项所述的一种或多种非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括基于所述第一多个栅格线和与所述第二基本方向相关联的第三多个栅格线来生成所述结构系统的第二框架栅格。
[0365]
20.在一些实施方案中,一种系统包括:一个或多个存储器,所述一个或多个存储器存储指令;以及一个或多个处理器,所述一个或多个处理器耦合到所述一个或多个存储器,所述一个或多个处理器在执行所述指令时执行以下步骤:基于建筑物的结构系统的计算机辅助设计来确定边集;基于所述边集来执行一个或多个聚类操作以确定第一多个基本方向;基于所述边集和所述第一多个基本方向中包括的第一基本方向来确定第一边子集;基于所述第一边子集来执行一个或多个聚类操作以确定与所述第一基本方向相关联的第一多个栅格线;以及基于所述第一多个栅格线和与所述第一多个基本方向中包括的第二基本方向相关联的第二多个栅格线来生成所述结构系统的第一框架栅格。
[0366]
权利要求中的任一项阐述的权利要求要素中的任一者和/或本技术中描述的任何要素以任何方式进行的任何和所有组合都落在实施方案和保护的设想范围内。
[0367]
已经出于说明目的呈现了对各种实施方案的描述,但是这些描述并不意图是详尽的或限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。本发明实施方案的方面可体现为系
统、方法或计算机程序产品。因此,本公开的各方面可采用全硬件实施方案、全软件实施方案(包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施方案的形式,所述软件和硬件方面在本文中可全部概括地称为“模块”、“系统”或“计算机”。另外,本公开中描述的任何硬件和/或软件技术、过程、功能、部件、引擎、模块或系统都可被实现为电路或一组电路。此外,本公开的方面可采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有在其上体现的计算机可读程序编解码器。
[0368]
可利用一个或多个计算机可读介质的任何组合。每个计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可为例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置,或者前述项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下项:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器、只读存储器、可擦除可编程只读存储器、闪存存储器、光纤、便携式光盘只读存储器、光学存储装置、磁性存储装置,或前述项的任何合适的组合。在本文档的背景中,计算机可读存储介质可以是可含有或存储供指令执行系统、设备或装置使用或者结合指令执行系统、设备或装置使用的程序的任何有形介质。
[0369]
以上参考根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图图解和/或框图描述了本公开的方面。将理解,可通过计算机程序指令来实现流程图图解和/或框图中的每个框以及流程图图解和/或框图中的框的组合。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器。指令在经由计算机或其他可编程数据处理设备的处理器执行时使得实现流程图和/或框图的一个或多个框中指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、特定用途处理器或现场可编程门阵列。
[0370]
附图中的流程图和框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示包括用于实现指定的逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。还应注意,在一些替代实现方式中,框中指出的功能可不按附图中指出的次序发生。例如,连续示出的两个框实际上可基本上同时执行,或者所述框有时可按相反的次序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图解中的每个框以及框图和/或流程图图解中的框的组合可由执行指定功能或动作的基于专用硬件的系统或专用硬件与计算机指令的组合来实现。
[0371]
尽管前述内容涉及本公开的实施方案,但是在不脱离本公开的基本范围的情况下可设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求书确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献