OpenFOAM2.3.x 圆柱体网格 blockMeshDict

一、使用更高版本的blockMeshDict

1. 设置bashrc

alias of7='source /opt/OpenFOAM-7/OpenFOAM-7/etc/bashrc '
alias of2='export FOAM_INST_DIR=/opt/OpenFOAM
foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.3.x/etc/bashrc
[ -f $foamDotFile ] && . $foamDotFile
export LD_LIBRARY_PATH=$FOAM_INST_DIR/OpenFOAM-2.3.x/platforms/linux64GccDPOpt/lib:$LD_LIBRARY_PATH
source ${foamDotFile}'

2. 切换高版本生成网格

of7
blockMesh

3. 切换低版本检查网格

of2
checkMesh

在这里插入图片描述
在这里插入图片描述

4. blockMeshDict

参考链接:https://www.cnblogs.com/Xiwang-Sun/p/17463243.html

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5                                     |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{version     2.0;format      ascii;class       dictionary;object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;radius      0.15;//圆柱半径
radiusNeg  -0.15;
box         0.06;//box和boxNeg定义中间长方体block的范围
boxNeg     -0.06;
zMax        1.5;//zMax和zMin定义圆柱体的长度
zMin        0.0;nR          12;//扇形block半径上的节点数
nBox        16;//矩形block正方形边上的节点数
nZ          180;//轴向方向上的节点数verbose no;geometry
{cylinder{type      searchableCylinder;point1    (0 0 -0.1);//由point1和point2构成的区域要大于zMax和zMin构成的区域point2    (0 0  6.1);radius    $radius;}
}scale 1;vertices
(// Inner($boxNeg $boxNeg $zMin)//0($box    $boxNeg $zMin)//1($boxNeg $box    $zMin)//2($box    $box    $zMin)//3// Outer block pointsproject ($radiusNeg $radiusNeg $zMin) (cylinder)//4project ($radius    $radiusNeg $zMin) (cylinder)//5project ($radiusNeg $radius    $zMin) (cylinder)//6project ($radius    $radius    $zMin) (cylinder)//7// Inner($boxNeg $boxNeg $zMax)//8($box    $boxNeg $zMax)//9($boxNeg $box    $zMax)//10($box    $box    $zMax)//11// Outer block pointsproject ($radiusNeg $radiusNeg $zMax) (cylinder)//12project ($radius    $radiusNeg $zMax) (cylinder)//13project ($radiusNeg $radius    $zMax) (cylinder)//14project ($radius    $radius    $zMax) (cylinder)//15
);blocks
(hex ( 4  5  1  0 12 13  9  8) ($nBox $nR   $nZ) simpleGrading (1 1 1)hex ( 4  0  2  6 12  8 10 14) ($nR   $nBox $nZ) simpleGrading (1 1 1)hex ( 1  5  7  3  9 13 15 11) ($nR   $nBox $nZ) simpleGrading (1 1 1)hex ( 2  3  7  6 10 11 15 14) ($nBox $nR   $nZ) simpleGrading (1 1 1)hex ( 0  1  3  2  8  9 11 10) ($nBox $nBox $nZ) simpleGrading (1 1 1)
);edges
(project  4  5 (cylinder)project  7  5 (cylinder)project  6  7 (cylinder)project  4  6 (cylinder)project 12 13 (cylinder)project 13 15 (cylinder)project 12 14 (cylinder)project 14 15 (cylinder)
);//boundary
patches
(patch inlet((0 1 3 2)(0 2 6 4)(0 1 5 4)(1 5 7 3)(2 3 7 6))patch outlet((8   9  11  10)(8  10  14  12)(8   9  13  12)(9  13  15  11)(10 11  15  14))wall wall((4  12  14  6)(4   5  13 12)(5  13  15  7)(6   7  15 14))
);// ************************************************************************* //

二、标准算例的cylinder

路径

$FOAM_TUTORIALS/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{version     2.0;format      ascii;class       dictionary;object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //convertToMeters 1;vertices #codeStream
{codeInclude#{#include "pointField.H"#};code#{pointField points(19);points[0]  = point(0.5, 0, -0.5);points[1]  = point(1, 0, -0.5);points[2]  = point(2, 0, -0.5);points[3]  = point(2, 0.707107, -0.5);points[4]  = point(0.707107, 0.707107, -0.5);points[5]  = point(0.353553, 0.353553, -0.5);points[6]  = point(2, 2, -0.5);points[7]  = point(0.707107, 2, -0.5);points[8]  = point(0, 2, -0.5);points[9]  = point(0, 1, -0.5);points[10] = point(0, 0.5, -0.5);points[11] = point(-0.5, 0, -0.5);points[12] = point(-1, 0, -0.5);points[13] = point(-2, 0, -0.5);points[14] = point(-2, 0.707107, -0.5);points[15] = point(-0.707107, 0.707107, -0.5);points[16] = point(-0.353553, 0.353553, -0.5);points[17] = point(-2, 2, -0.5);points[18] = point(-0.707107, 2, -0.5);// Duplicate z pointslabel sz = points.size();points.setSize(2*sz);for (label i = 0; i < sz; i++){const point& pt = points[i];points[i+sz] = point(pt.x(), pt.y(), -pt.z());}os  << points;#};
};blocks
(hex (5 4 9 10 24 23 28 29) (10 10 1) simpleGrading (1 1 1)hex (0 1 4 5 19 20 23 24) (10 10 1) simpleGrading (1 1 1)hex (1 2 3 4 20 21 22 23) (20 10 1) simpleGrading (1 1 1)hex (4 3 6 7 23 22 25 26) (20 20 1) simpleGrading (1 1 1)hex (9 4 7 8 28 23 26 27) (10 20 1) simpleGrading (1 1 1)hex (15 16 10 9 34 35 29 28) (10 10 1) simpleGrading (1 1 1)hex (12 11 16 15 31 30 35 34) (10 10 1) simpleGrading (1 1 1)hex (13 12 15 14 32 31 34 33) (20 10 1) simpleGrading (1 1 1)hex (14 15 18 17 33 34 37 36) (20 20 1) simpleGrading (1 1 1)hex (15 9 8 18 34 28 27 37) (10 20 1) simpleGrading (1 1 1)
);edges
(arc 0 5 (0.469846 0.17101 -0.5)arc 5 10 (0.17101 0.469846 -0.5)arc 1 4 (0.939693 0.34202 -0.5)arc 4 9 (0.34202 0.939693 -0.5)arc 19 24 (0.469846 0.17101 0.5)arc 24 29 (0.17101 0.469846 0.5)arc 20 23 (0.939693 0.34202 0.5)arc 23 28 (0.34202 0.939693 0.5)arc 11 16 (-0.469846 0.17101 -0.5)arc 16 10 (-0.17101 0.469846 -0.5)arc 12 15 (-0.939693 0.34202 -0.5)arc 15 9 (-0.34202 0.939693 -0.5)arc 30 35 (-0.469846 0.17101 0.5)arc 35 29 (-0.17101 0.469846 0.5)arc 31 34 (-0.939693 0.34202 0.5)arc 34 28 (-0.34202 0.939693 0.5)
);boundary
(down{type symmetryPlane;faces((0 1 20 19)(1 2 21 20)(12 11 30 31)(13 12 31 32));}right{type patch;faces((2 3 22 21)(3 6 25 22));}up{type symmetryPlane;faces((7 8 27 26)(6 7 26 25)(8 18 37 27)(18 17 36 37));}left{type patch;faces((14 13 32 33)(17 14 33 36));}cylinder{type symmetry;faces((10 5 24 29)(5 0 19 24)(16 10 29 35)(11 16 35 30));}
);mergePatchPairs
(
);// ************************************************************************* //

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

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

相关文章

复习打卡大数据篇——Hadoop MapReduce

目录 1. MapReduce基本介绍 2. MapReduce原理 1. MapReduce基本介绍 什么是MapReduce MapReduce是一个分布式运算程序的编程框架&#xff0c;核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff0c;并发运行在Hadoop集群上。 MapRed…

EDGE浏览器每次关闭时再次打开保存的密码就消失如何解决

文章目录 EDGE浏览器每次重启的时候保存的密码都消失如何解决&#xff1f; 打开EDGE浏览器点击三个点 点击设置 点击隐私、搜索和服务 找到选择每次关闭浏览器时要清除的内容 将开启的关闭即可

akamai3.0 wizzair 网站 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…

中间件xxl-job安装

拉取镜像 docker pull xuxueli/xxl-job-admin:2.4.2 创建xxl-job-admin容器 docker create --name xxl-job-admin -p 9099:8080 -e PARAMS"--spring.datasource.urljdbc:mysql://192.168.96.57:3306/xxl_job2Unicodetrue&characterEncodingUTF-8 --spring.dataso…

软考-信息安全-网络安全体系与网络安全模型

4.1 网络安全体系概述 网络安全保障是一项复杂的系统工程&#xff0c;是安全策略&#xff0c;多种技术&#xff0c;管理方法和人员安全素质的综合。 4.1.1 网络安全体系概念 现代的网络安全问题变化莫测&#xff0c;要保障网络系统的安全&#xff0c;应当把相应的安全策略&a…

低代码开源项目Joget的研究——Joget8社区版安装部署

大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory&#xff08;非必须&#xff0c;如果后续保存再配置&#xff09;编译下载tomcat启动下载aspectjweaver移动jw…

flask后端开发(2):URL与视图

目录 URL定义request获取请求参数 gitcode地址&#xff1a; https://gitcode.com/qq_43920838/flask_project.git URL定义 from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello World!app.route(/profile) def profile():return 我是个人…

springboot配置oracle+达梦数据库多数据源配置并动态切换

项目场景&#xff1a; 在工作中很多情况需要跨数据库进行数据操作,自己总结的经验希望对各位有所帮助 问题描述 总结了几个问题 1.识别不到mapper 2.识别不到xml 3.找不到数据源 原因分析&#xff1a; 1.配置文件编写导致识别mapper 2.配置类编写建的格式有问题 3.命名…

docker redis安装

一.镜像拉取 docker pull redis:5.0新建文件 touch /home/redis/redis.conf touch /home/redis/redis_6379.pid # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1protected-mode noport 6379tcp-backlog 511requirepass roottimeout 0tcp-keepali…

LabVIEW应用在工业车间

LabVIEW作为一种图形化编程语言&#xff0c;以其强大的数据采集和硬件集成功能广泛应用于工业自动化领域。在工业车间中&#xff0c;LabVIEW不仅能够实现快速开发&#xff0c;还能通过灵活的硬件接口和直观的用户界面提升生产效率和设备管理水平。尽管其高成本和初期学习门槛可…

jenkins集成工具(一)部署php项目

目录 什么是CI 、CD Jenkins集成工具 一、Jenkins介绍 二、jenkins的安装和部署 环境部署 安装jenkins 安装gitlab 配置镜像源进行安装 修改密码 安装git工具 上传测试代码 Jenkins部署php项目wordpress 发布php代码 安装插件 测试代码发布 实现发布成功发送邮件…

【Unity3D】ECS入门学习(六)状态组件 ISystemStateComponentData

当需要获知组件是否被销毁时&#xff0c;ECS是没有回调告知的&#xff0c;因此可以将组件继承于ISystemStateComponentData接口&#xff0c;这样即使组件的实体被销毁了&#xff0c;该组件本身是不会消失的&#xff0c;所以可以通过在组件实体销毁后&#xff0c;去设置状态组件…

双柱渐变图背景图

option {backgroundColor: #1b2735,tooltip: {//提示框组件trigger: axis,//触发类型 柱状图axisPointer:{type:shadow} //触发效果 移动上去 背景效果}, xAxis: [//x轴{type: category,//坐标轴类型 离散data: [1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月],//数据axisTick:f…

两种不同的LuaBehaviour生命周期绑定

在学习xLua时&#xff0c;发现xLua和LoxodonFramework的LuaBehaviour稍微有些不同&#xff0c;其中一个点是在调用DoString方法时的区别 1. xLua的版本中 直接使用Lua脚本环境进行绑定&#xff0c;这时候的Lua脚本调用生命周期函数是这样的 直接在Lua脚本中写函数就行 2. Lo…

XDP (eXpress Data Path):在操作系统内核中实现快速、可编程包处理

大家觉得有意义和帮助记得及时关注和点赞!!! 1 引言 1.1 现有方案&#xff08;kernel bypass&#xff09;存在的问题1.2 新方案&#xff1a;给内核网络栈添加可编程能力1.3 新方案&#xff08;XDP&#xff09;的优点1.4 本文组织结构2 相关工作 2.1 用户态轮询 vs. XDP2.2 内核…

XGPT用户帮助手册

文章目录 20242024.12.27 摘要 本文介绍如何使用XGPT软件, XGPT融合了当前最先进的人工智能技术&#xff0c;并专为国内用户优化。 2024 2024.12.27 XGPT v1正式发布, 特色功能: 具备图像文本多模态处理功能包含GPT等最先进模型国内可访问 B站视频介绍 图1 XGPT v1 快照

USB 状态机及状态转换

文章目录 USB 状态机及状态转换连接状态供电状态默认状态地址状态配置状态挂起状态USB 状态机及状态转换 枚举完成之前,USB 设备要经过一系列的状态变化,才能最终完成枚举。这些状态是 连接状态 - attached供电状态 - powered默认状态 - default地址状态 - address配置状态 -…

Simulink的Goto和From标签如何限定作用域

网上有很多关于Goto和From的标签文章&#xff0c;但是很少有人将Goto和From标签如何使用限定作用域的问题 Simulink 中 Goto 和 From 标签作用域设置及使用 在 Simulink 中&#xff0c;Goto 和 From 标签用于传递信号以简化模型的连线结构。通过限定它们的作用域&#xff0c;…

No.29 笔记 | CTF 学习干货

大家好呀&#xff01;我刚参加了美国线上CTF比赛&#xff0c;收获超多&#xff0c;特别感谢老师教我的干货知识。今天就和大家分享我的学习笔记。CTF像刺激冒险&#xff0c;有挑战有惊喜。 学习中我懂了很多知识技能&#xff0c;像密码学、Web安全、Misc题型等&#xff0c;它们…

Etcd注册中心基本实现

Etcd入门 什么是Etcd GitHub&#xff1a;https://github.com/etcd-io/etcd Etcd数据结构与特性 键值对格式&#xff0c;类似文件层次结构。 Etcd如何保证数据一致性&#xff1f; 表面来看&#xff0c;Etcd支持事务操作&#xff0c;能够保证数据一致性。 底层来看&#xff0…