Commit Graph

3962 Commits

Author SHA1 Message Date
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
76a8f398aa Field: Replaced autoMap with support in the map functions for mapping to self
Avoids clutter in the interface and code duplication.
2019-05-02 19:05:42 +01:00
687d56fbf1 Field: Moved FieldMapper mapping functions to FieldMapper and made virtual
This allows easier extension and specialisation of field mapping.
2019-05-02 15:43:32 +01:00
562040f572 waveSuperposition: Fixed name clash and memory leak
Resolves bug report https://bugs.openfoam.org/view.php?id=3229
2019-04-30 16:59:57 +01:00
6afe1b4632 Field: Remove "applyFlip" from the low-level field mapping
This functionality should be implemented and applied at a higher level so that
it can be controlled more easily and applied only to flux fields.
2019-04-29 19:27:47 +01:00
784244790f DTCHull tutorials: rename fields to .orig
to avoid them being overwritten during renumbering
2019-04-29 19:26:50 +01:00
3395a5ba35 decomposePar: Apply face-flipping to surfaceScalarFields only
Flux fields (surfaceScalarFields) are flipped as before but this process is no
longer applied to surfaceVectorFields (Uf etc.) for which it is not appropriate.
decomposePar is now consistent with reconstructPar with respect to
surfaceVectorFields.

Patch contributed by Mattijs Janssens.
2019-04-29 12:23:07 +01:00
af45bd636d regIOobject: changed the "valid" argument name to "read" for read function and "write" for write functions
This clarifies the purpose which is to indicate that the object should be read
or written on this particular processor rather than it is or is not valid.
2019-04-27 10:46:57 +01:00
5420c5001b snappyLayerDriver: Partially revert added support for patch manipulation of pointFields
commit 3cbb932be8
Pending further work on field mapping.

Patch contributed by Mattijs Janssens
20190427
2019-04-26 16:29:48 +01:00
911a106592 fvMesh: Ensure V0 is written if V00 exists for restart of backward differencing 2019-04-26 16:28:07 +01:00
3eb9635cde Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-04-26 10:55:49 +01:00
66c81f2e3d IATEsources::randomCoalescence: Protect source from unboundedness in kappai 2019-04-26 10:43:58 +01:00
6d3f5cdd6a reconstructPar: Prevent moving flag from being set
Setting the moving flag as a result of a reconstruction of the mesh at a
new time was causing lagrangian reconstruction to fail, as the necessary
moving mesh data had not been cached.
2019-04-26 08:45:48 +01:00
4cb2466f28 reactingEulerFoam: Reorganised continuity error update to avoid fluid properties being recalculated unnecessarily
in particular avoiding IATE being solved a second time after the energy
solution.
2019-04-25 19:49:53 +01:00
54cb927cee Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-04-24 16:49:20 +01:00
51d4c0d974 dynamicMotionSolverFvMesh, motionSolver: added support to write the motion state when the mesh is written 2019-04-24 16:47:35 +01:00
cdc437913a coordinateSystems::cylindrical: Corrected addressing of the rotation tensor for a cellZone 2019-04-24 14:08:06 +01:00
f3fb9b38c1 coordinateSystems::cylindrical: Corrected addressing of the rotation tensor for a cellZone 2019-04-24 12:26:20 +01:00
fa20fe9015 fvMesh: Do not alter the moving state on construction
fvMesh no longer sets the mesh state to moving when meshPhi and old-time
volume data is present. This is unecessary because a solver should
always initialise a mesh update before any time-derivatives are
calculated. Setting the mesh as moving complicates the usage of some
utilities and post-processing applications in which time is not
incremented.

The meshPhi and old-time volume data are still read in if present to
ensure restart consistency.
2019-04-24 08:28:22 +01:00
10ece84b48 particle: Fixed AMI displacement check for transformations
Resolves bug report https://bugs.openfoam.org/view.php?id=3212
2019-04-23 10:23:33 +01:00
6588424db5 fileOperations: Use InfoHeader to write the header information 2019-04-23 10:01:24 +01:00
cd656fbf9b postChannel: Moved postChannelDict from constant to system
Resolves https://bugs.openfoam.org/view.php?id=3224
2019-04-18 11:03:56 +01:00
520fb8679c Function1::CSV: Corrected componentColumns writeEntry
Resolves bug-report https://bugs.openfoam.org/view.php?id=3223
2019-04-17 16:22:06 +01:00
5bb8b91df7 coordinateSystems::cylindrical: Added special handling for cell centres on the axis 2019-04-17 11:06:51 +01:00
bdd6174de6 decomposePar: Corrected flux-flipping for cases renumbered in parallel 2019-04-15 18:53:06 +01:00
aa26ec250d test/fvMeshTools/cavity: Added Allclean script 2019-04-15 11:21:35 +01:00
6a6ef95e84 masterUncollatedFileOperation: Trigger caching of times to ensure consistency across processors
Allows global status of unwatchedIOdictionary to be reinstated.

Patch contributed by Mattijs Janssens
2019-04-12 22:16:11 +01:00
3cbb932be8 Added support for patch manipulation of pointFields
e.g. during createBaffles

Added a test application and test case for meshTools: test/fvMeshTools

Patch contributed by Mattijs Janssens
2019-04-12 18:44:32 +01:00
181f110a2f IOobject: Transfer all "global" handling to regIOobject
Remove regIOobject::masterOnlyReading
2019-04-09 14:37:03 +01:00
6b5020bc3d Test-codeStream: Support parallel testing 2019-04-09 14:36:20 +01:00
cb6eb31d42 tutorials/multiphase/interFoam/RAS/DTCHullMoving/Allrun: Corrected call to renumberMesh 2019-04-08 20:37:58 +01:00
e7492a8624 IOobject,regIOobject: Rationalised global() and globalObject() 2019-04-08 20:37:15 +01:00
ba7e19c885 Pstreams/exchange: Removed duplicate line
Resolves bug-report https://bugs.openfoam.org/view.php?id=3217
2019-04-08 20:36:12 +01:00
1fad5ca11d applications/test/codeStream/codeStreamDict1: Added missing -I 2019-04-08 20:35:48 +01:00