基于数字孪生的城市建模和仿真

近年来,数字孪生概念几乎呈爆炸式增长,利用该概念的科学文章数量呈指数级增长就证明了这一点。 这一概念源自制造业,使用 CAD 模型可以创建组件和产品的精确数字复制品。 该术语最早的使用可以追溯到 2003 年,通常归功于 Grieves 和 Vickers,但可以找到更早的对该概念的引用;当然,物理系统的数学模型和最近的数字模型对科学和工程都具有巨大重要性的认识可以追溯到几个世纪前。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

1、定义数字孪生

那么什么是数字孪生呢? 在科学文献中,甚至在商业叙述中,“数字孪生”是一个非常有弹性的概念,用于标记可能符合或可能不符合数字孪生所有标准的技术或系统。 数字孪生是否需要包含 3D 模型? 数字孪生是否需要包含实时传感器数据? 数字孪生是否需要包括数学建模和仿真?

查看针对数字孪生概念提出的众多定义中的一些定义是有启发性且有趣的,因为似乎存在一些趋同于普遍接受的定义的趋势。 例如,现在大多数定义都认为数字孪生是物理系统的模型,它实时镜像物理系统并能够对物理系统进行分析和预测。 因此,数字孪生可用于分析物理系统(“是什么”)并预测其在给定假设下的未来行为(“可能是什么”)。

这个定义与 Rasheed 等人的定义部分重叠。 (2020):“数字孪生被定义为通过数据和模拟器实现物理资产的虚拟表示,用于实时预测、优化、监控、控制和改进决策。” IBM 使用了类似的定义:“数字孪生是一个对象或系统的虚拟表示,它跨越其生命周期,根据实时数据进行更新,并使用模拟、机器学习和推理来帮助决策。” 后两个定义强调了可用于实现数字孪生的预测功能的两种技术:模拟和机器学习。

图 1:根据地籍和点云数据生成的 3D 四面体体积网格的边界细节

Glaessgen 和 Stargel (2012) 在早期关于数字孪生的文献中经常看到一个定义:“数字孪生是对竣工系统的集成多物理场、多尺度、概率模拟,该系统使用现有的最佳物理系统。 模型、传感器更新,[...],以反映其相应的[物理]双胞胎的生活。” 维基百科给出了一个稍微简单一些的定义:“数字孪生是一种虚拟表示,充当物理对象或过程的实时数字对应物。”

在数字城市领域,斯托特等人。 (2021) 强调使用 3D 城市模型作为数字孪生的重要组成部分:“[数字孪生]应基于 3D 城市模型,包含具有几何和语义信息的对象; 它应该包含实时传感器数据; 它应该整合各种分析和模拟,以便能够做出最佳的设计、规划和干预决策。” 这一定义提醒我们建筑环境中创建城市和建筑物 3D 模型的悠久传统,这些模型可以通过语义数据进行丰富并用作分析的基础,包括日光和能源分析以及模拟等 交通、风力舒适度或空气质量等因素。 在建筑环境中,传统术语是“3D 城市模型”,直到最近,数字孪生概念才开始被接受为一个有用的概念,并且超越了 3D 城市模型。

2、原始数据

创建城市数字孪生的起点是获取原始数据。 该数据可以通过点云形式的航空扫描来创建。 然后处理点云以创建 2D 或 3D 城市模型。 不同国家/地区的数据访问方式有所不同,并且可能并不总是开放或免费提供。 在瑞典,瑞典测绘、地籍和土地登记机构 Lantmäteriet 提供(收费)一系列数据集,包括整个瑞典的点云和二维地图。 与此同时,更详细、更高质量的数据集(包括 3D 模型)由当地市政当局拥有。 在荷兰,情况有所不同。 3D 基址寄存器地址和建筑物 (BAG) 提供对全国所有 1000 万座建筑物的 3D 模型的免费开放访问。 此外,该数据集会定期自动重建,以提供整个国家的最新 3D 模型。

图 2:DTCC 模拟城市风舒适度的初步结果(在虚幻引擎中渲染)

3、数据模型

