Commit Graph

3895 Commits

Author SHA1 Message Date
96b69f6f88 Standardised and rationalised the way in which units are written in function documentation 2019-06-20 10:54:14 +01:00
e599162b09 Utilities: standardised the class declaration section comments to correspond to the foamNewSource template 2019-06-19 17:53:10 +01:00
0101722b0f Standardised the class declaration section comments to correspond to the foamNewSource template 2019-06-19 16:45:21 +01:00
213319ae30 Standardised the class declaration section comments to correspond to the foamNewSource template 2019-06-19 15:01:35 +01:00
4d297126d9 Standardised the class declaration section comments to correspond to the foamNewSource template 2019-06-19 11:54:55 +01:00
251f91cfa5 fvOptions::isotropicDamping: New wave damping fvOption
This implicit isotropic damping function relaxes the velocity field towards a
specified uniform value which can be set to (0 0 0) if no flow is required.
This is particularly appropriate to damp the waves in a closed wave tank with no
mean flow.

Testing on the interFoam wave has shown that for this simple case with uniform
mean flow the new isotropicDamping fvOption provides more rapid and complete
damping than the original verticalDamping.
2019-06-18 22:06:17 +01:00
8e9f692aa4 Standardised the class declaration section comments to correspond to the foamNewSource template 2019-06-13 21:26:33 +01:00
47d19548c1 cut: Templated point type
This allows for different information to be passed around the cut
routines; in particular, classes representing the topology of the cuts.
2019-06-13 08:58:31 +01:00
ac5b46bafe mixtureKEpsilon: Added documentation for the bubble generated turbulence coefficient 2019-06-11 15:36:40 +01:00
6f6d5380d6 nutURoughWallFunction: Updated handling of the low y+ region, consistent with nutkRoughWallFunction
Results for nutkRoughWallFunction and nutURoughWallFunction are now reasonably
consistent and both are now more robust and handle small near-wall cells more
reliably.  However if the wall roughness height is large, ~domain width, the
nutURoughWallFunction produces a lot less realistic results than the
nutkRoughWallFunction which appears to behave surprisingly well.
2019-06-11 13:00:38 +01:00
958d907ca5 etc/templates/singleFluidCHT/README: Corrected typo
Resolves bug report https://bugs.openfoam.org/view.php?id=3290

Tested-by: Henry Weller <http://openfoam.org>
2019-06-10 10:19:37 +01:00
d0bf565783 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/Allrun: Updated for latest gnuplot 2019-06-08 14:38:23 +01:00
6eb05f8b3d snappyHexMesh::meshRefinement: clear the mesh before mapping to avoid issues with mapping the mesh flux field 2019-06-08 14:37:43 +01:00
926b6a25db nutURoughWallFunction: Updated for input consistency with nutkRoughWallFunction
Now both the nutkRoughWallFunction and nutURoughWallFunction us the same field
based Ks and Cs input to support non-uniform surface roughness.

Note that nutURoughWallFunction is not exactly consistent with the
nutUWallFunction in the limit of roughness height = 0 and also not consistent
with nutkRoughWallFunction, particularly if the near-wall cell is in the laminar
sub-layer for which nutURoughWallFunction is currently incorrect.

Significant further work on the nutURoughWallFunction is needed to make it
consistent with both the nutUWallFunction and nutkRoughWallFunction BCs.
2019-06-08 14:31:17 +01:00
94dbab46d2 nutkRoughWallFunction: Further rationalisation 2019-06-08 14:30:58 +01:00
a1091a254a nutkRoughWallFunction: Re-derived and implemented to improve stability and range of applicability
This wall function is now stable even if the near-wall cell centre distance is
less than the roughness height although it is unlikely to be very accurate if
used in this way.

The sudden change limit stabilisation has been re-implemented to avoid the
near-wall viscosity being lower limited to half the laminar viscosity which has
no physical meaning.
2019-06-07 23:24:55 +01:00
f8f083841e rigidBodyMeshMotion, rigidBodyMeshMotionSolver, rigidBodyMeshMotionSolver: ensure state dictionary is written ASCII
Resolves bug-report https://bugs.openfoam.org/view.php?id=3288
2019-06-06 12:43:36 +01:00
00ae415b71 Added copy constructors to classes with copy assignment operator defined
and copy assignment operator for classes with a copy constructor

