diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C index da89fcd26591193a22d839dfaa1211a2579eb8be..4862689fabed7f851b261839601fcd7cb235657b 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C @@ -47,13 +47,13 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF), - Ustar_(0), - z_(pTraits<vector>::zero), - z0_(0), + z_(vector::zero), kappa_(0.41), Uref_(0), Href_(0), - zGround_(0) + z0_(0), + zGround_(0), + Ustar_(0) {} @@ -67,13 +67,13 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField ) : fixedValueFvPatchScalarField(ptf, p, iF, mapper), - Ustar_(ptf.Ustar_), z_(ptf.z_), - z0_(ptf.z0_), kappa_(ptf.kappa_), Uref_(ptf.Uref_), Href_(ptf.Href_), - zGround_(ptf.zGround_) + z0_(ptf.z0_), + zGround_(ptf.zGround_), + Ustar_(ptf.Ustar_) {} @@ -86,13 +86,13 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF), - Ustar_(p.size()), z_(dict.lookup("z")), - z0_(readScalar(dict.lookup("z0"))), kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)), Uref_(readScalar(dict.lookup("Uref"))), Href_(readScalar(dict.lookup("Href"))), - zGround_("zGround", dict, p.size()) + z0_("z0", dict, p.size()), + zGround_("zGround", dict, p.size()), + Ustar_(p.size()) { if (mag(z_) < SMALL) { @@ -128,18 +128,47 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField ) : fixedValueFvPatchScalarField(blpsf, iF), - Ustar_(blpsf.Ustar_), z_(blpsf.z_), - z0_(blpsf.z0_), kappa_(blpsf.kappa_), Uref_(blpsf.Uref_), Href_(blpsf.Href_), - zGround_(blpsf.zGround_) + z0_(blpsf.z0_), + zGround_(blpsf.zGround_), + Ustar_(blpsf.Ustar_) {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +void atmBoundaryLayerInletEpsilonFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + fixedValueFvPatchScalarField::autoMap(m); + z0_.autoMap(m); + zGround_.autoMap(m); + Ustar_.autoMap(m); +} + + +void atmBoundaryLayerInletEpsilonFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + fixedValueFvPatchScalarField::rmap(ptf, addr); + + const atmBoundaryLayerInletEpsilonFvPatchScalarField& blptf = + refCast<const atmBoundaryLayerInletEpsilonFvPatchScalarField>(ptf); + + z0_.rmap(blptf.z0_, addr); + zGround_.rmap(blptf.zGround_, addr); + Ustar_.rmap(blptf.Ustar_, addr); +} + + void atmBoundaryLayerInletEpsilonFvPatchScalarField::updateCoeffs() { const vectorField& c = patch().Cf(); @@ -153,16 +182,14 @@ void atmBoundaryLayerInletEpsilonFvPatchScalarField::write(Ostream& os) const fvPatchScalarField::write(os); os.writeKeyword("z") << z_ << token::END_STATEMENT << nl; - os.writeKeyword("z0") - << z0_ << token::END_STATEMENT << nl; os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl; os.writeKeyword("Uref") << Uref_ << token::END_STATEMENT << nl; os.writeKeyword("Href") << Href_ << token::END_STATEMENT << nl; - os.writeKeyword("zGround") - << zGround_ << token::END_STATEMENT << nl; + z0_.writeEntry("z0", os); + zGround_.writeEntry("zGround", os); writeEntry("value", os); } diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H index 92b6145dadb06689962ba9fce5a16f78f49c1acf..7eded6ae1e90c47d50848ce9b2471440b3c1c4df 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H @@ -87,15 +87,9 @@ class atmBoundaryLayerInletEpsilonFvPatchScalarField { // Private data - //- Frictional velocity - scalarField Ustar_; - //- Direction of the z-coordinate vector z_; - //- Surface roughness lenght - scalarField z0_; - //- Von Karman constant const scalar kappa_; @@ -105,8 +99,14 @@ class atmBoundaryLayerInletEpsilonFvPatchScalarField //- Reference hight const scalar Href_; + //- Surface roughness length + scalarField z0_; + //- Minimum corrdinate value in z direction - const scalarField zGround_; + scalarField zGround_; + + //- Frictional velocity + scalarField Ustar_; public: @@ -173,20 +173,42 @@ public: // Member functions - //- Return max value - scalarField Ustar() const - { - return Ustar_; - } + // Access - //- Return z direction - const vector& z() const - { - return z_; - } + //- Return max value + scalarField Ustar() const + { + return Ustar_; + } + + //- Return z direction + const vector& z() const + { + return z_; + } + + + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + virtual void autoMap + ( + const fvPatchFieldMapper& + ); + + //- Reverse map the given fvPatchField onto this fvPatchField + virtual void rmap + ( + const fvPatchScalarField&, + const labelList& + ); + + + // Evaluation functions + + //- Update coefficients + virtual void updateCoeffs(); - //- Update coefficients - virtual void updateCoeffs(); //- Write virtual void write(Ostream&) const;