CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   [BuoyantSimpleFoam] Turbinesiting+Solar Load case crashes (solver/boundary issue) (https://www.cfd-online.com/Forums/openfoam-solving/253380-buoyantsimplefoam-turbinesiting-solar-load-case-crashes-solver-boundary-issue.html)

Burak_1984 December 9, 2023 13:13

[BuoyantSimpleFoam] Turbinesiting+Solar Load case crashes (solver/boundary issue)
 
2 Attachment(s)
Greetings Forum Users

If possible I would like to get your opinion on a project that I am a bit stuck at. I am using OpenFOAM v2306. I scavenged mostly some parts from turbinesiting tutorial and solar radiation with trees tutorial mainly. I am aiming at a steadyState solution.

Generally speaking, I am trying to run a turbinesiting tutorial case on a custom terrain with the addition of solar load (thus heat). My solver of choice is buoyantSimpleFoam since it is able to handle solar radiation and buoyancy effects. There is an inflow of wind from “inlet” with atmospheric boundary layer inflow used.

I use also Coriolis force and temperature limiter(300-500 K) in the fvOptions.

I was able to run the “simpleFoam” version as in turbinesiting tutorial with no problems. It converges fine without the thermal additions.

https://imagizer.imageshack.com/img922/3446/Zzp6OH.png

When I use the buyoantSimpleFoam the pressure, temperature and flow velocities all become very high. It is obvious that when one becomes high the others will follow :) but I don’t know which one I have problems with.

I have two regions on the bottom side which used to be named “terrain” in the turbinesiting tutorial now are two pieces “inner” and “outer”. This is for the sole purpose of increasing mesh resolution in the “inner” domain.

My blockmesh has a cellsize of 200m. In the snappyHexMesh I use refine by distance for both inner ( 5th level=6.25 m) and outer (2nd level= 50 m resolution). Then I do a layer addition (inner 10 layers outer 2 layers).This brings the cell resolution down to;

patch faces layers overall thickness
[m] [%]
----- ----- ------ --- ---
inner 260544 0.381 0.41 1.31
outer 222947 0.651 8.53 12.8

I hope this is sufficient to capture boundary layer interaction with the atmosphere.

Here is my meshing file output;

https://drive.google.com/file/d/1WUY...ew?usp=sharing
Attached you can see my checkMesh results [CheckMesh_LOG]

I use the solar load module.Without any secondary multi regions I select

solidCoupled false;
wallCoupled true; // maybe that could be a problem in the future
//but I did a case solar load off with same results.
solverFreq 1;

Right now I am using a 1m/s flow in the +Y direction but I intend to use 10m/s at 80ms in +Y direction (Which I tried but it also fails)

I do 6 iterations and my run crashes ( I use a remote cluster computer with 128 nodes) Here is my crash output (SEE file attached)


****************
Starting time loop

Time = 1

