Rewrite of wall function boundary conditions to support immersed boundary wall functions. Incompressible fixes; extended to compressible
This commit is contained in:
parent
cffe702f75
commit
31ea91e35b
7 changed files with 72 additions and 45 deletions
|
@ -54,6 +54,21 @@ void epsilonWallFunctionFvPatchScalarField::checkType()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void epsilonWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
|
||||||
|
{
|
||||||
|
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
|
||||||
|
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
||||||
|
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
||||||
|
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
|
epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
|
||||||
|
@ -251,7 +266,7 @@ void epsilonWallFunctionFvPatchScalarField::updateCoeffs()
|
||||||
|
|
||||||
// TODO: perform averaging for cells sharing more than one boundary face
|
// TODO: perform averaging for cells sharing more than one boundary face
|
||||||
|
|
||||||
fixedInternalValueFvPatchField<scalar>::updateCoeffs();
|
fixedInternalValueFvPatchScalarField::updateCoeffs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -260,22 +275,14 @@ void epsilonWallFunctionFvPatchScalarField::evaluate
|
||||||
const Pstream::commsTypes commsType
|
const Pstream::commsTypes commsType
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
fixedInternalValueFvPatchField<scalar>::evaluate(commsType);
|
fixedInternalValueFvPatchScalarField::evaluate(commsType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
|
void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
|
||||||
{
|
{
|
||||||
fixedInternalValueFvPatchField<scalar>::write(os);
|
fixedInternalValueFvPatchScalarField::write(os);
|
||||||
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
writeLocalEntries(os);
|
||||||
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
|
|
||||||
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ SourceFiles
|
||||||
#ifndef compressibleEpsilonWallFunctionFvPatchScalarField_H
|
#ifndef compressibleEpsilonWallFunctionFvPatchScalarField_H
|
||||||
#define compressibleEpsilonWallFunctionFvPatchScalarField_H
|
#define compressibleEpsilonWallFunctionFvPatchScalarField_H
|
||||||
|
|
||||||
#include "fixedInternalValueFvPatchField.H"
|
#include "fixedInternalValueFvPatchFields.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
@ -92,6 +92,20 @@ class epsilonWallFunctionFvPatchScalarField
|
||||||
void checkType();
|
void checkType();
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Protected Member Functions
|
||||||
|
|
||||||
|
//- Write local wall function variables
|
||||||
|
virtual void writeLocalEntries(Ostream&) const;
|
||||||
|
|
||||||
|
//- Return name of turbulence generation field
|
||||||
|
inline const word& GName() const
|
||||||
|
{
|
||||||
|
return GName_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
|
@ -169,7 +183,10 @@ public:
|
||||||
virtual void updateCoeffs();
|
virtual void updateCoeffs();
|
||||||
|
|
||||||
//- Evaluate the patchField
|
//- Evaluate the patchField
|
||||||
virtual void evaluate(const Pstream::commsTypes);
|
virtual void evaluate
|
||||||
|
(
|
||||||
|
const Pstream::commsTypes = Pstream::blocking
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
// I-O
|
||||||
|
|
|
@ -47,7 +47,8 @@ void kqRWallFunctionFvPatchField<Type>::checkType()
|
||||||
<< "Invalid wall function specification" << nl
|
<< "Invalid wall function specification" << nl
|
||||||
<< " Patch type for patch " << this->patch().name()
|
<< " Patch type for patch " << this->patch().name()
|
||||||
<< " must be wall" << nl
|
<< " must be wall" << nl
|
||||||
<< " Current patch type is " << this->patch().type() << nl << endl
|
<< " Current patch type is " << this->patch().type()
|
||||||
|
<< nl << endl
|
||||||
<< abort(FatalError);
|
<< abort(FatalError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,16 +125,6 @@ kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void kqRWallFunctionFvPatchField<Type>::evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes commsType
|
|
||||||
)
|
|
||||||
{
|
|
||||||
zeroGradientFvPatchField<Type>::evaluate(commsType);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
void kqRWallFunctionFvPatchField<Type>::write(Ostream& os) const
|
void kqRWallFunctionFvPatchField<Type>::write(Ostream& os) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -134,15 +134,6 @@ public:
|
||||||
|
|
||||||
// Member functions
|
// Member functions
|
||||||
|
|
||||||
// Evaluation functions
|
|
||||||
|
|
||||||
//- Evaluate the patchField
|
|
||||||
virtual void evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes commsType=Pstream::Pstream::blocking
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
// I-O
|
||||||
|
|
||||||
//- Write
|
//- Write
|
||||||
|
|
|
@ -54,6 +54,22 @@ void omegaWallFunctionFvPatchScalarField::checkType()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void omegaWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
|
||||||
|
{
|
||||||
|
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
|
||||||
|
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
||||||
|
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
||||||
|
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
||||||
|
os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
|
omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
|
||||||
|
@ -264,16 +280,7 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs()
|
||||||
void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
|
void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
|
||||||
{
|
{
|
||||||
fixedInternalValueFvPatchField<scalar>::write(os);
|
fixedInternalValueFvPatchField<scalar>::write(os);
|
||||||
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
writeLocalEntries(os);
|
||||||
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
|
|
||||||
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,20 @@ class omegaWallFunctionFvPatchScalarField
|
||||||
void checkType();
|
void checkType();
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Protected Member Functions
|
||||||
|
|
||||||
|
//- Write local wall function variables
|
||||||
|
virtual void writeLocalEntries(Ostream&) const;
|
||||||
|
|
||||||
|
//- Return name of turbulence generation field
|
||||||
|
inline const word& GName() const
|
||||||
|
{
|
||||||
|
return GName_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
|
|
|
@ -42,7 +42,7 @@ namespace RASModels
|
||||||
|
|
||||||
void epsilonWallFunctionFvPatchScalarField::checkType()
|
void epsilonWallFunctionFvPatchScalarField::checkType()
|
||||||
{
|
{
|
||||||
if (!this->patch().isWall())
|
if (!patch().isWall())
|
||||||
{
|
{
|
||||||
FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
|
FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
|
||||||
<< "Invalid wall function specification" << nl
|
<< "Invalid wall function specification" << nl
|
||||||
|
|
Reference in a new issue