当前位置: 首页 > news >正文

Gmsh应用程序编程接口

        Gmsh应用程序编程接口(API)允许将Gmsh库集成到使用C++、C、Python、Julia或Fortran编写的外部应用程序中。从设计上讲,Gmsh API是纯粹功能性的,并且仅使用目标语言的基本类型。

        API的结构反映了底层的Gmsh数据模型(也请参见源代码结构):

        有两个主要的数据容器:模型(包含几何和网格数据)和视图(包含后处理数据)。这些容器分别通过顶级命名空间gmsh/model和gmsh/view中的API函数进行操作。

        其他顶级命名空间包括gmsh/option(处理所有选项)、gmsh/plugin(处理对Gmsh核心功能的扩展)、gmsh/graphics(处理绘图)、gmsh/fltk(处理图形用户界面)、gmsh/parser(处理Gmsh解析器)、gmsh/onelab(处理ONELAB参数和与外部代码的通信)以及gmsh/logger(处理信息日志记录)。

        几何数据由模型实体组成,称为点(0维实体)、曲线(1维实体)、曲面(2维实体)或体积(3维实体)。模型实体通过边界表示法存储:体积由一组曲面界定,曲面由一系列曲线界定,曲线由两个端点界定。体积和曲面还可以存储较低维度的嵌入实体,以强制后续网格与内部特征(如曲面中间的点)一致。模型实体通过一对整数进行标识:它们的维度(0、1、2或3)和它们的标签(严格为正的唯一标识符)。当处理可能具有不同维度的多个几何实体时,API将它们打包为(维度,标签)整数对的向量。物理组是模型实体的集合,也通过它们的维度和标签进行标识。不直接引用模型的操作在当前模型上执行。

        模型实体可以是CAD实体(来自内置的geo内核或OpenCASCADE occ内核)或离散实体(由网格定义)。CAD实体的操作直接在其各自的CAD内核中执行(即使用gmsh/model/geo或gmsh/model/occ命名空间中的函数),因为Gmsh不跨CAD格式进行转换,而是直接访问原生表示。CAD实体必须与模型同步才能进行网格划分,或者更一般地说,以便在gmsh/model/geo或gmsh/model/occ之外的函数能够操作它们。1D和2D网格划分算法使用底层几何曲线或曲面的参数化来生成网格。离散实体可以在显式重新计算其参数化的情况下重新网格划分。

        网格数据由元素(点、线、三角形、四边形、四面体、六面体、棱柱体、金字塔等)组成,这些元素由其节点的有序列表定义。元素和节点通过标签(严格为正的唯一标识符)进行标识,并存储在它们所离散的模型实体中。一旦进行了网格划分,0维模型实体(几何点)将包含一个类型为点的网格元素(MSH类型15:参见MSH文件格式),以及一个网格节点。模型曲线将包含线元素(例如,对于一阶或二阶网格,分别为MSH类型1或8)以及其内部节点,而其边界节点将存储在界定的模型点中。模型曲面将包含三角形和/或四边形元素以及所有不在其边界或其嵌入实体(曲线和点)上分类的节点。模型体积将包含四面体、六面体等,以及所有不在其边界或其嵌入实体(曲面、曲线和点)上分类的节点。这种数据模型允许轻松且高效地处理共形网格的创建、修改和销毁。所有与网格相关的函数都在gmsh/model/mesh命名空间中提供。

        后处理数据由视图组成。每个视图通过标签进行标识,也可以通过其索引访问(当视图被排序、添加或删除时,索引可能会更改)。视图存储显示选项和数据,除非视图是另一个视图的别名(在这种情况下,它只存储显示选项,并且数据指向引用视图)。视图数据可以包含多个步骤(例如,以存储时间序列),并且可以与一个或多个模型相关联(存储在MSH文件中的基于网格的数据:参见MSH文件格式)或与任何模型无关(存储在解析的POS文件中的基于列表的数据:参见后处理脚本命令)。存在各种插件来修改和创建视图。

相关文章:

Gmsh应用程序编程接口

