CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Compressible flows with larger Courant numbers

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By clapointe

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 25, 2021, 06:51
Default Compressible flows with larger Courant numbers
  #1
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hey all,


I need support from the community - especially from the people who deal with compressible flows. At the moment I have a case similar to the motorbike tutorial. However, its not a motor bike but rather a building. Right now I am using the ESI2012 version as we have the atmospheric boundary layer boundary condition available here.

The building does have intake channels that distribute air to the single HVAC systems. The question is, how does the pressure change inside these intake channels if we have a gust of wind attacking the building. The side walls and top are slip conditions (far away from the building). The inlet is a atmospheric boundary layer condition using a Function1 velocity ramp (from 11.11 m/s to 22.22 m/s).

For testing purposes, I first used [i]simpleFoam{/i] and pimpleFoam which is not 100 % correct based on compression effects and even the physics are not correct (missing variable density based on pressure and also energy is missing). However, using pimpleFoam I can reach Courant numbers up to 80 and more. I changed the case to run with rhoSimpleFoam and rhoPimpleFoam. Here, I first encountered new phenomenon (traveling pressure waves). I guess I have to set the waveTransmissive boundary condition for the outlet for the pressure and maybe an advective condition (not sure here right now).

Nevertheless, I am only able to increase the Courant number up to 2 - not more. I am using (of course) the PIMPLE algorithm and under-relaxation. As I am not in the sonic regime, I did not set the transonic keyword and hence I am not able to under-relax (or at least create a dominant diagonal matrix for p).

Based on my experience I would expect that I am doing something wrong here. I don't want to believe that we cannot go beyond Co >> 1 if the case is compressible rather than incompressible - even though the physics are different.

