openfoam自定义边界条件编译时报错,恳请论坛内各位老师解惑
- 
							
							
							
							
报错的自定义边界如下,如图所示报错为:“‘incompressible’ does not name a type“,恳请论坛内各位老师解惑 
 /---------------------------------------------------------------------------\\ / F ield OpenFOAM: The Open Source CFD Toolbox \ / O peration \ / A nd Copyright (C) 2011 OpenFOAM Foundation \/ M anipulation 
 License 
 This file is part of OpenFOAM.OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.*---------------------------------------------------------------------------*/ #include "adjointOutletPressureHeatFvPatchScalarField.H" 
 #include "addToRunTimeSelectionTable.H"
 #include "fvPatchMapper.H"
 #include "volFields.H"
 #include "surfaceFields.H"
 #include "RASModel.H"// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::adjointOutletPressureHeatFvPatchScalarField:: 
 adjointOutletPressureHeatFvPatchScalarField
 (
 const fvPatch& p,
 const DimensionedField<scalar, volMesh>& iF
 )
 :
 fixedValueFvPatchScalarField(p, iF)
 {}Foam::adjointOutletPressureHeatFvPatchScalarField:: 
 adjointOutletPressureHeatFvPatchScalarField
 (
 const adjointOutletPressureHeatFvPatchScalarField& ptf,
 const fvPatch& p,
 const DimensionedField<scalar, volMesh>& iF,
 const fvPatchFieldMapper& mapper
 )
 :
 fixedValueFvPatchScalarField(ptf, p, iF, mapper)
 {}Foam::adjointOutletPressureHeatFvPatchScalarField:: 
 adjointOutletPressureHeatFvPatchScalarField
 (
 const fvPatch& p,
 const DimensionedField<scalar, volMesh>& iF,
 const dictionary& dict
 )
 :
 fixedValueFvPatchScalarField(p, iF)
 {
 fvPatchField<scalar>::operator=
 (
 scalarField("value", dict, p.size())
 );
 }Foam::adjointOutletPressureHeatFvPatchScalarField:: 
 adjointOutletPressureHeatFvPatchScalarField
 (
 const adjointOutletPressureHeatFvPatchScalarField& tppsf,
 const DimensionedField<scalar, volMesh>& iF
 )
 :
 fixedValueFvPatchScalarField(tppsf, iF)
 {}// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::adjointOutletPressureHeatFvPatchScalarField::updateCoeffs() 
 {
 if (updated())
 {
 return;
 }const fvsPatchField<scalar>& phip = patch().lookupPatchField<surfaceScalarField, scalar>("phi"); const fvsPatchField<scalar>& phiap = patch().lookupPatchField<surfaceScalarField, scalar>("phib"); const fvPatchField<vector>& Uap = patch().lookupPatchField<volVectorField, vector>("Ub"); const dictionary& transportProperties = db().lookupObject<IOdictionary>("transportProperties"); dimensionedScalar nu(transportProperties.lookup("nu")); scalarField Up_n = phip / patch().magSf();//Primal scalarField Uap_n = phiap / patch().magSf();//Adjoint const incompressible::RASModel& rasModel = db().lookupObject<Foam::incompressible::RASModel>("RASProperties"); scalarField nueff = rasModel.nuEff()().boundaryField()[patch().index()]; const scalarField& deltainv = patch().deltaCoeffs(); // distance^(-1) scalarField Uaneigh_n = (Uap.patchInternalField() & patch().nf()); //operator ==((Up_n * Uap_n) +2*nu.value()*deltainv*(Uap_n-Uaneigh_n));operator ==((Up_n * Uap_n) +2*nueff.value()deltainv(Uap_n-Uaneigh_n)); fixedValueFvPatchScalarField::updateCoeffs();} void Foam::adjointOutletPressureHeatFvPatchScalarField::write(Ostream& os) const 
 {
 fvPatchScalarField::write(os);
 writeEntry("value", os);
 }// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam 
 {
 makePatchTypeField
 (
 fvPatchScalarField,
 adjointOutletPressureHeatFvPatchScalarField
 );
 incompressible
 }
  
- 
							
							
							
							
@1064168551 在 openfoam自定义边界条件编译时报错,恳请论坛内各位老师解惑 中说: const incompressible::RASModel& rasModel = 
 db().lookupObjectFoam::incompressible::RASModel("RASProperties");scalarField nueff = rasModel.nuEff()().boundaryField()[patch().index()]; 你这边伴随边界条件中并没有用到nueff的值,可以直接把这几行代码注释掉。 
