Commit Graph

3275 Commits

Author SHA1 Message Date
4d44e24fcb Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-09 17:04:18 +00:00
62f64f0ded TDACChemistryModel: Added support for multiphase
Patch contributed by Timo Niemi, VTT.
Resolves patch request https://bugs.openfoam.org/view.php?id=2753
2017-11-09 16:58:17 +00:00
ea9345590e ACMI: Removed unnecessary argument from resetAMI method 2017-11-09 16:28:35 +00:00
d02238c21f Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-09 15:06:44 +00:00
e98f0b6ce3 tutorials/multiphase/compressibleInterPhaseTransportFoam/climbingRod: Improved stability
for a wider range of phase initialization.
2017-11-09 15:04:18 +00:00
889329fe3f AMI: Made the AMIMethod selectable from the polyPatch dictionary
The method used to calculate area overlaps between coupled AMI patches
has been made run-time selectable from the polyPatch dictionary. This
has primarily been done to facilitate the selection of the new swept AMI
method. The selection can be made within the constant/polyMesh/boundary
file as follows:

    AMI1
    {
        type            cyclicAMI;
        inGroups        2(cyclicAMI rotating);
        nFaces          524;
        startFace       37176;
        matchTolerance  0.0001;
        transform       unknown;
        neighbourPatch  AMI2;
        method          sweptFaceAreaWeightAMI; // <-- new entry
    }
    AMI2
    {
        type            cyclicAMI;
        inGroups        2(cyclicAMI rotating);
        nFaces          524;
        startFace       37700;
        matchTolerance  0.0001;
        transform       unknown;
        neighbourPatch  AMI1;
        method          sweptFaceAreaWeightAMI; // <-- new entry
    }

This can also be done within the patch specification section of the
blockMeshDict, or within a createBafflesDict.

The default remains the faceAreaWeightAMI method.
2017-11-09 14:12:41 +00:00
3260aeed80 edgeCollapser: Test breaks in all possible strings
This change tests all edges when breaking strings, not just those
connected to collapsing cells. In rare cases a cell can collapse despite
none of it's connected edges being marked as collapsing, because enough
of it's points collapse together via other edges.
2017-11-08 11:21:26 +00:00
edda7d3c89 foamyHexMesh: Generate coincident-full-match processor patches 2017-11-08 11:21:26 +00:00
3605a204e2 globalIndexAndTransform: Don't generate transforms from coincident-full-match patches
Another exception has been added to globalIndexAndTransform to prevent
transformations being generated from coupled patch pairs marked with
coincident-full-match transformations. Foamy generates such patches, and
the faces on them at intermediate stages of meshing can be degenerate,
making the calculation of transformations unreliable. This change
enforces the definition that coincident-full-match patch pairs are not
transformed.
2017-11-08 11:21:26 +00:00
f97eb743fe processorPolyPatch: Use relative match tolerance for coincident-full-match ordering 2017-11-08 11:21:26 +00:00
b37e628ac8 reconstructParMesh: Match face point averages on coupled patches
In the event that matching centroids across a coupled patch pair fails,
we fall back to matching the face point average. The latter can be
obtained more reliably on degenerate faces as the calculation does not
involve division by the face area.

This fallback was already implemented as part of processorPolyPatch.
This change also applies it to the faceCoupleInfo class used by
reconstructParMesh.
2017-11-08 11:21:26 +00:00
eea9f8dd86 tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D: Removed
This tutorial is not currently run due to conservation issues with AMI
2017-11-08 10:31:28 +00:00
204c6ee449 basicThermo, heSolidThermo: Added support for specifying the boundary conditions of alpha
Patch contributed by Björn Pfeiffelmann
Resolves patch request https://bugs.openfoam.org/view.php?id=2713
2017-11-07 13:53:46 +00:00
36dcb28511 UPtrList: Updated iterators for C++11 compliant compilers
Avoids "couldn't deduce template parameter ‘T’" errors.
Additionally this patch fixes bur-report https://bugs.openfoam.org/view.php?id=2749
2017-11-06 09:56:12 +00:00
e572ff6764 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-05 11:00:23 +00:00
c2835a450b functionObjects::ddt: New functionObject which calculates and writes the Eulerian time derivative of a field
Based on patch contributed by Tobias Holzmann
Resolves feature-request https://bugs.openfoam.org/view.php?id=2525
2017-11-05 10:58:07 +00:00
6c8102bd9a climbingRod tutorial: added case information in README 2017-11-03 17:59:41 +00:00
1da9266df3 UPstream: Added const_cast for OpenMPI versions < 1.7.4
Note
    The const_cast used in this file is a temporary hack for to work around
    bugs in OpenMPI for versions < 1.7.4