I tested different things:
  • large under-relaxation
  • heRho - hePsi thermo types
  • different boundary conditions (however, I am not sure which conditions are correct here -> inlet is a ramped velocity curve (ABL condition), outlet is a totalPressure for the steady-state and for the transient one a waveTramissive one. The velocity is a pressureInletOutletVelocity for the outlet.
  • rhoSimple true
  • Different numerical settings for PIMPLE
  • Simply upwind schemes
  • Corrected nonOrtho and snGrad schemes
  • cellLimited for gradient
  • Euler for time
The mesh was created using snappyHexMesh and seems okay.
Any suggestions?




The problem I encounter
  • The simulation runs stable if I keep Co ~ 1
  • If I increase the Courant number (adjustable run time) the simulation does have (from one time step to another) the pressure equation crashes.
  • The small snipped shows the last two PIMPLE iterations
  • The case runs from Co = 1 to around 5 and crashes afterwards
  • Checking the last time step does not give me any hint regarding a problem
Code:
Courant Number mean: 0.00279342 max: 4.08089
deltaT = 0.00161032
Time = 0.00974201

PIMPLE: iteration 1
smoothSolver:  Solving for Ux, Initial residual = 3.5732e-05, Final residual = 9.43131e-10, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 1.77416e-06, Final residual = 4.68944e-10, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 5.30558e-06, Final residual = 1.20359e-09, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00502815, Final residual = 1.20277e-07, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 286.177
Unlimited Tmin 281.833
GAMG:  Solving for p, Initial residual = 0.00370735, Final residual = 2.4247e-06, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.16185e-06, Final residual = 1.87928e-07, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.75802e-07, global = -1.5708e-07, cumulative = -9.11225e-07
GAMG:  Solving for p, Initial residual = 0.000633883, Final residual = 3.65278e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 6.31271e-07, Final residual = 7.4593e-09, No Iterations 2
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.36062e-12, global = 5.56526e-14, cumulative = -9.11225e-07
smoothSolver:  Solving for epsilon, Initial residual = 1.37184e-07, Final residual = 2.12954e-11, No Iterations 1
smoothSolver:  Solving for k, Initial residual = 0.000194329, Final residual = 4.47227e-09, No Iterations 1
PIMPLE: iteration 2
smoothSolver:  Solving for Ux, Initial residual = 6.71046e-06, Final residual = 1.7621e-10, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 3.79105e-07, Final residual = 1.09837e-10, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 1.19544e-06, Final residual = 2.98125e-10, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.0029649, Final residual = 7.26531e-08, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.863
Unlimited Tmin 281.961
GAMG:  Solving for p, Initial residual = 0.000174809, Final residual = 1.49358e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 2.57472e-07, Final residual = 1.657e-08, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.0362e-07, global = -9.28018e-08, cumulative = -1.00403e-06
GAMG:  Solving for p, Initial residual = 0.000331244, Final residual = 1.25984e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 2.60139e-07, Final residual = 1.96456e-09, No Iterations 2
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 6.21801e-13, global = 3.70125e-14, cumulative = -1.00403e-06
smoothSolver:  Solving for epsilon, Initial residual = 2.76842e-08, Final residual = 8.41864e-12, No Iterations 1
smoothSolver:  Solving for k, Initial residual = 3.88806e-05, Final residual = 9.03391e-10, No Iterations 1
PIMPLE: iteration 3
smoothSolver:  Solving for Ux, Initial residual = 1.32247e-06, Final residual = 3.4981e-11, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 7.60266e-08, Final residual = 2.23339e-11, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 2.56208e-07, Final residual = 6.56247e-11, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00211488, Final residual = 5.02073e-08, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.755
Unlimited Tmin 281.964
GAMG:  Solving for p, Initial residual = 2.8028e-05, Final residual = 2.66913e-08, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.83756e-08, Final residual = 2.77015e-09, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 7.40606e-08, global = -6.68686e-08, cumulative = -1.0709e-06
GAMG:  Solving for p, Initial residual = 0.000234569, Final residual = 7.68287e-08, No Iterations 1
GAMG:  Solving for p, Initial residual = 1.59744e-07, Final residual = 5.63652e-09, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.78429e-12, global = -4.88732e-14, cumulative = -1.0709e-06
smoothSolver:  Solving for epsilon, Initial residual = 5.67815e-09, Final residual = 5.67815e-09, No Iterations 0
smoothSolver:  Solving for k, Initial residual = 7.79026e-06, Final residual = 1.87077e-10, No Iterations 1
PIMPLE: iteration 4
smoothSolver:  Solving for Ux, Initial residual = 3.26645e-07, Final residual = 1.20878e-11, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 2.28174e-08, Final residual = 1.02859e-11, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 7.88249e-08, Final residual = 3.12497e-11, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00277312, Final residual = 1.04193e-09, No Iterations 2
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.706
Unlimited Tmin 281.964
GAMG:  Solving for p, Initial residual = 0.000320839, Final residual = 2.66004e-06, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.41056e-06, Final residual = 2.37098e-07, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 9.73856e-08, global = -8.82307e-08, cumulative = -1.15913e-06
GAMG:  Solving for p, Initial residual = 0.000310503, Final residual = 2.90832e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.98479e-07, Final residual = 8.40567e-09, No Iterations 10
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.6592e-12, global = -3.37186e-13, cumulative = -1.15913e-06
smoothSolver:  Solving for epsilon, Initial residual = 6.05477e-09, Final residual = 6.05477e-09, No Iterations 0
smoothSolver:  Solving for k, Initial residual = 1.5925e-06, Final residual = 6.24265e-11, No Iterations 1
PIMPLE: converged in 4 iterations
ExecutionTime = 660.36 s  ClockTime = 663 s

Courant Number mean: 0.00333044 max: 4.86715
deltaT = 0.00191705
Time = 0.0116591

PIMPLE: iteration 1
smoothSolver:  Solving for Ux, Initial residual = 4.21722e-05, Final residual = 1.36e-09, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 2.03304e-06, Final residual = 6.55644e-10, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 6.61419e-06, Final residual = 1.64793e-09, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00706587, Final residual = 1.86213e-07, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.658
Unlimited Tmin 281.965
GAMG:  Solving for p, Initial residual = 0.00516715, Final residual = 3.4496e-06, No Iterations 1
GAMG:  Solving for p, Initial residual = 5.72715e-06, Final residual = 2.94899e-07, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.49377e-07, global = -2.28596e-07, cumulative = -1.38772e-06
GAMG:  Solving for p, Initial residual = 0.000900441, Final residual = 5.11039e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 8.4405e-07, Final residual = 3.35456e-09, No Iterations 3
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.05999e-12, global = -1.28249e-13, cumulative = -1.38772e-06
smoothSolver:  Solving for epsilon, Initial residual = 1.61668e-07, Final residual = 2.96927e-11, No Iterations 1
smoothSolver:  Solving for k, Initial residual = 0.000227909, Final residual = 6.43739e-09, No Iterations 1
PIMPLE: iteration 2
smoothSolver:  Solving for Ux, Initial residual = 7.8078e-06, Final residual = 2.48281e-10, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 4.28789e-07, Final residual = 1.50638e-10, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 1.47366e-06, Final residual = 4.13119e-10, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00412939, Final residual = 1.11931e-07, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.342
Unlimited Tmin 282.012
GAMG:  Solving for p, Initial residual = 0.000241805, Final residual = 2.35327e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 3.73684e-07, Final residual = 2.57169e-08, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.46523e-07, global = -1.34054e-07, cumulative = -1.52178e-06
GAMG:  Solving for p, Initial residual = 0.000468784, Final residual = 1.82009e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 3.4669e-07, Final residual = 2.84362e-09, No Iterations 2
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 8.99333e-13, global = 3.45996e-14, cumulative = -1.52178e-06
smoothSolver:  Solving for epsilon, Initial residual = 3.2656e-08, Final residual = 1.30227e-11, No Iterations 1
smoothSolver:  Solving for k, Initial residual = 4.55782e-05, Final residual = 1.30011e-09, No Iterations 1
PIMPLE: iteration 3
smoothSolver:  Solving for Ux, Initial residual = 1.53468e-06, Final residual = 4.91049e-11, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 8.5587e-08, Final residual = 3.06683e-11, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 3.1383e-07, Final residual = 9.17849e-11, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00293931, Final residual = 7.76214e-08, No Iterations 1
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.22
Unlimited Tmin 281.989
GAMG:  Solving for p, Initial residual = 3.87494e-05, Final residual = 4.18546e-08, No Iterations 1
GAMG:  Solving for p, Initial residual = 6.93822e-08, Final residual = 4.78121e-09, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.04781e-07, global = -9.65077e-08, cumulative = -1.61828e-06
GAMG:  Solving for p, Initial residual = 0.000332077, Final residual = 1.12904e-07, No Iterations 1
GAMG:  Solving for p, Initial residual = 2.13438e-07, Final residual = 8.92377e-09, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.82342e-12, global = -7.74067e-14, cumulative = -1.61828e-06
smoothSolver:  Solving for epsilon, Initial residual = 6.71927e-09, Final residual = 6.71927e-09, No Iterations 0
smoothSolver:  Solving for k, Initial residual = 9.13119e-06, Final residual = 2.70368e-10, No Iterations 1
PIMPLE: iteration 4
smoothSolver:  Solving for Ux, Initial residual = 3.78258e-07, Final residual = 1.71021e-11, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 2.56664e-08, Final residual = 1.46649e-11, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 9.75395e-08, Final residual = 4.50279e-11, No Iterations 1
smoothSolver:  Solving for h, Initial residual = 0.00385193, Final residual = 1.5891e-09, No Iterations 2
limitTemperature limitT Lower limited 0 (0%) of cells
limitTemperature limitT Upper limited 0 (0%) of cells
limitTemperature limitT Unlimited Tmax 285.164
Unlimited Tmin 281.977
GAMG:  Solving for p, Initial residual = 0.000403112, Final residual = 3.93352e-06, No Iterations 1
[7] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
[7] #1  Foam::sigFpe::sigHandler(int) at ??:?
[7] #2  ? in /lib/x86_64-linux-gnu/libpthread.so.0
[7] #3  Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:?
[7] #4  Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
[7] #5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[7] #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
[7] #7  Foam::fvMatrix<double>::solveSegregatedOrCoupled(Foam::dictionary const&) at ??:?
[7] #8  Foam::fvMesh::solve(Foam::fvMatrix<double>&, Foam::dictionary const&) const at ??:?
[7] #9  ? in ~/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam
[7] #10  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
[7] #11  ? in ~/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam
[cfd:02852] *** Process received signal ***
[cfd:02852] Signal: Floating point exception (8)
[cfd:02852] Signal code:  (-6)
[cfd:02852] Failing at address: 0x3e800000b24
[cfd:02852] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0)[0x7f6e48d943c0]
[cfd:02852] [ 1] /lib/x86_64-linux-gnu/libpthread.so.0(raise+0xcb)[0x7f6e48d9424b]
[cfd:02852] [ 2] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0)[0x7f6e48d943c0]
[cfd:02852] [ 3] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver5scaleERNS_5FieldIdEES3_RKNS_9lduMatrixERKNS_10FieldFieldIS1_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEERKS2_h+0xee)[0x7f6e497a452e]
[cfd:02852] [ 4] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver6VcycleERKNS_7PtrListINS_9lduMatrix8smootherEEERNS_5FieldIdEERKS8_S9_S9_S9_S9_S9_RNS1_IS8_EESD_h+0x1668)[0x7f6e497a7028]
[cfd:02852] [ 5] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver5solveERNS_5FieldIdEERKS2_h+0x625)[0x7f6e497a8535]
[cfd:02852] [ 6] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE15solveSegregatedERKNS_10dictionaryE+0x191)[0x7f6e4d74b741]
[cfd:02852] [ 7] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE24solveSegregatedOrCoupledERKNS_10dictionaryE+0x413)[0x7f6e4cf598a3]
[cfd:02852] [ 8] /home/shorty/OpenFOAM/ESI/OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZNK4Foam6fvMesh5solveERNS_8fvMatrixIdEERKNS_10dictionaryE+0x28)[0x7f6e4cef3cf8]
[cfd:02852] [ 9] rhoPimpleFoam(+0x38c10)[0x5615799f3c10]
[cfd:02852] [10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f6e48bb40b3]
[cfd:02852] [11] rhoPimpleFoam(+0x3c21e)[0x5615799f721e]
[cfd:02852] *** End of error message ***
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 7 with PID 0 on node cfd exited on signal 8 (Floating point exception).
--------------------------------------------------------------------------
shorty@ALU-40-1st-large-rho:

  • The solver does not show any instability regarding turbulence quantities or temperature
  • I do have the temperature limited
  • In addition the velocity is limited