要构建具有一定复杂性和用途的数字孪生,必须考虑使用哪种数据模型来定义数字孪生。 请注意,这与用于模拟和预测的数学模型不同。 数据模型的选择决定了可以表示哪些数据,以及数字孪生可以支持哪些用例。 数据模型是某个本体的实现,由实现显式或隐式定义。 本体论定义了如何根据类、属性和关系来描述和理解数字孪生的数据。 已经为城市建模提出了几种数据模型和相应的交换格式。 其中最著名的是 CityGML,它是开放地理空间联盟 (OGC) 的标准。 相关的 CityJSON 格式(也是 OGC 标准)是 CityGML 模型的简化且对程序员更加友好的编码。

许多城市建模数据模型的共同点是细节级别 (LOD) 的概念。 这一概念使数据模型能够存储具有不同细节级别(几何分辨率)的城市的不同表示,以用于不同的目的。 数字孪生中多个细节层次的共存强调了数字孪生确实是它所镜像的物理系统的模型,并且数字表示及其准确性取决于数字孪生设计的用例 、数据质量和可用的计算资源。

图 3:哥德堡查尔姆斯理工大学校园数字孪生的可视化(在虚幻引擎中渲染)

4、数据生成

数字孪生的不同用例通常需要非常不同的数据表示。 对于城市建模,如果询问建筑师或计算科学家,对高质量 3D 模型的构成的理解可能会有很大差异。 对于建筑师来说,高质量的 3D 模型可能意味着一组详细的表面网格,用于描述城市的地形及其建筑物的几何形状。 表面网格可能既不一致又不匹配,因为网格主要用于可视化和简单计算(例如日光分析)。 另一方面,对于计算科学家来说,高质量 3D 模型可能意味着低分辨率、边界拟合且一致的体积网格,可用于运行计算流动力学 (CFD) 模拟等。

瑞典数字孪生城市中心 (DTCC) 的团队目前正在开发一个开源平台,用于表示和生成城市数字孪生的高质量数据模型。 关键步骤之一是从地籍和点云数据高性能生成高质量的表面网格和四面体体积网格(图 1)。 这允许为瑞典的任何部分(或具有兼容数据的世界任何其他部分)简单高效地生成 3D 模型。 网格生成目前仅限于 LOD1 模型,这意味着建筑物表示为多边形棱柱(平屋顶)。 然而,我们正在努力将网格生成扩展到 LOD2 模型,包括基于使用机器学习技术从正射照片中分割屋顶的非平坦屋顶形状。

图 4:作为哥德堡市中心区域数字孪生一部分的道路网络的可视化(在虚幻引擎中渲染)

5、建模与仿真

由于任何城市都可以使用计算网格,因此很自然地会考虑使用基于物理的建模和模拟来实现高级分析和预测。 可能与城市研究相关的物理现象示例包括城市风舒适度(街道层面的风况)、空气质量、噪声和电磁场(用于网络覆盖分析)。

DTCC 目前正在研究的此类模拟的一个例子是城市风舒适度的模拟。 该模拟使用 IPS IBOFlow 的雷诺平均纳维-斯托克斯 (RANS) 方程的浸入边界法。 当前的重点是对先前在风洞中研究的城市风模拟基准案例的模拟结果进行验证和验证。 一些初步结果如图 2 所示。DTCC 目前正在研究的基于物理的建模和模拟的其他示例包括空气质量、街道噪音、人群运动的模拟,以及基于软粘土弹塑性模型的岩土工程模拟。 哥德堡的地下。

6、可视化

城市规模的数据可视化本身就是一个正在进行的研究领域。 物理信息,例如风流和空气质量(即污染物浓度),需要以最终用户可以理解的方式表示,但又不能过度简化科学结果。 结果的有效沟通需要研究人员、开发人员和最终用户/利益相关者都参与的多次设计迭代。 DTCC 积极与瑞典交通运输局等主要利益相关者合作开展研究项目,探索如何最好地将模拟结果传达给不同的用户群体。 可视化领域正在进行的研究项目侧重于数据导出、准备、捆绑、均质化和传播的不同解决方案。 测试和使用了不同的图形引擎,例如 Unreal Engine 和 OpenGL,以及基于 Mapbox、CesiumJS 和 Babylon.js 的各种 Web 应用程序实现。

图 5:作为哥德堡市中心区域数字孪生一部分的体数据可视化(在虚幻引擎中渲染)

