CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Error with modified interFoam solver (http://www.cfd-online.com/Forums/openfoam/92851-error-modified-interfoam-solver.html)

robertmaier9 September 27, 2011 09:00

Error with modified interFoam solver
 
Hi all,

I'm having a problem with a version of interFoam that I modified. The error message is pasted below. I can't get my head around what the problem is. I get it at the end of the while(runTime.run()) loop in the solver where UEqn, PISO, etc. run after the first go at it. Might anyone have any suggestions as to where to look next?

Thanks!

Code:

#0  Foam::error::printStack(Foam::Ostream&) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  ?? in "/lib64/libc.so.6"
#3  Foam::primitiveEntry::~primitiveEntry() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  Foam::dictionary::~dictionary() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#5  main in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferVar"
#6  __libc_start_main in "/lib64/libc.so.6"
#7  __gxx_personality_v0 in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferVar"
Speicherzugriffsfehler


Bernhard September 27, 2011 09:05

Can you show some more of your logfile? What modifications did you make? Did the case run without these modifications?

robertmaier9 September 27, 2011 10:55

Thanks for the quick response! I have made some extensive changes. I have added heat transfer into interFoam, which had worked before. Then I added a new method of calculating the heat transfer coefficient at the interface as a subroutine in alphaEqnSubCycle. The first implementation of the internal cells worked. Then I started playing with values on the boundaries, and this is where things stopped working.

I have run this case with different "generations" of this solver, but the most recent version is giving me trouble.

It's safe to say, that I have changed a lot, and one loses a bit of oversight when this happens. I'm going to keep on chuggin' away. Any help would be most excellent!

Thanks.


Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6.x                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 1.6.x-f8fd22081aa7
Exec  : interFoamHeatTransferVar
Date  : Sep 27 2011
Time  : 14:56:01
Host  : hpc-cluster
PID    : 20198
Case  :  /home/CFD_Filmgruppe/HeatTransferAndMarangoni_Simulations/Studienarbeit_Robert_Maier/TestCases/TestCase_2D/k_as_function_of_a_B/Shell/Solution1x1Mesh/a10/b85
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

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

Create mesh for time = 0


Reading g
Reading transportProperties

Reading field p

Reading field alpha1

Reading field U

Reading field T

Reading/calculating face flux field phi

Reading transportProperties

Selecting incompressible transport model Newtonian
Selecting incompressible transport model Newtonian
Selecting turbulence model type laminar
Read heat capacity and conductivity
time step continuity errors : sum local = 0, global = 0, cumulative = 0
DICPCG:  Solving for pcorr, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 0, global = 0, cumulative = 0
Courant Number mean: 0 max: 0

Starting time loop

Courant Number mean: 0 max: 0
Time = 0.001

MULES: Solving for alpha1
Liquid phase volume fraction = 0.1  Min(alpha1) = 0  Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.1  Min(alpha1) = 0  Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.1  Min(alpha1) = 0  Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.1  Min(alpha1) = 0  Max(alpha1) = 1
Begin calculateK.H
Initialize all other values
Start loop
Start localAlpha
Inside if loop 0
Inside if loop 1
Inside if loop 2
Inside if loop 3
Enter boundary faces loop
(0 0 -1)
Enter boundary faces loop
(0 0 1)
Enter boundary faces loop
(0.1 0 0)
Up to here 4
Enter boundary faces loop
(-0.1 0 0)
Up to here 4
Enter boundary faces loop
(0 0.1 0)
coeffb1 =1.6484
coeffb2 =-0.1368
coeffb3 =-0.2526
Done with loop
Calculating the corresponding heat transfer coefficient
alphaSubCycle is now finished
DILUPBiCG:  Solving for T, Initial residual = 1, Final residual = 0, No Iterations 1
time step continuity errors : sum local = 0, global = 0, cumulative = 0
ExecutionTime = 0.05 s  ClockTime = 0 s

#0  Foam::error::printStack(Foam::Ostream&) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  ?? in "/lib64/libc.so.6"
#3  Foam::primitiveEntry::~primitiveEntry() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  Foam::dictionary::~dictionary() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#5  main in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferVar"
#6  __libc_start_main in "/lib64/libc.so.6"
#7  __gxx_personality_v0 in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferVar"
Speicherzugriffsfehler


robertmaier9 September 30, 2011 06:26

Hi,

I have narrowed down the problem. The problem occurs when I try to save a value to the boundary fields. I have created a coefficient with the name f1 which is of class surfaceScalarField. When I comment out the follow bit of code, the solver runs. Only when I keep the line(s) active, does the error occur.

Code:

f1.boundaryField()[patchID][facei] = f1temp;
Here, f1temp is a double between 0 and 1.

There is no problem with saving it to an internal face as in the next line of code. Only with the boundary.
[CODE]f1[facei] = f1temp;[\CODE]

I've run it on a single cell as well as multiple cells. The error I get for the multiple cells (4x4) is as follows.

Code:

alphaSubCycle is now finished
DILUPBiCG:  Solving for T, Initial residual = 1, Final residual = 7.85363558977e-09, No Iterations 4
time step continuity errors : sum local = 0, global = 0, cumulative = 0
ExecutionTime = 0.06 s  ClockTime = 0 s

*** glibc detected *** interFoamHeatTransferBlending: double free or corruption (!prev): 0x000000000068e260 ***
======= Backtrace: =========
/lib64/libc.so.6[0x2ae6a3c0876e]
/lib64/libc.so.6(__libc_free+0x6c)[0x2ae6a3c09ebc]
/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4Foam22calculatedFvPatchFieldINS_6VectorIdEEED0Ev+0x35)[0x2ae6a23639b5]
interFoamHeatTransferBlending(_ZN4Foam14GeometricFieldINS_6VectorIdEENS_12fvPatchFieldENS_7volMeshEED1Ev+0x84)[0x430914]
interFoamHeatTransferBlending[0x41d891]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2ae6a3bba304]
interFoamHeatTransferBlending(__gxx_personality_v0+0xf9)[0x415a09]
======= Memory map: ========
00400000-0046f000 r-xp 00000000 08:11 2159478628                        /home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferBlending
0056f000-00571000 rw-p 0006f000 08:11 2159478628                        /home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferBlending
00571000-00697000 rw-p 00571000 00:00 0                                  [heap]
2ae6a1164000-2ae6a117f000 r-xp 00000000 08:22 14958661                  /lib64/ld-2.4.so
2ae6a117f000-2ae6a1181000 rw-p 2ae6a117f000 00:00 0
2ae6a127f000-2ae6a1281000 rw-p 0001b000 08:22 14958661                  /lib64/ld-2.4.so
2ae6a1281000-2ae6a12ed000 r-xp 00000000 08:22 2968125                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libinterfaceProperties.so
2ae6a12ed000-2ae6a14ec000 ---p 0006c000 08:22 2968125                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libinterfaceProperties.so
2ae6a14ec000-2ae6a14ef000 r--p 0006b000 08:22 2968125                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libinterfaceProperties.so
2ae6a14ef000-2ae6a14f0000 rw-p 0006e000 08:22 2968125                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libinterfaceProperties.so
2ae6a14f0000-2ae6a14f1000 rw-p 2ae6a14f0000 00:00 0
2ae6a14f1000-2ae6a1555000 r-xp 00000000 08:22 2968066                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleTransportModels.so
2ae6a1555000-2ae6a1754000 ---p 00064000 08:22 2968066                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleTransportModels.so
2ae6a1754000-2ae6a1756000 r--p 00063000 08:22 2968066                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleTransportModels.so
2ae6a1756000-2ae6a1757000 rw-p 00065000 08:22 2968066                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleTransportModels.so
2ae6a1757000-2ae6a19b6000 r-xp 00000000 08:22 2968088                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so
2ae6a19b6000-2ae6a1bb6000 ---p 0025f000 08:22 2968088                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so
2ae6a1bb6000-2ae6a1bbd000 r--p 0025f000 08:22 2968088                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so
2ae6a1bbd000-2ae6a1bc0000 rw-p 00266000 08:22 2968088                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so
2ae6a1bc0000-2ae6a1d4e000 r-xp 00000000 08:22 2968068                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleLESModels.so
2ae6a1d4e000-2ae6a1f4e000 ---p 0018e000 08:22 2968068                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleLESModels.so
2ae6a1f4e000-2ae6a1f56000 r--p 0018e000 08:22 2968068                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleLESModels.so
2ae6a1f56000-2ae6a1f59000 rw-p 00196000 08:22 2968068                    /usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleLESModels.so
2ae6a1f59000-2ae6a2b8f000 r-xpAbgebrochen

When done on one cell, the error is this:

Code:

alphaSubCycle is now finished
DILUPBiCG:  Solving for T, Initial residual = 1, Final residual = 0, No Iterations 1
time step continuity errors : sum local = 0, global = 0, cumulative = 0
ExecutionTime = 0.06 s  ClockTime = 0 s

#0  Foam::error::printStack(Foam::Ostream&) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  ?? in "/lib64/libc.so.6"
#3  Foam::primitiveEntry::~primitiveEntry() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  Foam::dictionary::~dictionary() in "/usr/local/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#5  main in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferBlending"
#6  __libc_start_main in "/lib64/libc.so.6"
#7  __gxx_personality_v0 in "/home/rm/OpenFOAM/rm-1.6.x/applications/bin/linux64GccDPOpt/interFoamHeatTransferBlending"
Speicherzugriffsfehler

Any pointers would be very much appreciated as to where I can start next to resolve this issue. Thanks a bunch in advance!


All times are GMT -4. The time now is 02:24.