Commit Graph

382 Commits

Author SHA1 Message Date
fe1fade8cb Corrected spelling in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
2018-02-13 20:39:56 +00:00
6a417d4a93 decomposePar: Add support for the -force option with the -allRegions option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2835
2018-02-13 16:51:00 +00:00
0248dd81e3 Corrected comments: inbetween -> in between 2018-02-13 16:38:41 +00:00
f9617196ce decomposePar: Fixes to -dict option for multi-region cases 2018-02-13 14:06:30 +00:00
fc2b2d0c05 OpenFOAM: Rationalized the naming of scalar limits
In early versions of OpenFOAM the scalar limits were simple macro replacements and the
names were capitalized to indicate this.  The scalar limits are now static
constants which is a huge improvement on the use of macros and for consistency
the names have been changed to camel-case to indicate this and improve
readability of the code:

    GREAT -> great
    ROOTGREAT -> rootGreat
    VGREAT -> vGreat
    ROOTVGREAT -> rootVGreat
    SMALL -> small
    ROOTSMALL -> rootSmall
    VSMALL -> vSmall
    ROOTVSMALL -> rootVSmall

The original capitalized are still currently supported but their use is
deprecated.
2018-01-25 09:46:37 +00:00
c902c7a396 OpenFOAM: Replaced hard-coded scalar limits with C++11 numeric_limits
This change simplifies maintenance and improved portability
2018-01-24 14:43:32 +00:00
672d3058ea surfaceFeatureExtract: Changed the internalAngleTolerance to 80deg 2018-01-19 20:16:36 +00:00
3e761d6a41 foamyHexMesh: Added cell sizing based on local surface closeness
First run the surfaceFeatureExtract with the "closeness" option enabled in the
surfaceFeatureExtractDict to extract the surface closeness point field

    // Out put the closeness of surface elements to other surface elements.
    closeness               yes;

Then enable cell sizing based on local surface closeness by specifying the
"internalCloseness" options in the foamyHexMeshDict e.g.

motionControl
{
    defaultCellSize             4;

    minimumCellSizeCoeff        0.1;
    maxSmoothingIterations      100;
    maxRefinementIterations     2;

    shapeControlFunctions
    {
        geometry
        {
            type                        searchableSurfaceControl;
            priority                    1;
            mode                        inside;

            surfaceCellSizeFunction     nonUniformField;

            cellSizeCalculationType     automatic;

            curvature                   false;
            curvatureFile               dummy;
            featureProximity            false;
            featureProximityFile        dummy;
            internalCloseness           true;
            internalClosenessFile       geometry.internalPointCloseness;
            internalClosenessCellSizeCoeff 25;
            curvatureCellSizeCoeff      0;
            maximumCellSizeCoeff        1;
            cellSizeFunction            uniform;
        }
    }
}
2018-01-14 12:05:38 +00:00
a80da1a489 Added ramping functionality for multiphase simulations
The outletPhaseMeanVelocity and waveVelocity boundary conditions now
support a "ramp" keyword, for which a function can be supplied to
gradually increase the input velocity. The following is an example
specification for an outlet patch:

    outlet
    {
        type            outletPhaseMeanVelocity;
        Umean           2;
        ramp
        {
            type            quarterSineRamp;
            start           0;
            duration        5;
        }
        alpha           alpha.water;
    }

There is also a new velocityRamping function object, which provides a
matching force within the volume of the domain, so that the entire flow
is smoothly accelerated up to the operating condition. An example
specification is as follows:

    velocityRamping
    {
        type        velocityRamping;
        active      on;
        selectionMode all;
        U           U;
        velocity    (-2 0 0);
        ramp
        {
            type        quarterSineRamp;
            start       0;
            duration    5;
        }
    }

These additions have been designed to facilitate a smoother startup of
ship simulations by avoiding the slamming transients associated with
initialising a uniform velocity field.

This work was supported by Jan Kaufmann and Jan Oberhagemann at DNV GL.
2018-01-08 09:20:28 +00:00
9293df9804 blockMesh: Always put the mesh in the constant directory 2017-12-19 09:58:51 +00:00
cc4d4433b8 messageStream: Added support for suppressing the printing of log header
This generalizes and replaces the previous "noBanner" option provided by argList
and is extended to include the messages printed by Time.