This is often described as the rule of 3 (or rule of 5 in C++11 if move
constructors and assignment operators are also defined) and makes good sense in
ensuring consistency.  For classes in which the default bitwise copy constructor
or assignment operator are appropriate these are now specified explicitly using
the "= default" keyword if the other is explicitly defined fulfilling the rule
of 3 without the need to define the body of the function.
2019-06-05 23:32:22 +01:00
74d45a1313 rotorDiskSource: Use the scalar sign function 2019-06-04 15:56:19 +01:00
77f441344e Scalar: Changed the return type of sign, pos, pos0, neg and neg0 to int 2019-06-04 15:55:45 +01:00
fcbebe9eb3 rotorDiskSource: Enable opposite spin in rotorDisk, for fixed thrust direction
Patch contributed by Robert Lee
Resolves patch request https://bugs.openfoam.org/view.php?id=3285
2019-06-04 10:33:48 +01:00
68e9c8eac2 Lagrangian: Removed more instances of random-number-based perpendicular vector calculations
Perpendicular vectors should be generated using the global
"perpendicular" function, which guarantees a non-zero result without a
random number generator and without looping.
2019-06-03 08:31:33 +01:00
aaed26965f nutWallFunction: Added a nutw static function to return the nutWallFunction patchField for a given patch 2019-06-02 13:10:34 +01:00
1e2550b6cd Rationalised wall function implementation to avoid complex and inconsistent coefficients
All wall functions now operate collaboratively, obtaining the Cmu, kappa and E
coefficients and yPlusLam from the nutWallFunction base class.  Now these
optional inputs need only be specified in the nut boundary condition with the k,
epsilon, omega, v2 and f wall functions obtaining these values from there.  This
is much simpler to specify and avoids inconsistencies in the operation of the
wall functions for the different turbulence fields.

The code has also been rationalised and simplified avoiding unnecessary code
and duplication.
2019-05-31 19:40:32 +01:00
fc4d7b92c3 Corrected documentation comment for disabled copy constructors 2019-05-29 15:58:42 +01:00
f7ea836c65 src/OpenFOAM: Moved the deleted bitwise copy and assignment declarations into public section of the class 2019-05-29 15:48:49 +01:00
a7f4147887 HookFunctions: Ensure the checkHeaderIfndefNames is applied only if the "_H" is at the end of the line 2019-05-28 15:32:52 +01:00
9140984cf4 Added "= delete" to disabled bitwise copy constructors and assignment operators
Currently these deleted function declarations are still in the private section
of the class declarations but will be moved by hand to the public section over
time as this is too complex to automate reliably.
2019-05-28 15:26:45 +01:00
11780ffae9 decompositionMethods: Removed temporary debug build option 2019-05-27 22:35:13 +01:00
3ecef91e72 Standardised copy constructor documentation comment 2019-05-27 22:34:32 +01:00
dfe7b86e70 rotorDiskSource: Added output of rotor power
Patch contributed by Robert Lee
Resolves patch request https://bugs.openfoam.org/view.php?id=3262
2019-05-26 12:11:33 +01:00
47d2e03ae3 cuttingPlane: Corrected handling of intersection between a plane and a cellZone in parallel
Patch contributed by Federico Piscaglia
Resolves bug-report https://bugs.openfoam.org/view.php?id=3283
2019-05-26 12:01:41 +01:00
0a3b7a7932 Comment spelling corrections from codespell 2019-05-26 10:56:36 +01:00
30bea84fac C++11 conformance and consistency: Added "move" constructors and assignment operators to OpenFOAM containers
Replaced all uses of complex Xfer class with C++11 "move" constructors and
assignment operators.  Removed the now redundant Xfer class.

