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/)
-   -   rhoPimpleFoam fails on an Euler vortex (https://www.cfd-online.com/Forums/openfoam-solving/220973-rhopimplefoam-fails-euler-vortex.html)

Roxxor91 September 29, 2019 09:08

rhoPimpleFoam fails on an Euler vortex
 
1 Attachment(s)
Hi all,
I would like to reproduce the Euler vortex in that paper with the same mesh motion and eventually incorporate my own mesh motion.

My problem has two steps:
  1. Simulate the Euler vortex
  2. Incorporate a mesh motion

I followed the description of the vortex problem (Initial values for pressure, velocity and density, "periodic" boundary conditions, same geometry) but it keeps failing to advect the vortex in a correct manner. Either it crashes because of a temperature that goes below 0 or the simulation goes on with crazy values and has obviously no physical sense.

I attached the case where simulation go on but fields are non sense (fvOption does not seem to have an effect though). To see how I run it, check the script. I gave the 0 folder because you would have to compile and run makeInitialConditions binary otherwise.

My opinion is that the problem comes from BCs. I set them as CYCLIC because it is what looked the most liek periodic (prescribed in the paper). I run OF6 on Linux Mint 18.2 x64.

How can I make rhoPimpleFoam run my problem ?



EDIT: This is my checkMesh

Quote:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

--> FOAM Warning :
From function static Foam::instantList Foam::timeSelector::select0(Foam::Time&, const Foam::argList&)
in file db/Time/timeSelector.C at line 274
No time specified or available, selecting 'constant'
Create polyMesh for time = constant

Time = constant

Mesh stats
points: 2676
internal points: 0
faces: 17886
internal faces: 12538
cells: 7606
faces per cell: 4
boundary patches: 5
point zones: 0
face zones: 0
cell zones: 1

Overall number of cells of each type:
hexahedra: 0
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 7606
polyhedra: 0

Checking topology...
Boundary definition OK.
***Total number of faces on empty patches is not divisible by the number of cells in the mesh. Hence this mesh is not 1D or 2D.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
emptyPatches_empt 4800 2542 ok (non-closed singly connected)
top_cyc 158 121 ok (non-closed singly connected)
bottom_cyc 158 121 ok (non-closed singly connected)
inlet_cyc 116 90 ok (non-closed singly connected)
outlet_cyc 116 90 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-10 -7.5 0) (10 7.5 0.875)
Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
Mesh has 2 solution (non-empty) directions (1 1 0)
***Number of edges not aligned with or perpendicular to non-empty directions: 4346
<<Writing 2492 points on non-aligned edges to set nonAlignedEdges
Boundary openness (-4.02954e-18 1.07454e-17 -1.25923e-18) OK.
Max cell openness = 7.40149e-17 OK.
Max aspect ratio = 3.08972 OK.
Minimum face area = 0.0947931. Maximum face area = 0.333659. Face area magnitudes OK.
Min volume = 0.0130641. Max volume = 0.0537569. Total volume = 262.5. Cell volumes OK.
Mesh non-orthogonality Max: 52.7007 average: 33.1246
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.591481 OK.
**Error in coupled point location: 202 faces have their 0th or consecutive vertex not opposite their coupled equivalent. Average mismatch 0.163664.
<<Writing 202 faces with incorrectly matched 0th (or consecutive) vertex to set coupledFaces

Failed 2 mesh checks.

End


EDIT2: I ran rhoCentralFoam on the same test case, just add to specify div(tauMC) "Gauss linear;" in fvSchemes, and got the famous "printStack" error:

Quote:

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.00457721, Final residual = 2.35364e-07, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.00456667, Final residual = 2.31317e-07, No Iterations 1
diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for e, Initial residual = 0.00407362, Final residual = 3.6188e-07, No Iterations 1
ExecutionTime = 7.49 s ClockTime = 7 s

Mean and max Courant Numbers = 0.215573 0.414158
deltaT = 0.0001
Time = 0.0106

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.0045694, Final residual = 1.93503e-07, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.00453489, Final residual = 1.9462e-07, No Iterations 1
diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for e, Initial residual = 0.00402989, Final residual = 3.32675e-07, No Iterations 1
ExecutionTime = 7.55 s ClockTime = 7 s

Mean and max Courant Numbers = 0.215788 0.426271
deltaT = 0.0001
Time = 0.0107

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.00457203, Final residual = 1.74982e-07, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.00452333, Final residual = 1.78578e-07, No Iterations 1
diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for e, Initial residual = 0.0040209, Final residual = 3.12121e-07, No Iterations 1
ExecutionTime = 7.61 s ClockTime = 8 s

Mean and max Courant Numbers = 0.216055 0.437246
deltaT = 0.0001
Time = 0.0108

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.00457214, Final residual = 1.85512e-07, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.00453382, Final residual = 1.8473e-07, No Iterations 1
diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for e, Initial residual = 0.004061, Final residual = 3.0108e-07, No Iterations 1
ExecutionTime = 7.7 s ClockTime = 8 s

Mean and max Courant Numbers = 0.216374 0.447017
deltaT = 0.0001
Time = 0.0109

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.00459904, Final residual = 2.19477e-07, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.00456113, Final residual = 2.02625e-07, No Iterations 1
diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam:: species::thermo<Foam::hConstThermo<Foam::perfectGa s<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:?
#4 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam:: species::thermo<Foam::hConstThermo<Foam::perfectGa s<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:?
#5 ? in "/home/thomas/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
#6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#7 ? in "/home/thomas/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
Floating point exception (core dumped)

Roxxor91 September 29, 2019 10:27

EDIT3: I have been able to reproduce a negative initial temperature error: if I switch from sutherland to hConst in thermodynamicProperties, I an error quickly which I think might also be related to the coefficients ( I chose mu=1e-3 and Pr = 0.7):
Quote:



--> FOAM FATAL ERROR:
Negative initial temperature T0: -39.0873

From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar) const) const [with Thermo = Foam::hConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::hConstThermo<Foam::per fectGas<Foam::specie> >, Foam::sensibleInternalEnergy>]
in file /home/thomas/OpenFOAM/OpenFOAM-6/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 54.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::error::abort() at ??:?
#2 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::speci es::thermo<Foam::hConstThermo<Foam::perfectGas<Foa m::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:?
#3 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::speci es::thermo<Foam::hConstThermo<Foam::perfectGas<Foa m::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:?
#4 ? in "/home/thomas/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
#5 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6 ? in "/home/thomas/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
Aborted (core dumped)


Roxxor91 September 29, 2019 13:18

Changing to rhoCentralFoam
 
4 Attachment(s)
I figured out rhoPimpleFoam was originally suited for transcient simulation and I decided to switch to rhoCentralFoam.
I have slightly better results (still not correct). I have attached the new case and 3 snapshots of the pressue fields that dissipates very quickly. I guess it is due to the boundary conditions.

What I care about in the simulation is the advection of the initial vortex, so if there is a way to do it without periodic BCs, I'll take it even if it contradicts the paper..

Anyway I am still keen to receive suggestions and remarks


All times are GMT -4. The time now is 03:50.