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

py读取dat/plt

importnumpyas npimportmatplotlib.pyplotas pltimportre##1.解析函数 #defparse_tecplot_file(filepath): 解析TECPLOT BLOCK格式数据文件 参数:filepath:文件路径 返回:data_dict:数据字典 header_info:头部信息 withopen(filepath,r)as f:full_textf.read()# 解析头部 header_info{}# 提取变量名 vars_startfull_text.find(VARIABLES )vars_endfull_text.find(ZONE)ifvars_start!-1andvars_end!-1:vars_strfull_text[vars_start12:vars_end]header_info[variables]vars_str.split()# 提取网格尺寸 i_matchre.search(rI\s*\s*(\d),full_text)j_matchre.search(rJ\s*\s*(\d),full_text)ifi_match:header_info[I]int(i_match.group(1))ifj_match:header_info[J]int(j_match.group(1))# 提取数值数据 block_posfull_text.find(DATAPACKING BLOCK)ifblock_pos!-1:data_strfull_text[block_pos20:]values[]fortoken in data_str.split():try:values.append(float(token))except ValueError:continuevaluesnp.array(values)# 按变量分割数据 n_varslen(header_info[variables])n_pointsheader_info[I]*header_info[J]data_dict{}fori,var_name inenumerate(header_info[variables]):start_idxi*n_points end_idxstart_idxn_points data_dict[var_name]values[start_idx:end_idx]returndata_dict,header_info ##2.使用示例 ## 读取数据 data_dict,header_infoparse_tecplot_file(result_0040.dat)# 访问数据print(X.shape,Y.shape,P.shape)Xdata_dict[X].reshape(header_info[J],header_info[I])Ydata_dict[Y].reshape(header_info[J],header_info[I])Pdata_dict[P].reshape(header_info[J],header_info[I])# 可视化 plt.figure(figsize(10,8))plt.contourf(X,Y,P,levels200,cmapRdYlBu_r)#,antialiasedTrue)plt.colorbar(labelPressure)plt.xlabel(X)plt.ylabel(Y)plt.title(Pressure Distribution)plt.axis(equal)plt.show()##3.导出为其他格式 ## 导出为VTK格式 defexport_to_vtk(data_dict,header_info,filename): 导出为VTK格式可用ParaView打开 Iheader_info[I]Jheader_info[J]withopen(filename,w)as f:f.write(# vtk DataFile Version 3.0\n)f.write(CFD Data\n)f.write(ASCII\n)f.write(DATASET STRUCTURED_GRID\n)f.write(fDIMENSIONS {I} {J} 1\n)f.write(fPOINTS {I*J} float\n)# 写入坐标fori inrange(I*J):f.write(f{data_dict[X][i]} {data_dict[Y][i]} 0.0\n)# 写入数据 f.write(fPOINT_DATA {I*J}\n)forvar in header_info[variables]:ifvarnotin[X,Y]:f.write(fSCALARS {var} float 1\n)f.write(LOOKUP_TABLE default\n)forval in data_dict[var]:f.write(f{val}\n)# 导出为CSV格式 defexport_to_csv(data_dict,header_info,filename): 导出为CSV格式 Iheader_info[I]Jheader_info[J]n_pointsI*J withopen(filename,w)as f:# 写入表头 f.write(,.join(header_info[variables])\n)# 写入数据fori inrange(n_points):row[str(data_dict[var][i])forvar in header_info[variables]]f.write(,.join(row)\n)re提取变量值可以通过增大“level”提高分辨率

相关文章:

py读取dat/plt

import numpy as np import matplotlib.pyplot as plt import re# # 1. 解析函数 # def parse_tecplot_file(filepath):"""解析TECPLOT BLOCK格式数据文件参数:filepath: 文件路径返回:data_dict: 数据字典header_info: 头部信息"""with open(f…...

GraphRAG 为什么比传统 RAG 准? 从分块检索到知识图谱增强的工程实践

如果你在企业里落地过 RAG 系统,大概率踩过这个坑:知识库里明明有答案,但 AI 给的要么不完整,要么牛头不对马嘴。根本原因不是模型不够强,而是传统分块检索天然有信息断裂的问题。这篇文章讲清楚这件事的来龙去脉&…...

OWL ADVENTURE在教育培训中的应用:让AI学习更有趣

OWL ADVENTURE在教育培训中的应用:让AI学习更有趣 1. 引言:当AI教育遇见像素艺术 想象一下这样的场景:一群小学生围坐在电脑前,不是在玩游戏,而是在通过一个像素风格的界面与AI进行互动学习。他们上传自己画的涂鸦&a…...

PasteMD实战:3个真实场景手把手教你美化杂乱文本

