Commit graph

343 commits

Author SHA1 Message Date
Henry
b8d15ba459 fvOptions: Separate options for all cells, cellSets and inter-region coupling
by introducing rational base-classes rather than using the hideous
'switch' statement.  Further rationalization of the cell-selection
mechanism will be implemented via an appropriate class hierarchy to
replace the remaining 'switch' statement.

Mesh-motion is currently handled very inefficiently for cellSets and not
at all for inter-region coupling.  The former will be improved when the
cell-selection classes are written and the latter by making the
meshToMesh class a MeshObject after it has been corrected for mapFields.
2015-05-31 16:38:01 +01:00
Henry
2b9a2adf8c MRF: Separate MRF from fvOptions
fvOptions does not have the appropriate structure to support MRF as it
is based on option selection by user-specified fields whereas MRF MUST
be applied to all velocity fields in the particular solver.  A
consequence of the particular design choices in fvOptions made it
difficult to support MRF for multiphase and it is easier to support
frame-related and field related options separately.

Currently the MRF functionality provided supports only rotations but
the structure will be generalized to support other frame motions
including linear acceleration, SRF rotation and 6DoF which will be
run-time selectable.
2015-05-29 23:35:43 +01:00
Henry
8b7e02167f MRFZone: rationalize to allow support for general frame acceleration 2015-05-29 15:31:53 +01:00
Henry
1b6f46fae0 simpleFoam/SRFSimpleFoam: Added support for SIMPLEC
SIMPLEC (SIMPLE-consistent) is selected by setting "consistent" option true/yes:

SIMPLE
{
    nNonOrthogonalCorrectors 0;
    consistent yes;
}

which relaxes the pressure in a "consistent" manner and additional
relaxation of the pressure is not generally necessary.  In addition
convergence of the p-U system is better and reliable with less
aggressive relaxation of the momentum equation, e.g. for the motorbike
tutorial:

relaxationFactors
{
    equations
    {
        U               0.9;
        k               0.7;
        omega           0.7;
    }
}

The cost per iteration is marginally higher but the convergence rate is
better so the number of iterations can be reduced.

The SIMPLEC algorithm also provides benefit for cases with large
body-forces, e.g. SRF, see tutorials/incompressible/SRFSimpleFoam/mixer
and feature request http://www.openfoam.org/mantisbt/view.php?id=1714
2015-05-29 11:30:40 +01:00
Henry
80f923d0f1 fvPatchFields: Support explicitly named U, phi and rho in all BCs
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1717
2015-05-28 20:42:47 +01:00
Henry
c54cc16017 cyclicAMIPolyPatch: Correct report of sweep angle
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1716
2015-05-28 16:29:06 +01:00
Henry
7a4b3ce655 tabulatedAccelerationSource: New fvOption to support 6-DoF solid-body motion
Example usage:

SBM
{
    type            tabulatedAccelerationSource;
    active          true;
    selectionMode   all;

    tabulatedAccelerationSourceCoeffs
    {
        timeDataFileName "constant/acceleration.dat";
    }
}

Where the file constant/acceleration.dat contains a list of tuples
containing time and a vector of the linear acceleration, angular
velocity and angular acceleration e.g.

