Commit Graph

3641 Commits

Author SHA1 Message Date
7fc61d7eb7 negEntry: Supporting negation of already negative quantities 2018-12-18 11:51:45 +00:00
5925868fb7 waves: Moved mean velocity specification back into the wave models
With the inclusion of boundary layer modelling in the gas, the
separation of wave perturbation from and mean flow became less useful,
and potentially prevents further extension to support similar boundary
layer modelling in the liquid.

The mean velocity entry, UMean, is now needed in the
constant/waveProperties file rather than in the waveVelocity boundary
condition.
2018-12-18 10:34:40 +00:00
e033aca111 streamlines: Updated tutorials for new caseDicts 2018-12-18 09:18:20 +00:00
4d6b99faa7 waves: Added atmospheric boundary layer modelling to the gas
An atmospheric boundary layer velocity can now be added to the gas side
of the wave modelling. The wave superposition class has been given a
run-time selection mechanism, and a derivation added which includes gas
atmospheric boundary layer modelling. This modelling is therefore
available in both the wave boundary conditions, and in setWaves.

This functionality can be selected in the constant/waveProperties file
by supplying a "type" entry and a number of parameters controlling the
boundary layer. For example:

    In constant/waveProperties:

        type            waveAtmBoundaryLayer;

        // properties specifying the wave modelling ...

        UGasRef         (10 0 0);
        hRef            20;
        hWaveMin        -2;
        hWaveMax        3;

UGasRef is the gas velocity relative to the liquid, at the height, hRef,
relative to the wave model origin. hWaveMin and hWaveMax describe the
range of the wave elevation; it is non-trivial to calculate this from
the wave models themselves, so it is required as an input.

The base wave superposition class can be selected with "type wave;", but
also selects by default when the "type" entry is omitted, so the change
is backwards compatible.
2018-12-17 16:40:29 +00:00
b66cad39ee TDACChemistryModel: Allow reduction and tabulation methods to be instantiated in the same file 20181216 2018-12-14 15:05:02 +00:00
df4e383d5a Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-12-14 11:21:23 +00:00
bd5a194280 atmBoundaryLayer: Added documentation 2018-12-14 11:20:32 +00:00
ae63ebfbe6 reactingMultiphaseEulerFoam: Fixed potential double usage of rho tmp 2018-12-13 16:38:49 +00:00
3c0ce7b152 reactingMultiphaseEulerFoam: Updated EEqns for stationary phase
Resolves bug report https://bugs.openfoam.org/view.php?id=3132
2018-12-13 16:01:49 +00:00
9c9f061990 foamGet: Corrected for POSIX sh compliance 2018-12-12 21:22:24 +00:00
1214ed73be Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-dev 2018-12-12 21:18:16 +00:00
4233ea3b59 mixerVesselAMI: changed field files to ASCII and updated mesh settings 2018-12-12 21:17:51 +00:00
d0dc341eb0 Removed unused binary file 2018-12-12 21:16:28 +00:00
2e4027d182 atmBoundaryLayer: Added experimental support for an offset boundary layer 2018-12-12 16:27:30 +00:00
d73156e57c Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-12-11 15:52:32 +00:00
1682a01327 etc/config.sh/compiler: Added gcc-7.2.0 for testing 2018-12-11 15:51:52 +00:00
ba76758702 MultiComponentPhaseModel: Rename Sc to Sct
This is to make it clear that this is a turbulent Schmidt number
2018-12-11 11:57:30 +00:00
967edc9425 waves: Split mean flow from wave perturbation modelling
In order to increase the flexibility of the wave library, the mean flow
handling has been removed from the waveSuperposition class. This makes
waveSuperposition work purely in terms of perturbations to a mean
background flow.

The input has also been split, with waves now defined as region-wide
settings in constant/waveProperties. The mean flow parameters are sill
defined by the boundary conditions.

The new format of the velocity boundary is much simpler. Only a mean
flow velocity is required.

    In 0/U:

        boundaryField
        {
            inlet
            {
                type            waveVelocity;
                UMean           (2 0 0);
            }
            // etc ...
        }

Other wave boundary conditions have not changed.

The constant/waveProperties file contains the wave model selections and
the settings to define the associated coordinate system and scaling
functions:

    In constant/waveProperties:

        origin          (0 0 0);
        direction       (1 0 0);
        waves
        (
            Airy
            {
                length      300;
                amplitude   2.5;
                phase       0;
                angle       0;
            }
        );
        scale           table ((1200 1) (1800 0));
        crossScale      constant 1;

