CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   STAR-CCM+ (https://www.cfd-online.com/Forums/star-ccm/)
-   -   Floating Point Exception for k-w SST (https://www.cfd-online.com/Forums/star-ccm/224864-floating-point-exception-k-w-sst.html)

Muzz March 6, 2020 03:12

Floating Point Exception for k-w SST
 
I am working on atmospheric boundary layer simulations and flow through an urban environment. I have been using realizable k-e with much success, utilizing boundary conditions and initial values etc. from best practice guidelines. However, whilst I can also obtain good results with standard k-e, when I make the switch to k-w SST (and k-w standard), I get a floating point exception (divide by zero) before the first iteration.

I believe I've correctly converted turbulence dissipation rate to specific dissipation rate for boundary/initial conditions. Is there a theoretical reason for this disparity in performance? What would a possible solution look like?

EDIT: I should add that this only occurs when using the all y+ wall treatment. When I switch to the high y+ wall treatment, the simulation runs as expected but underestimates the magnitude of turbulent kinetic energy throughout the environment.

LuckyTran March 9, 2020 12:17

If you are using the same approach for the boundary conditions (intensity and length scale, or whatever) then it's likely your initial condition.

Quote:

Originally Posted by Muzz (Post 760656)

I believe I've correctly converted turbulence dissipation rate to specific dissipation rate for boundary/initial conditions. Is there a theoretical reason for this disparity in performance? What would a possible solution look like?

There isn't a disparity in performance. If it diverges in one iteration then either your settings are blatantly wrong or you didn't give a good enough initial guess.

You might want to try using field functions to convert the epsilon field into omega values when you switch models. If you are starting with a new case where you don't have a nice epsilon field, then you come up with better initial guesses.

Muzz March 9, 2020 14:33

Quote:

Originally Posted by LuckyTran (Post 760999)
If you are using the same approach for the boundary conditions (intensity and length scale, or whatever) then it's likely your initial condition.



There isn't a disparity in performance. If it diverges in one iteration then either your settings are blatantly wrong or you didn't give a good enough initial guess.

You might want to try using field functions to convert the epsilon field into omega values when you switch models. If you are starting with a new case where you don't have a nice epsilon field, then you come up with better initial guesses.

Thanks for the response. The setup is identical when I change the turbulence model. All I'm changing is how I specify turbulence (K+Omega instead of K+Epsilon). I'm converting boundary/initial conditions from Epsilon to Omega to account for change in turbulence model.

What I don't get is how I can have good convergence with SKE and RKE but not have it work at all for KW-SST. What do you think the link is between the failure of the simulation and the wall treatment model? It works for High y+ but not All y+. I am using All y+ for SKE and RKE sims with no issue.

Thanks again for your contribution.

Muzz March 9, 2020 15:23

After looking for answers on the steve portal, it recommends using -fpe in the command line when loading the .sim file, to generate more meaningful errors. The result is this:

SIGFPE: floating point exception
Command: Automation.Run
Recoverability: Non-recoverable
ServerStack: [SymInit: Symbol-SearchPath: '.', symOptions: 530, UserName: 'Desktop'
, OS-Version: 6.2.9200 () 0x300-0x1
, 00007FFEE2538BD4 (KwTurbModel): (filename not available): KwTurbLowReUstarEquation::KwTurbLowReUstarEquation
, 00007FFEE2519049 (KwTurbModel): (filename not available): KwAllYplusWallTreatment::setProperties
, 00007FFEE25179B1 (KwTurbModel): (filename not available): KwAllYplusWallTreatment::setProperties
, 00007FFEE250F102 (KwTurbModel): (filename not available): KwWallTreatmentModel::getWallTreatmentDomain
, 00007FFEFB3D9A26 (StarSolve): (filename not available): VerifiedFaceTerm::VerifiedFaceTerm
, 00007FFEFB3DB1FA (StarSolve): (filename not available): VerifiedFaceTerm::verifiedEvaluate
, 00007FFEFB3DEF3D (StarSolve): (filename not available): SelectiveFaceTerm::evaluate
, 00007FFEE2515E92 (KwTurbModel): (filename not available): KwAllYplusWallTreatment::accumulateTkeEquationWall Sources
, 00007FFEE272952B (KwTurbModel): (filename not available): KwTurbTkeBoundaryConditions::eval
, 00007FFEE2613349 (KwTurbModel): (filename not available): KwTurbModel::accumulateSources
, 00007FFEE2795442 (KwTurbModel): (filename not available): MenterKwTurbModel::accumulateSources
, 00007FFEE2718FC7 (KwTurbModel): (filename not available): KwTurbSlipVelocitySolver::getClassVersion
, 00007FFEE27186C5 (KwTurbModel): (filename not available): KwTurbSlipVelocitySolver::getClassVersion
, 00007FFEFB5385AB (StarSolve): (filename not available): RunnableSolver::doSolverIterationUpdate
, 00007FFEFB5371E1 (StarSolve): (filename not available): RunnableSolver::iterate
, 00007FFEFB54521F (StarSolve): (filename not available): SimulationIterator::startSimulation
, 00007FFEFB566413 (StarSolve): (filename not available): SimulationIterator::stopSimulation
, 00007FFF1867CA7F (StarNeo): (filename not available): Controller::executeCommand
, 00007FFF1867BB2C (StarNeo): (filename not available): Controller:: processCommands
, 00007FFF1A484779 (StarMachine): (filename not available): CommandController::scatterCommand
, 00007FFF1A483453 (StarMachine): (filename not available): CommandController:: processCommands
, 00007FFF1A5535EA (StarMachine): (filename not available): Machine::startServerHost
, 00007FFF1A53F618 (StarMachine): (filename not available): Machine::main
, ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00007FF6B4501EE0)
, 00007FF6B4501EE0 (star-ccm+): (filename not available): (function-name not available)
, ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00007FF6B450FEAF)
, 00007FF6B450FEAF (star-ccm+): (filename not available): (function-name not available)
, 00007FFF6D777BD4 (KERNEL32): (filename not available): BaseThreadInitThunk
, 00007FFF6DACCED1 (ntdll): (filename not available): RtlUserThreadStart

Does this mean anything?


All times are GMT -4. The time now is 12:29.