Gmsh应用程序编程接口(API)允许将Gmsh库集成到使用C、C、Python、Julia或Fortran编写的外部应用程序中。从设计上讲,Gmsh API是纯粹功能性的,并且仅使用目标语言的基本类型。 API的结构反映了底层的Gmsh数据模型(也请参…...

DP 203 学习笔记

考试内容总览 Learning Objects: 工具 Designing and implementing data storage 1. Storage Azure Synapse Analytics Azure Databricks Azure Data Lake Storage Gen2(ADLS2,可代替Hadoop Distributed File System也就是HDFS) 2. Shard Partition data store …...

SQLite 事务

SQLite 事务 SQLite 是一种轻量级的数据库管理系统,广泛用于各种应用程序中,特别是在移动设备和嵌入式系统中。它支持标准的 SQL 语法,包括事务处理。事务是数据库管理系统中的一个重要概念,它允许将一系列操作作为一个单独的工作单元来处理,以确保数据库的一致性和可靠性…...

LabVIEW和Alicat Scientific质量流量计实现精确流量控制

在现代工业自动化和科研实验中,精确的气体流量控制至关重要。这里将介绍一个使用LabVIEW与Alicat Scientific公司的质量流量计实现流量控制的项目。项目采用Alicat Scientific的质量流量计(型号:M-200SCCM-D),通过LabV…...

2024-07-19 Unity插件 Odin Inspector10 —— Misc Attributes

文章目录 1 说明2 其他特性2.1 CustomContextMenu2.2 DisableContextMenu2.3 DrawWithUnity2.4 HideDuplicateReferenceBox2.5 Indent2.6 InfoBox2.7 InlineProperty2.8 LabelText2.9 LabelWidth2.10 OnCollectionChanged2.11 OnInspectorDispose2.12 OnInspectorGUI2.13 OnIns…...

Go操作Redis详解

文章目录 Go操作Redis详解来源介绍Redis支持的数据结构Redis应用场景Redis与Memcached比较准备Redis环境go-redis库 安装连接普通连接连接Redis哨兵模式连接Redis集群基本使用set/get示例zset示例Pipeline事务WatchGo操作Redis详解 来源 https://www.liwenzhou.com/posts/Go/…...

钡铼Modbus TCP耦合器BL200实现现场设备与SCADA无缝对接

前言 深圳钡铼技术推出的Modbus TCP耦合器为SCADA系统与现场设备之间的连接提供了强大而灵活的解决方案,它不仅简化了设备接入的过程,还提升了数据传输的效率和可靠性,是工业自动化项目中不可或缺的关键设备。本文将从Modbus TC、SCADA的简要…...

数据分析入门:用Python和Numpy探索音乐流行趋势

一、引言 音乐是文化的重要组成部分,而音乐流行趋势则反映了社会文化的变迁和人们审美的变化。通过分析音乐榜单,我们可以了解哪些歌曲或歌手正在受到大众的欢迎,甚至预测未来的流行趋势。Python作为一种强大的编程语言,结合其丰…...

数仓工具—Hive语法之替换函数和示例

Hive 替换函数和示例 默认情况下,并没有可用的 Hive 替换函数。如果在处理字符串时需要替换特定值,例如垃圾值,字符串操作函数替换是非常需要的。在本文中,我们将检查 Hive 替换函数 的替代方法,以便在需要时使用。 如前所述,Apache Hive 不提供替换函数的支持。但是,…...

[SUCTF 2019]EasySQL1

这是一个简单的SQL注入题,但是因为我的SQL基础约等于0,所以做起来很难。 首先试试引号是否被过滤 可以看到单引号、双引号都被过滤了,试试其他的盲注都不行,基本上可以确定不能用这种方法。 在测试的过程中发现,输入…...

elasticsearch, kibana, 6.8.18 版本下的创建索引,指定timestamp,java CRUD,maven版本等

ELK 这一套的版本更迭很快, 而且es常有不兼容的东西出现, 经常是搜一篇文章,看似能用,拿到我这边就不能用了。 很是烦恼。 我这边的ELK版本目前是 6.8.18,这次的操作记录一下。 (涉密内容略有删改&#xf…...

无人机侦察:二维机扫雷达探测设备技术详解

二维机扫雷达探测设备采用机械扫描方式,通过天线在水平方向和垂直方向上的转动,实现对目标空域的全方位扫描。雷达发射机发射电磁波信号,遇到目标后产生反射,反射信号被雷达接收机接收并处理,进而得到目标的位置、速度…...

未来互联网的新篇章:深度解析Web3技术

随着技术的飞速发展,Web3作为新一代互联网技术范式,正在重新定义我们对互联网的认知和使用方式。本文将深入探讨Web3技术的核心概念、关键特征以及其在未来互联网发展中的潜力和影响,为读者打开Web3时代的大门。 Web3技术的核心概念和特征 1…...

vst 算法R语言手工实现 | Seurat4 筛选高变基因的算法

1. vst算法描述 (1)为什么需要矫正 image source: https://ouyanglab.com/singlecell/basic.html In this panel, we observe that there is a very strong positive relationship between a gene’s average expression and its observed variance. I…...

阿里通义千问大模型Qwen2-72B-Instruct通用能力登顶国内第一!

前言: 中国互联网协会副秘书长裴玮近日在2024中国互联网大会上发布《中国互联网发展报告(2024)》。《报告》指出, 在人工智能领域,2023年我国人工智能产业应用进程持续推进,核心产业规模达到5784亿元。 截至2024年3月&#xff…...

CH04_依赖项属性

第4章:依赖项属性 本章目标 理解依赖项属性理解属性验证 依赖项属性 ​ 属性与事件是.NET抽象模型的核心部分。WPF使用了更高级的依赖项属性(Dependency Property)功能来替换原来.NET的属性,实现了更高效率的保存机制&#xf…...

CentOS 7开启SSH连接

1. 安装openssh-server 1.1 检查是否安装openssh-server服务 yum list installed | grep openssh-server如果有显示内容,则已安装跳过安装步骤,否则进行第2步 1.2 安装openssh-server yum install openssh-server2. 开启SSH 22监听端口 2.1 打开ssh…...

代理伺服器分類詳解

代理伺服器的主要分類 代理伺服器可以根據不同的標準進行分類。以下是幾種常見的分類方式: 按協議分類按匿名性分類按使用場景分類 1. 按協議分類 根據支持的協議類型,代理伺服器可以分為以下幾類: HTTP代理:專門用於處理HTT…...

计数,桶与基数排序

目录 一. 计数排序 概念 步骤思路如下 实现代码如下 时间复杂度与空间复杂度 1. 时间复杂度 2. 空间复杂度 计数排序的特点 二. 桶排序 概念 步骤思路如下 实现代码如下 时间复杂度与空间复杂度 1. 时间复杂度 2. 空间复杂度 桶排序的特点 三. 基数排序 概念 步…...

unity渲染人物模型透明度问题

问题1:有独立的手和衣服的模型,但最终只渲染出来半透明衣服 问题2:透明度贴图是正确的但显示却不正确 这上面两个模型的问题都是因为人物模型是一个完整的,为啥有些地方可以正常显示,有些地方透明度却有问题。 其中…...

CH03_布局

第3章:布局 本章目标 理解布局的原则理解布局的过程理解布局的容器掌握各类布局容器的运用 理解 WPF 中的布局 WPF 布局原则 ​ WPF 窗口只能包含单个元素。为在WPF 窗口中放置多个元素并创建更贴近实用的用户男面,需要在窗口上放置一个容器&#x…...

【Oracle】Oracle中的merge into

目录 解释使用场景语法示例案例一案例二 MERGE INTO的优缺点优点:缺点: 注意事项附:Oracle中的MERGE INTO实现的效果,如果改为用MySQL应该怎么实现注意 解释 在Oracle数据库中,MERGE INTO是一种用于对表进行合并&…...

【论文阅读笔记】In Search of an Understandable Consensus Algorithm (Extended Version)

1 介绍 分布式一致性共识算法指的是在分布式系统中,使得所有节点对同一份数据的认知能够达成共识的算法。且算法允许所有节点像一个整体一样工作,即使其中一些节点出现故障也能够继续工作。之前的大部分一致性算法实现都是基于Paxos,但Paxos…...

CentOS 7 网络配置

如想了解请查看 虚拟机安装CentOS7 第一步:查看虚拟机网络编辑器、查看NAT设置 (子网ID,网关IP) 第二步:配置VMnet8 IP与DNS 注意事项:子网掩码与默认网关与 第一步 保持一致 第三步:网络配置…...

2024 React 和 Vue 的生态工具

react Vue...

AI学习指南机器学习篇-t-SNE模型应用与Python实践

AI学习指南机器学习篇-t-SNE模型应用与Python实践 在机器学习领域,数据的可视化是非常重要的,因为它可以帮助我们更好地理解数据的结构和特征。而t-SNE(t-distributed Stochastic Neighbor Embedding)是一种非常强大的降维和可视…...

小试牛刀-Telebot区块链游戏机器人

目录 1.编写目的 2.实现功能 2.1 Wallet功能 2.2 游戏功能 2.3 提出功能 2.4 辅助功能 3.功能实现详解 3.1 wallet功能 3.2 游戏功能 3.3 提出功能 3.4 辅助功能 4.测试视频 Welcome to Code Blocks blog 本篇文章主要介绍了 [Telebot区块链游戏机器人] ❤博主…...

使用github actions构建多平台electron应用

1. 创建electron项目 使用pnpm创建项目 pnpm create quick-start/electron 2. 修改electron-builder.yml文件 修改mac的target mac:target:- target: dmgarch: universal 3. 添加workflow 创建 .github/workflows/main.yml 文件 name: Build/release Electron appon:work…...

java通过pdf-box插件完成对pdf文件中图片/文字的替换

需要引入的Maven依赖: <!-- pdf替换图片 --><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>5.1.0</version></dependency> java代码: public AjaxResult replacepd…...

鸿蒙 next 5.0 版本页面跳转传参 接受参数 ,,接受的时候 要先定义接受参数的类型, 代码可以直接CV使用 [教程]

1, 先看效果 2, 先准备好两个页面 index 页面 传递参数 import router from ohos.routerEntry Component struct Index {Statelist: string[] [星期一, 星期二,星期三, 星期四,星期五]StateactiveIndex: number 0build() {Row() {Column({ space: 10 }) {ForEach(this.list,…...

网站怎样做wap端/国通快速建站

第1关:通信簿.csv文件进行查询 本关任务:编写函数cztxb,实现根据姓名对通信录.csv文件查询。输入查询的姓名,若文件中存在该人,显示其信息;当查询的姓名不存在时,显示“查无此人”。 #当前位置的sc文件夹下csv格式文件“通信簿”, #该文件每行记录一个姓名、住址、电话…...

云主机 多个网站/app开发公司推荐

料&#xff01;来源 | zhihu.com/question/309662829Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票&#xff0c;样本量不算大&#xff0c;但也能说明问题。和我答案最后的那些调查图表基本一致。我们看一下Google Trends的数据&#xff1a;搜索条件是这样的&…...

上海建设网站找哪家/爱站网关键词工具

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机考试总结考前必练&#xff01;安全生产模拟考试一点通每个月更新N1叉车司机模拟考试题库题目及答案&#xff01;多做几遍&#xff0c;其实通过N1叉车司机复审模拟考试很简单。 1、【多选题】汽油的主要成分…...

wordpress 评论go跳转/百度官方电话号码

最近跑老外的程序[1] 又出问题了&#xff1a;??? Error: File: computeScores.m Line: 17 Column: 28Unbalanced or unexpected parenthesis or bracket.我用的是Matlab R2009a&#xff0c;识别出了程序里的几处语法错误&#xff1a;img gray2rgb(img); %always have 3 cha…...

南京网站优化公司/乔拓云智能建站官网

space_in_a_car 中的 _ 是 下划线(underscore) 字符。你要自己学会怎样打出这个字符来。这个符号在变量里通常被用作假想的空格&#xff0c;用来隔开单词。cars 100space_in_a_car 4.0drivers 30passengers 90cars_not_driven cars - driverscars_driven driverscarpool_…...

广告设计公司怎么找业务/seo经验

今天准备干什么&#xff1a; 今天准备小组成员在一起讨论第二次冲刺阶段的详细任务 遇到困难没有&#xff1a; 任务分析不清楚&#xff0c;对任务的内容存在疑问。 转载于:https://www.cnblogs.com/ziyixuedie/p/7019761.html...