If you need more information regarding the case set-up etc. let me know. Maybe important. Inside the building is the air-distribution channel for the HVAC devices. I do have 24 sub-channels that suck air out of the domain (at the moment all these patches do have fixedValue velocity conditions). Maybe a mass-flow based outlet is more appropriate which gets a more reliable pressure distribution?

However, again, I am not sure about the pressure conditions there (right now zeroGradient).
__________________
Keep foaming,
Tobias Holzmann

Last edited by Tobi; February 25, 2021 at 14:52.
Tobi is offline   Reply With Quote

Old   February 25, 2021, 12:45
Default
  #2
Senior Member
 
Join Date: Apr 2020
Location: UK
Posts: 736
Rep Power: 14
Tobermory will become famous soon enough
What is the problem with the simulation, Tobi? Presumably it is unstable/diverges? If so, which field is causing the trouble?

You mentioned that you are simulating an ABL ... is the domain height very tall? What happens if you apply the same BCs on an empty box with similar background mesh density ... does it still misbehave?
Tobermory is offline   Reply With Quote

Old   February 25, 2021, 14:53
Default
  #3
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hey Tobermory,


thank you for your reply. Honestly, my fault - I always tell the people to give enough information and I miss it too. I added the important part and would like to share the case but it is confidential - unfortunately.


  • Did not check the behavior of an empty box - I will check it
  • The "atmosphere" patch is 200 m from the building.


