According to the C++11 standard the xsputn might call an overload function which
must be provided for correct operation and is required by gcc-12.1 but not
earlier releases.
See
https://cplusplus.com/reference/streambuf/streambuf/xsputn/
Its default behavior in streambuf is to retrieve n characters, as if calling
sputc for each, stopping if any call would return EOF. Except it is
unspecified whether member overflow is called or whether other means are
used in case of overflows.
https://cplusplus.com/reference/streambuf/streambuf/overflow/
int overflow (int c = EOF);
Put character on overflow
Virtual function called by other member functions to put a character
into the controlled output sequence without changing the current
position.
It is called by public member functions such as sputc to write a
character when there are no writing positions available at the put
pointer (pptr).
Its default behavior in streambuf is to always return EOF (indicating
failure), but derived classes can override this behavior to attempt to
write the character directly and/or to alter pptr and other internal
pointers so that more storage is provided, potentially writing unwritten
characters to the controlled output sequence. Both filebuf and stringbuf
override this virtual member function.
Parameters c
Character to be put.
If this is the end-of-file value (EOF), no character is put, but the other effects of calling this function are attempted.
Return Value
In case of success, the character put is returned, converted to a value
of type int_type using member traits_type::to_int_type.
Otherwise, it returns the end-of-file value (EOF) either if called with
this value as argument c or to signal a failure (some implementations
may throw an exception instead).
Resolves bug-report https://bugs.openfoam.org/view.php?id=3856
and moveDynamicMesh renamed to moveMesh
Description
Mesh motion and topological mesh change utility.
Executes the mover, topoChanger and distributor specified in the
dynamicMeshDict in a time-loop.
avoiding problems with mesh generation, pre/post-processing applications
etc. triggering inappropriate changes to the moving and topoChanged states which
are only needed for updates in solvers corresponding to mesh changes.
The topoChanged flag now indicates that the mesh topology has changed at the
start of the current time-step rather than it is changing during the run, for
subsequent time-steps without topology change it is set false until the next
topology change.
Mb, the Mach number at which blending to zeroGradient starts, can now be
specified in the input:
Description
This boundary condition provides an entrainment condition for pressure
including support for supersonic jets exiting the domain.
Usage
\table
Property | Description | Required | Default value
rho | Density field name | no | rho
psi | Compressibility field name | no | thermo:psi
gamma | Heat capacity ratio (cp/Cv) | yes |
Mb | Blending Mach No | no | 0.5
phi | Flux field name | no | phi
p0 | Reference pressure | yes |
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
type transonicEntrainmentPressure;
gamma 1.4;
Mb 0.3;
p0 uniform 1e5;
}
\endverbatim
Specified in the dynamicMeshDict as type list with the topoChangers dictionary
list following, e.g.
topoChanger
{
type list;
libs ("libfvMeshTopoChangers.so");
topoChangers
{
refiner
{
type refiner;
.
.
.
}
another
{
type another;
.
.
.
}
}
}