Commit Graph

4776 Commits

Author SHA1 Message Date
916dcb8685 ENH: parallel: overhaul of parallel mapping
- redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
- low-level distributed Field mapping
- support for mapping surfaceFields (including flipping faces)
- support for decomposing/reconstructing refinement data
2015-11-17 15:05:05 +00:00
4927f97c5d Merge branch 'feature-snappyHexMesh' into feature-snappyHexMesh-gapRefinement 2015-11-03 12:55:32 +00:00
d0a00a6b27 Merge branch 'develop' into feature-snappyHexMesh 2015-11-03 12:37:05 +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
9dd6a5b003 ENH: snappyHexMesh: add automatic gap-level detection and refinement 2015-10-28 13:28:32 +00:00
2743c48a76 Merge remote-tracking branch 'foundation-github/master' into develop 2015-10-21 11:34:31 +01:00
f4202d9ee6 sixDoFSolver: Run-time selectable solver (integrator) for sixDoFRigidBodyMotion
The built-in explicit symplectic integrator has been replaced by a
general framework supporting run-time selectable integrators.  Currently
the explicit symplectic, implicit Crank-Nicolson and implicit Newmark
methods are provided, all of which are 2nd-order in time:

Symplectic 2nd-order explicit time-integrator for 6DoF solid-body motion:

    Reference:
        Dullweber, A., Leimkuhler, B., & McLachlan, R. (1997).
        Symplectic splitting methods for rigid body molecular dynamics.
        The Journal of chemical physics, 107(15), 5840-5851.

    Can only be used for explicit integration of the motion of the body,
    i.e. may only be called once per time-step, no outer-correctors may be
    applied.  For implicit integration with outer-correctors choose either
    CrankNicolson or Newmark schemes.

    Example specification in dynamicMeshDict:
    solver
    {
        type    symplectic;
    }

Newmark 2nd-order time-integrator for 6DoF solid-body motion:

    Reference:
        Newmark, N. M. (1959).
        A method of computation for structural dynamics.
        Journal of the Engineering Mechanics Division, 85(3), 67-94.

    Example specification in dynamicMeshDict:
    solver
    {
        type    Newmark;
        gamma   0.5;    // Velocity integration coefficient
        beta    0.25;   // Position integration coefficient
    }

Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion:

    The off-centering coefficients for acceleration (velocity integration) and
    velocity (position/orientation integration) may be specified but default
    values of 0.5 for each are used if they are not specified.  With the default
    off-centering this scheme is equivalent to the Newmark scheme with default
    coefficients.

    Example specification in dynamicMeshDict:
    solver
    {
        type    CrankNicolson;
        aoc     0.5;    // Acceleration off-centering coefficient
        voc     0.5;    // Velocity off-centering coefficient
    }

Both the Newmark and Crank-Nicolson are proving more robust and reliable
than the symplectic method for solving complex coupled problems and the
tutorial cases have been updated to utilize this.

In this new framework it would be straight forward to add other methods
should the need arise.

