CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

enthalpie error

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By alexeym

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 3, 2015, 11:00
Default enthalpie error
  #1
P_P
New Member
 
Join Date: Mar 2014
Posts: 11
Rep Power: 12
P_P is on a distinguished road
Hello,

currently I am trying to calculate the heat transfer in a bubble column with two phases. In order to do so I have to solve a couple of enthalpie equations.

Unfortunately the calculation stops at the very beginning with the following report:

fehler 8

#0 Foam::error:rintStack(Foam::Ostream&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
at sigaction.c:0
#3 Foam:ICPreconditioner::calcReciprocalD(Foam::Fie ld<double>&, Foam::lduMatrix const&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam:ICSmoother:ICSmoother(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam::lduMatrix::smoother::addsymMatrixConstructor ToTable<Foam:ICSmoother>::New(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6 Foam::lduMatrix::smoother::New(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::dictionary const&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#7 Foam::GAMGSolver::initVcycle(Foam::PtrList<Foam::F ield<double> >&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::lduMatrix::smoother>&) const in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#8 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#9 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) in "/software/openfoam/2.2.2/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#10 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/rafii/OpenFOAM/rafii-2.2.2/platforms/linux64GccDPOpt/bin/multiphaseTempEulerFoam_CTM_enthalpy_zeroModel"
#11 Foam::fvMatrix<double>::solve() in "/home/rafii/OpenFOAM/rafii-2.2.2/platforms/linux64GccDPOpt/bin/multiphaseTempEulerFoam_CTM_enthalpy_zeroModel"
#12
in "/home/rafii/OpenFOAM/rafii-2.2.2/platforms/linux64GccDPOpt/bin/multiphaseTempEulerFoam_CTM_enthalpy_zeroModel"
#13 __libc_start_main in "/lib64/libc.so.6"
#14
in "/home/rafii/OpenFOAM/rafii-2.2.2/platforms/linux64GccDPOpt/bin/multiphaseTempEulerFoam_CTM_enthalpy_zeroModel"
Floating point exception


The first line saying "fehler 8" gives me the possibility to track the exact position of the problem.
The piece of code which causes this problem is as follows:

Info<< "fehler 7 " << nl << endl;

volScalarField mut1 = nut*rho1;


dimensionedScalar null("null",dimensionSet(1,-1,-3,0,0,0,0), scalar(0.0));

Qint1 = min((heatTransferCoeff*(T1-T2)),null);//änderung
Info<< "fehler 8 " << nl << endl;

solve
(
fvm::laplacian((alpha1*mut1), he1_turb)
);

Since there exists no possibility that a division by 0 occurs, I wonder where this problem may come from. Can you help me out ?

Greatz P_P
P_P is offline   Reply With Quote

Old   February 3, 2015, 11:18
Default
  #2
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,938
Rep Power: 39
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Hi,

Quote:
Originally Posted by P_P View Post
Since there exists no possibility that a division by 0 occurs, I wonder where this problem may come from. Can you help me out ?
I won't be so sure, as the error occurs here:

Code:
void Foam::DICPreconditioner::calcReciprocalD
(
    scalarField& rD,
    const lduMatrix& matrix
)
{
    scalar* __restrict__ rDPtr = rD.begin();

...

    // Calculate the DIC diagonal
    register const label nFaces = matrix.upper().size();
    for (register label face=0; face<nFaces; face++)
    {
        rDPtr[uPtr[face]] -= upperPtr[face]*upperPtr[face]/rDPtr[lPtr[face]];
    }


    // Calculate the reciprocal of the preconditioned diagonal
    register const label nCells = rD.size();

    for (register label cell=0; cell<nCells; cell++)
    {
        rDPtr[cell] = 1.0/rDPtr[cell];
    }
}
where rD is "The reciprocal preconditioned diagonal". If you've got infinity on the diagonal, then reciprocal is zero.
P_P likes this.
alexeym is offline   Reply With Quote

Old   February 3, 2015, 11:36
Default
  #3
P_P
New Member
 
Join Date: Mar 2014
Posts: 11
Rep Power: 12
P_P is on a distinguished road
Thank you very much for your reply,

do you have an idea how to solve this problem? How can i prevent infinity on the diagonal? If this is not possible would another preconditioner be the best solution?
P_P is offline   Reply With Quote

Old   February 3, 2015, 11:47
Default
  #4
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,938
Rep Power: 39
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
In general the error means diverging solution. Surely you can try to use GAMG (you can find syntax for it in tutorial cases) as preconditioner but the change in precoditioner will not remove inconsistency of initial and boundary conditions, will not correct the model etc.
alexeym is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries NickG OpenFOAM Installation 3 December 30, 2019 01:21
[blockMesh] blockMesh with double grading. spwater OpenFOAM Meshing & Mesh Conversion 92 January 12, 2019 10:00
[swak4Foam] GroovyBC the dynamic cousin of funkySetFields that lives on the suburb of the mesh gschaider OpenFOAM Community Contributions 300 October 29, 2014 19:00
OpenFOAM without MPI kokizzu OpenFOAM Installation 4 May 26, 2014 10:17
DecomposePar links against liblamso0 with OpenMPI jens_klostermann OpenFOAM Bugs 11 June 28, 2007 18:51


All times are GMT -4. The time now is 04:56.