Empty-Box-Check
  • I just checked the empty box and it seems wired
  • I calculated the steady-state profile
  • Using the steady-state simulation, I start the transient
  • I get 29 outer correctors with a Co = 0.05 right at the beginning
  • Not sure why we have to make so many correctors here
  • The time-step is not a problem here as we have around dt = 0.33 s
  • For any reason the Uy does not converge well
The interesting point for me is that the internal field changes during the transient calculation. However, I would expect that it will not change too much, especially as the boundary conditions are identical. Any ideas?
Probably based on the pressure boundary conditions.




The empty box case is available here:
https://Holzmann-cfd.com/forum/compr...mptyBox.tar.gz
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   February 25, 2021, 15:30
Default
  #4
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 15
clapointe is on a distinguished road
Hi all,

A few thoughts that hopefully may add to the discussion :

In my experience, simulating compressible flows in openfoam can be quite finicky...

When prescribing a velocity at a patch, I've found that using a fixedFlux pressure bc is better and more stable than using a zeroGradient (if you are not already). Indeed, the outlet pressure bc can also be problematic; I've also had fair success using the same configuration of waveTransmissive for pressure, and inletOutlet/pressureInletOutlet for velocity.

With regard to seeing pressure waves specifically, the wave transmissive bc should help them escape the domain... another option may be to keep the domain as coarse as possible away from the building, hoping that numerical dissipation may help with the waves as well. Depending on your modeling objective, you may also be able to make use of local time stepping to accelerate convergence, if only for a spinup case to maybe initialize the domain -- for instance to ~11m/s before you increase the velocity.