Resolves bug-report https://bugs.openfoam.org/view.php?id=2782
2017-12-06 11:58:35 +00:00
ce181e0d71 blockMesh: Added support for automatically reordering cyclic patches
Patch contributed by Mattijs Janssens
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1692
2017-12-01 11:01:30 +00:00
49c13cf5c2 createBaffles: Create slave baffles on coupled patches 2017-11-29 15:30:35 +00:00
b1d04b9f71 createBaffles: Corrected warning about internalFacesOnly setting 2017-11-22 14:45:23 +00:00
edda7d3c89 foamyHexMesh: Generate coincident-full-match processor patches 2017-11-08 11:21:26 +00:00
000401acba mirrorMesh: Updated Make/options 2017-10-27 15:20:08 +01:00
19da21ed93 mirrorMesh: Added support for cellLevel and pointLevel to support dynamic mesh refinement
Patch contributed by Mattijs Janssens
Resolves bug-report https://bugs.openfoam.org/view.php?id=2712
2017-10-27 14:58:26 +01:00
644253773f mergePolyMesh: Added check for zero patches in the master mesh
Patch contributed by Jakub Benda
Resolves bug-report https://bugs.openfoam.org/view.php?id=2727
2017-10-18 16:24:08 +01:00
8f5a3875f6 blockMesh: Corrected diagram printed with "-help" to be consistent with the documentation
Resolves bug report https://bugs.openfoam.org/view.php?id=2710
2017-10-13 11:28:01 +01:00
8e6da093cb Updated header 2017-10-11 22:01:03 +01:00
87506d8696 foamyHexMesh: Added (reinstated) baffle patches
A patch can now be assigned to a baffle surface. This assignment will
take precedence over any face-zones.

surfaceConformation
{
    locationInMesh      (0 0 0);

    geometryToConformTo
    {
        disk
        {
            featureMethod           extractFeatures;
            includedAngle           120;
            meshableSide            both; // <-- baffle
            patchInfo
            {
                type wall;
                inGroups (walls);
            }
        }

        // ...
    }
}
2017-10-06 11:46:33 +01:00
1a2a5b0622 foamyHexMesh: Made default region volume type that of it's parent
Foamy surface conformation entries have a "meshableSide" entry which
controls which side of the surface is to be meshed. Typically this is
set "inside" for boundaries and "both" for baffles. A sub-region's
default entry is now taken from it's parent, rather than a specific
value (it was "inside"). This is consistent with how other entries are
handled.

surfaceConformation
{
    locationInMesh      (0 0 0);

    geometryToConformTo
    {
        baffle
        {
            featureMethod           extractFeatures;
            includedAngle           120;
            meshableSide            both; // <-- per-surface setting

            regions
            {
                disk
                {
                    meshableSide    both; // <-- per-region setting*

                    // *in this example, this entry is not needed, as it
                    // is taken from the per-surface setting above
                }
            }
        }

        // ...
    }
}
2017-10-06 11:46:33 +01:00
d24899834d NamedEnum: Changed indexing to unsigned int 2017-10-05 11:12:00 +01:00
c85daee12c paraFoam: Added support for wildcards in etc/paraFoam::defaultFields
Specifying default fields for complex and multi-phase cases is simplified and
generalized by using wildcards to select sets of related field names, e.g.

    defaultFields (p p_rgh U "U\..*" T "T\..*" "alpha\..*");

selects the velocity, temperature and phase-fraction fields of all phases in
addition to the pressure fields.
2017-10-04 15:23:06 +01:00
4ece2ccf3d paraFoam: Add support for specifying the patch types loaded by default
The default patch types specified in the new defaultPatchTypes entry of the
etc paraFoam configuration dictionaries:

    defaultPatchTypes (patch wall);

Wildcards are supported, for example to specify that all patches loaded simply set
defaultPatchTypes to

    defaultPatchTypes (".*");
2017-10-04 13:53:12 +01:00
10b289245f paraFoam: Added configuration file to set default fields loaded on start-up
The new default paraFoam configuration is in the files OpenFOAM-dev/etc/paraFoam
containing the entry

    defaultFields (U p p_rgh T alpha.water alpha.air);

specifying the set of fields which are loaded by default if available.  This
setting maybe overridden by providing additional paraFoam configuration files in
any of the OpenFOAM etc directories searched, listed using

    foamEtcFile -list

e.g.

    ~/.OpenFOAM/dev
    ~/.OpenFOAM
    ~/OpenFOAM/site/dev
    ~/OpenFOAM/site
    ~/OpenFOAM/OpenFOAM-dev/etc

