Commit Graph

16271 Commits

Author SHA1 Message Date
35ef4ba87c COMP: autoMesh: build order. autoMesh now indirectly uses fvMotionSolvers 2015-11-02 10:57:41 +00:00
30fd47e7bd ENH: searchableCone: generalised hollow cone/cylinder 2015-10-30 18:11:02 +00:00
d5d062cbfe STYLE: autoHexMesh: remove unused code 2015-10-28 15:05:13 +00:00
aacf2ca07f BUG: searchableCone: fixed hollowness and radius1=radius2 2015-10-28 15:04:33 +00:00
b5b3ab9f87 ENH: searchableCone: searching on (optionally hollow) cone.
Initial implementation. Still goes wrong on r1 == r2.
2015-10-28 15:03:19 +00:00
ec76bca024 ENH: snappyHexMesh: improvements to gap detection:
- shoot rays to nearest point on surface and two perpendicular rays
  (instead of always shooting in the 3 coordinate directions)

- avoid bleeding through the surface intersection
2015-10-28 15:02:17 +00:00
3f2d5983ad ENH: snappyHexMesh: shoot gap-detection rays perpendicular to the surface 2015-10-28 13:35:52 +00:00
afa6bd5056 ENH: snappyHexMesh: added to automatic gap-refinement capabilities
1. multi-ray shooting. It now shoots rays in all the 3 coordinate directions
from the cell centre. Before it would shoot just a single ray from the
nearest point on the surface, going through the cell centre.

There is a cost overhead in that now it shoots 6 rays (+-x, +-y, +-z)
instead of just 1.

2. bleeding of refinement. It marks the cells inside a gap and walks out
the gap-size to neighbouring cells (which are just outside the gap). This
should make for a smoother refinement pattern.
2015-10-28 13:34:51 +00:00
71db93570a BUG: gap_detection: added to Allrun 2015-10-28 13:31:18 +00:00
9c0a715ac3 ENH: snappyHexMesh: added tutorial for testing automatic gap refinement 2015-10-28 13:30:39 +00:00
9dd6a5b003 ENH: snappyHexMesh: add automatic gap-level detection and refinement 2015-10-28 13:28:32 +00:00
df010ec6c0 Merge branch 'feature-snappyHexMesh' of develop.openfoam.com:Development/OpenFOAM-dev-OpenCFD into feature-snappyHexMesh 2015-10-26 14:38:19 +00:00
2de68a9ae7 BUG: snappyHexMesh: minThickness > 1 caused truncation of layers
The start of the layer addition loop does a synchronisation of the wanted
displacement. This also does a truncation of the displacement if it is <
minThickness. At the first iteration the displacement was initialised to
vector::one which might trigger the truncation logic (and then disable
extrusion altogether). Instead we now initialise the displacement to
vector::GREAT before entering the synchronisation.
2015-10-26 14:37:17 +00:00
57547918a6 GIT: Resolve merge conflict 2015-10-15 17:14:13 +01:00
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
7b7967de76 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
9c8492ebd1 STYLE: duplicatePoints: indentation 2015-10-14 14:46:57 +01:00
c83c99b30e STYLE: duplicatePoints: indentation 2015-10-14 14:46:57 +01:00
d9aba8b0d1 ENH: polyTopoChange: improved error message 2015-10-14 14:46:11 +01:00
51f9b7facb ENH: polyTopoChange: improved error message 2015-10-14 14:46:11 +01:00
e7203dbd44 BUG: removeCells: handle exposing cyclic faces 2015-10-14 14:45:45 +01:00
3ef47d6501 BUG: removeCells: handle exposing cyclic faces 2015-10-14 14:45:45 +01:00
428dff7711 ENH: tetDecomposer: continue in case of neg-tet volume 2015-10-14 14:45:01 +01:00
9e9f690de2 ENH: tetDecomposer: continue in case of neg-tet volume 2015-10-14 14:45:01 +01:00
f393f8b2d2 ENH: searchableSurfaces: slight change of API, small style cleanup 2015-10-14 11:38:33 +01:00
f4aa81fc84 ENH: searchableSurfaces: slight change of API, small style cleanup 2015-10-14 11:38:33 +01:00
9929709bb1 BUG: triSurfaceMesh: fix writing to time directory
Also various speed ups to do with getting volume type outside of bounding box.
2015-10-14 11:36:35 +01:00
f1b22fa163 BUG: triSurfaceMesh: fix writing to time directory
Also various speed ups to do with getting volume type outside of bounding box.
2015-10-14 11:36:35 +01:00
17ee8601ac ENH: PointEdgePoint: transport nearest with passive data, using PointEdgeWave 2015-10-14 11:34:56 +01:00
06e3b9c4c4 ENH: PointEdgePoint: transport nearest with passive data, using PointEdgeWave 2015-10-14 11:34:56 +01:00
0b54e1cc33 ENH: surfaceIntersection: cleanup 2015-10-14 08:52:32 +01:00
cdf1ccc264 ENH: surfaceIntersection: cleanup 2015-10-14 08:52:32 +01:00
aece1c1c4d ENH: FaceCellWave, localPointRegion: support for local baffles 2015-10-13 16:32:52 +01:00
8a154d14e3 ENH: FaceCellWave, localPointRegion: support for local baffles 2015-10-13 16:32:52 +01:00
d36522e64a BUG: surfaceToPoint: read nErode from Istream 2015-10-13 16:28:31 +01:00
479d86b6f3 BUG: surfaceToPoint: read nErode from Istream 2015-10-13 16:28:31 +01:00
6aab56a14f ENH: motionSolver: added displacementMotionSolver run-time selection table 2015-10-13 16:25:44 +01:00
f778887454 ENH: motionSolver: added displacementMotionSolver run-time selection table 2015-10-13 16:25:44 +01:00
43c92bb09d BUG: polyMeshGeometry: fixed updating of local geometric properties 2015-10-13 16:22:03 +01:00
431042dc23 BUG: polyMeshGeometry: fixed updating of local geometric properties 2015-10-13 16:22:03 +01:00
b4f78778d2 ENH: fvMeshAdd: support dimensionedFields 2015-10-13 16:20:40 +01:00
d292a909aa ENH: fvMeshAdd: support dimensionedFields 2015-10-13 16:20:40 +01:00
64d066a4f0 ENH: pointList: simple typedef 2015-10-13 16:09:08 +01:00
e5186e0275 ENH: pointList: simple typedef 2015-10-13 16:09:08 +01:00
42822327b5 ENH: syncTools: have local synchronisation (e.g. cyclics) only 2015-10-13 16:06:56 +01:00
4e9bfba3f9 ENH: syncTools: have local synchronisation (e.g. cyclics) only 2015-10-13 16:06:56 +01:00
40a8318b1a ENH: IOobject: construct as copy with different name 2015-10-13 16:06:04 +01:00
86385c6e25 ENH: IOobject: construct as copy with different name 2015-10-13 16:06:04 +01:00
eeb2dbd139 STYLE: Lagrangian LocalPatchInteraction - updated output message for particle statistics 2015-10-15 16:43:53 +01:00
d3f2d54a28 BUG: Lagrangian StandardPatchInteraction - corrected particle output statistics. Fixes #1 2015-10-15 16:42:53 +01:00