I noticed that you are using rhoPimpleFoam -- there is a rhoPimpleAdiabaticFoam solver for "weakly compressible flows for low Mach number aeroacoustic applications" which may be worth checking out.

Finally, I noticed that you're likely using some form of k-Epsilon for turbulence modling -- have you tried a k-omega model? Anecdotally, I've gotten away with Co closer to 5 with kOmegaSST... a far cry from 80, though.

Hope some of the above may be useful,
Caelan
Tobi likes this.
clapointe is offline   Reply With Quote

Old   February 26, 2021, 14:10
Default
  #5
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Dear Caelan,

Thank you very much for your feedback. I did not use a fixedFluxPressure BC as this should help if we have body forces acting on the fluid (but we don't have anything here such as gravity or buoyancy), hence the zeroGradoent and fixedFlux should be identical - however to make a complete statement I should recheck the fixedFlux BC.

I used kOmegaSST at the beginning but kEpsilon was more stable and should work for an initial step.

To clarify: I don't need to go to Co ~ 80 but fairly larger than 1 or 2. And additional, I was just curious about not reaching higher Courant numbers while using the Pimple algorithm. Nevertheless, as I already pointed out, I only have limited experience and knowledge regarding compressible flows.


The solver you mentioned is interesting, I will check it out. Saw it yesterday in the evening but I had no time to check the implementation and the differences between both solvers.


By the way, the LTS pre calculation is a good hint. However, as I mentioned, I start from a steady state solution from RhoSimpelFoam
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   February 26, 2021, 16:20
Default
  #6
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 15
clapointe is on a distinguished road
Hi Tobi,

Good point about fixedFlux -- at some point I must have automatically started using it for all my compressible cases. With regard to the LTS initialization, I'd just meant it as another option... sometimes I think that LTS spinup may end up being faster than spinup with a steady solver. I'll be interested to know what you think of the rhoPimpleAdiabaticFoam solver.

Caelan
__________________
Public git repository : https://github.com/clapointe2011/public
clapointe is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Actual Courant Numbers much greater than maxCo in interFoam with Local Time Stepping Ship Designer OpenFOAM Running, Solving & CFD 16 August 5, 2022 12:08
icoFoam crashing due to high courant numbers Thomas44 OpenFOAM Running, Solving & CFD 6 January 26, 2021 12:01
Low Mach Number Compressible Multiphase Flows DarrenC CFX 10 May 26, 2014 09:52
same geometry,structured and unstructured mesh,different behaviour. sharonyue OpenFOAM Running, Solving & CFD 13 January 2, 2013 23:40
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 bookie56 OpenFOAM Installation 8 August 13, 2011 05:03


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