7、技术挑战

为城市这样复杂的事物创建数字孪生涉及许多挑战。 由于城市本身是一个复杂的系统,不仅涉及城市的街道和建筑物,还涉及城市的居民、街道上行驶的汽车、与周围环境(风和水)的相互作用以及地下基础设施 ——这一点有时会被忽视,但却非常重要——城市数字孪生的创建同样复杂,这是很自然的。 因此,构建数字孪生的任务必然是一个必须涉及许多不同学科的专家的项目。 构建数字孪生所涉及的技术挑战将涉及来自不同学科的团队成员之间协作的跨学科挑战,以及已经建立的跨学科或特定领域的技术挑战,例如如何最有效地为一个人实施有限元求解器 许多数学模型共同构成了多物理场模型,即数字孪生。

8、非技术挑战

抛开技术挑战不谈,DTCC 迄今为止遇到的主要挑战都与数据有关:

  • 跨组织的数据所有权:数据通常既不免费也不开放。 组织,甚至市政当局,都不愿意自由共享他们的数据,因为他们在某些时候在收集和整理数据方面投入了大量资金。 世界不同地区的情况有所不同; 在某些情况下(例如在荷兰),数据确实是免费和开放的。
  • 跨学科的数据质量:正如上面提到的架构师与计算科学家使用的网格示例一样,某个数据集对于特定用例可能被认为是高质量的,但对于另一个用例来说可能是非常低质量的 。
  • 跨时间的数据可持续性:数字孪生的创建必须被理解为一个过程而不是一个项目。 有很多例子表明,城市、市政当局和其他组织投资创建 3D 模型甚至数字孪生的项目,却在几年(甚至几个月)后意识到数字孪生不再反映物理实体。 因为现实在不断变化。 将数字孪生与物理孪生重新连接的唯一方法是投资一个成本高昂的新项目。 因此,创建数字孪生的过程必须自动化,以便能够不断重建和再生。

图 6:哥德堡郊区数字孪生的可视化(使用 WebGL 渲染)


原文链接:数字孪生城市建模和仿真 - BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3第二十节(新增编译宏defineModel)