Henry G. Weller
CFD Direct
2015-10-19 14:03:46 +01:00
11f35cc720 reactingTwoPhaseEulerFoam: Remove the build-in write of Ur
Ur can be generated using a functionObject or in the post-processor
2015-10-19 14:01:51 +01:00
dae6a80f50 boundaryFoam: Remove unsupported 'parallel' option
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1868
2015-10-17 20:20:28 +01:00
eb1080c933 checkMesh: Provide the number of geometric and solution directions.
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1872
2015-10-17 13:56:34 +01:00
12e2c47f74 BUG: Removed log file - should not have been committed into repository 2015-10-15 14:27:55 +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
94f952ab04 reactingMultiphaseEulerFoam: Completed LTS support in multuphaseSystem 2015-10-05 22:42:12 +01:00
9577ad2d23 reactingMultiphaseEulerFoam, multiphaseEulerFoam: Correct flux averaging for sub-cycling 2015-10-05 17:43:33 +01:00
25040ad08a reactingTwoPhaseEulerFoam: Update cell-based UEqn
to use the transport matrix construction in MovingPhaseModel
2015-10-05 16:22:04 +01:00
557c8adba8 Added "-region" option to wallGradU, temporalInterpolate and pPrime2
Patches provided by Bruno Santos
Resolves feature-request http://www.openfoam.org/mantisbt/view.php?id=1861
2015-10-05 11:33:13 +01:00
027909c737 dimensionedType: rationalize lookupOrDefault and lookupOrAddToDict
Now consistent with constructors.
2015-10-01 17:29:29 +01:00
4c9eb4c2e9 ptot: Add support for -region
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1227
Patch provided by Bruno Santos
2015-09-28 15:34:37 +01:00
c8135cee57 reactingEulerFoam: Further improvements to the handling of mass-transfer
between incompressible and compressible phases
2015-09-25 19:00:07 +01:00
c5955e4af4 reactingEulerFoam: Support compressibility and mass-transfer independently
Now combinations of incompressible, compressible phases with or without
mass-transfer are supported efficiently.
2015-09-25 17:54:55 +01:00
6a3d9e9d82 reactingTwoPhaseEulerFoam: alphatFixedDmdtWallBoilingWallFunction: new BC to test wall boiling 2015-09-25 17:52:51 +01:00
29cea780e1 reactingMultiphaseEulerFoam: Optimize the handling of optional forces 2015-09-18 18:55:21 +01:00
1979194f36 reactingMultiphaseEulerFoam: Added support for turbulent dispersion 2015-09-17 22:55:08 +01:00
3c71648ed5 reactingMultiphaseEulerFoam: Created local reference to the list of phases to avoid clutter 2015-09-17 09:48:30 +01:00
1c203d4116 Renamed reactingEulerFoam phaseSystemTemplates.H -> phaseSystemTemplates.C
This file contains definitions rather than declarations
2015-09-17 09:47:27 +01:00
6672e64327 reactingEulerFoam: Updated phase loops 2015-09-17 09:19:03 +01:00
0859c15eb2 reactingMultiphaseEulerFoam: Removed debugging option 2015-09-16 22:22:37 +01:00
c31789c34c reactingEulerFoam: Use PtrListDictionary for list/table of phases
This makes looping over the phases much simpler which maintaining
support for phase-name lookup.
2015-09-16 21:29:09 +01:00
7b5d6114ad PtrListDictionary: New form of Dictionary in which the list type is PtrList rather than a linked-list 2015-09-16 21:26:26 +01:00
8d21b380ef Renamed phiAlpha -P alphaPhi for consistency with Euler-Euler solvers 2015-09-11 17:52:43 +01:00
85b27f674f reactingMultiphaseEulerFoam: New Euler-Euler multiphase solver
Supporting any number of phases with heat and mass transfer, phase-change and reactions
2015-09-11 15:33:12 +01:00
34f060cfbb stitchMesh: Improved docs
Provided by Bruno Santos
Resolves report http://www.openfoam.org/mantisbt/view.php?id=1767
2015-09-09 19:56:07 +01:00
5e4bf8c9f9 Added applications/utilities/mesh/manipulation/stitchMesh/toleranceDict
Provided by Bruno Santos
Resolves report http://www.openfoam.org/mantisbt/view.php?id=1848
2015-09-09 19:53:10 +01:00
dd3f68b1fa reactingEulerFoam: Rationalize the phaseSystem base-class 2015-09-04 17:01:31 +01:00
7405f7552e chtMultiRegionFoam: Updated temperature diagnostics
Patch provided by Daniel Jasinski
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=1843
2015-09-02 15:30:20 +01:00
430d894e37 Added ROOTSMALL 2015-09-02 15:29:54 +01:00
0c926959b4 reactingEulerFoam: Correct handling of phaseName in ReactingPhaseModel 2015-08-29 00:02:15 +01:00
ffedbafee1 reactingEulerFoam/phaseSystem: Create an ordered container for phaseModels
The previous method using a HashTable required a separate ordered list
of names which is hard to work with and maintain.
2015-08-28 18:40:22 +01:00
6f6c2ab024 twoPhaseEulerFoam: Added support for alphat and thermal wall-functions 2015-08-26 18:06:43 +01:00
fb11bcc874 TurbulenceModels/compressible: Added correctEnergyTransport() function
to allow the turbulent energy transport properties to be updated for
every energy solution if required.

Added correctEnergyTransport() call to reactingTwoPhaseEulerFoam
2015-08-26 15:37:52 +01:00
f5dc3eb8a7 reactingTwoPhaseEulerFoam: Moved into reactingEulerFoam
and two-phase functionality separated from multiphase functionality
2015-08-26 12:49:26 +01:00
047883da98 fluent3DMeshToFoam: Updated to handle ',' and '|' characters in headers
Patch provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1826
2015-08-24 17:53:50 +01:00
86cc19bd8b reactingTwoPhaseEulerFoam: Added support for thermal diffusivity and thermal wall-functions 2015-08-22 18:09:44 +01:00
988b0fd3e1 ThermalDiffusivity: Refactored to support phase turbulence models 2015-08-20 17:54:51 +01:00
dbfb7cf250 SchaefferFrictionalStress: Updated with alphaMinFriction
Resolved bug-report http://openfoam.org/mantisbt/view.php?id=1831
2015-08-19 16:30:51 +01:00
24c7a739ff reactingTwoPhaseEulerFoam: Improved support for boiling/condensation
Includes many contributions from Juho Peltola
2015-08-19 13:45:49 +01:00
9f697a5b65 utilities/postProcessing/noise: Corrected documentation
Patches provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1832
2015-08-19 11:37:27 +01:00
0cf3ae4fda Compressible solver: correct initial Courant-number calculation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1816
2015-08-07 15:55:46 +01:00
913103ec0a Rename circulators to be consistent with the standard OpenFOAM class naming convention 2015-08-06 16:54:47 +01:00
584fed888d twoPhaseEulerFoam/interfacialModels/dragModels/WenYu: Corrected Re -> Re*alpha_g
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1794
2015-08-04 13:29:11 +01:00