The new configurable set of default fields loaded replaces the original hard-coded default of
"p" and "U" and is much more convenient for current OpenFOAM usage.
2017-10-02 16:15:44 +01:00
e810470103 paraFoam: Reinstated the extrapolation to patches control 2017-10-02 10:35:27 +01:00
63c18662dd levelSet: Bug fix to volField levelSetAverage 2017-10-02 09:15:30 +01:00
a53b263b7f levelSet: Added volField-based functions 2017-10-02 09:15:30 +01:00
aa8054e7c5 mergePatchPairs: Updated 2017-09-19 09:30:26 +01:00
018adc16c9 Corrected file conditional compilation macro names to be consistency with the file names
Scripts contributed by Bruno Santos
Resolves request https://bugs.openfoam.org/view.php?id=2692#c8735
2017-09-12 13:39:48 +01:00
f53f52a691 createPatch: writing the cyclic match OBJ files is now optional
The new optional switch 'writeCyclicMatch' can be set to 'true' to enable the writing of
the cyclic match OBJ files; defaults to 'false'.

Patch contributed by Bruno Santos
Resolves patch request https://bugs.openfoam.org/view.php?id=2685
2017-09-09 23:00:27 +01:00
9faf06fe54 ideasUnvToFoam: Added test for no cells (e.g. 2D mesh)
Patch contributed by Bruno Santos
Resolves patch request https://bugs.openfoam.org/view.php?id=2691
2017-09-09 22:33:06 +01:00
4fd4fadab2 lagrangian: Un-templated the tracking data
Tracking data classes are no longer templated on the derived cloud type.
The advantage of this is that they can now be passed to sub models. This
should allow continuous phase data to be removed from the parcel
classes. The disadvantage is that every function which once took a
templated TrackData argument now needs an additional TrackCloudType
argument in order to perform the necessary down-casting.
2017-09-04 12:01:28 +01:00
d43c4ed4b1 foamyHexMesh: Removed empty OBJ output 2017-08-18 15:32:40 +01:00
8d1a9c4a83 decomposePar: Updated to handle -allRegion option on moving-mesh cases 2017-08-11 14:24:53 +01:00
998d6245e7 fileOperation: Corrected processor counting for moving mesh cases 2017-08-11 00:07:48 +01:00
c88507b3eb Function1: Optimized field evaluations 2017-08-08 10:16:08 +01:00
1081f8c046 setSet: Add ncurses to link-line if available
Resolves potential issue linking with readline on systems where readline has
ncurses support enabled.

Resolves bug-report https://bugs.openfoam.org/view.php?id=2642
2017-08-01 09:42:21 +01:00
d09b89d0b2 PVReaders: Update C++ standard specification to 11 2017-07-25 00:03:31 +01:00
aa7f6d12b7 PVReaders: Simplified, rationalized and reorganized source tree and build scripts 2017-07-24 16:57:13 +01:00
5cf5f8d783 PV3Readers: Removed
ParaView version 3 is no longer supported, upgrade to ParaView-5.4.0.
2017-07-24 16:20:40 +01:00
c6f365f6cc refineMesh: Correct parallel operation
Patch contributed by Mattijs Janssens
Resolves bug-report https://bugs.openfoam.org/view.php?id=2621
2017-07-22 22:39:40 +01:00
2c3826ebd9 paraFoam: Render on refresh
The "Refresh Times" button now triggers a re-render of the visualisation
as well as scanning for new times and fields. This prevents old
overwritten data from remaining on screen despite everything else having
been updated.
2017-07-21 14:13:00 +01:00
68089dd574 paraFoam: Updated ParaView to version 5.4.0
ParaView has been updated to version 5.4.0. The C++ panel has been
deleted and replaced with a panel based on the new(er) XML API. This
reader works for ParaView-4.0.1 and newer. The ParaView 3 reader remains
unchanged.

Update issues have also been fixed. All the time directories are now
scanned for fields and clouds when filling the selection lists. This
stops fields from disappearing when the time is changed. The scan is
only done on startup and when the refresh button is pressed.

The list of available Lagrangian fields also now shows a combined set of
all the clouds. Previously, only fields from the first cloud were shown.
If a field does not apply to all the clouds, ParaView will display it's
name in the dropdown menu with a "(partial)" qualifier.

Some undocumented and incomplete bits of code, which were not being
compiled, have been removed.
2017-07-21 12:05:57 +01:00
dee9b200eb snappyHexMeshDict: updated triSurface entries to logical format
in annotated file in snappyHexMesh application source directory.
2017-07-13 12:55:04 -05:00
d04834ccfc setWaves: added Description in header 2017-07-13 10:27:25 -05:00
593df2e92a Removed unintended integer divisions 2017-07-13 09:23:11 +01:00
b4e88f260b masterUncollatedFileOperation: Updated to avoid warning from clang 2017-07-11 15:11:38 +01:00
611f2da837 decomposePar: Removed superfluous rmDir warning messages 2017-07-07 18:37:17 +01:00