CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Viscosity model in the twoPhaseEulerFoam (https://www.cfd-online.com/Forums/openfoam-programming-development/97996-viscosity-model-twophaseeulerfoam.html)

enoch February 29, 2012 23:43

Viscosity model in the twoPhaseEulerFoam
 
2 Attachment(s)
I'm not using the kinetic theory for the solid-phase stress tensor, but I could borrow "viscosity models" used in the solver.

For the solid phase, the momentum equation is
dUa/dt = div( nuEffa*TAU) + ...
where nuEffa=mua/rhoa

I'd like to use the BirdCarreau viscosity model for mua. mua is a function of strainRate and alpha where mua_inf, mua_0, k, and n are constants.
I checked non-newtonian solver and its viscosity models, and I tried to implement the modified BirdCarreau viscosity model located in the folder:
../twoPhaseEulerFoamMod/kineticTheoryModels/viscosityModel/BirdCarreau

When I compiled kineticTheoryModels using wmake libso, it failed. Could you give me your direction or remedy? Attached are files for the viscosity model.

laurensvd March 1, 2012 02:42

Whats the error message?

enoch March 1, 2012 11:09

Below is what I've got on my monitor screen.
====
.......
viscosityModel/BirdCarreau/BirdCarreauViscosity.C: At global scope:
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:91: error: prototype for ‘Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::kineticTheoryModels::BirdCarreauViscosity::m ua(const Foam::volScalarField&, const Foam::volVectorField&) const’ does not match any in class ‘Foam::kineticTheoryModels::BirdCarreauViscos ity’
viscosityModel/BirdCarreau/BirdCarreauViscosity.H:100: error: candidates are: Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::kineticTheoryModels::BirdCarreauViscosity::m ua(const Foam::volScalarField&, int) const
viscosityModel/BirdCarreau/BirdCarreauViscosity.H:69: error: Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::kineticTheoryModels::BirdCarreauViscosity::m ua() const
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:110: error: ‘oam’ has not been declared
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:112: error: ISO C++ forbids declaration of ‘dictionary’ with no type
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:112: error: expected ‘,’ or ‘...’ before ‘&’ token
viscosityModel/BirdCarreau/BirdCarreauViscosity.C: In function ‘bool read(int)’:
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:115: error: ‘viscosityModel’ has not been declared
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:115: error: ‘viscosityProperties’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:117: error: ‘BirdCarreauViscosityCoeffs_’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:117: error: ‘typeName’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:119: error: ‘nu0_’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:120: error: ‘nuInf_’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:121: error: ‘k_’ was not declared in this scope
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:122: error: ‘n_’ was not declared in this scope
In file included from viscosityModel/BirdCarreau/BirdCarreauViscosity.H:37,
from viscosityModel/BirdCarreau/BirdCarreauViscosity.C:26:
lnInclude/viscosityModel.H: In static member function ‘static Foam::autoPtr<Foam::kineticTheoryModels::viscosity Model> Foam::kineticTheoryModels::viscosityModel::adddict ionaryConstructorToTable<viscosityModelType>::New( const Foam::dictionary&) [with viscosityModelType = Foam::kineticTheoryModels::BirdCarreauViscosity]’:
lnInclude/viscosityModel.H:86: instantiated from ‘Foam::kineticTheoryModels::viscosityModel::adddic tionaryConstructorToTable<viscosityModelType>::add dictionaryConstructorToTable(const Foam::word&) [with viscosityModelType = Foam::kineticTheoryModels::BirdCarreauViscosity]’
viscosityModel/BirdCarreau/BirdCarreauViscosity.C:42: instantiated from here
lnInclude/viscosityModel.H:77: error: cannot allocate an object of abstract type ‘Foam::kineticTheoryModels::BirdCarreauViscos ity’
viscosityModel/BirdCarreau/BirdCarreauViscosity.H:53: note: because the following virtual functions are pure within ‘Foam::kineticTheoryModels::BirdCarreauViscos ity’:
lnInclude/viscosityModel.H:109: note: virtual Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::kineticTheoryModels::viscosityModel::mua(con st Foam::volScalarField&, const Foam::volScalarField&, const Foam::volScalarField&, const Foam::dimensionedScalar&, const Foam::dimensionedScalar&, const Foam::dimensionedScalar&) const
make: *** [Make/linuxGccDPOpt/BirdCarreauViscosity.o] Error 1

avila.vc March 17, 2016 09:53

Solved?
 
Enoch, have you managed to solve the problem?


All times are GMT -4. The time now is 22:00.