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

openwrt做网站做企业网站 签合同要注意什么

openwrt做网站,做企业网站 签合同要注意什么,网站开发的国内外现状,WORDPRESS添加注册登入功能文章目录 解析OpenFOAM polymesh网格文件的C/C程序实现OpenFOAM polymesh文件结构基本解析方法1. 解析points文件2. 解析faces文件 解析cellZones文件C解析实现 完整示例程序注意事项 解析OpenFOAM polymesh网格文件的C/C程序实现 OpenFOAM的polymesh网格文件采用特定的文本格… 文章目录 解析OpenFOAM polymesh网格文件的C/C程序实现OpenFOAM polymesh文件结构基本解析方法1. 解析points文件2. 解析faces文件 解析cellZones文件C解析实现 完整示例程序注意事项 解析OpenFOAM polymesh网格文件的C/C程序实现 OpenFOAM的polymesh网格文件采用特定的文本格式下面我将介绍如何用C/C解析这些文件特别是cellZones文件。 OpenFOAM polymesh文件结构 典型的polymesh目录包含以下文件 points (顶点坐标)faces (面定义)owner/neighbour (面与单元的邻接关系)boundary (边界条件)cellZones (单元区域定义) 基本解析方法 1. 解析points文件 #include iostream #include fstream #include vector #include string #include sstreamstruct Point {double x, y, z; };std::vectorPoint readPoints(const std::string filename) {std::vectorPoint points;std::ifstream file(filename);std::string line;// 跳过文件头while (std::getline(file, line) line.find(FoamFile) ! std::string::npos) {while (std::getline(file, line) line ! }) {}}// 读取点数size_t numPoints;std::getline(file, line); // 读取点数行std::istringstream iss(line);iss numPoints;std::getline(file, line); // 跳过括号// 读取点数据points.reserve(numPoints);for (size_t i 0; i numPoints; i) {std::getline(file, line);Point p;std::istringstream iss(line);iss p.x p.y p.z;points.push_back(p);}return points; }2. 解析faces文件 struct Face {std::vectorsize_t vertices; };std::vectorFace readFaces(const std::string filename) {std::vectorFace faces;std::ifstream file(filename);std::string line;// 跳过文件头while (std::getline(file, line) line.find(FoamFile) ! std::string::npos) {while (std::getline(file, line) line ! }) {}}// 读取面数size_t numFaces;std::getline(file, line);std::istringstream iss(line);iss numFaces;std::getline(file, line); // 跳过括号// 读取面数据faces.reserve(numFaces);for (size_t i 0; i numFaces; i) {std::getline(file, line);std::istringstream iss(line);size_t nVertices;iss nVertices;Face face;face.vertices.resize(nVertices);for (size_t j 0; j nVertices; j) {iss face.vertices[j];}faces.push_back(face);}return faces; }解析cellZones文件 cellZones文件定义了网格中的区域分组格式如下 FoamFile {version 2.0;format ascii;class regIOobject;location constant/polyMesh;object cellZones; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //1 ( heater {type cellZone;cellLabels Listlabel 400(0 1 2 3 ... 399); } )C解析实现 #include map #include vectorstruct CellZone {std::string name;std::string type;std::vectorsize_t cellLabels; };std::mapstd::string, CellZone readCellZones(const std::string filename) {std::mapstd::string, CellZone zones;std::ifstream file(filename);std::string line;// 跳过文件头while (std::getline(file, line) line.find(FoamFile) ! std::string::npos) {while (std::getline(file, line) line ! }) {}}// 跳过注释行while (std::getline(file, line) line.find(//) ! std::string::npos) {}// 读取区域数量size_t numZones;std::istringstream iss(line);iss numZones;// 跳过括号std::getline(file, line);for (size_t i 0; i numZones; i) {CellZone zone;// 读取区域名称std::getline(file, line);zone.name line.substr(1, line.length() - 2); // 去掉引号// 跳过开始括号std::getline(file, line);// 读取typestd::getline(file, line);size_t pos line.find(type);zone.type line.substr(pos 6); // type 2个空格zone.type zone.type.substr(0, zone.type.find(;));// 读取cellLabelsstd::getline(file, line);while (line.find(cellLabels) std::string::npos) {std::getline(file, line);}// 读取列表大小size_t numCells;std::getline(file, line);std::istringstream iss(line);iss numCells;// 跳过括号std::getline(file, line);// 读取单元索引zone.cellLabels.reserve(numCells);for (size_t j 0; j numCells; j) {size_t cell;file cell;zone.cellLabels.push_back(cell);}// 添加到mapzones[zone.name] zone;// 跳过区域结束括号while (std::getline(file, line) line ! }) {}}return zones; }完整示例程序 #include iostream #include fstream #include vector #include string #include sstream #include map// 前面定义的结构体和函数...int main() {// 读取points文件auto points readPoints(constant/polyMesh/points);std::cout Read points.size() points. std::endl;// 读取faces文件auto faces readFaces(constant/polyMesh/faces);std::cout Read faces.size() faces. std::endl;// 读取cellZones文件auto cellZones readCellZones(constant/polyMesh/cellZones);std::cout Read cellZones.size() cell zones. std::endl;// 输出第一个区域的信息if (!cellZones.empty()) {auto firstZone cellZones.begin()-second;std::cout First zone: firstZone.name , type: firstZone.type , cells: firstZone.cellLabels.size() std::endl;}return 0; }注意事项 文件路径OpenFOAM的网格文件通常位于constant/polyMesh目录下。 错误处理实际应用中应添加更完善的错误处理检查文件是否存在、格式是否正确。 性能优化对于大型网格可以考虑内存映射文件或并行读取。 OpenFOAM版本不同版本的OpenFOAM可能有细微的文件格式差异需要适当调整解析逻辑。 边界处理完整解析还需要处理boundary文件方法与cellZones类似。 内存管理对于特别大的网格可能需要分块读取或使用更高效的数据结构。 这个实现提供了基本的解析框架您可以根据具体需求进行扩展和优化。
http://www.dnsts.com.cn/news/163869.html

