|
[Sponsors] |
getting error while running compressibleInterFoam solver in parallel |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 7, 2015, 02:28 |
getting error while running compressibleInterFoam solver in parallel
|
#1 |
New Member
mohammed musthafa
Join Date: Dec 2014
Location: India
Posts: 5
Rep Power: 12 |
Am running a case with compressibleInterFoam solver in parallel and am getting this error. can any =one help me to sort out with this error. Thanks in advance
[0] [0] [0] --> FOAM FATAL ERROR: [0] Maximum number of iterations exceeded [0] [0] From function thermo<Thermo, Type>::T(scalar f, scalar T0, scalar (thermo<Thermo, Type>::*F)(const scalar) const, scalar (thermo<Thermo, Type>::*dFdT)(const scalar) const, scalar (thermo<Thermo, Type>::*limit)(const scalar) const) const [0] in file /root/openfoam/OpenFOAM-2.2.2/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [0] FOAM parallel run aborting [0] [0] #0 Foam::error:rintStack(Foam::Ostream&) in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" [0] #1 Foam::error::abort() in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" [0] #2 Foam::heRhoThermo<Foam::rhoThermo, Foam:ureMixture<Foam::constTransport<Foam::speci es::thermo<Foam::hConstThermo<Foam:erfectFluid<F oam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" [0] #3 Foam::heRhoThermo<Foam::rhoThermo, Foam:ureMixture<Foam::constTransport<Foam::speci es::thermo<Foam::hConstThermo<Foam:erfectFluid<F oam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" [0] #4 Foam::twoPhaseMixtureThermo::correct() in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/lib/libtwoPhaseMixtureThermo.so" [0] #5 [0] in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/bin/compressibleInterFoam" [0] #6 __libc_start_main in "/lib64/libc.so.6" [0] #7 -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- [0] in "/usr/local/apps/openfoam/OpenFOAM-2.2.2/platforms/linux64IccDPOpt/bin/compressibleInterFoam" |
|
September 6, 2017, 09:27 |
|
#2 |
Member
Kristjan
Join Date: Apr 2017
Location: Slovenia
Posts: 36
Rep Power: 9 |
This is an old thread but and has no replies so I'll post what I know and hope that someone can improve my answer. I'm struggling with this as well.
As far as I can tell, this happens in compressibleInterFoam when temperature is being calculated from internal energy. I don't think it has anything to do with parallelization. My traceback: file compressibleInterFoam.C Code:
#include "TEqn.H" Code:
mixture.correct(); Code:
void Foam::twoPhaseMixtureThermo::correct() thermo1_->correct(); thermo2_->correct(); Code:
template<class BasicPsiThermo, class MixtureType> void Foam::heRhoThermo<BasicPsiThermo, MixtureType>::correct() calculate(); Code:
template<class BasicPsiThermo, class MixtureType> void Foam::heRhoThermo<BasicPsiThermo, MixtureType>::calculate() TCells[celli] = mixture_.THE(hCells[celli],pCells[celli],TCells[celli]); Code:
template<class Thermo, template<class> class Type> inline Foam::scalar Foam::species::thermodbg<Thermo, Type>::THE ... return Type<thermodbg<Thermo, Type> >::THE(*this, he, p, T0); template<class Thermo, template<class> class Type> inline Foam::scalar Foam::species::thermodbg<Thermo, Type>::TEs return T(es, p, T0, &thermodbg<Thermo, Type>::Es, &thermodbg<Thermo, Type>::Cv, &thermodbg<Thermo, Type>::limit ); Code:
do { Test = Tnew; Tnew = (this->*limit) (Test - ((this->*F)(p, Test) - f)/(this->*dFdT)(p, Test)); if (iter > maxIter_/2) { Info << "f= " << f << " p= " << p << " *F=" << (this->*F)(p, Test) << " Tnew=" << Tnew << " *dFdT=" << (this->*dFdT)(p, Test) << endl; } if (iter++ > maxIter_) { FatalErrorInFunction << "Maximum number of iterations exceeded" << abort(FatalError); } } while (mag(Tnew - Test) > Ttol); Code:
thermo1_->validate(phase1Name(), "e"); I also don't understand why is temeprature calculated from internal energy or enthalpy? Shouldn't it be enought to solve TEqn.H? |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OF 2.0.1 parallel running problems | moser_r | OpenFOAM Running, Solving & CFD | 9 | July 27, 2022 04:15 |
[ANSYS Meshing] Help with element size | sandri_92 | ANSYS Meshing & Geometry | 14 | November 14, 2018 08:54 |
Statically Compiling OpenFOAM Issues | herzfeldd | OpenFOAM Installation | 21 | January 6, 2009 10:38 |
Kubuntu uses dash breaks All scripts in tutorials | platopus | OpenFOAM Bugs | 8 | April 15, 2008 08:52 |
Coupled problem running in parallel | liu | OpenFOAM Running, Solving & CFD | 1 | June 24, 2005 06:57 |