|
[Sponsors] |
Incompatible dimensionsof pcorr and div(phi) in interFoam |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 1, 2021, 08:54 |
Incompatible dimensionsof pcorr and div(phi) in interFoam
|
#1 |
New Member
Prasad ADHAV
Join Date: Apr 2020
Location: Belval, Luxembourg
Posts: 10
Rep Power: 6 |
Hello,
I use Ubuntu 18.04 LTS. OpenFOAM v7. I have added new fields in interFoam in `createFields.H`, and I have renamed the solver as PorousInterFoam. Code:
Info<< "Reading transportProperties\n" << endl; immiscibleIncompressibleTwoPhaseMixture mixture(U, phi); volScalarField& alpha1(mixture.alpha1()); volScalarField& alpha2(mixture.alpha2()); const dimensionedScalar& rho1 = mixture.rho1(); const dimensionedScalar& rho2 = mixture.rho2(); // Need to store rho for ddt(rho, U) Info<< "Writing field rho \n" "\n" << endl; volScalarField rho ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), alpha1*rho1 + alpha2*rho2 ); rho.oldTime(); Info<< "Writing field mu\n" << endl; volScalarField mu ( IOobject ( "mu", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mixture.mu()*1.0 ); Info<< "Reading field Volume_Porosity\n" << endl; volScalarField Volume_Porosity ( IOobject ( "Volume_Porosity", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); // GradP is declared after p and p_rgh Info<< "Reading field GradP\n" << endl; volVectorField GradP ( IOobject ( "GradP", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), fvc::grad(p) ); It is inside pimple loop and after `mixture.correct();` Code:
mu = mixture.mu(); GradP = fvc::grad(p); `fvSolutions`. When I run the case I get the following error due to dimension mismatch: Code:
--> FOAM FATAL ERROR: [pcorr[2 -2 -4 0 0 0 0] ] + [div(phi)[0 0 -1 0 0 0 0] ] From function void Foam::checkMethod(const Foam::fvMatrix<Type>&, const Foam::DimensionedField<Type, Foam::volMesh>&, const char*) [with Type = double] in file /opt/openfoam7/src/finiteVolume/lnInclude/fvMatrix.C at line 1291. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 void Foam::checkMethod<double>(Foam::fvMatrix<double> const&, Foam::DimensionedField<double, Foam::volMesh> const&, char const*) in "/home/prasad/OpenFOAM/prasad-7/platforms/linux64GccDPInt32Opt/bin/PorousInterFoam" #3 Foam::tmp<Foam::fvMatrix<double> > Foam::operator+<double>(Foam::tmp<Foam::fvMatrix<double> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/prasad/OpenFOAM/prasad-7/platforms/linux64GccDPInt32Opt/bin/PorousInterFoam" #4 ? in "/home/prasad/OpenFOAM/prasad-7/platforms/linux64GccDPInt32Opt/bin/PorousInterFoam" #5 ? in "/home/prasad/OpenFOAM/prasad-7/platforms/linux64GccDPInt32Opt/bin/PorousInterFoam" #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? in "/home/prasad/OpenFOAM/prasad-7/platforms/linux64GccDPInt32Opt/bin/PorousInterFoam" Aborted (core dumped) Is it the solver, or the simulation set-up? Thank you. |
|
Tags |
dimensions, interfoam, programming |
|
|