41 jump_(this->size(),
Zero),
42 jump0_(this->size(),
Zero),
59 jump_(ptf.jump_, mapper),
60 jump0_(ptf.jump0_, mapper),
61 minJump_(ptf.minJump_),
62 relaxFactor_(ptf.relaxFactor_),
63 timeIndex_(ptf.timeIndex_)
73 const bool valueRequired
77 jump_(
p.size(),
Zero),
78 jump0_(
p.size(),
Zero),
80 relaxFactor_(
dict.getOrDefault<scalar>(
"relax", -1)),
83 if (this->cyclicPatch().owner())
90 if (
dict.found(
"jump0"))
92 jump0_ = Field<Type>(
"jump0",
dict,
p.size());
98 if (
dict.found(
"value"))
100 fvPatchField<Type>::operator=
102 Field<Type>(
"value",
dict,
p.size())
107 this->
evaluate(Pstream::commsTypes::blocking);
116 const fixedJumpFvPatchField<Type>& ptf
119 jumpCyclicFvPatchField<Type>(ptf),
122 minJump_(ptf.minJump_),
123 relaxFactor_(ptf.relaxFactor_),
124 timeIndex_(ptf.timeIndex_)
138 minJump_(ptf.minJump_),
139 relaxFactor_(ptf.relaxFactor_),
140 timeIndex_(ptf.timeIndex_)
149 if (this->cyclicPatch().owner())
151 jump_ =
max(jump, minJump_);
159 if (this->cyclicPatch().owner())
161 jump_ =
max(jump, minJump_);
169 if (this->cyclicPatch().owner())
175 return refCast<const fixedJumpFvPatchField<Type>>
177 this->neighbourPatchField()
186 if (this->cyclicPatch().owner())
192 return refCast<const fixedJumpFvPatchField<Type>>
194 this->neighbourPatchField()
210 if (!this->cyclicPatch().owner() || relaxFactor_ < 0)
215 jump_ = relaxFactor_*jump_ + (1 - relaxFactor_)*jump0_;
217 if (timeIndex_ != this->db().time().timeIndex())
221 timeIndex_ = this->db().time().timeIndex();
229 const fvPatchFieldMapper& m
232 jumpCyclicFvPatchField<Type>::autoMap(m);
247 const auto& fjptf = refCast<const fixedJumpFvPatchField<Type>>(ptf);
248 jump_.rmap(fjptf.jump_, addr);
249 jump0_.rmap(fjptf.jump0_, addr);
259 if (this->patchType().empty())
261 os.writeEntry(
"patchType", this->interfaceFieldType());
264 if (this->cyclicPatch().owner())
266 jump_.writeEntry(
"jump",
os);
268 if (relaxFactor_ > 0)
270 os.writeEntry(
"relax", relaxFactor_);
271 jump0_.writeEntry(
"jump0",
os);
277 os.writeEntry(
"minJump", minJump_);
280 this->writeEntry(
"value",
os);
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A traits class, which is primarily used for primitives.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Generic templated field type.
fixedJumpFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A FieldMapper for finite-volume patch fields.
This boundary condition provides a base class for coupled-cyclic conditions with a specified 'jump' (...
string evaluate(label fieldWidth, const std::string &s, size_t pos=0, size_t len=std::string::npos)
String evaluation with specified (positive, non-zero) field width.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
virtual void write(Ostream &) const
Write.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
This boundary condition provides a jump condition, using the cyclic condition as a base...
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void relax()
Return the relaxed "jump" across the patch.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual tmp< Field< Type > > jump() const
Return the "jump" across the patch.
virtual void setJump(const Field< Type > &jump)
Set the jump field.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual scalar relaxFactor() const
Return the under-relaxation factor.
A class for managing temporary objects.
virtual tmp< Field< Type > > jump0() const
Return the old time "jump" across the patch.
static constexpr const zero Zero
Global zero (0)