2017-11-03 14:40:59 +00:00
a331fbe51a decomposedBlockData: Updated to support 64-bit labels
Patch contributed by Mattijs Janssens
Resolves bug-report https://bugs.openfoam.org/view.php?id=2747
2017-11-03 12:38:44 +00:00
5432caccad temperatureCoupledBase: Added more user-friendly error messages for inconsistent input
Resolves bug-report https://bugs.openfoam.org/view.php?id=2748
2017-11-02 14:54:11 +00:00
6f7e6b3b99 compressibleInterPhaseTransportFoam: Removed unnecessary dependencies 2017-11-01 21:44:12 +00:00
bac518c1f2 doxyFilter: Added support for continuation lines in Doxygen tables
The continuation line are denoted by the \\ characters at the end of the
previous line e.g.

    \table
        Property     | Description                | Required    | Default value
        setAverage   | Switch to activate setting of average value | no | false
        perturb      | Perturb points for regular geometries | no | 1e-5
        fieldTableName | Alternative field name to sample | no| this field name
        mapMethod    | Type of mapping            | no | planarInterpolation
        offset       | Offset to mapped values    | no | Zero
        dataDir      | Top-level directory of the points and field data \\
                         | no | constant/boundaryData/\<patch name\>
        points       | Path including name of points file relative to dataDir \\
                         | no | points
        sample       | Name of the sub-directory in the time directories \\
                         containing the fields | no | ""
    \endtable
2017-11-01 21:37:56 +00:00
27632165b2 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-11-01 20:19:20 +00:00
2a1e4c42db VoFphaseCompressibleTurbulenceModels: Removed unnecessary dependencies
Resolves bug-report https://bugs.openfoam.org/view.php?id=2746
2017-11-01 20:18:12 +00:00
b8cc954768 AMI: Report the weight area-average rather than the number-average 2017-11-01 16:51:28 +00:00
f6a31132ec timeVaryingMappedFixedValueFvPatchField: Added support for reading point and field data directly from another case
Description
    This boundary conditions interpolates the values from a set of supplied
    points in space and time.

    By default the data files should be provide in
    constant/boundaryData/\<patch name\>/ directory:
      - points             : pointField of locations
      - \<time\>/\<field\> : field of values at time \<time\>

    Alternatively the names and locations of the points and field files may be
    specified explicitly via the optional dictionary entries:
      - dataDir \<optional top-level directory of the points and field data>;
      - points \<optional path including name of points file relative to
                 dataDir\>;
      - sample \<optional name of the sub-directory in the time directories
                containing the fields\>;
    This is particularly useful when mapping data from another case for which
    the \c sample \c functionObject is used to obtain the patch field data for
    mapping.

For example to specify that the point and field data should be mapped from
<source case name> the patch boundary condition would be written

    <patch name>
    {
        type            timeVaryingMappedFixedValue;
        dataDir         "../<source case name>/postProcessing/sample";
        points          "0/<sample name>/faceCentres";
        sample          <sample name>;
    }

In the above the source case directory is referred to relative to the current
case but the file and directory names are expanded so that environment variables
may be used.
2017-11-01 15:16:06 +00:00
04b562cd7a climbingRod tutorial: renamed fluid phase -> liquid 2017-11-01 10:00:30 +00:00
6b023ff9ac climbingRod tutorial: adjusted setFields box
so it does not coincide with cell centres
2017-11-01 09:23:26 +00:00
c3c777ee08 climbingRod tutorial: renamed water phase -> fluid 2017-11-01 09:21:37 +00:00
accc18283c compressibleInterPhaseTransportFoam: accompanying library compiled in /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib 2017-11-01 09:15:25 +00:00
bfe787b4fc compressibleInterPhaseTransportFoam: Added to Allwmake build 2017-10-31 15:29:16 +00:00
c4e1927469 AMI: Added sweptFaceAreaWeightAMI method
This method projects the source patch to the target using the point
normals. The projection fills space, which results in target weights
that correctly sum to unity. A source patch face can still project onto
an area larger or smaller than the face, so the source weights do not
(in general) sum to unity as a result of this method.

