Commit Graph

147 Commits

Author SHA1 Message Date
Andrew Heather
2e9bead519 MRG: merged develop line back into integration branch 2017-05-18 11:11:12 +01:00
Andrew Heather
91b90da4f3 Integrated Foundation code to commit 104aac5 2017-05-17 16:35:18 +01:00
Henry Weller
5c51836501 The "<type>Coeffs" sub-dictionary is now optional for most model parameters
except turbulence and lagrangian which will also be updated shortly.

For example in the nonNewtonianIcoFoam offsetCylinder tutorial the viscosity
model coefficients may be specified in the corresponding "<type>Coeffs"
sub-dictionary:

transportModel  CrossPowerLaw;

CrossPowerLawCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  0.01;
    nuInf       [0 2 -1 0 0 0 0]  10;
    m           [0 0 1 0 0 0 0]   0.4;
    n           [0 0 0 0 0 0 0]   3;
}

BirdCarreauCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  1e-06;
    nuInf       [0 2 -1 0 0 0 0]  1e-06;
    k           [0 0 1 0 0 0 0]   0;
    n           [0 0 0 0 0 0 0]   1;
}

which allows a quick change between models, or using the simpler

transportModel  CrossPowerLaw;

nu0         [0 2 -1 0 0 0 0]  0.01;
nuInf       [0 2 -1 0 0 0 0]  10;
m           [0 0 1 0 0 0 0]   0.4;
n           [0 0 0 0 0 0 0]   3;

if quick switching between models is not required.

To support this more convenient parameter specification the inconsistent
specification of seedSampleSet in the streamLine and wallBoundedStreamLine
functionObjects had to be corrected from

    // Seeding method.
    seedSampleSet   uniform;  //cloud; //triSurfaceMeshPointSet;

    uniformCoeffs
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

to the simpler

    // Seeding method.
    seedSampleSet
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

which also support the "<type>Coeffs" form

    // Seeding method.
    seedSampleSet
    {
        type        uniform;

        uniformCoeffs
        {
            axis        x;  //distance;

            // Note: tracks slightly offset so as not to be on a face
            start       (-1.001 -0.05 0.0011);
            end         (-1.001 -0.05 1.0011);
            nPoints     20;
        }
    }
2017-04-20 09:14:48 +01:00
mattijs
dbc1e37a62 BUG: shm: layerSets gets removed. Fixes #453. 2017-04-13 11:26:35 +01:00
Andrew Heather
436ec1cf1f MRG: Integrated Foundation code to commit ba4dbed 2017-03-23 12:11:49 +00:00
Andrew Heather
04c3d535b0 MRG: Integrated Foundation code to commit 47bd8e1 2017-03-23 10:12:38 +00:00
Henry Weller
4e5dc43418 snappyHexMesh: Added "noRefinement" writeFlag to control the writing of cellLevel, pointLevel etc. files
By default snappyHexMesh writes files relating to the hex-splitting process into
the polyMesh directory: cellLevel level0Edge pointLevel surfaceIndex

but by setting the noRefinement flag:

writeFlags
(
    noRefinement
    .
    .
    .
);

these optional files which are generally not needed are not written.

If you run the three stages of snappyHexMesh separately or run a dynamic mesh
solver supporting refinement and unrefinement these files are needed
and "noRefinement" should not be set.
2017-01-24 22:28:36 +00:00
Henry Weller
126125c185 Rationalized the keyword to specify a file name in a dictionary to 'file'
e.g. in tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/T

    hot
    {
        type            externalCoupledTemperature;
        commsDir        "${FOAM_CASE}/comms";
        file            "data";
        initByExternal  yes;
        log             true;
        value           uniform 307.75; // 34.6 degC
    }

