|
[Sponsors] |
January 13, 2024, 11:16 |
A strange problem with the type of mesh
|
#1 |
New Member
WANG Minghao
Join Date: Aug 2021
Posts: 3
Rep Power: 5 |
Hello everyone.
I'm using UDS and source terms to estimate the deposition for further analysis. However, "Divergence detected in AMG solver: uds-0" occurred when I run the code with struct mesh (Hexahedral mesh, created and converted to unstruct mesh in ICEM). The weird thing is that when I run the code with unstruct mesh (tetrahedral mesh), the case run normally. Also, when I let a parameter in the code equal to 0.01(just give it casually for no divergency), the struct mesh can also run the code. I'm wondering how the mesh types can affect the calculation. Dou you guys have any suggestions? Since the code is very very long, I just attached the calculation part for reference. Code:
if (THREAD_TYPE(FaceThread) == THREAD_F_WALL) { F_AREA(Area, face, FaceThread); area = NV_MAG(Area); NV_S(VSettling[ip], =, 0.0); VSettling[ip][2] = -(RhoP[ip] - RhoG) * Dp[ip] * Dp[ip] * 9.81 * Cc[ip] / (18.0 * Mu); VSet = NV_DOT(Area, VSettling[ip]) / area; WallStress = NV_MAG(F_STORAGE_R_N3V(face, FaceThread, SV_WALL_SHEAR)) / area; if (WallStress < 1.0E-5) WallStress = 1.0E-5; VDeposition = CalcDeposition(WallStress, VSet, ip); Source = Source - VDeposition * NV_MAG(Area) / C_VOLUME(cell, thread); } Code:
double CalcDeposition(double WallStress, double VSet, int ip) { double Ustar, Rplus, Vs; double A, B, AI, temp, Vd, Sqrt3; Sqrt3 = sqrt(3); Ustar = sqrt(WallStress / RhoG); Rplus = Dp[ip] * Ustar / (2.0 * MuK); Vs = VSet / Ustar; A = 0.5 * log(pow((10.92 * Sc3[ip] + 4.3), 3.0) / (1.0 / Sc[ip] + 0.0609)) + Sqrt3 * atan((8.6 - 10.92 * Sc3[ip]) / (Sqrt3 * 10.92 * Sc3[ip])); B = 0.5 * log(pow((10.92 * Sc3[ip] + Rplus), 3.0) / (1.0 / Sc[ip] + 7.669E-4 * pow(Rplus, 3.0))) + Sqrt3 * atan((2.0 * Rplus - 10.92 * Sc3[ip]) / (Sqrt3 * 10.92 * Sc3[ip])); AI = 3.642 * pow(Sc[ip], 2.0 / 3.0) * (A - B); if (fabs(VSet) < 1.0E-30) Vd = Ustar / AI; else { temp = MIN(300.0, -Vs * AI); Vd = VSet / (1.0 - exp(temp)); } return Vd; } |
|
January 13, 2024, 12:48 |
|
#2 |
New Member
WANG Minghao
Join Date: Aug 2021
Posts: 3
Rep Power: 5 |
I also have a question for ICEM (2022R1).
When I deleted a curve, I would be warned that "Remeshing? Mesh exists. Remesh attached surfaces?" There are 2 overlapped curves where two faces are adjacent. The warning only occurs once when I delete the 2 overlapped curves. Is that an error? Since I have a mesh that remind me twice for deleting 2 curves. And the struct mesh from this file is ok for the code running, while all of the others crashes with the UDF. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
convergence problem of steady 2D film cooling calculation using chtMultiRegionFoam | ruanyg968tf | OpenFOAM Running, Solving & CFD | 1 | April 10, 2024 03:23 |
reactingMultiphaseEulerFoam | tonnykz | OpenFOAM Running, Solving & CFD | 2 | June 15, 2020 03:09 |
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries | NickG | OpenFOAM Installation | 3 | December 30, 2019 01:21 |
time step continuity problem in VAWT simulation | lpz_michele | OpenFOAM Running, Solving & CFD | 5 | February 22, 2018 20:50 |
fluent add additional zones for the mesh file | SSL | FLUENT | 2 | January 26, 2008 12:55 |