Commit graph

68 commits

Author SHA1 Message Date
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
Henry
51abd7e807 CrankNicolsonDdtScheme: Added "see also" 2015-02-22 15:29:37 +00:00
Henry
5ee73b2e9b CrankNicolsonDdtScheme: Add documentation 2015-02-22 15:25:32 +00:00
Henry
9b7079ff8f timeVaryingMappedFixedValueFvPatchField: Updated documentation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1545
2015-02-21 21:41:48 +00:00
Henry
5f24612805 icoFoam/nonNewtonianIcoFoam: Update to use pisoControl 2015-02-21 21:39:01 +00:00
Henry
5cd0083db0 Update headers 2015-02-20 16:09:32 +00:00
Henry
5fca41e1a7 CrankNicolsonDdtScheme: provide access to the off-centreing coefficient 2015-02-20 16:08:56 +00:00
Henry
16c7318aee outletInletFvPatchField: store Field<scalar> rather than fvsPatchField<scalar> for phip
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1539
2015-02-17 23:59:21 +00:00
Henry
cec7f52d96 Update header 2015-02-14 17:19:35 +00:00
Henry
de6ef3d551 grpIcoRASBoundaryConditions -> grpRASBoundaryConditions 2015-02-14 17:19:01 +00:00
Henry
f58fd14271 Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
Henry
017855b877 Update headers 2015-02-12 10:01:10 +00:00
Henry
4003887517 Do not register temporaries 2015-02-12 10:00:53 +00:00
Henry
e939d1de79 Solvers: Rationalized correctPhi 2015-02-11 13:22:24 +00:00
Henry
78f8e84d01 pimpleControl and pisoControl: Rationalize PISO and PIMPLE control 2015-02-10 13:47:18 +00:00
Henry
ca026b5dc7 Updated headers to ensure the class name declared to Doxygen is in the appropriate namespace
Also moved global classes which should be in the Foam namespace into it.
2015-02-09 14:43:11 +00:00
Henry
e72b2557d5 PolynomialEntry: Templated polynomial DataEntry to support all basic field types from scalar to tensor
This allows polynomial functions for e.g. velocity to be specified in the uniformFixedValue BC

Consider a linear function for Ux(t) with Uy and Uz = 0:

    inlet
    {
        type            uniformFixedValue;
        uniformValue    polynomial
        (
            ((10 0 0)   (0 0 0))
            ((100 0 0)  (1 0 0))
        );
    }

Resolves bug report http://www.openfoam.org/mantisbt/view.php?id=1508
2015-02-06 09:57:20 +00:00
Henry
2c25b8db52 Add support for reading and updating the debug switches of templated
classes in the DebugSwitches sub-dictionary of system/controlDict
2015-02-04 22:08:27 +00:00
Henry
5a4a4e5e4a wallDist: Ensure appropriate method correct function is called 2015-01-12 11:53:19 +00:00
Henry
49b27c838f Added missing file
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1484
2015-01-10 21:10:24 +00:00
Henry
1a084b8954 wallDist: Add support for distance to any patch set 2015-01-10 12:26:39 +00:00
Henry
0123afd3e3 advectionDiffusionPatchDistMethod: Added more description including specification of relaxation 2015-01-10 11:27:14 +00:00
Henry
c29c13b742 wallDist: Added nRequired option to the wallDist dict 2015-01-09 23:17:24 +00:00
Henry
4b4fce2c02 advectionDiffusionPatchDistMethod: Only run the predictor method on first call
Improves efficiency for moving-mesh cases
2015-01-09 22:05:32 +00:00
Henry
28ec2c2a06 wallDist: moved patchTypes into patchDistMethod 2015-01-09 21:41:21 +00:00
Henry
014c602f4a advectionDiffusionPatchDistMethod: Added comment concerning predictor step 2015-01-09 16:18:49 +00:00