Commit graph

106 commits

Author SHA1 Message Date
Henry Weller
151e1fafff Update header 2015-11-22 17:28:37 +00:00
Henry Weller
d870ca5be5 Corrected typo: Tranform -> Transform
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1923
2015-11-22 17:27:44 +00:00
Henry Weller
6a80fbf792 advectiveFvPatchField: Added support localEuler ddt (LTS)
This functionality is inherited by the waveTransmissive BCs
2015-11-18 09:33:13 +00:00
Henry Weller
742f2da0fa Updated header 2015-11-17 12:07:33 +00:00
Henry Weller
22fd0edd59 porosityModels: Specification of name and dimensions of porosity coefficients is now optional
e.g.

    DarcyForchheimerCoeffs
    {
        d   (5e7 -1000 -1000);
        f   (0 0 0);

        coordinateSystem
        {
            type    cartesian;
            origin  (0 0 0);
            coordinateRotation
            {
                type    axesRotation;
                e1      (1 0 0);
                e2      (0 0 1);
            }
        }
    }
2015-11-17 12:05:57 +00:00
Henry Weller
ef287b7640 steadyStateDdtScheme: Correct dimensions of fvcDdtUfCorr
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1913
2015-11-13 14:33:34 +00:00
Henry Weller
10aea96ae5 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
Henry Weller
cad9467374 src/finiteVolume: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 16:55:03 +00:00
Henry Weller
1944b09bb5 SolverPerformance: Complete the integration of the templated SolverPerformance<Type>
Now solvers return solver performance information for all components
with backward compatibility provided by the "max" function which created
the scalar solverPerformance from the maximum component residuals from
the SolverPerformance<Type>.

The residuals functionObject has been upgraded to support
SolverPerformance<Type> so that now the initial residuals for all
(valid) components are tabulated, e.g. for the cavity tutorial case the
residuals for p, Ux and Uy are listed vs time.

Currently the residualControl option of pimpleControl and simpleControl
is supported in backward compatibility mode (only the maximum component
residual is considered) but in the future this will be upgraded to
support convergence control for the components individually.

This development started from patches provided by Bruno Santos, See
http://www.openfoam.org/mantisbt/view.php?id=1824
2015-11-10 08:50:11 +00:00
Henry Weller
29111c3723 fvcAverage: Minor improvement to the evaluation of the internalField 2015-11-08 12:25:30 +00:00
Henry Weller
03494fef5d Updated notImplemented -> NotImplemented
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible
compilers otherwise __func__ to provide the function name string.
2015-11-01 10:26:37 +00:00
Henry Weller
678a7a5202 Updated headers 2015-10-30 21:37:59 +00:00
Henry Weller
1e4a07c714 Updated docs for Doxygen: '<' -> '\<' and '>' -> '\>' 2015-10-30 21:37:03 +00:00
Henry Weller
033e73e3f9 prghTotalPressureFvPatchScalarField: Total pressure BC for p_rgh
Resolves some stability issues with the outlet of multiphase problems.
2015-10-14 13:15:17 +01:00
Henry Weller
0e5596879e uniformFixedValueFvPatchField: Remove the inconsistent optional "value"
read in the construction from dictionary.

It is important that the initial value is obtained from the table
provided to avoid the user having to evaluate a consistent one or risk
the code crashing from a very sudden change in the value.
2015-10-13 22:28:26 +01:00
Henry Weller
f4b648e1cb fvSchemes: setFluxRequired now adds entry quietly 2015-10-12 21:26:40 +01:00
Henry Weller
289d67f825 Removed unnecessary "else if" conditions
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1858
2015-09-28 22:18:39 +01:00
Henry Weller
12a8274f8a activePressureForceBaffleVelocityFvPatchVectorField: Corrected implementation and documentation
Updated files provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1793
2015-08-24 18:36:57 +01:00
Henry Weller
2916f043b3 uniformFixedGradientFvPatchField: Corrected constructor
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1827
2015-08-13 19:08:52 +01:00
Henry Weller
32b7a26b72 transformFvPatchField: Specialize valueInternalCoeffs for scalar
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1820
2015-08-10 12:06:13 +01:00
Henry Weller
00b6400860 Removed trailing whitespace
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1805
2015-08-01 15:43:05 +01:00
Henry Weller
609f43ec69 waveSurfacePressureFvPatchScalarField: Upgrade timeScheme -> ddtScheme 2015-07-24 11:30:48 +01:00
Henry Weller
8325e8b91f fvSchemes: Handle merging of fluxRequired settings
during re-reading of the fvSchemes dictionary
2015-07-24 11:30:08 +01:00
Henry Weller
36ae54f803 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
Henry Weller
d6e6e2bf70 Remove unnecessary use of keyword "explicit" 2015-07-17 18:26:58 +01:00
Henry Weller
e6e7820ae5 Upgrade Intel C++ compiler to icpc (ICC) 15.0.3 20150407
This resolves a whole range of issues and work-arounds with earlier
releases.  This version of icpc is more or less compatible with the
latest gcc and clang compilers and only required one hack to avoid
warnings from PackedBoolList.H.
2015-07-17 16:50:40 +01:00
Henry Weller
77bf182edc Resolved issues with virtual function inheritance and warning from clang
Also removed __GNUC__ conditional compilation statements which are no
longer needed.
2015-07-17 12:11:37 +01:00
Henry Weller
dc0523643f fluxRequired: Added setFluxRequired function to fvSchemes class
Added calls to setFluxRequired for p, p_rgh etc. in all solvers which
avoids the need to add fluxRequired entries in fvSchemes dictionaries.
2015-07-15 21:57:16 +01:00
Henry Weller
65d9aacd22 fluxRequired: Added setFluxRequired function to fvSchemes class
Added calls to setFluxRequired for p in all incompressible solvers which
avoids the need to add fluxRequired entries in fvSchemes dictionary.