100
(
(0 ((0 0 0) (0 0 0) (0 0 0)))
(0.001 ((-0.0001 0 4e-05) (5e-5 -0.0002 -3e-8) (0.24 -0.8 -1e-4)))
.
.
.
)
2015-05-28 15:25:22 +01:00
Henry
71c6af8fe9 mapFields: Reinstated mapFields from OpenFOAM-2.2.x and renamed the current mapFields -> mapFieldsPar
This required the addition of the meshToMesh class in the sampling
library from OpenFOAM-2.2.x which is now named meshToMesh0.
2015-05-26 11:32:46 +01:00
Henry
526d7efeb0 Updated header 2015-05-26 11:32:04 +01:00
Henry
a917fbdf53 Corrected comment 2015-05-26 11:31:54 +01:00
Henry
95bc70a9f8 externalWallHeatFluxTemperature: Added support for relaxing the radiative contribution
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1704
2015-05-25 21:46:48 +01:00
Henry
9c08ae6fac MRFZone: Synchronize the faceType across processor patches
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1685
2015-05-25 11:33:11 +01:00
Henry
b1cfbcf4c8 radiationModels/derivedFvPatchFields: Corrected documentation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1687
2015-05-24 19:02:41 +01:00
Henry
e02530a0ac src/parallel/decompose/Allwmake: remove redundant -lscotch condition 2015-05-21 17:58:43 +01:00
Henry
fee9b188f6 cyclicAMIPolyPatch: Correct particle transformations across cyclic AMI patches
Patch provided by Daniel Jasiński
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1694
2015-05-20 12:44:31 +01:00
Henry
54af0e3359 Time: Correct precision adjustment for user-time 2015-05-20 12:43:54 +01:00
Henry
997b3e7e2c ODESolver: Add more diagnostics when the max number of iterations is reached 2015-05-19 14:35:15 +01:00
Henry
4c256a3a5d ptscotchDecomp: link scotch library to resolve undefined symbol 2015-05-19 14:34:49 +01:00
Henry
218dafd76b printStack: rewritten to utilize dladdr for resolution of the stack addresses
Patch provided by Alexey Matveichev
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1676
2015-05-19 08:41:59 +01:00
Henry
95ae555848 thermalBaffle1DFvPatchScalarField: Correct handling of relaxation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1696
2015-05-18 16:32:43 +01:00
Chris Greenshields
5ecb900eb4 Default expansionRatio to 1 for mesh extrusion 2015-05-18 13:18:03 +01:00
Henry
8824f2e310 Update headers 2015-05-18 12:10:10 +01:00
Henry
d9090fcf42 messageStream: Remove confusing argument-based conditional output
This had been used in functionObjects:

    Info(log)<< "messages" << data << ....

in which it is not at all clear what the "log" argument does whereas

    if (log) Info<< "messages" << data << ....

is totally clear and more efficient.
2015-05-18 11:54:56 +01:00
Henry
4aed56e67d makeSolidChemistryModel: Separate solid-only and solid-gas instantiation macros
Avoids duplicate typedefs.
Thanks to Bruno Santo for patch
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1694
2015-05-17 22:04:36 +01:00
Chris Greenshields
7018a6a5e0 Function object that writes out the initial residual for specified fields
For vector/tensor fields, e.g. U, the largest residual of all components is written out
2015-05-17 16:48:55 +01:00
Henry
869bf2216b faceSource: Corrected handling of totalArea in parallel
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1693
2015-05-17 14:57:33 +01:00
Henry
262ad3f005 functionObjects: Upgrade to use new turbulence modeling library 2015-05-17 14:56:40 +01:00
Henry
372dc26c8d int32: Add IO operators for long on 32bit OS
On 32bit OSs long is not unambiguously int32_t (or int64_t) causing
problems for IO operator resolution.  This problem is avoided by
explicitly defining the following operators:
2015-05-16 15:29:34 +01:00
Henry
7b2451f925 ReversibleReaction: Protect against /0 2015-05-14 18:51:26 +01:00
Henry
4c51cba64a externalWallHeatFluxTemperature: Correct docs
Resolved part of bug-report http://www.openfoam.org/mantisbt/view.php?id=1690
2015-05-14 18:50:47 +01:00
Henry
18705e2a77 chemistryModel: Improve efficiency of reversible reaction-rate evaluation 2015-05-14 18:49:18 +01:00
Henry
a25b0978a6 printStack, ptscotchDecomp: Correct integer type used to hold memory addresses 2015-05-14 18:48:35 +01:00
Henry
b6ebf4bdaa Update header 2015-05-10 12:33:33 +01:00
Henry
5acc3dbdd5 chemistryModel: Added optional Treact to reduce the time of chemistry evaluation
Treact: Temperature below which the reaction rates are assumed 0
2015-05-10 12:31:17 +01:00
Henry
bfb726aba3 twoPhaseEulerFoam: rationalize handling of fixed-flux BC update 2015-05-09 23:45:15 +01:00
Henry
c9d9ba0b6c surfaceFilmModels: Replaced removeInjection with patchInjection
patchInjection accumulates mass exchanges on a per-patch basis which are
reported by injectionModelList
2015-05-08 16:40:03 +01:00
Henry
e1d88f18bd Update header 2015-05-05 15:46:52 +01:00
Henry
08cc46689b Correct comment 2015-05-05 15:46:38 +01:00
Henry
8dee55bc99 fieldMinMax: add optional switch to control the output of max/min location
and simplify output format for graphing