相关文章:

  • 做网站的皮包公司企业管理咨询有限公司的经营范围
  • 做曖网站水利枢纽门户网站建设方案
  • 新兴县建设局网站企业网站的开发背景
  • 优秀企业网站建设价格做网站工资还没有文员高
  • 岱岳区网站设计做网站的品牌公司有哪些
  • 网站开发checklist模板湘潭seo优化价格
  • 怀来建设局网站seo自学
  • 沧浪公司网站建设电话wordpress 外勤人员
  • 网站怎么优化呢广州个人网站建设公司
  • 设计对网站的重要性广安 网站建设
  • wordpress做淘宝客网站wordpress视频幻灯片
  • 搜索 贵州省住房和城乡建设厅网站电影网站开发视频
  • 网站广告出价平台网站与手机app是一体吗
  • 家具公司网站页面设计模板cc网站域名注册
  • 西宁手机微网站上海网站建设商城
  • 加建网网站学历提升中心
  • 适合seo的建站系统贵阳官网建设价格
  • 流媒体网站开发教程百度推广业务员电话
  • 开封做网站优化wordpress外贸建站公司
  • 广州 网站开发 app广州牌手表网站
  • 未来做那个网站能致富怎样查看网站是用什么cms 做的
  • mp3链接地址制作网站莱阳网页设计
  • 成都网站开发培训多少钱南宁网站推广
  • 建设银行温州分行网站江苏网站建设网络推广
  • 网站备案个人转企业网站开发知识视频教程
  • 宁波网站建设设计报告wordpress 高级字段
  • 网站的后台地址1688域名网站
  • 福州品牌网站设计乐清建网站
  • 网站建成提高wordpress+权重
  • 高端网站建站公司怎样开电商线上店