为什么会需要使用defineModel() 注意:defineModel() 需要在3.4及以上版本才可使用; 组件之间通讯,通过 props 和 emits 进行通讯,是单向数据流,比如:props是自上而下的(父组件数据修改导致子组件更新&…

生成人工智能体:人类行为的交互式模拟论文与源码架构解析(2)——架构分析 - 核心思想环境搭建技术选型

4.架构分析 4.1.核心思想 超越一阶提示,通过增加静态知识库和信息检索方案或简单的总结方案来扩展语言模型。 将这些想法扩展到构建一个代理架构,该架构处理检索,其中过去的经验在每个时步动态更新,并混合与npc当前上下文和计划…

【动态规划】切割钢条详解python

1. 问题介绍和应用场景 切割钢条问题是运筹学和算法设计中的一个经典问题,涉及如何最优化切割有限资源以最大化收益。这个问题经常用作动态规划教学的入门案例,同时在工业生产中也有实际应用,比如在金属加工业中如何切割原材料以减少浪费并增…

EelasticSearch是什么?及EelasticSearch的安装

一、概述 Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计,提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的…

Jmeter三个常用组件

Jmeter三个常用组件 一、线程组二、 HTTP请求三、查看结果树 线程组:jmeter是基于线程来运行的,线程组主要用来管理线程的数量,线程的执行策略。 HTTP请求:HTTP请求是jmeter接口测试的核心部分,主要使用HTTP取样器来发…

Android 12 如何加载 native 原生库

在 Android 7.0 及更高版本中,系统库与应用库是分开的。 图1. 原生库的命名空间 原生库的命名空间可防止应用使用私有平台的原生 API(例如使用 OpenSSL)。该命名空间还可以避免应用意外使用平台库(而非它们自己的库)的…

ES源码四:网络通信层流程

听说ES网络层很难?今天来卷它😄 前言 ES网络层比较复杂,分为两个部分: 基于HTTP协议的REST服务端基于TCP实现的PRC框架 插件化设计的网络层模块(NetworkModule) 入口还是上一章的创建Node构造方法的地方…

【MySQL 安装与配置】Window简单安装MySQL,并配置局域网连接

文章日期:2024.04.17 系统:Window10 || Window11 类型:安装与配置MySQL数据库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js…

系统稳定性建设

说到系统稳定性,不知道大家会想起什么?大多数人会觉得这个词挺虚的,不知道系统稳定性指的是什么。 一年前看到这个词,也是类似于这样的感受,大概只知道要消除单点、做好监控报警,但却并没有一个体系化的方…

记录一下我102连不上MySQL的问题 NotBefore

【背景描述】我在102上是能登录上MySQL的,但是用客户端(DataGrip、SQLyog就连不上) 【解决方案】 加个这个?useSSLfalse&serverTimezoneUTC 【另外的小问题】如果直接输mysql 上面这个不是报错,不用管 再输mysql -uroot -p…

upload-labs靶场详解

靶场环境 下载链接:https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master 使用小皮集成环境来完成这个靶场 将文件放到WWW目录下就可以进行访问 进入关卡后页面呈现: Pass-01(前端绕过) 我们先尝试上传一个web.…

[svelte]属性和逻辑块

属性 / Default values • Svelte 教程 | Svelte 中文网 属性 Declaring props 到目前为止,我们只处理了内部状态——也就是说,这些值只能在给定的组件中访问。 在任何实际应用程序中,都需要将数据从一个组件向下传递到其子组件。为此&…

【Spring】-编程式事务和声明式事务

spring中控制事务的方式有两种:编程式事务和声明式事务,今天我以两种事务出发,对spring中实现事务的EnableTransactionManagement和Transaction两个注解的底层原理进行讨论。 一、编程式事务 什么是编程式事务? 硬编码的方式实现…

Adobe将Sora、Runway、Pika,集成在PR中

4月15日晚,全球多媒体巨头Adobe在官网宣布,将OpenAI的Sora、Pika 、Runway等著名第三方文生视频模型,集成在视频剪辑软件Premiere Pro中(简称“PR”)。 同时,Adob也会将自身研发的Firefly系列模型包括视频…

【Python】高级进阶(专版提升3)

Python 1 程序结构1.1 模块 Module1.1.1 定义1.1.2 作用1.1.3 导入1.1.3.1 import1.1.3.2 from import 1.1.4 模块变量1.1.5 加载过程1.1.6 分类 1.2 包package1.2.1 定义1.2.2 作用1.2.3 导入1.1.3.1 import1.1.3.2 from import 2 异常处理Error2.1 异常2.2 处理 3 迭代3.1 可…

Three.js 入门——核心概念和坐标系理解

Three.js 是什么? 一个封装了 WebGL 的库,简化 WebGL 的使用 WebGL vs OpenGL OpenGL 主要被认为是一种 API(应用程序编程接口),它为我们提供了大量可用于操作图形和图像的函数,主要用 C语言编写的。 然…

python辅助QQ登入

python辅助QQ登入 import pyautogui import time import random from pyautogui import ImageNotFoundException# 生成随机等待时间,范围在1到3秒之间 random_time random.uniform(1, 3)def find_and_click(image_path, moveFalse, execute_nextTrue):try:image_l…

【QT学习】7.事件,把文本显示在页面中(文本可变),鼠标指针切换,鼠标左键右键按下,qt设置背景样式

0.创建项目,事件的创建 1.事件的位置 2.这就是多态,子类重写父类函数,子类调用子类函数,也可以调用父类函数。但同函数名 1.要求:文本显示在页面中(文本可变) 1.文本显示在页面的核心代码 主要步…

DRF requets源码分析

【四】requets源码分析 【1】查看request传递的数据 (1)视图层 编写传输数据的接口查看request方法的参数 class BookAPIView(APIView):def get(self, request, *args, **kwargs):return Response({body: request.body, data: request.data, post: r…

【Web】DASCTF X GFCTF 2022十月挑战赛题解

目录 EasyPOP hade_waibo EasyLove BlogSystem EasyPOP 先读hint.php sorry.__destruct -> secret_code::secret() exp: $anew sorry(); $bnew secret_code(); $a->password"suibian"; $a->name"jay"; echo serialize($a); 真暗号啊&…