Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright held by original author
- \\/ 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 2 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, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Class
- turbulentVolumeFlowVelocityFvPatchVectorField
- Description
- Boundary condition specifies a turbulentVolumeFlow velocity inlet profile
- (fixed value), given maximum velocity value (peak of the parabola),
- flow direction n and direction of the turbulentVolumeFlow coordinate y
- SourceFiles
- turbulentVolumeFlowVelocityFvPatchVectorField.C
- \*---------------------------------------------------------------------------*/
- #ifndef turbulentVolumeFlowVelocityFvPatchVectorField_H
- #define turbulentVolumeFlowVelocityFvPatchVectorField_H
- #include "fvPatchFields.H"
- #include "fixedValueFvPatchFields.H"
- // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
- namespace Foam
- {
- /*---------------------------------------------------------------------------*\
- Class turbulentVolumeFlowVelocityFvPatchField Declaration
- \*---------------------------------------------------------------------------*/
- class turbulentVolumeFlowVelocityFvPatchVectorField
- :
- public fixedValueFvPatchVectorField
- {
- // Private data
- //- Measured integral volumetric flow rate
- scalar volumeFlowRate_;
- //- Power law coefficient
- scalar nPower_;
- //- Flow direction
- vector n_;
- //- Direction of the y-coordinate
- vector y_;
- public:
- //- Runtime type information
- TypeName("turbulentVolumeFlowVelocity");
- // Constructors
- //- Construct from patch and internal field
- turbulentVolumeFlowVelocityFvPatchVectorField
- (
- const fvPatch&,
- const DimensionedField<vector, volMesh>&
- );
- //- Construct from patch, internal field and dictionary
- turbulentVolumeFlowVelocityFvPatchVectorField
- (
- const fvPatch&,
- const DimensionedField<vector, volMesh>&,
- const dictionary&
- );
- //- Construct by mapping given turbulentVolumeFlowVelocityFvPatchVectorField
- // onto a new patch
- turbulentVolumeFlowVelocityFvPatchVectorField
- (
- const turbulentVolumeFlowVelocityFvPatchVectorField&,
- const fvPatch&,
- const DimensionedField<vector, volMesh>&,
- const fvPatchFieldMapper&
- );
- //- Construct as copy
- turbulentVolumeFlowVelocityFvPatchVectorField
- (
- const turbulentVolumeFlowVelocityFvPatchVectorField&
- );
- //- Construct and return a clone
- virtual tmp<fvPatchVectorField> clone() const
- {
- return tmp<fvPatchVectorField>
- (
- new turbulentVolumeFlowVelocityFvPatchVectorField(*this)
- );
- }
- //- Construct as copy setting internal field reference
- turbulentVolumeFlowVelocityFvPatchVectorField
- (
- const turbulentVolumeFlowVelocityFvPatchVectorField&,
- const DimensionedField<vector, volMesh>&
- );
- //- Construct and return a clone setting internal field reference
- virtual tmp<fvPatchVectorField> clone
- (
- const DimensionedField<vector, volMesh>& iF
- ) const
- {
- return tmp<fvPatchVectorField>
- (
- new turbulentVolumeFlowVelocityFvPatchVectorField(*this, iF)
- );
- }
- // Member functions
- //- Return max value
- scalar& volumeFlowRate()
- {
- return volumeFlowRate_;
- }
- //- Return power law coefficient
- scalar& nPower()
- {
- return nPower_;
- }
- //- Return flow direction
- vector& n()
- {
- return n_;
- }
- //- Return y direction
- vector& y()
- {
- return y_;
- }
- //- Update coefficients
- virtual void updateCoeffs();
- //- Write
- virtual void write(Ostream&) const;
- };
- // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
- } // End namespace Foam
- // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
- #endif
- // ************************************************************************* //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement