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

Problem in implementing new sgs model

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 29, 2015, 05:35
Default Problem in implementing new sgs model
  #1
New Member
 
karar
Join Date: Feb 2013
Posts: 13
Rep Power: 13
zoptirik is on a distinguished road
Hi, all:
I want to implement a new SGS model into OF. I tried a lot of time but didn't solve. My model is non-eddyviscosity sgs model.When I modeled the B() as follows

Code:
tmp<volSymmTensorField> CinlarStress::B() const
   {
    return (c1_*I*filter_(U())/(pow(delta(),3)*sqrt(2*symm(fvc::grad(U()))))*(1+filter_(U())/delta()*sqrt(2*symm(fvc::grad(U())))));
}
However, when I compile, it returns that:
Code:
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   candidate expects 2 arguments, 1 provided
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note: Foam::tmp<Foam::Field<double> > Foam::sqrt(const Foam::UList<double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::UList<double>&’
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note: Foam::tmp<Foam::Field<double> > Foam::sqrt(const Foam::tmp<Foam::Field<double> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::tmp<Foam::Field<double> >&’
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionSet.H:355:29: note: Foam::dimensionSet Foam::sqrt(const Foam::dimensionSet&)
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionSet.H:355:29: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::dimensionSet&’
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionedScalar.H:65:19: note: Foam::dimensionedScalar Foam::sqrt(const dimensionedScalar&)
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionedScalar.H:65:19: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const dimensionedScalar& {aka const Foam::dimensioned<double>&}’
/opt/openfoam230/src/OpenFOAM/lnInclude/DimensionedScalarField.C:636:1: note: template<class GeoMesh> Foam::tmp<Foam::DimensionedField<double, GeoMesh> > Foam::sqrt(const Foam::DimensionedField<double, GeoMesh>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/DimensionedScalarField.C:636:1: note: template<class GeoMesh> Foam::tmp<Foam::DimensionedField<double, GeoMesh> > Foam::sqrt(const Foam::tmp<Foam::DimensionedField<double, GeoMesh> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> void Foam::sqrt(Foam::FieldField<Field, double>&, const Foam::FieldField<Field, double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> Foam::tmp<Foam::FieldField<Field, double> > Foam::sqrt(const Foam::FieldField<Field, double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> Foam::tmp<Foam::FieldField<Field, double> > Foam::sqrt(const Foam::tmp<Foam::FieldField<Field, double> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> > Foam::sqrt(const Foam::GeometricField<double, PatchField, GeoMesh>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> > Foam::sqrt(const Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> void Foam::sqrt(Foam::GeometricField<double, PatchField, GeoMesh>&, const Foam::GeometricField<double, PatchField, GeoMesh>&)
CinlarStress/CinlarStress.C:150:129: error: no matching function for call to ‘sqrt(Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >)’
CinlarStress/CinlarStress.C:150:129: note: candidates are:
/opt/openfoam230/src/OpenFOAM/lnInclude/Scalar.H:260:1: note: Foam::floatScalar Foam::sqrt(Foam::floatScalar)
/opt/openfoam230/src/OpenFOAM/lnInclude/Scalar.H:260:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘Foam::floatScalar {aka float}’
/opt/openfoam230/src/OpenFOAM/lnInclude/Scalar.H:260:1: note: Foam::doubleScalar Foam::sqrt(Foam::doubleScalar)
/opt/openfoam230/src/OpenFOAM/lnInclude/Scalar.H:260:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘Foam::doubleScalar {aka double}’
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note: void Foam::sqrt(Foam::Field<double>&, const Foam::UList<double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   candidate expects 2 arguments, 1 provided
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note: Foam::tmp<Foam::Field<double> > Foam::sqrt(const Foam::UList<double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::UList<double>&’
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note: Foam::tmp<Foam::Field<double> > Foam::sqrt(const Foam::tmp<Foam::Field<double> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarField.H:105:1: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::tmp<Foam::Field<double> >&’
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionSet.H:355:29: note: Foam::dimensionSet Foam::sqrt(const Foam::dimensionSet&)
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionSet.H:355:29: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const Foam::dimensionSet&’
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionedScalar.H:65:19: note: Foam::dimensionedScalar Foam::sqrt(const dimensionedScalar&)
/opt/openfoam230/src/OpenFOAM/lnInclude/dimensionedScalar.H:65:19: note:   no known conversion for argument 1 from ‘Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> >’ to ‘const dimensionedScalar& {aka const Foam::dimensioned<double>&}’
/opt/openfoam230/src/OpenFOAM/lnInclude/DimensionedScalarField.C:636:1: note: template<class GeoMesh> Foam::tmp<Foam::DimensionedField<double, GeoMesh> > Foam::sqrt(const Foam::DimensionedField<double, GeoMesh>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/DimensionedScalarField.C:636:1: note: template<class GeoMesh> Foam::tmp<Foam::DimensionedField<double, GeoMesh> > Foam::sqrt(const Foam::tmp<Foam::DimensionedField<double, GeoMesh> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> void Foam::sqrt(Foam::FieldField<Field, double>&, const Foam::FieldField<Field, double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> Foam::tmp<Foam::FieldField<Field, double> > Foam::sqrt(const Foam::FieldField<Field, double>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/scalarFieldField.C:107:1: note: template<template<class> class Field> Foam::tmp<Foam::FieldField<Field, double> > Foam::sqrt(const Foam::tmp<Foam::FieldField<Field, double> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> > Foam::sqrt(const Foam::GeometricField<double, PatchField, GeoMesh>&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> > Foam::sqrt(const Foam::tmp<Foam::GeometricField<double, PatchField, GeoMesh> >&)
/opt/openfoam230/src/OpenFOAM/lnInclude/GeometricScalarField.C:760:1: note: template<template<class> class PatchField, class GeoMesh> void Foam::sqrt(Foam::GeometricField<double, PatchField, GeoMesh>&, const Foam::GeometricField<double, PatchField, GeoMesh>&)
CinlarStress/CinlarStress.C:151:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [Make/linux64GccDPOpt/CinlarStress.o] Error 1
zoptirik 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
Overflow Error in Multiphase Modelling with Two Continuous Fluids ashtonJ CFX 6 August 11, 2014 14:32
Air-lift model with hot gases and water. Time step problem. PauliusRap FLOW-3D 0 August 4, 2014 04:47
Centrifugal pump OpenFOAM, convergence problem, ANSA model RDD OpenFOAM Running, Solving & CFD 0 July 5, 2014 09:12
Turbulence model for mixing problem??? nileshjrane Main CFD Forum 7 September 14, 2010 04:57
Turbulence model for mixing problem nileshjrane OpenFOAM Running, Solving & CFD 1 September 7, 2010 17:48


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