This has not been made the default AMI method. Further investigation is
needed to asses the benefits of this sort of projection.
2017-10-31 14:52:15 +00:00
780c0ee107 faceAreaWeightAMI: Virtualised the minimum weight
Derived classes can now override the minimum weight below which area
overlaps are discarded.
2017-10-31 14:51:31 +00:00
474f8f923c AMIMethod: Virtualised the maximum walk angle
The maximum walk angle determines the angle at which the face-face walk
stops. For some methods, this prevents calculation of overlaps on pairs
of faces which do not project on to each other. Derived AMI methods can
now override this angle as appropriate for their projection procedure.
2017-10-31 14:51:31 +00:00
db8751c521 AMI: Consistency between overlap/normalisation areas
The patch magSf calculation has been changed so that it uses the same
triangulation as the overlap algorithm. This improves consistency and
means that for exactly conforming patches (typically before any mesh
motion) the weights do not require normalisation.
2017-10-31 14:51:31 +00:00
05aa97bd25 CompactSpatialTensor: Corrected constructor from components 2017-10-31 10:06:19 +00:00
e96e40bb6c compressibleInterPhaseTransportFoam: New variant of compressibleInterFoam supporting separate phase stress models
In this version of compressibleInterFoam separate stress models (laminar,
non-Newtonian, LES or RAS) are instantiated for each of the two phases allowing
for completely different modeling for the phases.

e.g. in the climbingRod tutorial case provided a Newtonian laminar model is
instantiated for the air and a Maxwell non-Newtonian model is instantiated for
the viscoelastic liquid.  To stabilize the Maxwell model in regions where the
liquid phase-fraction is 0 the new symmTensorPhaseLimitStabilization fvOption is
applied.

Other phase stress modeling combinations are also possible, e.g. the air may be
turbulent but the liquid laminar and an RAS or LES model applied to the air
only.  However, to stabilize this combination a suitable fvOption would need to
be applied to the turbulence properties where the air phase-fraction is 0.

Henry G. Weller, Chris Greenshields
CFD Direct Ltd.
2017-10-30 09:36:43 +00:00
ea85635b2d collatedFileOperation: preferentially collect all data in the simulation thread
so the write thread does not have to do any parallel communication.  This avoids
the bugs in the threading support in OpenMPI.

Patch contributed by Mattijs Janssens
Resolves bug-report https://bugs.openfoam.org/view.php?id=2669
2017-10-27 17:13:43 +01: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
3ad3db0c86 coldEngineFoam, engineFoam: Update logSummary to support collated IO
Resolves bug-report https://bugs.openfoam.org/view.php?id=2739
2017-10-27 12:10:45 +01:00
daee51f762 Matrix: Corrected size of field resulting from rectangular matrix multiplication
Resolves bug-report https://bugs.openfoam.org/view.php?id=2740
2017-10-26 15:52:27 +01:00
c2ea77a4b8 cloudSolution::solveThisStep: Do not require cloud solution during for a write-time 2017-10-24 16:01:32 +01:00
73e24df8e0 solvers: Moved fvOption construction into createFields.H for post-processing
This ensures that the fvOptions are constructed for the -postProcessing option
so that functionObjects which process fvOption data operate correctly in this
mode.
2017-10-24 14:48:43 +01:00
d7723455c7 porousSimpleFoam: moved createFvOptions.H into createFields.H for -postProcess option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2733
2017-10-24 08:26:55 +01:00
8d82645f68 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2017-10-23 22:23:15 +01:00
a096a491fc simpleFoam: moved createFvOptions.H into createFields.H for -postProcess option
To unsure fvOptions are instantiated for post-processing createFvOptions.H must
be included in createFields.H rather than in the solver directly.

Resolves bug-report https://bugs.openfoam.org/view.php?id=2733
2017-10-23 22:20:52 +01:00
9cb8b71e06 waveAlphaFvPatchScalarField: Write liquid flag
Resolves bug report https://bugs.openfoam.org/view.php?id=2734
2017-10-23 16:23:39 +01:00
d4c479cb64 RBD: restraints: Corrected restraint force transformations
The restraints generate either joint-local (tau) or global (fx) forces.
At the moment they all generate the latter. This change corrects three
of the four restraints so that the forces are in the gobal coordinate
system and not the local coordinate system of the body.

The problem with this is that the forward dynamics code then transforms
most of the forces back to the body local coordinate system. A better
solution would be to associate restraints which are more sensibly
defined in a local frame with the joints instead of the bodies, and
return the forces as part of the tau variable.
2017-10-20 16:02:43 +01:00
6d06f737cd functionObjects: nearWallFields: Fixed failed patch faces
Corrected a few issues with the utilisation of the tracking within the
nearWallFields function object. The tracking is now done over a
displacement from the initial location, which prevents trying to track
to a location outside the mesh when the patch face is warped and the
centre lies outside the tracking decomposition. Also fixed the end
criteria so that it does not suffer from round off error in the step
fraction.

The upshot of these changes is that the faces on which the near wall
cells were not being set are now being set properly, and uninitialised
data is no longer being written out.
2017-10-20 15:15:39 +01:00