|
[Sponsors] |
gradientInternalCoeffs cannot be called for a calculatedFvPatchField |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 28, 2012, 06:27 |
gradientInternalCoeffs cannot be called for a calculatedFvPatchField
|
#1 |
Senior Member
|
hi everybody,
I defined a new solver that solve natural convection in a viscoelastic Fluid. it made successfully, but when I want to run my model the following error was appeared: Code:
--> FOAM FATAL ERROR: gradientInternalCoeffs cannot be called for a calculatedFvPatchField on patch floor of field p in file "/home/mostafa/OpenFOAM/mostafa-2.1.0/run/tutorials/viscoelastic/viscoelasticFluidFoam/Hasan_Giesekus/0/p" You are probably trying to solve for a field with a default boundary condition. From function calculatedFvPatchField<Type>::gradientInternalCoeffs() const in file fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C at line 186. FOAM exiting Thanks |
|
September 28, 2012, 17:08 |
|
#3 |
Senior Member
|
the attachment contains the p, fvSolution and fvSchemes files.
I changed the floor boundary condition and even delete the p file but this problem didn't had been solve. I think the problem is somewhere in the fvSolution or fvSchemes. |
|
September 28, 2012, 18:37 |
|
#4 |
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,267
Blog Entries: 1
Rep Power: 25 |
this solver reads p or p-rgh ?
it seems it reads p, if it reads p! then you should define BC for p, you can not use calculated BC, you should use (fixedValue or fixedGradient) for it |
|
September 29, 2012, 00:36 |
|
#5 |
Senior Member
|
It reads p and calculate the p-rgh, such as bouyantbuossinesqsimplefoam. I change the bc to fixedValue and fixedGradient but this this error didn't had been omit.
|
|
September 29, 2012, 03:57 |
|
#6 |
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,267
Blog Entries: 1
Rep Power: 25 |
Dear mostafa let me ask another questions, which version of openfoam do you use?
could you run this test case before heat transfer implementation? put the test case and solver here, then may other can help you |
|
September 29, 2012, 06:42 |
|
#7 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
Hi
Did you set p equal to another field in your solver during calculations? i.g. p=....? |
|
September 29, 2012, 07:09 |
|
#8 |
Senior Member
|
this is where I use the p in createFields.H:
Code:
Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); surfaceScalarField ghf("ghf", g & mesh.Cf()); volScalarField p ( IOobject ( "p", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), p_rgh + rhok*gh ); label pRefCell = 0; scalar pRefValue = 0.0; setRefCell(p,p_rgh, mesh.solutionDict().subDict("PISO"), pRefCell, pRefValue); if (p_rgh.needReference()) { p += dimensionedScalar ( "p", p.dimensions(), pRefValue - getRefCellValue(p, pRefCell) ); } Code:
p = p_rgh + rhok*gh; if (p_rgh.needReference()) { p += dimensionedScalar ( "p", p.dimensions(), pRefValue - getRefCellValue(p, pRefCell) ); p_rgh = p - rhok*gh; } |
|
September 29, 2012, 07:33 |
|
#9 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
Hi
I think you have two options two solve the problem. Selection is your choice: 1: volScalarField p ( IOobject ( "p", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); or 2: p == p_rgh + rhok*gh; |
|
September 29, 2012, 08:21 |
|
#10 |
Senior Member
|
Dear Ata
I applied what you offered me and what Nima said, that error was solved. but after some iterations (50) the following error appeared: Code:
#0 Foam::error::printStack(Foam::Ostream&) in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libOpenFOAM.so" #2 Uninterpreted: #3 Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libOpenFOAM.so" #4 Foam::fvMatrix<Foam::SymmTensor<double> >::solve(Foam::dictionary const&) in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libviscoelasticTransportModels.so" #5 Foam::fvMatrix<Foam::SymmTensor<double> >::solve() in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libviscoelasticTransportModels.so" #6 Foam::Giesekus::correct() in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libviscoelasticTransportModels.so" #7 Foam::multiMode::correct() in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libviscoelasticTransportModels.so" #8 Foam::viscoelasticModel::correct() in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/lib/libviscoelasticTransportModels.so" #9 in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/bin/BuoyantBoussinesqViscoelasticFluidFoam" #10 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6" #11 in "/home/mostafa/OpenFOAM/OpenFOAM-2.1.0/platforms/linuxGccDPOpt/bin/BuoyantBoussinesqViscoelasticFluidFoam" Floating point exception again thank you so much |
|
February 23, 2013, 02:44 |
|
#13 |
Senior Member
|
||
November 11, 2013, 03:06 |
|
#14 | |
New Member
sasan
Join Date: Sep 2013
Posts: 28
Rep Power: 13 |
Quote:
how do you solved this problem?? I have some problem like this,but my problem dont solve by ata or nima offers... I use interPhasechangeFoam solver and modified this solver for my simulation... you can see my creatFields and Peqn |
||
November 12, 2013, 01:46 |
|
#15 |
Senior Member
|
hi Sasan,
I get your attached files and I couldn't find any thing that made error! so, attach your log file + the errors expression |
|
November 12, 2013, 04:18 |
|
#16 | |
New Member
sasan
Join Date: Sep 2013
Posts: 28
Rep Power: 13 |
Quote:
Thank you for reply.. my error: FOAM FATAL ERROR: gradientInternalCoeffs cannot be called for a calculatedFvPatchField on patch left of field p in file "/home/Sasan/Desktop/HardtMix/stephanProblem/0/p" You are probably trying to solve for a field with a default boundary condition. and attach the log file |
||
November 12, 2013, 08:10 |
|
#17 |
Senior Member
|
You have to specify correct boundary conditions for p otherwise you cannot solve the pEqn!
The error message gave you already a hint what you have to do: Code:
on patch left of field p in file "/home/Sasan/Desktop/HardtMix/stephanProblem/0/p" You are probably trying to solve for a field with a default boundary condition. try other boundary conditions that are compatible with your solution. |
|
November 13, 2013, 03:03 |
|
#18 | |
New Member
sasan
Join Date: Sep 2013
Posts: 28
Rep Power: 13 |
Quote:
I used this test case with another solver and dont have problem,But for new solver,I have this problem. my BC is not calculated....!! you can see: |
||
November 13, 2013, 03:04 |
|
#19 |
New Member
sasan
Join Date: Sep 2013
Posts: 28
Rep Power: 13 |
sorry.I forgot attach my file...
|
|
November 13, 2013, 04:07 |
|
#20 | |
Senior Member
|
mhmm, I think there are problems with p BCs.
the userGuide says: Quote:
Also, I can't understand these conditions you used for p_rgh: Code:
type buoyantPressure; gradient uniform 0; value uniform 0; Code:
type buoyantPressure; rho rhok; value uniform 0; |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How is the turbulence model called in openfoam? | hz283 | OpenFOAM | 3 | May 4, 2017 22:20 |
terminate called after throwing an instance of 'int' | b614910 | SU2 | 10 | July 27, 2014 23:16 |
word::stripInvalid() called for word r error | immortality | OpenFOAM Running, Solving & CFD | 4 | May 12, 2013 07:03 |
understanding how turbulence models are called | romant | OpenFOAM Programming & Development | 0 | March 21, 2012 10:22 |
reconstructParMesh not working with an axisymetric case | francesco | OpenFOAM Bugs | 4 | May 8, 2009 06:49 |