This substantial changes improves consistency between OpenFOAM and the C++11 STL
containers and algorithms, reduces memory allocation and copy overhead when
returning containers from functions and simplifies maintenance of the core
libraries significantly.
20190525
2019-05-25 17:40:39 +01:00
0889ff91c7 graphField: Moved graphs directory into postProcessing 2019-05-20 10:43:36 +01:00
deb279aa83 foamMonitor: for log plots, use exponential (%e) format for ytics 2019-05-17 17:20:31 +01:00
5ed7aa35fb blockMeshMerge: Increased merge tolerance
Resolves bug-report https://bugs.openfoam.org/view.php?id=3233
2019-05-17 11:24:12 +01:00
11bb91ded4 sixDoFRigidBodyMotionSolver: Updated the write function which stores the motion state for restart 2019-05-16 22:23:21 +01:00
ce9bc2a2ea Non-linear turbulence models: Updated link to document describing the models 2019-05-16 22:22:36 +01:00
e4d89daf5d coupledFvPatches: Prevent crashes when operating on processor cases 20190515 2019-05-10 16:06:43 +01:00
4163d53eec lagrangian: integrationScheme: Fixed typo in documentation 2019-05-10 16:05:22 +01:00
4f7f488f22 directFieldMapper, setSizeFieldMapper: new specialised field mappers for decomposition and reconstruction
Using the new field mapper framework it is now possible to create specialised
mappers rather than creating a fatter and fatter interface in the base mapper.
This approach is far more extensible, comprehensible and maintainable.
2019-05-09 22:12:44 +01:00
cad82260d8 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-05-07 15:59:20 +01:00
69eccc7742 fieldMapper: Moved distributed functionality to distributedWeightedFvPatchFieldMapper 2019-05-07 15:58:23 +01:00
8803a89407 fvOptions: Added volumeFractionSource and solidEquilibriumEnergySource
The volumeFractionSource represents the effect of a reduction in the
volume of the domain due to the presence of a stationary phase, most
likely a solid porous media. It only represents the dynamic effects
associated with the reduction in volume; it does not does not model
loss, drag or heat transfer. Separate models (e.g., the existing
porosity models) will be necessary to represent these effects. An
example usage, in system/fvOptions, is as follows:

    volumeFraction
    {
        type            volumeFractionSource;
        phase           solid;
        phi             phi;
        rho             rho;
        U               U;
        fields          (rho U e);
    }

The volume fraction will be read from constant/alpha.<phase>, and must
be generated in advance using setFields or a function object. Note that
the names of the flux, density (if compressible) and velocity must all
be specified. Every field for which a transport equation is solved
should also be specified in the "fields" entry.

The solidEquilibriumEnergySource adds the thermal inertia and diffusive
characteristics of a stationary solid phase to the energy equation of
the fluid, assuming that the two phases are in thermal equilibrium. An
example usage is as follows:

    solidEqulibriumEnergy
    {
        type            solidEqulibriumEnergySource;
        phase           solid;
        field           e;
    }

This will read the volume fraction in the same way as the
volumeFractionSource option. In addition, thermal properties of the
solid will be constructed from settings in
system/thermophysicalProperties.<phase>.

Two tutorials have been added, demonstrating use of these options in
both incompressible and compressible simulations. These are
incompressible/pimpleFoam/laminar/blockedChannel and
compressible/rhoPimpleFoam/laminar/blockedChannel.
2019-05-07 08:52:57 +01:00
5203a84a0f PatchFields: Improved documentation of the autoMap and rmap functions 2019-05-03 21:53:13 +01:00
84e71a419a rigidBodyMeshMotion, sixDoFRigidBodyMotion: lookup g from the mesh rather than time
It would be more logical if g were registered to time but less flexible.
2019-05-03 17:15:14 +01:00
b8e15e24b1 fvPatchField: Rationalised autoMap 2019-05-03 13:06:45 +01:00
722e2f5673 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-05-03 08:59:25 +01:00
4b57ee554e Renamed FieldMapper -> fieldMapper: it is an abstract base class for field mapping, not templated 2019-05-03 08:58:13 +01:00