With "location yes;"

log:
    fieldMinMax fieldMinMax output:
        min/max(mag(U.air)) = 0 28.309442
        min/max(mag(U.water)) = 0 27.221734

file:
    # Field minima and maxima
    # Time          min(U.air)      max(U.air)      min(U.water)    max(U.water)
    4.00061050e-01  0.00000000e+00  2.87015987e+01  0.00000000e+00  2.71025731e+01
    4.00134265e-01  0.00000000e+00  2.86505310e+01  0.00000000e+00  2.71134246e+01
    4.00222098e-01  0.00000000e+00  2.85937449e+01  0.00000000e+00  2.71255302e+01

With "location no;"

log:
    fieldMinMax fieldMinMax output:
        min(mag(U.air)) = 0 at location (-0.058373423 -0.15376628 0.021017389)
        max(mag(U.air)) = 28.701599 at location (-0.24002836 0.0053456235 3.8964638)
        min(mag(U.water)) = 0 at location (-0.058373423 -0.15376628 0.021017389)
        max(mag(U.water)) = 27.102573 at location (-0.24002836 0.0053456235 3.8964638)

file:
    # Field minima and maxima
    # Time          field           min             location(min)   max             location(max)
    4.00061050e-01  U.air           0.00000000e+00  (-5.83734226e-02 -1.53766281e-01 2.10173892e-02)        2.87015987e+01  (-2.40028359e-01 5.34562354e-03 3.89646377e+00)
    4.00061050e-01  U.water         0.00000000e+00  (-5.83734226e-02 -1.53766281e-01 2.10173892e-02)        2.71025731e+01  (-2.40028359e-01 5.34562354e-03 3.89646377e+00)
2015-05-05 15:41:32 +01:00
Henry
05cd20d826 probes: Improved formatting of header to make it easier to parse and read probe locations
New layout:

    # Probe 0 (0.0254 0.0253 0)
    # Probe 1 (0.0508 0.0253 0)
    # Probe 2 (0.0762 0.0253 0)
    #       Probe             0             1             2
    #        Time
            1e-05        142974        128861        115934
            2e-05      -69444.1        -62541      -56395.7
            3e-05      -1546.81      -1445.94      -1154.79
2015-05-05 12:26:28 +01:00
Henry
57b25f22b3 planeExtrusion.[HC]: Renamed from plane.[HC] to avoid name clash 2015-05-04 21:16:44 +01:00
Henry
c28730251c extrudeMesh: Add sector extrusion type and specialize wedge and plane
to create single layer extrusions with wedge and empty front and back
patches respectively.
2015-05-04 20:54:39 +01:00
Henry
14fe8ad7e2 polyTopoChange: Corrected layout for Doxygen 2015-05-04 16:37:20 +01:00
Henry
767e1a4e69 GAMG solver: Set the following defaults:
cacheAgglomeration true;
    agglomerator    faceAreaPair;
    nCellsInCoarsestLevel 10;
    mergeLevels     1;
2015-05-03 18:11:25 +01:00
Henry
b06c078607 sampledSets, sampledSurfaces: Provide warning message if field cannot be found
Generate fatal error if iso-surface field cannot be found
2015-05-03 16:52:37 +01:00
Henry
e558e900ef pimpleControl: Support field relaxation when the number of PIMPLE iterations = 1
This allows PIMPLE solvers to operate in SIMPLE mode
2015-05-03 11:50:05 +01:00
Henry
48edc421a8 steadyStateDdtScheme: Corrected dimensions of ddtCorr for compressible flow 2015-05-02 17:38:29 +01:00
Henry
df3e05beb9 BrownianMotionForce: Updated interface to turbulence model 2015-04-30 17:38:12 +01:00
Henry
cb1f94a370 DispersionRASModel: Updated lookup of the turbulence model
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1679
2015-04-30 11:11:35 +01:00
Henry
c43b145479 patchInteractionDataList: Ignore empty patches 2015-04-29 23:06:09 +01:00