CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [blockMesh] Non-physical solution with cylindrical 2D blockMesh with triangle faces (https://www.cfd-online.com/Forums/openfoam-meshing/162909-non-physical-solution-cylindrical-2d-blockmesh-triangle-faces.html)

A_Pete November 20, 2015 04:38

Non-physical solution with cylindrical 2D blockMesh with triangle faces
 
Hey everyone,

we were trying to create a cylindrical 2D mesh with blockMesh to simulate the growth and collapse of a vapour filled bubble. We are using compressibleInterFoam to simulate this case.

First of all I want to mention that we conducted 3D simulations in different variations, which were working (quarter of the bubble, full bubble, etc.), but the blockMesh, where triangle shaped faces are generated at the rotation axis are giving us problems.

We realized this when observing the alpha, p, rho and T values of one of the mentioned cells at the rotation axis. What happens for example is that alpha (which should be limited between 0 and 1) gets very weird values. We also had alpha take values of temperature (293.15, since we were looking at a 20°C=293.15 K case), pressure (100150) or density (1000). This does only occur in cells that are directly positioned at the rotation axis! This error is also not depending on the BCs used for the patches at the rotation axis. Wedge, cyclic and symmetry were all tested and did show similar, but unphysical results. The only time step that seems ok is the 1st one. The following logfile segment shows the beginning of the simulation and the 1st and 2nd time step:

Code:

Starting time loop

Courant Number mean: 8.867466637e-10 max: 0.5000000342
deltaT = 2.055944865e-10
Time = 1.500146959e-06

PIMPLE: iteration 1
Cell coords:    1.612805495e-13 1.640304891e-13 1.913510237e-15
vorher: alpha1[67312] = 1 alpha2[67312] = 0
MULES: Solving for alpha.water
Liquid phase volume fraction = 0.9999999945  Min(alpha.water) = -9.695801158e-313  Min(alpha.air) = -6.287461048e-06
nachher: alpha1[67312] = 0 alpha2[67312] = -6.054774252e-12
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver:  Solving for T, Initial residual = 1.318326449e-09, Final residual = 1.318326449e-09, No Iterations 0
min(T) 292.4490137
p[67312] anfang = 100000.018
GAMG:  Solving for p_rgh, Initial residual = 2.054083e-08, Final residual = 2.054083e-08, No Iterations 0
p[67312] vor max = 100000.018
p[67312] nach max = 4.806515659e-316
rho[67312] neu = 0
max(U) 760.6446982
min(p_rgh) 99514.74334
p[67312] anfang = 4.806515659e-316
GAMGPCG:  Solving for p_rgh, Initial residual = 2.065957267e-08, Final residual = 2.065957267e-08, No Iterations 0
p[67312] vor max = 2.253274591e-11
p[67312] nach max = 100000.018
rho[67312] neu = 1000
max(U) 760.644698
min(p_rgh) 99514.74334
ExecutionTime = 1.56 s


Courant Number mean: 8.869859933e-10 max: 0.5000000341
deltaT = 2.055944724e-10
Time = 1.500352554e-06

PIMPLE: iteration 1
Cell coords:    1.612805495e-13 1.640304891e-13 1.913510237e-15
vorher: alpha1[67312] = 6.035127644e-12 alpha2[67312] = 1560788.058
MULES: Solving for alpha.water
Liquid phase volume fraction = 0.9999999945  Min(alpha.water) = -9.708588392e-313  Min(alpha.air) = -6.330674114e-06
nachher: alpha1[67312] = -2.260223294e-12 alpha2[67312] = 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver:  Solving for T, Initial residual = 1.318397883e-09, Final residual = 1.318397883e-09, No Iterations 0
min(T) 292.4490137
p[67312] anfang = 31.56897883
GAMG:  Solving for p_rgh, Initial residual = 2.054885472e-08, Final residual = 2.054885472e-08, No Iterations 0
p[67312] vor max = 2.055944688e-13
p[67312] nach max = 100000.018
rho[67312] neu = 4.791652699e-17
max(U) 760.6446978
min(p_rgh) 99514.74334
p[67312] anfang = 7.005067646e-11
GAMGPCG:  Solving for p_rgh, Initial residual = 2.06676118e-08, Final residual = 2.06676118e-08, No Iterations 0
p[67312] vor max = 99787.03945
p[67312] nach max = -6.515884913e-18
rho[67312] neu = 99994.42233                                                                                                                                                   
max(U) 760.6446975
min(p_rgh) 99514.74334
ExecutionTime = 2.28 s

These weird values for alpha, p and rho go on for the monitored cell. Below you can find the 4th and 5th time step of the simulation. The 5th time step shows an alpha1 value of 1000 for the current cell, which looks a lot like the density value.

Code:

Courant Number mean: 8.874794592e-10 max: 0.500000034
deltaT = 2.055944444e-10
Time = 1.500763743e-06

PIMPLE: iteration 1
Cell coords:    1.612805495e-13 1.640304891e-13 1.913510237e-15
vorher: alpha1[67312] = 0 alpha2[67312] = -2.260223294e-12
MULES: Solving for alpha.water
Liquid phase volume fraction = 0.9999999944  Min(alpha.water) = -9.734245857e-313  Min(alpha.air) = -6.373648709e-06
nachher: alpha1[67312] = 1000 alpha2[67312] = -6.178980438e-20
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver:  Solving for T, Initial residual = 1.318067292e-09, Final residual = 1.318067292e-09, No Iterations 0
min(T) 292.4490137
p[67312] anfang = 99787.03945
GAMG:  Solving for p_rgh, Initial residual = 2.055732403e-08, Final residual = 2.055732403e-08, No Iterations 0
p[67312] vor max = 99787.03945
p[67312] nach max = 0
rho[67312] neu = -7.487579154e-11
max(U) 760.6446969
min(p_rgh) 99514.74334
p[67312] anfang = 1.467501829e-05
GAMGPCG:  Solving for p_rgh, Initial residual = 2.067606613e-08, Final residual = 2.067606613e-08, No Iterations 0
p[67312] vor max = 2.055682884e-13
p[67312] nach max = -2.547224998e-18
rho[67312] neu = 1.076484758e-10
max(U) 760.6446967
min(p_rgh) 99514.74334
ExecutionTime = 3.64 s


Courant Number mean: 8.877179606e-10 max: 0.500000034
deltaT = 2.055944305e-10
Time = 1.500969337e-06

PIMPLE: iteration 1
Cell coords:    1.612805495e-13 1.640304891e-13 1.913510237e-15
vorher: alpha1[67312] = 1000 alpha2[67312] = -6.180899535e-20
MULES: Solving for alpha.water
Liquid phase volume fraction = 0.9999999944  Min(alpha.water) = -9.74711621e-313  Min(alpha.air) = -6.396872477e-06
nachher: alpha1[67312] = 2.942532846e-17 alpha2[67312] = 1000
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver:  Solving for T, Initial residual = 1.318231582e-09, Final residual = 1.318231582e-09, No Iterations 0
min(T) 292.4490137
p[67312] anfang = -8.972674259e-17
GAMG:  Solving for p_rgh, Initial residual = 2.056271301e-08, Final residual = 2.056271301e-08, No Iterations 0
p[67312] vor max = -8.972674259e-17
p[67312] nach max = 100000.018
rho[67312] neu = -8.972674259e-17
max(U) 760.6446964
min(p_rgh) 99514.74334
p[67312] anfang = -6.156112577e-11
GAMGPCG:  Solving for p_rgh, Initial residual = 2.068144034e-08, Final residual = 2.068144034e-08, No Iterations 0
p[67312] vor max = 5.07486869e-12
p[67312] nach max = 100000.018
rho[67312] neu = -1.467451473e-05
max(U) 760.6446962                                                                                                                                                             
min(p_rgh) 99514.74334
ExecutionTime = 4.35 s


We were thinking about what could cause these values that only show up for cells at the rotation axis (which have kind of triangle faces). Since we need to define hex-cells using 8 points in blockMesh, we were trying out different things. Less than 8 points does obviously not work, so we tried to use the first point for a hex definition twice, since we did not want to place another point anywhere else in between. Do you guys have any experience with these kinds of meshes?

Thanks in advance.

Best regards,
Andreas


All times are GMT -4. The time now is 22:30.