DILUPBiCGStab: Solving for Ux, Initial residual = 1, Final residual = 0.0691833130596, No Iterations 2
DILUPBiCGStab: Solving for Uy, Initial residual = 1, Final residual = 0.0764341276091, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 1, Final residual = 0.0736476012566, No Iterations 2
DILUPBiCGStab: Solving for h, Initial residual = 1, Final residual = 0.0796179975983, No Iterations 2
limitTemperature temperatureLimit Lower limited 76551 (0.8%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 511170 (5.32%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 300
limitTemperature temperatureLimit Unlimited Tmax 300
DICPCG: Solving for p_rgh, Initial residual = 0.920748610127, Final residual = 0.0448801029624, No Iterations 41
DICPCG: Solving for p_rgh, Initial residual = 0.030148083834, Final residual = 0.00150590546577, No Iterations 236
DICPCG: Solving for p_rgh, Initial residual = 0.00154831298495, Final residual = 7.69606057425e-05, No Iterations 259
DICPCG: Solving for p_rgh, Initial residual = 7.6343080274e-05, Final residual = 3.81452898415e-06, No Iterations 118
time step continuity errors : sum local = 7.82519381617e-06, global = 1.00448284037e-06, cumulative = 1.00448284037e-06
rho min/max : 0.845261567338 1.26528351901
ExecutionTime = 6.95 s ClockTime = 8 s

Time = 2

DILUPBiCGStab: Solving for Ux, Initial residual = 0.464916885682, Final residual = 0.0159496455531, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.422184400872, Final residual = 0.0147621139369, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 0.273326308841, Final residual = 0.0111285205029, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.838708928855, Final residual = 0.0417939721673, No Iterations 1
limitTemperature temperatureLimit Lower limited 94843 (0.99%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 610231 (6.35%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 270
limitTemperature temperatureLimit Unlimited Tmax 500
DICPCG: Solving for p_rgh, Initial residual = 0.982130131962, Final residual = 0.0489800011747, No Iterations 293
DICPCG: Solving for p_rgh, Initial residual = 0.00393067964069, Final residual = 0.000191702434713, No Iterations 185
DICPCG: Solving for p_rgh, Initial residual = 0.000191897849206, Final residual = 9.45692751491e-06, No Iterations 362
DICPCG: Solving for p_rgh, Initial residual = 9.40532932738e-06, Final residual = 4.68311184691e-07, No Iterations 159
time step continuity errors : sum local = 2.98029082214e-06, global = 1.03217136905e-07, cumulative = 1.10769997728e-06
rho min/max : 0.572891505497 1.4742345577
ExecutionTime = 20.67 s ClockTime = 22 s

Time = 3

DILUPBiCGStab: Solving for Ux, Initial residual = 0.280144176734, Final residual = 0.0163380095129, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.287869722665, Final residual = 0.0189035765079, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 0.246173086924, Final residual = 0.0166676183343, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.358664314769, Final residual = 0.0242520436782, No Iterations 1
limitTemperature temperatureLimit Lower limited 124977 (1.3%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 476439 (4.96%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 270
limitTemperature temperatureLimit Unlimited Tmax 500
DICPCG: Solving for p_rgh, Initial residual = 0.247896251407, Final residual = 0.0123418983811, No Iterations 110
DICPCG: Solving for p_rgh, Initial residual = 0.0125790670408, Final residual = 0.000595773893376, No Iterations 332
DICPCG: Solving for p_rgh, Initial residual = 0.000570451744349, Final residual = 2.75690529927e-05, No Iterations 141
DICPCG: Solving for p_rgh, Initial residual = 2.76511590534e-05, Final residual = 1.35234633635e-06, No Iterations 341
time step continuity errors : sum local = 1.94230735802e-06, global = -1.595919673e-08, cumulative = 1.09174078055e-06
rho min/max : -69.5304887103 153.137952375
ExecutionTime = 27.77 s ClockTime = 31 s

Time = 4

DILUPBiCGStab: Solving for Ux, Initial residual = 0.265963233982, Final residual = 0.0182006185617, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.24422583887, Final residual = 0.0176265659638, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 0.749790484434, Final residual = 0.051804589574, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.743462617036, Final residual = 0.0416707335455, No Iterations 1
limitTemperature temperatureLimit Lower limited 318017 (3.31%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 857950 (8.93%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 270
limitTemperature temperatureLimit Unlimited Tmax 500
DICPCG: Solving for p_rgh, Initial residual = 0.860759992315, Final residual = 0.672853335645, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.436555514979, Final residual = 0.521313714265, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.480372937013, Final residual = 0.554993621906, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.516519792093, Final residual = 0.655553045731, No Iterations 1000
time step continuity errors : sum local = 42.5038490676, global = 4.80304913563, cumulative = 4.80305022737
rho min/max : -88.0470241349 2363.90791898
ExecutionTime = 55.42 s ClockTime = 60 s

Time = 5

DILUPBiCGStab: Solving for Ux, Initial residual = 0.604812750035, Final residual = 0.00818210574244, No Iterations 3
DILUPBiCGStab: Solving for Uy, Initial residual = 0.638933504324, Final residual = 0.00989806195324, No Iterations 2
DILUPBiCGStab: Solving for Uz, Initial residual = 0.619067577891, Final residual = 0.0398357205801, No Iterations 4
DILUPBiCGStab: Solving for h, Initial residual = 1, Final residual = 0.041247604763, No Iterations 1
limitTemperature temperatureLimit Lower limited 114077 (1.19%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 3240530 (33.75%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 270
limitTemperature temperatureLimit Unlimited Tmax 500
DICPCG: Solving for p_rgh, Initial residual = 0.947922970372, Final residual = 3.61599547726, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.24231869847, Final residual = 0.165543835706, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.00290597602278, Final residual = 0.00336570258657, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 0.00284164448959, Final residual = 0.00167202482748, No Iterations 1000
time step continuity errors : sum local = 2412153.21265, global = 2224.59231226, cumulative = 2229.39536248
rho min/max : -845455.666689 535287.224841
ExecutionTime = 83.16 s ClockTime = 89 s

Time = 6

DILUPBiCGStab: Solving for Ux, Initial residual = 0.631544648305, Final residual = 0.00380163578602, No Iterations 4
DILUPBiCGStab: Solving for Uy, Initial residual = 0.636651755323, Final residual = 0.0426166697, No Iterations 2
DILUPBiCGStab: Solving for Uz, Initial residual = 0.627785005855, Final residual = 0.0192510624815, No Iterations 3
DILUPBiCGStab: Solving for h, Initial residual = 1, Final residual = 0.0072982453132, No Iterations 1
limitTemperature temperatureLimit Lower limited 786162 (8.19%) of cells, with min limit 270
limitTemperature temperatureLimit Upper limited 3646294 (37.97%) of cells, with max limit 500
limitTemperature temperatureLimit Unlimited Tmin 270
limitTemperature temperatureLimit Unlimited Tmax 500
DICPCG: Solving for p_rgh, Initial residual = 0.991880287775, Final residual = 7190.68937038, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 2.88250134941e-06, Final residual = 1.31142362823e-05, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 2.90105873882e-06, Final residual = 5.72832591135e-07, No Iterations 1000
DICPCG: Solving for p_rgh, Initial residual = 1.69481589394e-06, Final residual = 0.000191080380452, No Iterations 1000
time step continuity errors : sum local = 6.33038388594e+17, global = 2.24785487446e+15, cumulative = 2.24785487446e+15
rho min/max : -1.96964955094e+13 4.93194338425e+13
ExecutionTime = 110.84 s ClockTime = 117 s

Time = 7

[1] [7] [stack trace]

[stack trace]
[1] =============
[120] #1 Foam::sigFpe::sigHandler(int)[124] #1 Foam::sigFpe::sigHandler(int)[7] #1 Foam::sigFpe::sigHandler(int)[60] #1 Foam::sigFpe::sigHandler(int)[56] #1 Foam::sigFpe::sigHandler(int)[0] #1 Foam::sigFpe::sigHandler(int)[4] #1 Foam::sigFpe::sigHandler(int)[63] #1 Foam::sigFpe::sigHandler(int)[59] #1 Foam::sigFpe::sigHandler(int)[123] #1 Foam::sigFpe::sigHandler(int)[92] #1 Foam::sigFpe::sigHandler(int)[68] #1 Foam::sigFpe::sigHandler(int)[40] #1 Foam::sigFpe::sigHandler(int)[103] #1 Foam::sigFpe::sigHandler(int)[32] #1 Foam::sigFpe::sigHandler(int)[55]
#1 Foam::sigFpe::sigHandler(int)[108] #1 Foam::sigFpe::sigHandler(int)[119] #1 Foam::sigFpe::sigHandler(int)[95] #1 Foam::sigFpe::sigHandler(int)[1] #1 Foam::sigFpe::sigHandler(int) in in in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in in in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so/ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so/ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[0] #/ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[32] #
[4] #
[68] #
[1] #
[123] #2 ?

[124] #2 ?/ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[92] #2 ?2 ?2 ?2 ?2 ?2 ? in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[95] #2 ? in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[119] #2 ? in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[120] #2 ? in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
[40] #2 ? in /lib64/libpthread.so.0
in /lib64/libpthread.so.0

in /lib64/libpthread.so.0
[123] #3 [92] #3 [68] #3 [108] #3 [32] #3 [103] #3 [55] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&)Foam::DILUPreconditioner::calcReciprocalD(F oam::Field<double>&, Foam::lduMatrix const&)Foam::DILUPreconditioner::calcReciprocalD(F oam::Field<double>&, Foam::lduMatrix const&)Foam::DILUPreconditioner::calcReciprocalD(F oam::Field<double>&, Foam::lduMatrix const&) in /lib64/libpthread.so.0
in /lib64/libpthread.so.0
in /lib64/libpthread.so.0

[59] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in /lib64/libpthread.so.0
[63] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in /lib64/libpthread.so.0
[95] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in /lib64/libpthread.so.0
[1] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in /lib64/libpthread.so.0
[119] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&)[60] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&)[56] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in in in in in in in in in in in in in in in /ari/progs/OpenFOAM/OpenFOAM.com-v2306/OpenFOAM-v2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
(Continues a bit more you can see the file)



I tried to summarize as much as possible. I included my files in the attachment as well.
Since it crashes aftersome while I think my boundary conditions are probably the problem.You can see what I use below.

https://imagizer.imageshack.com/v2/6...924/Mi7oXv.jpg Epsilon AlphaT

https://imagizer.imageshack.com/v2/6...924/NyupOF.jpg k nut

https://imagizer.imageshack.com/v2/6...924/qCV8Ku.jpg P_rgh P

https://imagizer.imageshack.com/v2/6...922/LHWW8I.jpg T and U

https://imagizer.imageshack.com/v2/6...923/kdV19J.jpg ABL and initial conditions


But there could be also a mismatch inside my fvsolutions and fvschemes

I tried my best transfering them but they might be a bit off as well;

fvSchemes

ddtSchemes default steadyState;
gradSchemes default Gauss linear;
divSchemes
default none;
div(phi,U) bounded Gauss upwind;
div(phi,K) bounded Gauss upwind;
div(phi,h) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss limitedLinear 0.8;
div(phi,omega) bounded Gauss limitedLinear 0.8;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;

laplacianSchemes default Gauss linear uncorrected;
interpolationSchemes default linear;
snGradSchemes default uncorrected;

fvSolutions

p_rgh
solver PCG;
preconditioner DIC;
tolerance 1e-07;
relTol 0.05;

"(U|h|k|epsilon|omega)"

solver PBiCGStab;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;

SIMPLE

momentumPredictor yes;//no;
nNonOrthogonalCorrectors 3;
pRefCell 0;
pRefValue 0;

residualControl
p_rgh 1e-5;//1e-3;
U 1e-6;//1e-4;
h 1e-6;//1e-4;

"(k|epsilon|omega)" 5e-4;//
G 1e-4;//1e-3;

relaxationFactors
rho 0.7;//
p_rgh 0.3;//
U 0.7;//
h 0.7;//
"(k|epsilon|omega)" 0.7;//
Qr 0.7;//

https://imagizer.imageshack.com/v2/6...923/CUEthf.png Temperature Fail

https://imagizer.imageshack.com/v2/6...924/lX08S0.png Glyphs for U

Previoulsy I tried a similar setup with 10m/s here is the glyphs for that one;

https://imagizer.imageshack.com/v2/6...924/aLCgxz.png

I would appreciate for any insight. Thanks in advance

Here is my total case;

https://drive.google.com/file/d/1Dy7...ew?usp=sharing

Here is the vtk file of the latest time step.

https://drive.google.com/file/d/1PTG...ew?usp=sharing

My Kind Regards
Burak K.


All times are GMT -4. The time now is 13:24.