Will add calls to setFluxRequired to the rest of the solvers.
2015-07-15 15:04:51 +01:00
Henry Weller
30af1cdbc4 cellCoBlended: New surfaceInterpolation scheme based on CoBlended using the cell-based Courant number
This scheme is equivalent to the CoBlended scheme except that the Courant
    number is evaluated for cells using the same approach as use in the
    finite-volume solvers and then interpolated to the faces rather than being
    estimated directly at the faces based on the flux.  This is a more
    consistent method for evaluating the Courant number but suffers from the
    need to interpolate which introduces a degree of freedom.  However, the
    interpolation scheme for "Co" is run-time selected and may be specified in
    "interpolationSchemes" and "localMax" might be most appropriate.

    Example of the cellCoBlended scheme specification using LUST for Courant
    numbers less than 1 and linearUpwind for Courant numbers greater than 10:
    \verbatim
    divSchemes
    {
        .
        .
        div(phi,U)  Gauss cellCoBlended 1 LUST grad(U) 10 linearUpwind grad(U);
        .
        .
    }

    interpolationSchemes
    {
        .
        .
        interpolate(Co) localMax;
        .
        .
    }
    \endverbatim
2015-07-14 13:39:57 +01:00
Henry Weller
0d024dd37d Removed use of the deprecated "register" keyword
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340.html
2015-06-30 10:26:44 +01:00
Henry Weller
b8465c8469 localEulerDdt: Removed unnecessary template qualifiers 2015-06-29 14:18:24 +01:00
Henry Weller
44c040dfda LTS: Simplify the selection of LTS operation 2015-06-29 11:53:20 +01:00
Henry Weller
8d962c97ad Update header 2015-06-28 21:43:21 +01:00
Henry Weller
8729455377 LTS: Formalize the naming of the rDeltaT and rSubDeltaT fields
Now the specification of the LTS time scheme is simply:

ddtSchemes
{
    default         localEuler;
}
2015-06-28 21:41:40 +01:00
Henry Weller
d314ed3b4a LTS, MULES and sub-cycling: Improved the handling of the rSubDeltaT field 2015-06-26 21:58:27 +01:00
Henry Weller
2ac4a4e84c interFoam family: Added run-time selectable LTS support
LTS is selected by the ddt scheme e.g. in the
tutorials/multiphase/interFoam/ras/DTCHull case:

ddtSchemes
{
    default         localEuler rDeltaT;
}

LTSInterFoam is no longer needed now that interFoam includes LTS
support.
2015-06-26 18:32:20 +01:00
Henry Weller
27d956d278 reactingTwoPhaseEulerFoam: Construct MRF and fvOptions in phaseSystem 2015-06-25 19:22:47 +01:00
Henry Weller
0575911f94 LimitedScheme/LimitFuncs: Make the limiter function for symmTensor consistent with tensor
Use the trace as the limiter function for both symmTensor and tensor to
bound the normal stresses rather than the shear stresses.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1751
2015-06-18 11:45:40 +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
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
bfb726aba3 twoPhaseEulerFoam: rationalize handling of fixed-flux BC update 2015-05-09 23:45:15 +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
e5a52c90e8 Update headers 2015-04-29 14:44:53 +01:00
Henry
3e2b64c08d MULES: nLimiterIter and smoothLimiter are now user-input via the corresponding fvSolution sub-dict
nLimiterIter: Number of iterations during limiter construction
    3 (default) is sufficient for 3D simulations with a Courant number 0.5 or so
    For larger Courant numbers larger values may be needed but this is
    only relevant for IMULES and CMULES

smoothLimiter: Coefficient to smooth the limiter to avoid "diamond"
    staggering patters seen in regions of low particle phase-fraction in
    fluidised-bed simulations.

    The default is 0 as it is not needed for all simulations.
    A value of 0.1 is appropriate for fluidised-bed simulations.
    The useful range is 0 -> 0.5.
    Values larger than 0.5 may cause excessive smearing of the solution.
2015-04-29 14:37:41 +01:00
Henry
5aa15a3924 Update header 2015-04-27 20:23:11 +01:00