mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
oscillatingFixedValue BC replaced by uniformFixedValue with the new Function1Types::Sine
For example the sinusoidal motion of the floating object in the
potentialFreeSurfaceFoam/oscillatingBox tutorial is now specified thus
floatingObject
{
type fixedNormalInletOutletVelocity;
fixTangentialInflow false;
normalVelocity
{
type uniformFixedValue;
uniformValue sine;
uniformValueCoeffs
{
frequency 1;
amplitude table
(
( 0 0)
( 10 0.025)
(1000 0.025)
);
scale (0 1 0);
level (0 0 0);
}
}
value uniform (0 0 0);
}
rather than using
floatingObject
{
type fixedNormalInletOutletVelocity;
fixTangentialInflow false;
normalVelocity
{
type oscillatingFixedValue;
refValue uniform (0 1 0);
offset (0 -1 0);
amplitude table
(
( 0 0)
( 10 0.025)
(1000 0.025)
);
frequency constant 1;
}
value uniform (0 0 0);
}
This commit is contained in:
@ -157,7 +157,6 @@ $(derivedFvPatchFields)/mappedFixedValue/mappedFixedValueFvPatchFields.C
|
|||||||
$(derivedFvPatchFields)/mappedFlowRate/mappedFlowRateFvPatchVectorField.C
|
$(derivedFvPatchFields)/mappedFlowRate/mappedFlowRateFvPatchVectorField.C
|
||||||
$(derivedFvPatchFields)/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C
|
$(derivedFvPatchFields)/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C
|
||||||
$(derivedFvPatchFields)/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
|
$(derivedFvPatchFields)/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
|
||||||
$(derivedFvPatchFields)/oscillatingFixedValue/oscillatingFixedValueFvPatchFields.C
|
|
||||||
$(derivedFvPatchFields)/outletInlet/outletInletFvPatchFields.C
|
$(derivedFvPatchFields)/outletInlet/outletInletFvPatchFields.C
|
||||||
$(derivedFvPatchFields)/outletMappedUniformInlet/outletMappedUniformInletFvPatchFields.C
|
$(derivedFvPatchFields)/outletMappedUniformInlet/outletMappedUniformInletFvPatchFields.C
|
||||||
$(derivedFvPatchFields)/partialSlip/partialSlipFvPatchFields.C
|
$(derivedFvPatchFields)/partialSlip/partialSlipFvPatchFields.C
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -59,16 +59,20 @@ Description
|
|||||||
fixTangentialInflow false;
|
fixTangentialInflow false;
|
||||||
normalVelocity
|
normalVelocity
|
||||||
{
|
{
|
||||||
type oscillatingFixedValue;
|
type uniformFixedValue;
|
||||||
refValue uniform (0 1 0);
|
uniformValue sine;
|
||||||
offset (0 -1 0);
|
uniformValueCoeffs
|
||||||
amplitude table
|
{
|
||||||
(
|
frequency 1;
|
||||||
( 0 0)
|
amplitude table
|
||||||
( 2 0.088)
|
(
|
||||||
( 8 0.088)
|
(0 0)
|
||||||
);
|
(2 0.088)
|
||||||
frequency constant 1;
|
(8 0.088)
|
||||||
|
);
|
||||||
|
scale (0 1 0);
|
||||||
|
level (0 0 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
|
|||||||
@ -1,205 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2016 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 "oscillatingFixedValueFvPatchField.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::scalar Foam::oscillatingFixedValueFvPatchField<Type>::currentScale() const
|
|
||||||
{
|
|
||||||
const scalar t = this->db().time().timeOutputValue();
|
|
||||||
const scalar a = amplitude_->value(t);
|
|
||||||
const scalar f = frequency_->value(t);
|
|
||||||
|
|
||||||
return 1.0 + a*sin(constant::mathematical::twoPi*f*t);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchField<Type>(p, iF),
|
|
||||||
refValue_(p.size()),
|
|
||||||
offset_(pTraits<Type>::zero),
|
|
||||||
amplitude_(),
|
|
||||||
frequency_(),
|
|
||||||
curTimeIndex_(-1)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchField<Type>(p, iF),
|
|
||||||
refValue_("refValue", dict, p.size()),
|
|
||||||
offset_(dict.lookupOrDefault<Type>("offset", pTraits<Type>::zero)),
|
|
||||||
amplitude_(Function1<scalar>::New("amplitude", dict)),
|
|
||||||
frequency_(Function1<scalar>::New("frequency", dict)),
|
|
||||||
curTimeIndex_(-1)
|
|
||||||
{
|
|
||||||
if (dict.found("value"))
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::operator==
|
|
||||||
(
|
|
||||||
Field<Type>("value", dict, p.size())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::operator==
|
|
||||||
(
|
|
||||||
refValue_*currentScale()
|
|
||||||
+ offset_
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>& ptf,
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF,
|
|
||||||
const fvPatchFieldMapper& mapper
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
|
|
||||||
refValue_(ptf.refValue_, mapper),
|
|
||||||
offset_(ptf.offset_),
|
|
||||||
amplitude_(ptf.amplitude_, false),
|
|
||||||
frequency_(ptf.frequency_, false),
|
|
||||||
curTimeIndex_(-1)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>& ptf
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchField<Type>(ptf),
|
|
||||||
refValue_(ptf.refValue_),
|
|
||||||
offset_(ptf.offset_),
|
|
||||||
amplitude_(ptf.amplitude_, false),
|
|
||||||
frequency_(ptf.frequency_, false),
|
|
||||||
curTimeIndex_(-1)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>& ptf,
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchField<Type>(ptf, iF),
|
|
||||||
refValue_(ptf.refValue_),
|
|
||||||
offset_(ptf.offset_),
|
|
||||||
amplitude_(ptf.amplitude_, false),
|
|
||||||
frequency_(ptf.frequency_, false),
|
|
||||||
curTimeIndex_(-1)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void Foam::oscillatingFixedValueFvPatchField<Type>::autoMap
|
|
||||||
(
|
|
||||||
const fvPatchFieldMapper& m
|
|
||||||
)
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::autoMap(m);
|
|
||||||
refValue_.autoMap(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void Foam::oscillatingFixedValueFvPatchField<Type>::rmap
|
|
||||||
(
|
|
||||||
const fvPatchField<Type>& ptf,
|
|
||||||
const labelList& addr
|
|
||||||
)
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::rmap(ptf, addr);
|
|
||||||
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>& tiptf =
|
|
||||||
refCast<const oscillatingFixedValueFvPatchField<Type>>(ptf);
|
|
||||||
|
|
||||||
refValue_.rmap(tiptf.refValue_, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void Foam::oscillatingFixedValueFvPatchField<Type>::updateCoeffs()
|
|
||||||
{
|
|
||||||
if (this->updated())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (curTimeIndex_ != this->db().time().timeIndex())
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::operator==
|
|
||||||
(
|
|
||||||
refValue_*currentScale()
|
|
||||||
+ offset_
|
|
||||||
);
|
|
||||||
|
|
||||||
curTimeIndex_ = this->db().time().timeIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
fixedValueFvPatchField<Type>::updateCoeffs();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void Foam::oscillatingFixedValueFvPatchField<Type>::write(Ostream& os) const
|
|
||||||
{
|
|
||||||
fixedValueFvPatchField<Type>::write(os);
|
|
||||||
refValue_.writeEntry("refValue", os);
|
|
||||||
os.writeKeyword("offset") << offset_ << token::END_STATEMENT << nl;
|
|
||||||
amplitude_->writeData(os);
|
|
||||||
frequency_->writeData(os);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,277 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2016 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/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::oscillatingFixedValueFvPatchField
|
|
||||||
|
|
||||||
Group
|
|
||||||
grpGenericBoundaryConditions
|
|
||||||
|
|
||||||
Description
|
|
||||||
This boundary condition provides an oscillating condition in terms of
|
|
||||||
amplitude and frequency.
|
|
||||||
|
|
||||||
\f[
|
|
||||||
x_p = (1 + a sin(2 \pi f t))x_{ref} + x_o
|
|
||||||
\f]
|
|
||||||
|
|
||||||
where
|
|
||||||
|
|
||||||
\vartable
|
|
||||||
x_p | patch values
|
|
||||||
x_{ref} | patch reference values
|
|
||||||
x_o | patch offset values
|
|
||||||
a | amplitude
|
|
||||||
f | frequency [1/s]
|
|
||||||
t | time [s]
|
|
||||||
\endvartable
|
|
||||||
|
|
||||||
\heading Patch usage
|
|
||||||
|
|
||||||
\table
|
|
||||||
Property | Description | Required | Default value
|
|
||||||
refValue | reference value | yes |
|
|
||||||
offset | offset value | no | 0.0
|
|
||||||
amplitude | oscillation amplitude | yes |
|
|
||||||
frequency | oscillation frequency | yes |
|
|
||||||
\endtable
|
|
||||||
|
|
||||||
Example of the boundary condition specification:
|
|
||||||
\verbatim
|
|
||||||
myPatch
|
|
||||||
{
|
|
||||||
type oscillatingFixedValue;
|
|
||||||
refValue uniform 5.0;
|
|
||||||
offset 0.0;
|
|
||||||
amplitude constant 0.5;
|
|
||||||
frequency constant 10;
|
|
||||||
}
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
Note
|
|
||||||
The amplitude and frequency entries are Function1 types, able to describe
|
|
||||||
time varying functions. The example above gives the usage for supplying
|
|
||||||
constant values.
|
|
||||||
|
|
||||||
SeeAlso
|
|
||||||
Foam::Function1
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
oscillatingFixedValueFvPatchField.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef oscillatingFixedValueFvPatchField_H
|
|
||||||
#define oscillatingFixedValueFvPatchField_H
|
|
||||||
|
|
||||||
#include "Random.H"
|
|
||||||
#include "fixedValueFvPatchFields.H"
|
|
||||||
#include "Function1.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class oscillatingFixedValueFvPatchField Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
class oscillatingFixedValueFvPatchField
|
|
||||||
:
|
|
||||||
public fixedValueFvPatchField<Type>
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Reference value
|
|
||||||
Field<Type> refValue_;
|
|
||||||
|
|
||||||
//- Offset
|
|
||||||
Type offset_;
|
|
||||||
|
|
||||||
//- Amplitude
|
|
||||||
autoPtr<Function1<scalar>> amplitude_;
|
|
||||||
|
|
||||||
//- Frequency
|
|
||||||
autoPtr<Function1<scalar>> frequency_;
|
|
||||||
|
|
||||||
//- Current time index
|
|
||||||
label curTimeIndex_;
|
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
//- Return current scale
|
|
||||||
scalar currentScale() const;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("oscillatingFixedValue");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
|
||||||
oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
|
||||||
oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct by mapping given oscillatingFixedValueFvPatchField
|
|
||||||
// onto a new patch
|
|
||||||
oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>&,
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&,
|
|
||||||
const fvPatchFieldMapper&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct as copy
|
|
||||||
oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual tmp<fvPatchField<Type>> clone() const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchField<Type>>
|
|
||||||
(
|
|
||||||
new oscillatingFixedValueFvPatchField<Type>(*this)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
|
||||||
oscillatingFixedValueFvPatchField
|
|
||||||
(
|
|
||||||
const oscillatingFixedValueFvPatchField<Type>&,
|
|
||||||
const DimensionedField<Type, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone setting internal field reference
|
|
||||||
virtual tmp<fvPatchField<Type>> clone
|
|
||||||
(
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchField<Type>>
|
|
||||||
(
|
|
||||||
new oscillatingFixedValueFvPatchField<Type>(*this, iF)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
// Access
|
|
||||||
|
|
||||||
//- Return the ref value
|
|
||||||
const Field<Type>& refValue() const
|
|
||||||
{
|
|
||||||
return refValue_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Return reference to the ref value to allow adjustment
|
|
||||||
Field<Type>& refValue()
|
|
||||||
{
|
|
||||||
return refValue_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Return amplitude
|
|
||||||
scalar amplitude() const
|
|
||||||
{
|
|
||||||
return amplitude_;
|
|
||||||
}
|
|
||||||
|
|
||||||
scalar& amplitude()
|
|
||||||
{
|
|
||||||
return amplitude_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Return frequency
|
|
||||||
scalar frequency() const
|
|
||||||
{
|
|
||||||
return frequency_;
|
|
||||||
}
|
|
||||||
|
|
||||||
scalar& frequency()
|
|
||||||
{
|
|
||||||
return frequency_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 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 fvPatchField<Type>&,
|
|
||||||
const labelList&
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Evaluation functions
|
|
||||||
|
|
||||||
//- Update the coefficients associated with the patch field
|
|
||||||
virtual void updateCoeffs();
|
|
||||||
|
|
||||||
|
|
||||||
//- Write
|
|
||||||
virtual void write(Ostream&) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#ifdef NoRepository
|
|
||||||
# include "oscillatingFixedValueFvPatchField.C"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "oscillatingFixedValueFvPatchFields.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchFields(oscillatingFixedValue);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef oscillatingFixedValueFvPatchFields_H
|
|
||||||
#define oscillatingFixedValueFvPatchFields_H
|
|
||||||
|
|
||||||
#include "oscillatingFixedValueFvPatchField.H"
|
|
||||||
#include "fieldTypes.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchTypeFieldTypedefs(oscillatingFixedValue);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef oscillatingFixedValueFvPatchFieldsFwd_H
|
|
||||||
#define oscillatingFixedValueFvPatchFieldsFwd_H
|
|
||||||
|
|
||||||
#include "fieldTypes.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type> class oscillatingFixedValueFvPatchField;
|
|
||||||
|
|
||||||
makePatchTypeFieldTypedefs(oscillatingFixedValue);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -26,11 +26,13 @@ boundaryField
|
|||||||
type pressureInletOutletParSlipVelocity;
|
type pressureInletOutletParSlipVelocity;
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
walls
|
walls
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
floatingObject
|
floatingObject
|
||||||
{
|
{
|
||||||
type fixedNormalInletOutletVelocity;
|
type fixedNormalInletOutletVelocity;
|
||||||
@ -39,21 +41,25 @@ boundaryField
|
|||||||
|
|
||||||
normalVelocity
|
normalVelocity
|
||||||
{
|
{
|
||||||
type oscillatingFixedValue;
|
type uniformFixedValue;
|
||||||
refValue uniform (0 1 0);
|
uniformValue sine;
|
||||||
offset (0 -1 0);
|
uniformValueCoeffs
|
||||||
amplitude table
|
{
|
||||||
(
|
frequency 1;
|
||||||
( 0 0)
|
amplitude table
|
||||||
( 10 0.025)
|
(
|
||||||
(1000 0.025)
|
( 0 0)
|
||||||
);
|
( 10 0.025)
|
||||||
frequency constant 1;
|
(1000 0.025)
|
||||||
value uniform (0 0 0);
|
);
|
||||||
|
scale (0 1 0);
|
||||||
|
level (0 0 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
frontAndBack
|
frontAndBack
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
|
|||||||
Reference in New Issue
Block a user