Go to the documentation of this file.
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)),
81 timeIndex_(this->db().time().timeIndex())
83 if (this->cyclicPatch().owner())
90 if (
dict.found(
"jump0"))
98 if (
dict.found(
"value"))
107 this->
evaluate(Pstream::commsTypes::blocking);
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();
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().size())
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);
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void relax()
Return the relaxed "jump" across the patch.
virtual void setJump(const Field< Type > &jump)
Set the jump field.
virtual tmp< Field< Type > > jump0() const
Return the old time "jump" across the patch.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
A class for managing temporary objects.
virtual scalar relaxFactor() const
Return the under-relaxation factor.
static constexpr const zero Zero
Global zero (0)
fixedJumpFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Generic templated field type.
This boundary condition provides a jump condition, using the cyclic condition as a base.
virtual void write(Ostream &) const
Write.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides a base class for coupled-cyclic conditions with a specified 'jump' (...
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
A traits class, which is primarily used for primitives.
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
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.
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.