• 国内唯一专注于CFD的讨论社区

    3 主题
    301 帖子

    感谢岳子老师

  • OpenFOAM交流区

    4k 主题
    26k 帖子

    找到问题所在了:是划分网格时出现的问题,但是仍然解决不了
    如图:blockMeshDict设置相同范围(3000m3000m600m时),但是网格大小不同时(网格大小图一:100m,图二:60m),网格变小会导致划分失败(如图,地面仍然为平面,而不是stl文件)
    图一:
    image.png

    图二:底面变成真实地形

    image.png

  • 基本理论区

    392 主题
    2k 帖子

    0e082965-45f1-4999-9656-7f986d5e2d72-image.png

    全文来源:https://doi.org/10.1016/j.jweia.2017.10.003

    friction velocity都比较熟悉,是壁面处速度无量纲化的一个基本参数,和壁面的切应力相关。有了它,就有了速度沿壁面法向的分布,十分重要。这个量,实验可以测量,仿真的时候也比较好给。

    friction temperature我个人就不是很理解了,传热这块也没这个东西吧,搜了下也没搜到比较系统的解释。虽然看起来是照着摩擦速度构建的一个量,但物理意义是啥?实验可以测量么?

  • Fluent交流区

    871 主题
    4k 帖子

    #include "udf.h"
    #include "unsteady.h"
    #include "profile.h"
    #include <stdio.h>
    #include <stdlib.h>

    #define MAX_POINTS 4000
    #define MAX_TIMESTEPS 997
    #define FILENAME "velocity_data.csv"

    typedef struct {
    double x, y, z;
    double u[MAX_TIMESTEPS];
    } PointData;

    void read_data(PointData* points) {
    FILE* file = fopen(FILENAME, "r");
    if (file == NULL) {
    printf("Error: Could not open file.\n");
    exit(1);
    }

    for (int i = 0; i < MAX_POINTS; i++) { fscanf(file, "%lf,%lf,%lf", &points[i].x, &points[i].y, &points[i].z); for (int j = 0; j < MAX_TIMESTEPS; j++) { fscanf(file, ",%lf", &points[i].u[j]); } } fclose(file);

    }

    DEFINE_PROFILE(unsteady_velocity, thread, position)
    {
    real x[ND_ND];
    real t = CURRENT_TIME;
    int time_step = N_TIME;
    PointData points[MAX_POINTS];
    face_t f;

    read_data(points); begin_f_loop(f, thread) { F_CENTROID(x, f, thread); for (int i = 0; i < MAX_POINTS; i++) { if (x[0] == points[i].x && x[1] == points[i].y && x[2] == points[i].z) { F_PROFILE(f, thread, position) = points[i].u[time_step]; break; } } } end_f_loop(f, thread)

    }

  • 网格交流区

    207 主题
    1k 帖子

    真有用?

  • 有界的CFD!无界的讨论!

    471 主题
    2k 帖子

    李老师,我这边总是有显示不出来的破碎的东西,像是表情