PasteMD实战:3个真实场景手把手教你美化杂乱文本 1. 为什么你需要PasteMD 在日常工作中,我们经常遇到这些令人头疼的场景: 从会议录音转录的笔记杂乱无章,重要信息淹没在大量口语化表达中复制粘贴的代码片段丢失了原有的格式和…...

高质量AI论文平台推荐,具备智能降重和自然改写能力,帮助规避查重风险

开头总结工具对比(技能4) �� 为帮助学生们快速选出最适合的AI论文工具,我从处理速度、降重效果和核心优势三个维度,对比了6款热门网站,数据基于实际使用案例: 工具名称 处理速度 降…...

WiFiEsp库深度解析:AT模式下ESP8266与Arduino的可靠WiFi驱动

1. WiFiEsp 库深度技术解析:面向嵌入式工程师的 AT 模式 ESP8266 驱动实践指南1.1 工程定位与设计哲学WiFiEsp 是一个面向 Arduino 生态的AT 命令桥接型 WiFi 驱动库,其核心价值不在于替代 ESP8266 的原生 SDK 开发,而在于为传统 MCU&#xf…...

感应电机异步电机定子匝间短路的仿真研究基于Matlab Simulink平台

感应电机 异步电机定子匝间短路仿真 matlab simulink啪嗒一声按下启动键,车间里那台老旧的异步电机突然发出刺耳的蜂鸣声。作为设备维护的老油条,我抄起万用表就往定子绕组上怼——果然,又是该死的匝间短路在作妖。这玩意就像电机的心脏早搏&…...

解决音频延迟与设备冲突:FlexASIO通用驱动配置指南

解决音频延迟与设备冲突:FlexASIO通用驱动配置指南 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitcode.com…...

终极指南:如何在2分钟内通过PowerShell一键安装Windows包管理器Winget

终极指南:如何在2分钟内通过PowerShell一键安装Windows包管理器Winget 【免费下载链接】winget-install Install winget tool using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2022. 项目地址: https://gitcode.com…...

求职招聘小程序平台运营版源码系统-含全功能PHP后台+完整的搭建教程

求职者服务功能视频招聘专区:设有专门的视频招聘板块,求职者可在此浏览企业发布的招聘视频,直观了解企业的工作环境、企业文化等信息,同时也能上传自己的视频简历,增加求职亮点。精准职位搜索:支持求职者通…...

JavaScript基础课程十八、异步编程高级(async/await + 模块化)

本课聚焦前端异步编程终极方案async/await与ES6模块化,是异步编程的收尾与进阶内容。async/await依托Promise,用同步写法实现异步逻辑,彻底解决回调嵌套和链式调用繁琐问题,是当前项目主流异步写法。模块化则解决代码混乱、全局污…...

【大模型RAG02】HyDE 精读