Previously both 'file' and 'fileName' were used inconsistently in different
classes and given that there is no confusion or ambiguity introduced by using
the simpler 'file' rather than 'fileName' this change simplifies the use and
maintenance of OpenFOAM.
2017-01-07 09:38:54 +00:00
Mark Olesen
2c7eff8d6b Merge remote-tracking branch 'origin/feature-cellSetRemove' into develop 2016-12-07 14:13:00 +00:00
mattijs
4a77294c7c ENH: renumberMesh: remove old files 2016-12-05 15:24:52 +00:00
Mark Olesen
58fad3ab79 BUG: snappyHexMesh with -decomposeParDict option (issue #265)
- only occurs in combination with distributedTriSurfaceMesh in snappy.

- workaround similar to that previously used for surfaceRedistributePar
  (issue #60).

Minor adjustment of incompressible motorBike tutorial to detect use of
distributedTriSurfaceMesh.
2016-11-24 12:02:11 +01:00
Mark Olesen
55ed6ec776 STYLE: use MUST_READ consistently for decomposeParDict
- there was a slight mix of MUST_READ and MUST_READ_IF_MODIFIED
  but with no obvious code to handle runtime modified values
  of the decomposition, or how this works with alternative
  dictionaries.
2016-11-24 11:26:03 +01:00
Mark Olesen
8b4dfe24f1 Merge remote-tracking branch 'origin/decomposeParDict' into develop 2016-11-19 15:34:36 +01:00
mattijs
ae3d2f4d57 ENH: topoSet: clear sets upon writing modified mesh. Fixes #129. 2016-11-16 14:58:46 +00:00
Mark Olesen
52d0289ee1 BUG: resolve some decomposeParDict problems (issues #60, #265).
- Cleanup/centralize handling of -decomposeParDict by relocating
  common code into argList. Ensures that all processes receive
  identical information about the -decomposeParDict opton.

- Only use alternative decomposeParDict for simpleFoam/motorBike
  tutorial so that this will be included in the test loop for snappy.

- Added Mattijs' fix for surfaceRedistributePar.
2016-10-25 18:19:19 +02:00
Andrew Heather
1fbcb686ff STYLE: Consistency updates 2016-09-23 16:52:46 +01:00
Andrew Heather
b9940cbbb1 COMP: Multiple changes - first clean build after latest merge - UNTESTED 2016-09-23 15:36:53 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
mattijs
30442158b1 ENH: snappyHexMesh: added -region option (fixes #223) 2016-08-31 09:44:34 +01:00
Henry Weller
274d1df8a4 snappyHexMesh: Automatically remove zero-sized patches
All patches are preserved if the 'keepPatches' option is set true.
Patch contributed by Mattijs Janssens
2016-05-13 17:47:38 +01:00
Henry Weller
2d5ff31649 boundaryField() -> boundaryFieldRef() 2016-04-24 22:07:37 +01:00
Henry Weller
2bbc844ea0 Rationalize the autoMesh library: autoHexMesh -> snappyHexMesh
autoRefine -> snappyRefine
autoLayer -> snappyLayer
autoSnap -> snappySnap
2016-03-01 16:21:31 +00:00
Andrew Heather
efb39a8790 ENH: (further) Doxygen documentation updates for module support 2016-06-27 20:34:19 +01:00
Mark Olesen
37bf28c249 STYLE: rename Profiling -> profiling 2016-06-20 21:20:31 +02:00
Mark Olesen
e86d3f2e0e ENH: add preliminary profiling items into snappyHexMesh
- needs more refinement, but provides the general idea.
2016-06-18 01:00:55 +02:00
Andrew Heather
b9313ef2fe ENH: Consistency updates after Foundation merge and code tidying 2016-04-25 16:46:56 +01:00
andy
fd9d801e2d GIT: Initial commit after latest foundation merge 2016-04-25 11:40:48 +01:00
Henry Weller
56fa7c0906 Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
mattijs
8864223aed ENH: copyright: make consistent with OpenFOAM-history 2015-12-19 14:22:30 +00:00
mattijs
4a8abe78f5 Merge branch 'feature_shm_zoning' into develop
Conflicts:
	src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
	src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H
	src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
2015-12-15 20:10:10 +00:00
mattijs
ff56809375 ENH: autoHexMesh: allow location-in-mesh to be made into a cellZone
Normally the location-in-mesh is equivalent to a cellZone -1. This can
now be overridden by a surface-specified cellZone as before.
2015-12-10 11:50:42 +00:00
Andrew Heather
3f55f752fc GIT: Resolve conflict with upstream merge from Foundation 2015-12-07 17:07:20 +00:00
mattijs
f0bc2d9faa ENH: parallel: added -decomposeParDict option to
- foamyHexMesh
- snappyHexMesh
- decomposePar
2015-11-24 17:35:18 +00:00
Henry Weller
e2ef006b91 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
mattijs
9dd6a5b003 ENH: snappyHexMesh: add automatic gap-level detection and refinement 2015-10-28 13:28:32 +00:00
mattijs
4d1159e685 ENH: snappyHexMesh: various improvements. See below or the default snappyHexMeshDict.
Refinement:
-----------
// Optionally avoid patch merging - keeps hexahedral cells
// (to be used with automatic refinement/unrefinement)
//mergePatchFaces off;

// Optional multiple locationsInMesh with corresponding optional cellZone
// (automatically generates faceZones inbetween)
locationsInMesh
(
    ((-0.09 -0.039 -0.049)  bottomAir)  // cellZone bottomAir
    ((-0.09 0.009 -0.049)   topAir)     // cellZone topAir
);

// Optional faceType and patchType specification for these faceZones
faceZoneControls
{
    bottomAir_to_topAir
    {
        faceType baffle;
    }
}

/ Optional checking of 'bleeding' of mesh through a specifying a locations
// outside the mesh
locationsOutsideMesh ((0 0 0)(12.3 101.17 3.98));

// Improved refinement: refine all cells with all (or all but one) sides refined

// Improved refinement: refine all cells with opposing faces with different
// refinement level. These cells can happen on multiply curved surfaces.
// Default on, can be switched off with
//interfaceRefine false;

Snapping
--------
// Optional smoothing of points at refinement interfaces. This will reduce
// the non-orthogonality at refinement interfaces.
//nSmoothInternal $nSmoothPatch;

Layering
--------

// Layers can be added to patches or to any side of a faceZone.
// (Any faceZone internally gets represented as two patches)

// The angle to merge patch faces can be set independently of the
// featureAngle. This is especially useful for large feature angles
// Default is the same as the featureAngle.
//mergePatchFacesAngle 45;

// Optional mesh shrinking type 'displacementMotionSolver'. It uses any
// displacementMotionSolver, e.g. displacementSBRStress
// (default is the medial-axis algorithm, 'displacementMedialAxis')
//meshShrinker displacementMotionSolver;
2015-10-14 14:49:37 +01:00
Henry
c778346c96 Formatting: Rationalized the indentation of #include 2015-02-10 20:35:50 +00:00
mattijs
1f192f8b73 ENH: snappyHexMesh: have single region surface named as <surface> instead of <surface>_<region> 2014-01-27 12:44:45 +00:00
mattijs
489475d137 ENH: snappyHexMesh: separate meshing steps same as run through 2014-01-24 09:19:46 +00:00
mattijs
202d7c1ad3 ENH: snappyHexMesh: fix growing of attraction. Split off debug/writing/output 2013-11-12 09:00:04 +00:00
mattijs
cca229f785 ENH: snappyHexMesh: layer coverage volfields 2013-10-30 15:17:57 +00:00
mattijs
12d87fcacc ENH: snappyHexMesh: detect small distance snapping 2013-09-13 16:20:03 +01:00
mattijs
c40460644f ENH: snappyHexMesh: move writeLevel into snappyHexMeshDict 2013-09-05 09:52:34 +01:00
laurence
eaad256f31 face/cell zoning: Create new class surfaceZonesInfo 2013-09-03 11:09:16 +01:00
mattijs
205e1e77bc Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2013-08-15 15:36:29 +01:00
mattijs
0860c370b5 STYLE: snappyHexMesh: fancy printing 2013-08-15 15:36:17 +01:00
laurence
9883825eed STYLE: correct line widths 2013-08-15 15:01:36 +01:00
laurence
e7388fefb8 REVERT: surfaceSimplify: Use background mesh to start surfaceSimplify 2013-08-12 11:12:16 +01:00
laurence
0415e5689c ENH: Write out cell centres when running surfaceSimplify in snappyHexMesh.
Also provide option to not do inside outside test when reading points into
foamyHexMesh from file
2013-08-08 12:59:40 +01:00
mattijs
102805befe ENH: snappyHexMesh: improved table printing 2013-07-18 13:09:43 +01:00
mattijs
8fdce7f8cf ENH: snappyHexMesh: writing pointLevel,cellLevel under switch 2013-07-09 11:06:46 +01:00
mattijs
d35926b0eb BUG: snappyHexMesh: refinementSurfaces fix 2013-07-05 15:19:53 +01:00
mattijs
ed1ecd5f7a BUG: snappyHexMesh: outFile is fileName, not word 2013-07-03 12:49:59 +01:00
laurence
c644cb680b Merge branch 'master' into feature/cvMesh
Conflicts:
	applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
2013-06-03 16:27:14 +01:00
laurence
5d26732b7e ENH: snappyHexMesh: update outfile location for surfaceSimplify 2013-06-03 14:59:05 +01:00
mattijs
b965b9e783 ENH: snappyHexMesh: added gapLevelIncrement to outer dictionary 2013-06-03 13:29:22 +01:00
laurence
28868e97bb ENH: Add a surfaceSimplify option to snappyHexMesh 2013-06-03 12:40:26 +01:00
mattijs
1cf850f164 ENH: snappyHexMesh: print final mesh check 2013-04-11 15:16:06 +01:00
mattijs
e2d2f505fb ENH: snappyHexMesh: keep orientation of baffle 2012-12-05 15:50:56 +00:00
mattijs
434e2fafcd ENH: searchableSurfaces: add checking routines 2012-11-13 12:20:02 +00:00
mattijs
c76acdd6ff ENH: snappyHexMesh: added new dictionary entries 2012-09-12 09:08:57 +01:00
mattijs
2d1efdaa6c ENH: snappyHexMesh: run without decomposeParDict 2012-07-10 10:03:32 +01:00
mattijs
33656b3969 ENH: snappyHexMesh: run without decomposeParDict 2012-07-04 10:01:25 +01:00
mattijs
9b30d01b96 ENH: snappyHexMesh: removed checking code since now in checkMesh 2012-05-16 14:43:26 +01:00
mattijs
1630b2df9e ENH: snappyHexMesh: added option to check mesh 2012-02-03 12:47:43 +00:00
Henry
c2dd153a14 Copyright transfered to the OpenFOAM Foundation 2011-08-14 12:17:30 +01:00
mattijs
3e71574d8a ENH: snappyHexMesh: initial feature-line support 2011-04-05 11:56:57 +01:00
andy
eaef8d482b STYLE: Updated 1991 start copyright year to 2004 2011-01-14 16:08:00 +00:00
andy
099cc39e2e Revert "STYLE: 2011 copyright date."
This reverts commit b18f6cc1ce.
2011-01-05 18:24:29 +00:00
graham
b18f6cc1ce STYLE: 2011 copyright date. 2011-01-05 11:14:26 +00:00
mattijs
5f43ae45ec ENH: allow patch specification; have conforming faceZones after layering 2010-09-30 14:13:46 +01:00
mattijs
dafbfb5c20 ENH: multiLevel decomposition method. 2010-06-04 15:31:19 +01:00
mattijs
c51a2b0f63 ENH: have MUST_READ_IF_MODIFIED on IOdictionary construction 2010-06-02 09:48:07 +01:00
Mark Olesen
d29c438657 STYLE: use url for FSF license instead of postal address, switch to GPL v3 2010-03-29 14:07:56 +02:00
mattijs
5d93fbe16d ENH: Removed parmetis. Use ptscotch instead. 2010-03-22 16:48:48 +00:00
mattijs
9f5c39af53 ENH: have ptscotch
ptscotch - compiles into ptscotchDecomp. All thirdparty decompositionMethods
now moved out of decompositionMethods so add them explicitly to link line
for programs that need them (decomposePar, snappyHexMesh etc.)
2010-03-22 15:38:35 +00:00
Mark Olesen
ee293cde8e ENH: add usage information for '-overwrite' option.
- make centrally available via #include "addOverwriteOption.H"
2010-02-16 11:44:27 +01:00
Mark Olesen
8426ca1a8c Merge commit 'OpenCFD/master' into olesenm 2010-02-03 17:40:37 +01:00
mattijs
36346ec1a2 ENH: Do a weighted balance before refinement and layer addition.
Have weight=7 on cells to be refined and balance. Then after refinement
there will be perfect balancing. Similar for layer addition.
2010-02-03 06:18:30 +00:00
Mark Olesen
a070321792 ENH: Add usage information for snappyHexMesh -overwrite option.
Make debug optional.

- minor wording changes in the messages
2010-02-02 15:39:45 +01:00
Mark Olesen
5e972c772f remove trailing space from some files 2009-12-04 13:39:35 +01:00
Mark Olesen
58b7e64185 Use argList::addOption, argList::addBoolOption (almost) everywhere
- ensure that the standard options (eg, from timeSelector) also have
  some usage information
2009-12-03 13:32:12 +01:00
mattijs
2cee56ee01 extra printing 2009-09-15 15:02:41 +01:00
mattijs
fe0745476d revert to reading surfaces from constant so parallel works out of the box 2009-08-04 16:43:38 +01:00
mattijs
2d9ea72b6a allow -overwrite in snappyHexMesh 2009-06-09 14:02:10 +01:00
mattijs
466b95af86 use extrapolated cell-centre for testing;moved added patch information into meshRefinement class 2009-06-08 18:03:12 +01:00
Mark Olesen
4b60453cf1 use while (runTime.loop() { .. } where possible in solvers
- change system/controlDict to use functions {..} instead of functions (..);
  * This is internally more efficient
- fixed formatting of system/controlDict functions entry

- pedantic change: use 'return 0' instead of 'return(0)' in the applications,
  since return is a C/C++ keyword, not a function.
2009-02-18 08:57:10 +01:00
Mark Olesen
28b200bcd9 update copyrights for 2009 2008-12-31 19:01:56 +01:00
Mark Olesen
dcc82bf77b boundingBox has mag() and span() methods - use them 2008-12-31 17:58:23 +01:00
mattijs
a105eaf3ac printing 2008-09-15 12:15:22 +01:00
mattijs
7fa60e67a5 added argument 2008-08-19 14:00:10 +01:00
Mark Olesen
ff2040f26f fixup copyright dates 2008-07-14 14:49:20 +02:00
mattijs
15cad22d8c split autoHexMeshDriver; updated header 2008-07-09 00:21:36 +01:00
mattijs
ab17085c1a adapted to new syntax 2008-07-07 19:51:20 +01:00
Mark Olesen
02cabc3cf2 updated Copyright (C) \d+-2008 OpenCFD Ltd. 2008-06-25 15:01:46 +02:00
mattijs
d2bb8ce337 changed dictionary 2008-06-03 23:52:11 +01:00
mattijs
1e7c9ae822 Renamed autoHexMesh to snappyHexMesh 2008-05-20 18:30:52 +01:00