mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: PatchFunction1: work with points. See 1046.
This commit is contained in:
@ -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) 2018 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -43,7 +43,22 @@ Foam::PatchFunction1Types::ConstantField<Type>::ConstantField
|
|||||||
isUniform_(isUniform),
|
isUniform_(isUniform),
|
||||||
uniformValue_(uniformValue),
|
uniformValue_(uniformValue),
|
||||||
value_(nonUniformValue)
|
value_(nonUniformValue)
|
||||||
{}
|
{
|
||||||
|
if (faceValues && nonUniformValue.size() != pp.size())
|
||||||
|
{
|
||||||
|
FatalIOErrorInFunction(dict)
|
||||||
|
<< "Supplied field size " << nonUniformValue.size()
|
||||||
|
<< " is not equal to the number of faces " << pp.size()
|
||||||
|
<< " of patch " << pp.name() << exit(FatalIOError);
|
||||||
|
}
|
||||||
|
else if (!faceValues && nonUniformValue.size() != pp.nPoints())
|
||||||
|
{
|
||||||
|
FatalIOErrorInFunction(dict)
|
||||||
|
<< "Supplied field size " << nonUniformValue.size()
|
||||||
|
<< " is not equal to the number of points " << pp.nPoints()
|
||||||
|
<< " of patch " << pp.name() << exit(FatalIOError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
@ -132,6 +147,7 @@ Foam::Field<Type> Foam::PatchFunction1Types::ConstantField<Type>::getValue
|
|||||||
fld = uniformValue;
|
fld = uniformValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return fld;
|
return fld;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,7 +163,17 @@ Foam::PatchFunction1Types::ConstantField<Type>::ConstantField
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
PatchFunction1<Type>(pp, entryName, dict, faceValues),
|
PatchFunction1<Type>(pp, entryName, dict, faceValues),
|
||||||
value_(getValue(entryName, dict, pp.size(), isUniform_, uniformValue_))
|
value_
|
||||||
|
(
|
||||||
|
getValue
|
||||||
|
(
|
||||||
|
entryName,
|
||||||
|
dict,
|
||||||
|
(faceValues ? pp.size() : pp.nPoints()),
|
||||||
|
isUniform_,
|
||||||
|
uniformValue_
|
||||||
|
)
|
||||||
|
)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -177,7 +203,12 @@ Foam::PatchFunction1Types::ConstantField<Type>::ConstantField
|
|||||||
value_(cnst.value_)
|
value_(cnst.value_)
|
||||||
{
|
{
|
||||||
// If different sizes do what?
|
// If different sizes do what?
|
||||||
value_.setSize(this->patch_.size());
|
value_.setSize
|
||||||
|
(
|
||||||
|
this->faceValues_
|
||||||
|
? this->patch_.size()
|
||||||
|
: this->patch_.nPoints()
|
||||||
|
);
|
||||||
if (isUniform_)
|
if (isUniform_)
|
||||||
{
|
{
|
||||||
value_ = uniformValue_;
|
value_ = uniformValue_;
|
||||||
|
|||||||
@ -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) 2018 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -69,7 +69,11 @@ Foam::autoPtr<Foam::PatchFunction1<Type>> Foam::PatchFunction1<Type>::New
|
|||||||
is.putBack(firstToken);
|
is.putBack(firstToken);
|
||||||
|
|
||||||
const Type uniformValue = pTraits<Type>(is);
|
const Type uniformValue = pTraits<Type>(is);
|
||||||
const Field<Type> value(pp.size(), uniformValue);
|
const Field<Type> value
|
||||||
|
(
|
||||||
|
(faceValues ? pp.size() : pp.nPoints()),
|
||||||
|
uniformValue
|
||||||
|
);
|
||||||
|
|
||||||
return autoPtr<PatchFunction1<Type>>
|
return autoPtr<PatchFunction1<Type>>
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user