setWaves has been changed to use a system/setWavesDict file rather than
relying on command-line arguments. It also now requires a mean velocity
to be specified in order to prevent ambiguities associated with multiple
inlet patches. An example is shown below:

    In system/setWavesDict:

        alpha   alpha.water;
        U       U;
        liquid  true;
        UMean   (1 0 0);
2018-12-10 13:39:06 +00:00
bd2f275e09 streamlines: updated packaged function objects for new seeding methods 2018-12-10 13:05:54 +00:00
37396d1498 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-12-10 10:48:35 +00:00
43b54e1623 functionObjects::fieldAverageItem: Corrected writing of prime2Mean
Resolves bug-report https://bugs.openfoam.org/view.php?id=3122
2018-12-10 10:47:06 +00:00
4796ce32bd waveSuperposition: Fixed bug in gas pressure 2018-12-10 09:17:04 +00:00
2e1e8837c0 outletPhaseMeanVelocity: Renamed Umean to UnMean
This is to make it clear that the value supplied is the scalar mean
velocity normal to the patch, and to distinguish it from other instances
of the keyword "UMean" which take a vector quantity.
2018-12-10 09:05:30 +00:00
73c8e0d9f9 Function1: Replaced separate value-ramp pairs with a single Function1
The Scaled Function1 removes the need for classes to hold both a value
and a ramping function. If it is desired to ramp up a velocity up to
(10 0 0) over the space of 5 seconds, that can be achieved as follows:

    velocity
    {
        type        scale;
        scale
        {
            type        halfCosineRamp;
            duration    5;
        }
        value       (10 0 0);
    }

Also, as a result of this change, the velocityRamping fvOption has
become a general acceleration source, based on a velocity Function1. It
has therefore been renamed accelerationSource.
2018-12-10 09:04:11 +00:00
78b6c7c9e5 solidificationMeltingSourceTemplates: Removed incorrect comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=3124
2018-12-07 16:20:18 +00:00
d61ca8d8d8 foamDictionary: Added -dict option to set, add and merge
With the -dict option the set, add and merge options read the entry from the
dictionary name argument rather than directly from the argument string.
2018-12-06 23:07:53 +00:00
abde9a8a7c foamDictionary: Added -merge option
which merges the new entry with the corresponding entry in the dictionary
2018-12-05 15:04:01 +00:00
d6f538c453 dynamicInterpolatedFvMesh: New dynamic mesh which interpolates a given set of point position or displacement files
Class
    Foam::dynamicInterpolatedFvMesh

Description
    Interpolates pre-specified motion specified as a set of pointVectorFields.

    The motion can be provided either as a set of displacement or position
    fields and the entry \c displacement specified accordingly.

Usage
    Example:
    \verbatim
    dynamicFvMesh   dynamicInterpolatedFvMesh;

    displacementLaplacianCoeffs
    {
        field               wantedDisplacement;
        displacement        yes;
        interpolationScheme linear;
    }
    \endverbatim

    This will scan the case for \c wantedDisplacement \c pointVectorFields in
    the time directories and interpolate those in time (using \c linear
    interpolation) to obtain the current displacement.  The advantage of
    specifying displacement in this way is that it automatically works in
    parallel using \c decomposePar to decompose the set of \c pointVectorFields
    provided.
2018-12-05 12:04:51 +00:00
d68e3afe2d config.sh/aliases: corrected wmRefresh for POSIX compliance 2018-12-04 21:31:47 +00:00
44630d3357 config.sh/aliases: removed "declare" for POSIX compliance 2018-12-04 16:37:19 +00:00
c39816f032 alphatWallBoilingWallFunction: Fix for clang
Patch contributed by Juho Peltola, VTT.
2018-12-04 12:11:33 +00:00
8d8369a5e7 reactingEulerFoam: corrected file permissions 20181203 2018-12-02 20:30:39 +00:00
6ec5e56968 fileOperations: Added more diagnostics
Patch contributed by Mattijs Janssens
2018-11-30 15:13:53 +00:00
b786f41498 IOobject: Add "local" to message
Patch contributed by Mattijs Janssens
2018-11-30 15:13:20 +00:00
d756303c30 fvPatch: start() and name() functions are now virtual
Patch contributed by Mattijs Janssens
2018-11-30 15:12:43 +00:00
d38ddea17e vtkPVFoam: use the fileHandler readDir
Patch contributed by Mattijs Janssens
2018-11-30 15:11:00 +00:00
d83d943ffe decomposePar: Added -noFields option
Patch contributed by Mattijs Janssens
2018-11-30 15:09:43 +00:00
1aa36fbea5 vtkPVFoam: added support for FOAM_LIBS for loading new file handlers at start-up
Patch contributed by Mattijs Janssens
2018-11-30 15:08:42 +00:00
58170f4405 argList: allow parallel running without a decomposeParDict and support -libs argument
to allow dynamic linking of libraries at start-up.

