Incompressible Euler Equations with SIMPLE method

 Register Blogs Members List Search Today's Posts Mark Forums Read

 September 22, 2016, 04:36 Incompressible Euler Equations with SIMPLE method #1 New Member   Fujiang Yu Join Date: Jan 2014 Posts: 12 Rep Power: 12 Hello, Foamers I'm now working on a test case which will refer to the solving of Euler Equations. During several days' work, I got one question I'm planning to SIMPLE method to solve a 3D steady incompressible Euler Equation, so I just changed a bit on UEqn of the official simpleFoam, like this MRF.correctBoundaryVelocity(U); tmp tUEqn ( fvm::div(phi, U) + MRF.DDt(U) //+ turbulence->divDevReff(U) == fvOptions(U) ); fvVectorMatrix& UEqn = tUEqn.ref(); UEqn.relax(); fvOptions.constrain(UEqn); if (simple.momentumPredictor()) { solve(UEqn == -fvc::grad(p)); fvOptions.correct(U); } Acutally, just wiped out the turbulence term on the momentum equation However, when I try to test this new solver, simpleEulerFoam, on the offical case, pitzDaily, it comes a error Create time Create mesh for time = 0 SIMPLE: convergence criteria field p tolerance 0.01 field U tolerance 0.001 field "(k|epsilon|omega|f|v2)" tolerance 0.001 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting turbulence model type RAS Selecting RAS turbulence model kEpsilon kEpsilonCoeffs { Cmu 0.09; C1 1.44; C2 1.92; C3 -0.33; sigmak 1; sigmaEps 1.3; } No MRF models present No finite volume options present Starting time loop streamLine streamlines: automatic track length specified through number of sub cycles : 5 Time = 0.001 #0 Foam::error:rintStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field&, Foam::lduMatrix const&, Foam::Field const&, Foam::FieldField const&, Foam::UPtrList const&, unsigned char, int) at ??:? #4 Foam::symGaussSeidelSmoother::smooth(Foam::Field&, Foam::Field const&, unsigned char, int) const at ??:? #5 Foam::smoothSolver::solve(Foam::Field&, Foam::Field const&, unsigned char) const at ??:? #6 ? at ??:? #7 ? at ??:? #8 ? at ??:? #9 ? at ??:? #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 ? at ??:? Floating point exception (core dumped) Even decrease the time interval, it doesn't change. So, guys, do you get any idea on this reslut It should be the reason that I modify simpleFoam to a Euler Equation solver in a wrong way, or it's because Euler Equation can't be solved by SIMPLE method, or some artificial viscosity would be needed. Please give some idea and suggestion thx^^

 September 22, 2016, 08:11 #2 Member   Join Date: Jul 2011 Posts: 54 Rep Power: 14 I am not sure, about the origin of your error, but I know that the form of the coefficient matrix changes if you modify an equation. It is possible that your symGaussSeidel solver is not suited for your knew equation. Maybe try another solver, but it is just a guess, since I found this behaviour when changing transport equations.