CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Unfamiliar Error (http://www.cfd-online.com/Forums/openfoam-solving/59991-unfamiliar-error.html)

 coops September 26, 2006 22:16

Hello, I am trying to get a

Hello,

I am trying to get a solver to work for my particular application and I have had a lot of trouble. Usually when there are errors I have a rough idea of what I should try to change to eradicate the error but in this case I have no idea. Here is the error output. Can someone please help me by suggesting what might be the issue.

Starting time loop

Mean and max Courant Numbers = 0 -0
deltaT = 0.00048
Time = 0.00048

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
BICCG: Solving for Ux, Initial residual = 0, Final residual = 0, No Iterations 0
BICCG: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0
BICCG: Solving for Uz, Initial residual = 0, Final residual = 0, No Iterations 0
BICCG: Solving for T, Initial residual = 5.5626846e-286, Final residual = 5.5626846e-286, No Iterations 0
Foam::error::printStack(Foam:: Ostream&)
Foam::sigSegv::sigSegvHandler(int)
[0xd73420]
std::basic_string<char,>, std::allocator<char> > std::operator+<char,>, std::allocator<char> >(char const*, std::basic_string<char,>, std::allocator<char> > const&)
Foam::tmp<foam::fvmatrix<double> > Foam::fvm::ddt<double>(Foam::GeometricField<double ,> const&, Foam::GeometricField<double,>&)
CaseSolver [0x805aa43]
__libc_start_main
__gxx_personality_v0
Segmentation fault

Thanks

Shaun

 mattijs September 27, 2006 03:21

Compile your app with -g -O0 -

Compile your app with -g -O0 -DFULLDEBUG, have it dump core and do a 'where' inside gdb.

You have a segmentation fault (see 'man 7 signal') so are probably accessing outside allocated memory.

 graf_m October 2, 2006 03:43

I have changed the aachenBomb

I have changed the aachenBomb case for simulating spray penetration and ignition under cold start conditions. Therefore I built a mesh consisting of many small blocks with lots of internal faces according to the nozzle and glowplug geometry. I have added two more patches but still use the same boundary conditions as in the original case. blockMesh works fine but whenever the solver needs the vertices of the mesh it throws nans out.
Other functions like checking if the injector position is inside the field are working. I checked some parts of the code and found some comments in makeMagSf where it says that producing nans was corrected by implementing subroutine to check if surface area equals zero. But then I got stuck because I am not so familiar with the code yet.

Has Somebody an idea what could be wrong?

Markus

/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.3 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : dieselFoam /home/markus/OpenFOAM/markus-1.3/run/dieselColdStart aachenBomb
Date : Oct 01 2006
Time : 12:13:03
Host : linux
PID : 4899
Root : /home/markus/OpenFOAM/markus-1.3/run/dieselColdStart
Case : aachenBomb
Nprocs : 1
Create time

Create mesh for time = 0

Selecting thermodynamics package hMixtureThermo<reactingmixture>

Creating turbulence model.

Selecting turbulence model kEpsilon
Creating field DpDt

Constructing chemical mechanism
Selecting ODE solver SIBS
chemistryModel::chemistryModel: Number of species = 5 and reactions = 1

Constructing Spray
Selecting injectorType commonRailInjector
injectionPressureProfile_.size() = 2, massFlowRateProfile_.size() = 23
end constructor. in commonRail
Selecting atomizationModel off
Selecting dragModel standardDragModel
Selecting evaporationModel standardEvaporationModel
Selecting heatTransferModel RanzMarshall
Selecting wallModel reflect
Selecting breakupModel ReitzKHRT
Selecting collisionModel off
Selecting dispersionModel off
Selecting injectorModel hollowConeInjector
Selecting pdfType RosinRammler
Average Velocity for injector 0: 375.808 m/s, injection pressure = 500 bar
Constructing three dimensional spray injection.
Mean and max Courant Numbers = nan nan

Starting time loop

Mean and max Courant Numbers = nan nan
deltaT = 2.94118e-06
Time = 2.94118e-06

Evolving Spray
Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
BICCG: Solving for Ux: solution singularity
BICCG: Solving for Uy: solution singularity
BICCG: Solving for Uz: solution singularity
BICCG: Solving for C7H16: solution singularity
BICCG: Solving for O2: solution singularity
BICCG: Solving for CO2: solution singularity
BICCG: Solving for H2O: solution singularity
BICCG: Solving for h: solution singularity
ICCG: Solving for p: solution singularity
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = nan, global = nan, cumulative = nan
ICCG: Solving for p: solution singularity
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = nan, global = nan, cumulative = nan
BICCG: Solving for epsilon: solution singularity
BICCG: Solving for k: solution singularity

Number of parcels in system | 1
Injected liquid mass....... | 0.00107761 mg
Liquid Mass in system...... | 0.00107761 mg
SMD, Dmax.................. | 82.4948 mu, 82.4948 mu
Added gas mass = nan mg
Evaporation Continuity Error| nan mg
ExecutionTime = 19.78 s ClockTime = 20 s

Mean and max Courant Numbers = nan nan
deltaT = 3.36134e-06
Time = 6.30252e-06

Evolving Spray
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 1040 position (nan nan nan)
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 903 position (nan nan nan)
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 1040 position (nan nan nan)
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 903 position (nan nan nan)
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 1040 position (nan nan nan)
interpolationCellPointFace<type>::interpolate(cons t vector&, const label nCell) const : search failed; using closest cellFace value
cell number 903 position (nan nan nan)

 gschaider October 3, 2006 03:34

I guess you just didn't mentio

I guess you just didn't mention it: you DID check the mesh with checkMesh?

 graf_m October 3, 2006 09:46

I did check the mesh with chec

I did check the mesh with checkMesh and it was Ok.

 gschaider October 3, 2006 10:10

Another thing I usually do when having problems with a new case for a complex solver and I'm unsure whether the problem is in the case: I try the solver the complex solver was derived from (or a solver with a subset of the functionality) on that case. In your case that would be one of the compressible solvers. If you still have problems then propably the problem is with the definition of the fluid boundary conditions and not with the spray (if that solver works the inverse is not necessarily true, I'm afraid, but the propability is high).

BTW: the interior field for p is NOT 0 I hope (zero never works for me with compressible solvers ;) ). Just making sure. Sorry for asking.

PS: I'm sorry I can't be more specific, but I never worked with dieselFoam (only used it to extract ideas)

 graf_m October 3, 2006 12:38