Patch contributed by Mattijs Janssens
2018-11-30 15:06:45 +00:00
8372163972 foamGet: Filter WM_PROJECT_SITE if not set 2018-11-30 15:04:59 +00:00
c370ec0583 tutorials/hotBoxes: Removed empty file 2018-11-30 09:29:51 +00:00
b785c988c6 ConeInjection: Added support for time-varying position and direction
The position and direction of cone injection sites can now be specified
using Function1 to make them change in time, relative to the start of
injection.

An example specification of the relevant entries is shown below.

    injectionModels
    {
        injection1
        {
            type            coneInjection;
            position        table
            (
                (0 (-0.1 -0.1 0))
                (0.25 (0.1 -0.1 0))
                (0.5 (0.1 0.1 0))
                (0.75 (-0.1 0.1 0))
                (1 (-0.1 -0.1 0))
            );
            direction       table
            (
                (0 (-1 -1 0))
                (0.25 (1 -1 0))
                (0.5 (1 1 0))
                (0.75 (-1 1 0))
                (1 (-1 -1 0))
            );
            outOfBounds     repeat;

            // etc ...
        }
    }

Sub-dictionaries can also be used if the keywords of parameters of the
two functions collide:

    injectionModels
    {
        injection1
        {
            type            coneInjection;
            position        tableFile;
            positionCoeffs
            {
                file            "constant/injection1.positions";
                outOfBounds     clamp;
            }
            direction       tableFile;
            directionCoeffs
            {
                file            "constant/injection1.directions";
                outOfBounds     repeat;
            }

            // etc ...
        }
    }

A check is also done to determine whether a constant function is in use
on a stationary mesh, in order to prevent repeated searching for the
same position, and therefore retain approximately the efficiency of the
previous implementation in simple cases.
2018-11-30 08:50:34 +00:00
f31a675478 thermophysicalModels: Further rationalisation of the of the combinations of energy and thermo property forms
eConst is now used with sensibleInternalEnergy rather the hConst for consistency
and efficiency.
2018-11-29 14:50:19 +00:00
d470b8ecef tutorials/wallBoiling: Updated relaxation factors and shortened initialisation periods
Patch contributed by Juho Peltola, VTT.
2018-11-29 11:58:57 +00:00
69b40df84b ThermalPhaseChangePhaseSystem: Consistency when solving for internal energy
The energy transfer associated with phase change has been corrected in
the case that the variable being solved for is internal energy.

Patch contributed by Juho Peltola, VTT.
2018-11-29 11:57:34 +00:00
b20e55ab5b waves: Minor fixes to wave model velocity functions 2018-11-29 08:48:56 +00:00
49d60b8520 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-11-28 22:08:59 +00:00
bcbfe542cf Rationalised WM_PROJECT_SITE and WM_PROJECT_INST_DIR in foamEtcFile and etcFiles
for consistency with WM_PROJECT.  Now "etc" files are assumed to be in etc
sub-directories of WM_PROJECT_SITE and WM_PROJECT_INST_DIR allowing other files
to be stored in those directories.  The search order is now:

Search for files from user/group/shipped directories.
The search scheme allows for version-specific and
version-independent files using the following hierarchy:
- \b user settings:
  - ~/.OpenFOAM/\<VERSION\>/
  - ~/.OpenFOAM/
- \b group (site) settings (when $WM_PROJECT_SITE is set):
  - $WM_PROJECT_SITE/\<VERSION\>/etc/
  - $WM_PROJECT_SITE/etc/
- \b group (site) settings (when $WM_PROJECT_SITE is not set):
  - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
  - $WM_PROJECT_INST_DIR/site/etc/
- \b other (shipped) settings:
  - $WM_PROJECT_DIR/etc/

\return The list of full paths of all the matching files or
an empty list if the name cannot be found.
Optionally abort if the file cannot be found.
Optionally stop search after the first file has been found.

This change was proposed and agreed by the sponsors of the OpenFOAM project on
the OpenFOAM Hub, see https://openfoam.org/maintenance/
2018-11-28 22:00:34 +00:00
d012e3eb1e levelSetTemplates: Fixed bug in boundary handling 2018-11-28 14:42:49 +00:00
3c60437a3e Renamed directory fixedInternalValueFvPatchField -> fixedInternalValue for consistency 2018-11-28 10:24:50 +00:00