HyDE 精读笔记 Precise Zero-Shot Dense Retrieval without Relevance Labels 一、论文基本信息 论文标题:Precise Zero-Shot Dense Retrieval without Relevance Labels(无需相关标签的精准零样本密集检索) 作者:Luyu Gao, Xueguang Ma, Jimmy Lin, Jamie Callan(卡内基…...

AIGlasses OS Pro 实战:AIGC内容创作中的视觉元素合规性审核

AIGlasses OS Pro 实战:AIGC内容创作中的视觉元素合规性审核 最近和几个做AIGC平台的朋友聊天,他们都在头疼同一个问题:用户每天生成的海量图片和视频,怎么才能又快又准地筛出那些不合规的内容?人工审核团队已经三班倒…...

稳定性平台—版本接维

稳定性平台—版本接维...

DeepSeek-OCR-2部署案例:K8s集群中水平扩展OCR微服务实践

DeepSeek-OCR-2部署案例:K8s集群中水平扩展OCR微服务实践 1. 项目背景与价值 DeepSeek-OCR-2是DeepSeek团队推出的新一代OCR识别模型,采用创新的DeepEncoder V2技术,能够智能理解图像内容并动态重组识别区域,彻底改变了传统OCR从…...

50. 随机数排序

50. 随机数排序 题目描述 生成 N 个 1 到 500 的随机数,你需要删除掉其中重复的数字,即相同的数字只保留一个,把其余相同的数字去掉,然后再把这些数从小到大进行输出。 输入描述 第一行先输入随机整数的个数 N 。 接下来一行包含 …...

vue和nuxt的整合项目报错【Vue warn】: The client-side rendered virtual DOM tree is....并且页面的生命周期函数执行两次,彻底解决方案!

问题描述:当我在做一个查询课程详情的功能时候,想顺便在后台修改课程的浏览量,即让它加1,但发现每次刷新页面,数值竟然增加两次!于是我在这个页面的生命周期函数里面打印东西,发现每次打印的都是…...

如何用Java构建企业级电商聊天系统:MallChat架构深度解析

如何用Java构建企业级电商聊天系统:MallChat架构深度解析 【免费下载链接】MallChat mallchat的后端项目,是一个既能购物又能聊天的电商系统。以互联网企业级开发规范的要求来实现它,电商该有的购物车,订单,支付&#…...

轴承3d模型为什么 WL 迭代在 3 次后就收敛了

很好的问题!让我解释一下为什么 WL 迭代在 3 次后就收敛了。 WL (Weisfeiler-Lehman) 图核收敛原理 核心机制 WL 算法通过迭代细化节点标签来捕获图的结构信息: 迭代 0: 使用初始标签(这里是面类型:圆柱面、圆环面、平面&#xff…...

Windows查看快捷键占用情况

文章目录问题描述解决方案常用快捷键参考文献问题描述 IDE 使用快捷键没反应,却找不出来是哪个程序占用了快捷键(热键),通常是 QQ、网易云音乐等软件的问题。 解决方案 使用 OpenArk,根据文档描述,它可以…...

wl迭代以哪个节点为最后零件点进行计算呢,怎么实现图不变性的

好问题!让我详细解释 WL 迭代的计算机制和图不变性的实现原理。 已查看文件 face_graph_builder.cs 非常好的问题!让我详细解释 WL 迭代的计算机制和图不变性原理: 🔍 WL 迭代的核心机制 ❌ 没有"最后节点"的概念 WL 算…...

mysql数据库的4中隔离级别详解

众所周知MySQL从5.5.8开始,Innodb就是默认的存储引擎,Innodb最大的特点是:支持事务、支持行级锁。 既然支持事务,那么就会有处理并发事务带来的问题:更新丢失、脏读、不可重复读、幻读;相应的为了解决这四个…...

java8特性Stream 常见用法

最近在开发中看到同事使用stream 进行集合的数据转换List<object> ->List<String> List<object> --> Map<Long, object>&#xff0c;感觉十分简单方便&#xff0c;上网找了一下资料学习一下 Java 8 Stream | 菜鸟教程 记录一下我们常见用法 …...

647836

6378452...

Pixel Dimension Fissioner实操手册:实时HP状态与引擎负载可视化监控

Pixel Dimension Fissioner实操手册&#xff1a;实时HP状态与引擎负载可视化监控 1. 工具概览 Pixel Dimension Fissioner是一款基于MT5-Zero-Shot-Augment核心引擎构建的文本增强工具&#xff0c;采用独特的16-bit像素冒险风格界面设计。与传统AI工具不同&#xff0c;它将文…...

matlab基于CNN卷积神经网络的人脸表情情绪识别项目课题,采用GUI界面

matlab基于CNN卷积神经网络的人脸表情情绪识别项目课题&#xff0c;采用GUI界面&#xff0c; 【包括】 matlab源码&#xff0c;可以设置网络结构&#xff0c;训练方式等数据集&#xff08;7类表情&#xff0c;200多张人脸图像&#xff09;GUI界面。可显示整个测试集的结果&…...

AppKit:嵌入式Linux C++应用开发框架

1. 项目概述AppKit 是一个面向嵌入式 Linux 平台的 C14 应用开发框架&#xff0c;其设计目标明确指向两个核心工程诉求&#xff1a;提升应用层开发效率与增强运行时健壮性。在资源受限、实时性要求严苛、长期稳定运行成为刚需的嵌入式 Linux 场景中&#xff0c;开发者常面临重复…...

如何使用 Gherkin 解析器:Behat 测试的终极指南

如何使用 Gherkin 解析器&#xff1a;Behat 测试的终极指南 【免费下载链接】Gherkin Gherkin parser, written in PHP for Behat project 项目地址: https://gitcode.com/gh_mirrors/gh/Gherkin Gherkin 解析器是 Behat 项目的核心组件&#xff0c;它提供了一种简单而强…...

Pixel Dimension Fissioner效果展示:逻辑发散度调控前后的文本质量对比

Pixel Dimension Fissioner效果展示&#xff1a;逻辑发散度调控前后的文本质量对比 1. 工具概览 Pixel Dimension Fissioner是一款基于MT5-Zero-Shot-Augment核心引擎构建的创新型文本改写工具。它将传统AI文本处理功能重构为一个充满活力的16-bit像素冒险工坊&#xff0c;让…...

雪女-斗罗大陆-造相Z-Turbo生成效果对比:不同采样器与迭代步数下的画质差异

雪女-斗罗大陆-造相Z-Turbo生成效果对比&#xff1a;不同采样器与迭代步数下的画质差异 最近在尝试用AI生成一些动漫风格的角色图&#xff0c;特别是像《斗罗大陆》里“雪女”这样气质独特的角色。我发现&#xff0c;用同一个模型&#xff0c;比如“造相Z-Turbo”&#xff0c;…...