Commit graph

93 commits

Author SHA1 Message Date
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
Henry
9fb9a65952 surfaceNormalFixedValueFvPatchVectorField: Update fixedValue field to handle mesh-motion
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1667
2015-04-27 20:22:01 +01:00
Henry
6e385b237a Update headers 2015-04-26 16:38:47 +01:00
Henry
7047154fee MRFZone: Add regex and group support to the specification of nonRotatingPatches 2015-04-26 16:38:07 +01:00
Henry
2e9a3903cd SRFModel: Changes origin to be user-input rather than hard-coded to (0 0 0)
Updated tutorials
2015-04-26 11:28:14 +01:00
Henry
d4f6e184be prghPressureFvPatchScalarField: Add support for hRef 2015-04-18 19:31:31 +01:00
Henry
a6dded3ba5 twoPhaseEulerFoam: Add partial-elimination to phase flux and velocity correction
Improves stability and convergence of systems in which drag dominates
e.g. small particles in high-speed gas flow.

Additionally a new ddtPhiCorr strategy is included in which correction
is applied only where the phases are nearly pure.  This reduces
staggering patters near the free-surface of bubble-column simulations.
2015-04-05 21:18:28 +01:00
Henry
a20b46df89 ddtScheme::fvcDdtPhiCoeff: Zero ddtCorr on AMIs
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1421
2015-03-24 15:23:01 +00:00
Henry
13d4f5c386 Buoyant solvers: Add special handling for ghRef in the case g = (0 0 0) 2015-03-19 15:26:06 +00:00
Henry
afcd290d75 Solvers based on p_rgh: Added support for optional hRef
Allows the specification of a reference height, for example the height
of the free-surface in a VoF simulation, which reduces the range of p_rgh.

hRef is a uniformDimensionedScalarField specified via the constant/hRef
file, equivalent to the way in which g is specified, so that it can be
looked-up from the database.  For example see the constant/hRef file in
the DTCHull LTSInterFoam and interDyMFoam cases.
2015-03-17 17:15:11 +00:00
Henry
8bed463f45 boundaryConditions.dox: Update wall-function entries 2015-03-10 19:58:37 +00:00
Henry
e4e64e6eab adjustPhi: Corrected for closed-volume, moving-mesh incompressible simulations 2015-03-05 20:12:39 +00:00
Henry
e980cd5a60 CrankNicolsonDdtScheme: Clarified the relationship between the
off-centre coefficient and the coefficient for the implicit part
2015-02-25 16:54:05 +00:00
Henry
de2c2fb007 Rationalize position searching and add cell->tet decomposition as the default cell-search algorithm
Resolves issues with probes and findRefCell for meshes in which all cell face-pyramids are positive.
2015-02-25 10:57:06 +00:00