灵武市洁辛蚕丝有限公司
新闻资讯 你的位置:灵武市洁辛蚕丝有限公司 > 新闻资讯 >

这些模式操作起来浅近

发布日期:2024-07-03 17:03    点击次数:202

这些模式操作起来浅近

本文态状在OpenFOAM中编程完满自界说限度类型。

OpenFOAM中不错期骗codeStream、codeFixedValue完满自界说限度上物理场散播。这些模式操作起来浅近,然则功能也较为单一。若念念要完满愈加复杂的限度条目类型,不错通过编程创建新的限度类型。

OpenFOAM中总计的限度条目界说均位于文献夹$FOAM_SRC/finiteVolume/fields/fvPatchFields中,用户不错期骗文献夹中的限度类型为模板,成就我方的限度条目类型。

以一个沿y主义速率成抛物线散播的限度为例,态状在OpenFOAM中新建一个限度条目的基本进程。在充分发展的管说念流动中,轴向速率沿径向散播为:

这里为平均速率;为径向主义坐标,为管说念半径,为圆心坐标。

1 文献准备

翻开Linux末端或Windows WSL,通过底下的号召准备文献。

runfoamNewBC -f -v parabolicVelocitycd parabolicVelocity

这里期骗表情foamNewBC快速构造一个限度条目界说框架。对于foamNewBC的用法,不错使用号召foamNewBC -help进行稽查,如下图所示。

图片

上头的号召中,-f默示创建一个fixedValue型限度;-v默示创建一个矢量限度。

此时在现时旅途下创建了一个名为parabolicVelocity的文献夹,其内文献结构如下图所示。

图片

文献夹parabolicVelocity中包含了一个Make文献夹与parabolicVelocityFvPatchVectorField.C及parabolicVelocityFvPatchVectorField.H文献。这里不需要调动Make文献夹中的任何实质。

2 修改头文献

在头文献parabolicVelocityFvPatchVectorField.H中指定成员变量及构造函数。

删除过剩的成员变量,添加新的成员变量
// 指定最大速率值scalar maxvalue_;// 指定流动主义vector n_;// 指定y坐标主义vector y_;

如下图所示。

图片

预防掉虚函数autoMap与rmap的界说

图片

首页-发州杂果有限公司3 修改源文献

在源文献parabolicVelocityFvPatchVectorField.C中界说功能完满厨房设施。

预防或删掉t()函数在第一个构造函数中添加参数启动化表情代码
厨房设施 0.55) 0px 2px 10px;">// 默许启动化Foam::parabolicVelocityFvPatchVectorField::    parabolicVelocityFvPatchVectorField(        const fvPatch &p,        const DimensionedField<vector, volMesh> &iF)    : fixedValueFvPatchVectorField(p, iF),      maxvalue_(0),      n_(1, 0, 0),      y_(0, 1, 0){}
修改第二个构造函数
Foam::parabolicVelocityFvPatchVectorField::parabolicVelocityFvPatchVectorField(    const fvPatch& p,    const DimensionedField<vector, volMesh>& iF,    const dictionary& dict):    fixedValueFvPatchVectorField(p, iF),    maxvalue_(readScalar(dict.lookup("maxvalue"))),    n_(dict.lookup("n")),    y_(dict.lookup("y")){    Info << "Using the parabolicVelocity boundary condition" << endl;    if (mag(n_) < SMALL 


下一篇:没有了

Powered by 灵武市洁辛蚕丝有限公司 @2013-2022 RSS地图 HTML地图

Copyright 站群系统 © 2013-2024 sswl 版权所有