Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

A

ACHLALALA

@ACHLALALA
关于
帖子
3
主题
1
群组
0
粉丝
0
关注
0

帖子

最新

  • OpenFOAM11设置codedFixedValue边界
    A ACHLALALA

    李老师您好,这是两个文件里的,第一个是定义C4H6质量分数,第二个是定义边界速度


  • OpenFOAM11设置codedFixedValue边界
    A ACHLALALA

    大佬们好,我想在OpenFOAM11中添加一个根据流固耦合边界温度和热通量改变物质分数和速度的边条。
    尝试了一下,能运行,但是后处理发现很明显边界温度Tw还没有到我代码中设置的Tw0=432K,物质分数就变成1了
    而且监测该边界的质量通量一直是0,应该是U一直是0。
    个人感觉可能是调用字典文件的问题,但不知道该怎么改
    有没有大佬愿意帮忙看一下,感谢!

    gas_to_solid
    	{
    		type            codedFixedValue;
    		name            fuelInject;
    		value           uniform 0;
    		codeInclude
    	    	#{
    			#include "solver.H"			//OpenFOAM11里求解器中带的头文件,感觉可以用来替代fvCFD.H
    			#include <cmath>
    			#include <iostream>
    		#};
    		codeOptions
    		#{
    		-I$(LIB_SRC)/finiteVolume/lnInclude \
    		-I$(LIB_SRC)/meshTools/lnInclude
    		#};
    		codeLibs
    		#{
    		-lmeshTools \
    		-lfiniteVolume
    		#};
    		code
    		#{
    			const fvMesh& mesh = this->patch().boundaryMesh().mesh();
    			label patchID = mesh.boundaryMesh().findPatchID("gas_to_solid");
    			const polyPatch& myPatch = mesh.boundaryMesh()[patchID];
    			
    	    		const scalar Tw0	= 432;			//K		//定义开始分解温度
    	    		const scalarField& Tw	= mesh.lookupObject<scalarField>("T");		//获取壁面温度
    			
    			forAll(myPatch, faceI) // loop over all the patch faces
    			{
    				if (Tw[faceI] > Tw0)
    				{
    					(*this)[faceI]		= 1;
    				}
    				else
    					(*this)[faceI]		= 0;
    			}
    		#};
    	}
    
    gas_to_solid
    	{
    		type            codedFixedValue;
    		name            fuelinlet;
    		value           uniform (0 0 0);
    		redirectType	inletLaminarSquareProfile;
    		codeInclude
    		#{
    			#include "solver.H"
    			#include <cmath>
    			#include <iostream>
    		#};
    		codeOptions
    		#{
    		-I$(LIB_SRC)/finiteVolume/lnInclude \
    		-I$(LIB_SRC)/meshTools/lnInclude
    		#};
    		codeLibs
    		#{
    		-lmeshTools \
    		-lfiniteVolume
    		#};
    		code
    		#{
    			const fvMesh& mesh = this->patch().boundaryMesh().mesh();
    			label patchID = mesh.boundaryMesh().findPatchID("gas_to_solid");
    			const polyPatch& myPatch = mesh.boundaryMesh()[patchID];
    			
    			const scalar rho_s	= 927;			//kg/m^3
    	    		const scalar L_v	= 1819000;		//J/kg
    	    		const scalar Tw0	= 432;			//K		//定义开始分解温度
    	    		
    	    		const scalarField& Tw	= mesh.lookupObject<scalarField>("T");			//获取壁面温度
    	    		const scalarField& rho_g = mesh.lookupObject<scalarField>("rho");		//获取壁面上方气体密度
    	    		const scalarField& q = mesh.lookupObject<scalarField>("qr");			//获取壁面热通量
    			
    			forAll(myPatch, faceI) // loop over all the patch faces
    			{
    				if (Tw[faceI] >= Tw0)
    				{
    			    		const scalar r		= q[faceI] / (rho_s * L_v);
    					const scalar U_y	= rho_s / rho_g[faceI] * r;
    					(*this)[faceI]		= vector(0, U_y, 0);
    				}
    				else
    					(*this)[faceI]		= vector(0, 0, 0);
    			}
    		#};
    		
          	}
    

    以下是计算过程中某时刻该边界上方第一层网格内的结果
    2024-07-03_23-58.png


  • 求问如何在自定义边界条件中获取之前时刻的物理量数值
    A ACHLALALA

    @李东岳 东岳老师您有研究of11的边界条件codestream吗,我想根据边界的温度值计算入口速度,不知道是不是11改了太多,编译出来一直都有问题

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]