Commit graph

2839 commits

Author SHA1 Message Date
Hrvoje Jasak
69e10d419c Control debug messages 2018-09-26 13:29:38 +01:00
Hrvoje Jasak
154fcce817 Fixed comment 2018-09-26 13:28:13 +01:00
Hrvoje Jasak
32d3595ded PLB with particles + accumulated bugfixes/backports. Author: Henrik Rusche. 2018-09-25 12:30:18 +01:00
Hrvoje Jasak
95d31b8b9d Bugfix related to variable time step on deforming meshes using backward scheme. Author: Vuko Vukcevic. Merge: Hrvoje Jasak 2018-09-25 11:59:54 +01:00
Henrik Rusche
ef1c4242c1 Bugfix in shared point detection (not all problems resolved, yet) 2018-09-25 09:13:00 +02:00
Henrik Rusche
05e7057e4d Backward compatibility and erroneous comment in DiagTensor 2018-09-25 09:12:59 +02:00
Henrik Rusche
a9c7a176e3 BUGFIX: Mesh update in lagrangian 2018-09-25 09:12:59 +02:00
Henrik Rusche
c001bc33b7 BUGFIX: hanging pointer if the local mesh is empty (no need to map particles) 2018-09-25 09:12:59 +02:00
Henrik Rusche
f67382b044 BACKPORT: MVC interpolation 2018-09-25 09:12:58 +02:00
Henrik Rusche
0d33286f17 BUGFIX: incremental switch merged incorrectly 2018-09-25 09:12:58 +02:00
Henrik Rusche
8d356e7456 PLB with clouds 2018-09-25 09:12:53 +02:00
Vuko Vukcevic
9b48a244ab Bugfix and improvement in interpolateXY template
1. Bugfix: template instantiation failed for anything except scalar for function
   returning Field<Type> because the author used scalarField instead of
   Field<Type> to calculate interpolated values.
2. Improvement: returning tmp<Field<Type> > instead of Field<Type> to avoid
   copying.
2018-09-24 16:57:22 +02:00
Vuko Vukcevic
d5b37a2d37 Bugfix: mesh flux using backward scheme with variable time step
The coefficients in backwardDdtScheme::meshPhi did not correctly take into
account the possibility of having variable time steps.

Reported by Sopheak Seng, Bureau Veritas.
2018-09-07 14:56:55 +02:00
Hrvoje Jasak
ec998a5bc1 Update debug message formatting 2018-09-07 13:43:22 +01:00
Hrvoje Jasak
ff509e6a62 Update reading mechanism for patch type in immersed boundary 2018-09-07 09:51:02 +01:00
Hrvoje Jasak
bcb361ba75 Handling refinement selection tolerances 2018-09-06 18:34:48 +01:00
Hrvoje Jasak
094039ec24 Fix set dead cell value for moving immersed boundary 2018-09-06 18:33:34 +01:00
Hrvoje Jasak
012e01815a Bugfixes in immersed boundary fvPatches: patch type 2018-09-06 18:33:14 +01:00
Hrvoje Jasak
58421f0713 Bugfix: Area tolerances needed in thin face cut 2018-09-06 18:32:35 +01:00
Hrvoje Jasak
7508fede0b Bugfix: mis-identified wet/dry face 2018-09-06 18:32:13 +01:00
Hrvoje Jasak
e38c7e68ec Formatting 2018-09-06 18:23:41 +01:00
Hrvoje Jasak
aa5131b114 Dynamic refinement with immersed boundary wall function: fixes 2018-09-06 18:23:21 +01:00
Hrvoje Jasak
dd5757b78a Minimum face area refinement selection algorithm for 2D cases. Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-09-05 12:19:35 +01:00
Vuko Vukcevic
fac6af9e34 Minimum 2D face area refinement selection algorithm
Basically a 2D version of minCellVolume refinement which is quite useful for
wedge geometries. If a per-cell-maximum face area on empty (or wedge) patch
exceeds a specified minimum face area, cell is selected for refinement. Used as
a part of composite refinement.
2018-09-04 13:00:35 +02:00
Vuko Vukcevic
c7cd6b09fd Bugfix when writing overset region index
The values at the coupled boundaries haven't been properly uninitialized and the
coupled patches have been skipped from assignement to patch internal field.
2018-09-03 09:39:54 +02:00
Vuko Vukcevic
02bc8b5f69 Bugfix in MixingPlaneInterpolation due to recent GGI updates
MixingPlaneInterpolation is actually implemented in terms of GGIIinterpolation
and that one now has handling of partially overlapping faces (needed for bridge
overlap option). There's a tolerance GGIUncoveredFaceAreaTol (defaults to 0.999)
which needs to be set to 0 in case of Mixing Plane to properly re-scale the
weights. This is now done in MixingPlaneInterpolation.
2018-08-31 14:38:15 +02:00
Vuko Vukcevic
52b2e5e0e5 Bugfix and clean-up in leastSquaresVectors
1. Need to call fvPatchField::coupled() instead of fvPatch::coupled() since the
   patch type can be coupled and the field doesn't have to be (e.g. regionCouple
   fvPatch with zeroGradient fvPatchField).
2. Clean-up of old debugging statements.
2018-08-30 16:38:47 +02:00
Vuko Vukcevic
b4f9cbd029 Bugfix: missing updateMesh call for function objects
Function object updates on topo changes are now properly handled
2018-08-30 16:27:35 +02:00
Hrvoje Jasak
d2666ed38f Bug fix for negative rpm in ramping MRF cases. Gregor Cvijetic 2018-08-23 12:14:34 +01:00
Hrvoje Jasak
be8da8b80c Updated mechanism of implicitness across coupled boundaries with transforms and mixing plane bug fix 2018-08-23 12:07:39 +01:00
Hrvoje Jasak
23ad1613aa Porting: added missing foamTime.H header 2018-08-23 09:49:11 +01:00
Hrvoje Jasak
bf8d5ed3ad Minor clean-up 2018-08-23 09:48:27 +01:00
Hrvoje Jasak
64ef3b387f Merge branch 'nextRelease' of ssh://git.code.sf.net/p/foam-extend/foam-extend-4.0 into nextRelease 2018-08-21 14:59:29 +01:00
Hrvoje Jasak
a0ca6258df New fv fvs patch field vidtual function: update on motion. Immersed boundary support 2018-08-21 14:59:11 +01:00
Hrvoje Jasak
6ec2ad6239 Comment clean-up 2018-08-21 14:58:26 +01:00
Hrvoje Jasak
871d03e4d3 Rename private member deltaCoeffs 2018-08-21 14:38:27 +01:00
Hrvoje Jasak
65fcc20630 Aded swirlInletVelocity boundary condition 2018-08-21 14:37:27 +01:00
Hrvoje Jasak
d5b9215b1e Moving immersed boundary turbulence modelling support 2018-08-21 14:36:29 +01:00
Hrvoje Jasak
1e8ecf40c5 Clean-up 2018-08-21 14:17:25 +01:00
Hrvoje Jasak
19794a6eba Immersed boundary moving mesh turbulence updates; fundamental IB patch field updates 2018-08-21 14:17:03 +01:00
Hrvoje Jasak
45eb621334 Formatting 2018-08-10 13:26:47 +01:00
Vuko Vukcevic
e0a0502320 Same missing reduce in overlapFringe 2018-08-10 12:13:58 +02:00
Vuko Vukcevic
3d3edc820a Forgot to reduce when handling error
This caused a parallel run to fail if there's no fringe on all processors.
2018-08-06 22:19:27 +02:00
Hrvoje Jasak
b813e11b75 Update to noSuitability DSF and tutorials. Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-07-30 19:35:36 +01:00
Vuko Vukcevic
3a08616a79 Added a few FatalError checks
1. donorSuitability::suitabilityFaction(...) - now checks whether the donor has
   been found (in case we don't have any eligible donors due to poor settings),
2. overlapFringe/adaptiveOverlapFringe::updateIteration(...) - now checks
   whether we have found at least 1 new acceptor when going through the
   iterative process.
2018-07-30 10:40:07 +02:00
Vuko Vukcevic
2f00bb4af1 Update to noSuitability DSF
Threshold now needs to be set to SMALL due to changed definition of DSF's
isDonorSuitable and suitabilityFraction member functions.
2018-07-30 08:32:00 +02:00
Hrvoje Jasak
185ab1ad60 Adaptive mesh refinement for 2D cases. Author: Vuko Vukcevic. 2018-07-28 13:52:59 +01:00
Hrvoje Jasak
adac44fc7e Fixing compilation errors gcc 8.1. Author: Martin Beaudoin. Merge: Hrvoje Jasak. 2018-07-28 13:51:43 +01:00
Hrvoje Jasak
5d3a0cef95 ThirdParty package updates. Author: Martin Beaudoin. Merge: Hrvoje Jasak. 2018-07-28 13:50:43 +01:00
Hrvoje Jasak
9acce17165 Adaptive overlap fringe assembly. Author: Josip Katavic and Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-07-28 13:49:21 +01:00
Hrvoje Jasak
69878923f9 Bugfix in periodic oscillation constraint. Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-07-28 13:48:08 +01:00
Vuko Vukcevic
3ec42ce8c8 Bugfix in prismatic2DRefinement
Forgot to enable wedge cases by including handling of wedge patches along with
the empty patches.
2018-07-27 14:50:35 +02:00
Vuko Vukcevic
9ec8d55010 Include coupledFvPatchFields.H instead of coupledFvPatchField.H 2018-07-27 11:03:56 +02:00
Vuko Vukcevic
875f0809a3 Writing regionIndex automatically 2018-07-26 16:27:31 +02:00
Vuko Vukcevic
6ba57d44fc Bugfixes in automatic overlap assembly
adaptiveOverlapFringe:
1. When combining user specified holes and cut holes, we need to get rid of
   possible duplicates,
2. All holes transferred to fringeHolesPtr_, not just cutHoles,
3. Removed minLocalSuit_ data member as the donorSuitability::threshold is
   basically the same thing.

donorSuitability:
1. Correct definition of isDonorSuitable
2018-07-26 15:46:05 +02:00
Vuko Vukcevic
6974c3f99f Bugfix in protectedInitialRefinement strategy
Protect only if the current cell level is equal to the initial cell level,
otherwise allow to unrefine.
2018-07-26 07:35:16 +02:00
Vuko Vukcevic
dbbad653fe Updates to overlap assembly strategies
Added optional cellSet for hole cells to start the overlap and adaptiveOverlap
from. Useful when the background mesh is very coarse compared to the hole patch
in the front mesh and no hole is actually found in triSurface hole cutting
procedure.
2018-07-25 07:37:09 +02:00
Martin Beaudoin
2b9049af90 Correction for newer (and older) versions of gcc: You throw by value, you catch by reference.
A second correction was needed.
2018-07-23 16:45:39 +00:00
Martin Beaudoin
9ed4526742 Correction for newer (and older) versions of gcc: You throw by value, you catch by reference. 2018-07-23 16:18:31 +00:00
Vuko Vukcevic
56144efed0 Spelling errors in comments 2018-07-23 11:25:12 +02:00
Vuko Vukcevic
7a0ce22052 Removed redundant debug write of cell set 2018-07-23 09:59:07 +02:00
Vuko Vukcevic
93e8ebe4cc Changed default value for minLocalSuit in adaptiveOverlapFringe 2018-07-23 09:48:59 +02:00
Martin Beaudoin
ac2005f15e Minor compilation corrections. g++ version 8.1 was sensitive to those and treating them as errors. 2018-07-22 03:55:59 +00:00
Martin Beaudoin
58b8dac7ec Delay the compilation of the library decompositionMethods/decomposeReconstruct
so its dependencies are available when recompiling from scratch
2018-07-20 12:32:31 -04:00
Henrik Rusche
734628ceb0 BACKPORT: MVC interpolation 2018-07-20 17:52:32 +02:00
Henrik Rusche
f3d133d0cf BUGFIX: incremental switch merged incorrectly 2018-07-20 17:44:37 +02:00
Hrvoje Jasak
baa0bc875a Code reorganisation: immersed boundary support 2018-07-17 09:40:06 +01:00
Vuko Vukcevic
ef5f6a5f59 Donor/acceptor within boundig box criterion update
Previously, we only checked whether the acceptor point is within bounding box of
donor, which may not be fair. Now, we also check whether the donor point is
within bounding box of acceptor.

Having both checks makes sense since there's no reason to prefer one criterion
over the other.
2018-07-16 16:39:09 +02:00
Vuko Vukcevic
b46ede8553 Bugfix: suitablePairsSuit_ must be data member 2018-07-16 15:34:54 +02:00
Vuko Vukcevic
3142fa27ee Parallelised adaptiveOverlapFringe 2018-07-16 14:13:31 +02:00
Vuko Vukcevic
497ccfada8 Updates (fixes) to adaptiveOverlapFringe
1. Clearing out temporary worker data for dynamic cases,
2. minLocalSuitability and orphanSuitability now given as fractions (0 to 1)
   instead of percentages (0 to 100%).
2018-07-16 12:51:21 +02:00
Vuko Vukcevic
ed06d9d919 Minor style change: adaptiveOverlapFringe 2018-07-12 19:34:32 +02:00
Vuko Vukcevic
ea0466aa43 Adaptive overlap fringe algorithm by Josip Katavic 2018-07-12 15:37:20 +02:00
Vuko Vukcevic
8a1f5f66fc Updates to overlapFringe::evaluateNonOversetBoundaries
This function is now static instead of ordinary member function so it can be
used by adaptiveOverlapFringe. A slight reorganization of this is needed.
2018-07-12 15:35:22 +02:00
Vuko Vukcevic
c9cfe3cbf8 Compilation fixes due to updated code
1. Donor suitability functions now hold reference to oversetFringe (base class)
   and not the overlapFringe,
2. Missing curly braces in oversetRegion.
2018-07-12 14:19:52 +02:00
Vuko Vukcevic
7ae045b32b Changed directory structure for overlapFringe 2018-07-12 13:51:05 +02:00
Vuko Vukcevic
4b485ab906 Updates to oversetRegion
1. Avoid deleting holeCells and eligibleDonorCells if region has not found
   suitable overlap,
2. When choosing donors, make a preference depending on whether the donor is
   within acceptors bounding box (among other things).
2018-07-12 13:47:43 +02:00
Vuko Vukcevic
1e57733ed1 Updates to donorSuitability
Added suitabilityFraction member function which returns how suitable
donor and acceptor are (0: not suitable at all, 1: perfectly suitable).
2018-07-12 13:45:43 +02:00
Vuko Vukcevic
e56083051e Updates to donorAcceptor
Added data member to check whether the donor is within bounding box of the
acceptor.
2018-07-12 13:44:09 +02:00
Vuko Vukcevic
8bfcd34ffe Bugfix in periodicOscillation::stabilise
Added missing motion amplitude and velocity amplitude when stabilising the
constraint.
2018-07-12 13:36:39 +02:00
Vuko Vukcevic
9dae7c64bf Additional refinement selection strategy: protectedInitialRefinement
This strategy allows us to protect the initial refinement done using
snappyHexMesh or similar meshers where the cellLevel and pointLevel are used and
written down. The strategy protects refined cells (during the meshing stage)
from unrefinement. To be used as part of compositeRefinement.
2018-07-10 16:08:37 +02:00
Hrvoje Jasak
304d230d1a Fixed evaluation problem when regionCoupling is inactive 2018-07-06 10:08:24 +01:00
Vuko Vukcevic
2ecd49f2be Corrected error message in refinement.C 2018-07-05 16:48:20 +02:00
Vuko Vukcevic
2d66abcadf Cleaned-up include directives for refactored classes 2018-07-05 07:17:57 +02:00
Vuko Vukcevic
778af3691a Fixed error on FatalErrorIn call
abort(FatalError) must be called and not abort(FatalErrorIn)
2018-07-05 07:17:57 +02:00
Vuko Vukcevic
086fad1ecc Refactored adaptive mesh refinement polyMeshModifiers
Base class "refinement" that contains necessary interface and all the data
members and member function used by both derived classes:
1. polyhedralRefinement: used for 3D isotropic refinement,
2. prismatic2DRefinement: used for 2D isotropic refinement.

Note: refactorisation not tested yet.
2018-07-05 07:17:57 +02:00
Vuko Vukcevic
a29e1ead28 Refactored dynamicPolyRefinementFvMesh class
Enabled automatic switching between polyhedralRefinement engine for 3D and
prismatic2DRefinement engine for 2D.
2018-07-05 07:17:57 +02:00
Vuko Vukcevic
2d845a809c Updates to polyhedralRefinement engine
1. Make sure that we don't refine over maximum refinement level when extending
   refinement cells over additional buffer layers,
2. Removed redundancy check which becomes wrong in case we are running dynamic
   load balancing,
3. Removed deprecated hard-code where the cells protected from unrefinement are
   extended by nUnrefinementBufferLayers_ + 2 instead of just
   nUnrefinementBufferLayers_
2018-07-05 07:17:57 +02:00
Vuko Vukcevic
a913c28897 Updates to prismatic2DRefinement.C related to unrefinement
Enabled unrefinement (splitting of boundary points and removing internal faces)
using the existing removeFaces engine.
2018-07-05 07:17:57 +02:00
Vuko Vukcevic
7524014a37 2D AMR: prismatic2DRefinement polyMeshModifier
Ported prismatic2DRefinement class from other temporary repository. Basically a
version of polyhedralRefinement specifically designed for 2D cases.

Status:
Refinement seems to work well on simple cases:
  1. 4 by 4 hex cells (quad prisms),
  2. 28 triangular prisms,
  3. Tested both in serial and parallel up to 9 refinement levels.

To do:
  1. Implement proper 2D unrefinement,
  2. Refactor prismatic2DRefinement and polyhedralRefinement to avoid duplicate
     functions used by both classes.
2018-07-05 07:17:57 +02:00
Martin Beaudoin
6aba1630ed Minor corrections for compiling under macOS High Sierra (10.13.5) using
the stock compiler Apple LLVM version 9.1.0 (clang-902.0.39.2)
2018-06-24 22:15:40 -04:00
Hrvoje Jasak
e01e16c943 Refactorization of incompressible/compressible nut/mut wall functions. Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-06-20 13:34:29 +01:00
Vuko Vukcevic
3de5d66021 Compilation bugfixes:
1. Forgot to define typeName and debug level for
   nutWallFunctionFvPatchScalarField and mutWallFunctionFvPatchScalarField
2. Forgot to remove declaration of write(Ostream&) member function in
   nutSpalartAllmarasWallFunction and mutSpalartAllmarasWallFunction
2018-06-19 15:38:48 +02:00
Vuko Vukcevic
4ec81f9103 Update to backwardsCompatibilityWallFunctions.C
autoCreateMut now creates mutkWallFunction by default (instead of abstract base
class mutWallFunction)
2018-06-19 15:22:23 +02:00
Vuko Vukcevic
306bd93e81 Removed deprecated mutRoughWallFunction
Replaced by mutkRoughWallFunction
2018-06-19 15:20:33 +02:00
Vuko Vukcevic
da6f48e599 Refactored remaining Spalart Allmaras mut wall functions
1. mutSpalartAllmarasStandardWallFunction: same as mutUWallFunction
2. mutSpalartAllmarasStandardRoughWallFunction: same as mutURoughWallFunction
3. mutSpalartAllmarasWallFunction: refactored such that it derives from
   mutWallFunction
2018-06-19 15:18:04 +02:00
Vuko Vukcevic
6681c7e1ee Added mutURoughWallFunction for compatibility with incompressible wall functions
This BC is the same as mutSpalartAlmarasStandardRoughWallFunction. We will
refactor mutSpalartAlmarasStandardRoughWallFunction such that it derives from
this BC in order to have both backward compatibility and compatibility with
incompressible wall functions.
2018-06-19 15:15:08 +02:00
Vuko Vukcevic
660326047d Added mutUWallFunction for compatibility with incompressible wall functions
This BC is the same as mutSpalartAlmarasStandardWallFunction. We will refactor
mutSpalartAlmarasStandardWallFunction such that it derives from this BC in order
to have both backward compatibility and compatibility with incompressible wall
functions.
2018-06-19 15:12:56 +02:00
Vuko Vukcevic
671ad26638 Refactored mutkRoughWallFunction according to the new interface 2018-06-19 15:09:56 +02:00
Vuko Vukcevic
3d7f902f82 Refactored nutkWallFunction according to the new interface
mutkWallFunctionFvPatchScalarField now derives from
mutWallFunctionFvPatchScalarField
2018-06-19 15:05:12 +02:00
Vuko Vukcevic
0726060d77 Refactored mutLowReWallFunction according to the new interface 2018-06-19 15:03:51 +02:00
Vuko Vukcevic
e7af83c8da Refactored mutWallFunctionFvPatchScalarField
This class is now abstract base class from which all other mut wall functions
will derive. Similar organization as for nutWallFunctionFvPatchField
2018-06-19 15:02:15 +02:00
Vuko Vukcevic
335d25ad1d Minor formatting in some nut wall functions 2018-06-19 14:55:12 +02:00
Vuko Vukcevic
003a9e9eb4 Update to backwardsCompatibilityWallFunctions.C
autoCreateNut now creates nutkWallFunction by default (instead of abstract base
class nutWallFunction)
2018-06-19 14:53:43 +02:00
Vuko Vukcevic
8241e75d28 Updated Make/files for refactored wall functions 2018-06-19 12:09:38 +02:00
Vuko Vukcevic
27ddb9849c Refactored nutLowReWallFunction according to the new interface 2018-06-19 12:09:14 +02:00
Vuko Vukcevic
5c16db8055 Refactored nutMEWTWallFunction according to the new interface 2018-06-19 12:06:55 +02:00
Vuko Vukcevic
a598804c79 Refactored nutCWTWallFunction according to new interface 2018-06-19 12:04:20 +02:00
Vuko Vukcevic
798d0f0a4d Refactored nutSpalartAllmarasWallFunction according to the new interface 2018-06-19 11:27:01 +02:00
Vuko Vukcevic
8612bd74d3 Removed deprecated nutRoughWallFunction
Replaced by nutkRoughWallFunction
2018-06-19 11:23:53 +02:00
Vuko Vukcevic
7bc178f100 Refactored nutSpalartAllmarasStandardRoughWallFunction
This wall function is now the same as nutURoughWallFunction, we simply derive
from it to enable backward compatibility.
2018-06-19 11:22:57 +02:00
Vuko Vukcevic
b31f23321a Refactored nutSpalartAllmarasStandardWallFunction
This wall function is now the same as nutUWallFunction, we simply derive from it
to enable backward compatibility.
2018-06-19 11:21:28 +02:00
Vuko Vukcevic
68d275b2b8 Backported nutURoughWallFunction from Vanilla
This BC is the same as nutSpalartAllmarasStandardRoughWallFunction. We will
refactor nutSpalartAllmarasStandardRoughWallFunction such that it derives from
this BC in order to have both backward compatibility and compatibility with
Vanilla.
2018-06-19 11:17:37 +02:00
Vuko Vukcevic
0c17c8057e Refactored nutkRoughWallFunction according to Vanilla
Derives from nutkWallFunctionFvPatchScalarField
2018-06-19 11:15:00 +02:00
Vuko Vukcevic
c4db345abe Backported nutUWallFunction from Vanilla
This BC is the same as nutSpalartAlmarasStandardWallFunction. We will refactor
nutSpalartAlmarasStandardWallFunction such that it derives from this BC in order
to have both backward compatibility and compatibility with Vanilla.
2018-06-19 11:10:32 +02:00
Vuko Vukcevic
f78472f100 Refactored nutkWallFunction according to Vanilla
nutkWallFunctionFvPatchScalarField now derives from
nutWallFunctionFvPatchScalarField
2018-06-19 11:07:06 +02:00
Vuko Vukcevic
ae91f480ce Refactored nutWallFunction according to Vanilla
nutWallFunctionFvPatchScalarField is now an abstract base class (no default
behaviour)
2018-06-19 11:01:36 +02:00
Vuko Vukcevic
2b6f07eb43 Minor formatting in sixDOFODE class 2018-06-19 07:49:20 +02:00
Vuko Vukcevic
cee5c3e681 Added acceleration access function to sixDOFODE interface
1. Translational acceleration in absolute coordinate system (A)
2. Rotational acceleration in relative coordinate system (OmegaDot)
2018-06-19 07:45:18 +02:00
Hrvoje Jasak
6cdc361218 Fixed heat flux temperature BC for buoyant solvers. Author: Vuko Vukcevic. Merge: Hrvoje Jasak 2018-06-18 11:27:31 +01:00
Hrvoje Jasak
8e00ea5e5e Merge commit '751a876460d1e24cef150eb8048bd726833b3196' into nextRelease 2018-06-18 11:26:44 +01:00
Hrvoje Jasak
61b494c16c Merge branch 'nextRelease' of ssh://git.code.sf.net/p/foam-extend/foam-extend-4.0 into nextRelease 2018-06-18 11:25:39 +01:00
Hrvoje Jasak
d20b1781a7 Immersed boundary wall functions, WIP 2018-06-18 11:24:23 +01:00
Hrvoje Jasak
a2c594ea77 File reorganisation: immersed boundary 2018-06-18 11:22:27 +01:00
Hrvoje Jasak
78f4654c4f File reorganisation 2018-06-18 11:14:08 +01:00
Hrvoje Jasak
66e79e2e94 Remove swig support ifdefs 2018-06-18 11:13:32 +01:00
Hrvoje Jasak
7a848fd050 Remove swig support ifdefs 2018-06-18 11:12:55 +01:00
Hrvoje Jasak
367f3b33d4 Change constructor ordering in file 2018-06-18 11:11:39 +01:00
Hrvoje Jasak
a34f0344e9 Optionally read enthalpy if present to allow settings of complex (conjugate) boundary conditions 2018-06-18 11:10:28 +01:00
Hrvoje Jasak
75eae97648 Update on conjugate heat transfer tools 2018-06-18 11:09:02 +01:00
Inno Gatin
751a876460 Added combined motion restraints in sixDOFODE to handle rotationa and translation in with a same object, 2018-06-18 11:00:46 +02:00
Henrik Rusche
f148ca0ed2 BUGFIX: pisoControl does not trigger 'Final' 2018-06-14 11:45:02 +02:00
Henrik Rusche
88a815b7dd Remove C++11 which also simplifies Windows port 2018-06-14 11:41:28 +02:00
Henrik Rusche
b23dfb3284 Fixing compilation on MSWindows 2018-06-13 10:48:01 +02:00
Hrvoje Jasak
72854eb5dc Fix comment 2018-06-11 15:35:47 +01:00
Vuko Vukcevic
3d6293352a Bugfix in fixedHeatFluxTemperature BC
1. Reading in gradient from dictionary if present,
2. No need to distinguish between RAS and LES models: use turbulenceModel
   instead.
2018-06-11 14:23:48 +02:00
Vuko Vukcevic
27e5ca1f6b Bugfix in fixedHeatFluxTemperature BC
Forgot that I need to divide the heat flux with reference density and specific
heat capacity to get the gradient...
2018-06-11 13:16:17 +02:00
Henrik Rusche
58290b37f5 BUGFIX: Mess in dlTables and use of OSspecific 2018-06-06 22:19:19 +02:00
Henrik Rusche
6ffa6e9cb4 BUGFIX: Re-enable FO's movePoints 2018-06-06 17:57:35 +02:00
Henrik Rusche
6eb6f12071 Merge /u/henrus/foam-extend-4.0/ branch bugfix/swak4foam into nextRelease
https://sourceforge.net/p/foam-extend/foam-extend-4.0/merge-requests/54/
2018-06-06 12:35:52 +00:00
Hrvoje Jasak
2adfc6bd00 Bugfix: limited on boundary non-orthogonality in laplacian 2018-06-05 11:53:37 +01:00
Vuko Vukcevic
c681206a94 fixedHeatFluxTemperature boundary condition
The boundary condition uses a specified heat flux and kappe effective to
calculate the temperature gradient. It is a part of LES library in order to
allow both RAS and LES models to use the BC.
2018-06-05 09:17:07 +02:00
Henrik Rusche
2874c5e775 Enables OpenMP support for cfMesh in cmake-build 2018-06-01 19:35:39 +02:00
Hrvoje Jasak
b365dab574 Added readPatchType function to capture the patch type for patch fields which circumvent base class dictionary constructor 2018-06-01 17:29:59 +01:00
Henrik Rusche
fc7de48319 Removing trailing whitespace, tabs and DOS CR & Fixing some indentation 2018-06-01 18:17:04 +02:00
Henrik Rusche
4b4be75c2b Upgrade copyright notices & banner in source code 2018-06-01 18:11:37 +02:00
Henrik Rusche
1ef48646b9 Merge branch 'feature/cmake' into nextRelease 2018-06-01 18:03:24 +02:00
Henrik Rusche
7b6ce1ff7c Enable overset & Patched up more tutorials for CMake build 2018-06-01 17:59:13 +02:00
Hrvoje Jasak
c7f24b57ed Added immersed boundary support to wall distance 2018-05-30 12:56:01 +01:00
Henrik Rusche
ad762e6c69 Changes to make CMake work with release candidate 2018-05-29 22:56:52 +02:00
Hrvoje Jasak
0b56f4494b Formatting 2018-05-28 19:10:04 +01:00
Hrvoje Jasak
3f3e330158 Fixed flux writing problem 2018-05-28 19:09:49 +01:00
Hrvoje Jasak
48ea646dc7 Reverted to dict read for zeroGradientFvPatchField 2018-05-28 19:08:58 +01:00
Hrvoje Jasak
e435bf40f6 Change top-level AMG solver settings: minIter = 0 and reset top x in each call 2018-05-27 16:25:14 +02:00
Hrvoje Jasak
facf4bc864 Robustness improvement on top block AMG level 2018-05-25 10:23:32 +01:00
Hrvoje Jasak
f00636e865 Added missing headers in immersed boundary 2018-05-25 10:12:05 +01:00
Hrvoje Jasak
0ef0eb1e6a Robustness improvement on top AMG level 2018-05-25 10:11:29 +01:00
Hrvoje Jasak
c0003d35e6 Updated coarse level solver AMG debug flags 2018-05-24 16:19:40 +01:00
Hrvoje Jasak
5c33f47532 Removed wallFvPatch.H include 2018-05-24 12:24:49 +01:00
Hrvoje Jasak
191bc255c9 Removed wallFvPatch.H 2018-05-24 12:07:16 +01:00
Hrvoje Jasak
bd806d3d2b Removed old immersed boundary wall functions 2018-05-24 11:49:49 +01:00
Hrvoje Jasak
c6fefa324c Added reversed flow function object 2018-05-24 10:57:20 +01:00
Hrvoje Jasak
04ae509a71 Added missing virtual destructor 2018-05-24 10:56:57 +01:00
Hrvoje Jasak
e739499202 Fixed upper triangular ordering in processor mesh rebuild 2018-05-23 18:37:47 +01:00
Hrvoje Jasak
085a1d85b8 Fixed syncing of global processor point label detection: syncPar 2018-05-23 18:37:24 +01:00
Henrik Rusche
ce4104072e Inital find modules for mesquite, scotch, metis, partmetis, parmgridgen 2018-05-23 15:27:30 +02:00
Robert Keser
0affdbfe19 Transition to cmake build system (added dbns and minor changes) 2018-05-23 15:27:30 +02:00
Henrik Rusche
3abb7c9f7b Enabled paraview plugin and out-of-source compilation 2018-05-23 15:27:30 +02:00
Henrik Rusche
48926a792f Transition to cmake build system (most libs and utils & some apps compile) 2018-05-23 15:26:37 +02:00
Henrik Rusche
4626c03206 Minor changes to help cmake parser 2018-05-23 15:23:51 +02:00
Hrvoje Jasak
a636a79642 Fixing shared points bug: too many points detected 2018-05-23 12:34:56 +01:00
Hrvoje Jasak
28a3c54b9b Added block-coupled form of symmetry plane 2018-05-22 11:53:22 +01:00
Hrvoje Jasak
c9d077171f Removed debug write of VTK points 2018-05-21 13:19:41 +01:00
Hrvoje Jasak
5f840ba74f Fixed bug in shared points for reconstruction 2018-05-21 13:00:34 +01:00
Hrvoje Jasak
31b6f1d86c Merge branch 'nextRelease' of ssh://git.code.sf.net/p/foam-extend/foam-extend-4.0 into nextRelease 2018-05-17 21:12:20 +02:00
Hrvoje Jasak
1e994b675f PORTING: Make string from int using name() 2018-05-17 20:50:28 +02:00
Hrvoje Jasak
55aa8c272a Updates for dynamic refinement and immersed boundary 2018-05-17 14:52:46 +01:00
Hrvoje Jasak
9596103e05 Formatting 2018-05-17 13:10:44 +01:00
Hrvoje Jasak
c19f0f85b5 Added loadBalanceFvMesh build 2018-05-17 12:36:46 +01:00
Hrvoje Jasak
4d3303023a Added rebuild of surfaceVectorFields 2018-05-17 12:31:53 +01:00
Hrvoje Jasak
2a90c4f924 Clean-up of immersed boundary refinement 2018-05-17 12:04:26 +01:00
Hrvoje Jasak
3210c63bb1 Fixed confusing error message 2018-05-16 20:49:43 +01:00
Hrvoje Jasak
6bb0a2c1c6 Fixed bad size of cut face 2018-05-16 20:03:09 +01:00
Hrvoje Jasak
25b3940175 Fix mesh volume handling in mesh flux updates 2018-05-16 15:11:12 +01:00
Hrvoje Jasak
4a16503359 Enabled dynamic refinement in immersed boundary dynamic mesh 2018-05-16 15:10:47 +01:00
Hrvoje Jasak
e90bc3a893 Added access functions to dynamic refinement 2018-05-16 15:10:10 +01:00
Hrvoje Jasak
a800fbcc1a Added scalar and tensor ILU precons and smoother files to compilation 2018-05-16 14:20:35 +01:00
Hrvoje Jasak
50d0a9d77e MERGE: fix V0 update in fvMesh 2018-05-16 12:28:16 +01:00
Hrvoje Jasak
6c5d254802 Block ILUC0 precon and smoother 2018-05-16 11:50:18 +01:00
Hrvoje Jasak
737dee5705 Changed resizing mechanism in load balancing topo change 2018-05-16 11:19:31 +01:00
Hrvoje Jasak
63c9311177 TEMPORARY: decomposition library load. Temporary fix, Henrik Rusche. To be reverted 2018-05-15 19:18:32 +01:00
Hrvoje Jasak
000384c651 MERGE: Clean-up 2018-05-15 16:57:53 +01:00
Hrvoje Jasak
e3af38c8d7 MERGE: Clean-up of time classes 2018-05-15 16:44:42 +01:00
Hrvoje Jasak
b76f2a810e MERGE: solution handling of multiple old residuals. Vanja Skuric 2018-05-15 16:43:15 +01:00
Hrvoje Jasak
6bc62db7c2 Formatting 2018-05-15 16:42:32 +01:00
Hrvoje Jasak
4497ddb955 MERGE: GGI handling of partially overlapped faces. Vuko Vukcevic 2018-05-15 16:41:41 +01:00
Hrvoje Jasak
d858291523 MERGE: Use convection time-step in steady intertial scheme 2018-05-15 16:41:02 +01:00
Hrvoje Jasak
9f04cc47e4 MERGE: Remove loading of libs 2018-05-15 16:40:34 +01:00
Hrvoje Jasak
549ba4fab8 MERGE: Changed format of surface writers 2018-05-15 16:39:40 +01:00
Hrvoje Jasak
b8a103a354 MERGE: Added missing includes for patchIdentifier 2018-05-15 16:39:14 +01:00
Hrvoje Jasak
a2e8f4a617 MERGE: resolving GGI merge problem 2018-05-15 16:36:35 +01:00
Hrvoje Jasak
6f72f3b5da MERGE: Update overset 2018-05-15 16:33:32 +01:00
Hrvoje Jasak
ee130abd3b MERGE: Merging surface writers 2018-05-15 16:32:42 +01:00
Hrvoje Jasak
7a54aeb99b Merge branch 'feature/JasakDevelopment' into nextRelease 2018-05-15 12:00:02 +01:00
Hrvoje Jasak
744ea0ae1f Merge branch 'dynamicLoadBalancing' into development 2018-05-15 10:57:09 +01:00
Hrvoje Jasak
511d68e98a Formatting and clean-up 2018-05-15 10:53:40 +01:00
Hrvoje Jasak
18f62ca66a Revert change: use fvMesh C for immersed boundary 2018-05-15 10:53:12 +01:00
Hrvoje Jasak
3b4ea0cc01 Cumulative Development: Vuko Vukcevic 2018-05-15 10:51:53 +01:00
Hrvoje Jasak
f779d20573 Parallel bug fix: iso-surface 2018-05-15 10:47:22 +01:00
Hrvoje Jasak
0585614ac4 Bugfix: explicit fvBoundaryMesh constructor 2018-05-15 10:43:31 +01:00
Hrvoje Jasak
84a5199d89 Formatting 2018-05-15 10:43:07 +01:00
Hrvoje Jasak
d6ae246151 Bugfix: Initialisation of child array 2018-05-15 10:38:36 +01:00
Hrvoje Jasak
5f8851bb50 Fix resetPatch flag copy 2018-05-14 09:27:41 +01:00
Hrvoje Jasak
a4617cca01 Refactoring of load balance: move function into topoChangerFvMesh 2018-05-11 18:32:37 +01:00
Hrvoje Jasak
c1f86cba2d Remove print statements 2018-05-11 18:30:54 +01:00
Hrvoje Jasak
31adfb3200 Added globalProcFaceIndex 2018-05-10 09:57:13 +01:00
Hrvoje Jasak
20e6a816a2 Bugfix: Added missing reduce in mesh quality checks 2018-05-10 09:57:03 +01:00
Vuko Vukcevic
2e170aa989 Merge branch 'polyhedralAMR-improvements' into CumulativeDevelopment-VukoVukcevic-nextRelease 2018-05-10 10:04:59 +02:00
Hrvoje Jasak
c420520633 Fixes for targeted insertion of reconstructed meshes in load balancing 2018-05-09 13:43:23 +01:00
Vuko Vukcevic
4d7859d8d2 Merged thermalModels
There were two sets of thermalModels in conjugateHeatTransfer library and
solidModels library. They are now merged into the conjugateHeatTransferLibrary
2018-05-09 14:28:48 +02:00
Hrvoje Jasak
2877964cb6 Global face index handling in passive processor patches 2018-05-09 12:55:16 +01:00
Hrvoje Jasak
8878766520 Bugfix: work with polyPatches only 2018-05-09 12:54:34 +01:00
Henrik Rusche
42cbdd1fd6 BUGFIX: Fix bug is parallel execution by bringing isoSurface in-line with vanilla 2018-05-03 12:58:50 +02:00
Vuko Vukcevic
7ad4da9e89 Update to vtkSurfaceWriter
Writing "double" instead of "float" more reliable for most paraview versions.

Author: Karl Meredith
2018-05-03 10:14:35 +02:00
Vuko Vukcevic
b0811b398d Bugfix in argList.C
Correct initialization and override of global controlDict switches
2018-05-02 15:30:17 +02:00
Hrvoje Jasak
4612194654 Remove debug print statetment 2018-05-02 12:24:08 +01:00
Hrvoje Jasak
cca5743dee Bugfix: filter empty processor patches 2018-05-02 10:21:53 +01:00
Hrvoje Jasak
1e8847d71e Refactor decompose/reconstruct tools for load balancing 2018-05-01 15:57:12 +01:00
Hrvoje Jasak
7174595839 Working load balancing code 2018-05-01 15:56:31 +01:00
Hrvoje Jasak
afde586e9f Bugfix: Update signalling for topologically changing mesh 2018-05-01 15:55:29 +01:00
Hrvoje Jasak
d490c9d9b5 Formatting 2018-05-01 15:53:44 +01:00
Hrvoje Jasak
a1eae83ca6 Added more typedefs in Field, DimensionedField and GeometricField 2018-05-01 15:52:53 +01:00
Hrvoje Jasak
48a70dfb29 Formatting 2018-05-01 15:51:56 +01:00
Vuko Vukcevic
ef69c12106 Graded normal extrude model 2018-04-25 13:29:14 +02:00
Vuko Vukcevic
6c22d372bd Updates to donorAcceptor's default constructor
Initializing values acceptor and donor data to invalid (-1) values
2018-04-25 10:51:04 +02:00
Vuko Vukcevic
047bc41b27 Updates to polyMesh::changing_ flag
It's better to update it in polyTopoChanger::changeMesh() than in
polyMesh::updateMesh(). This way, it is consistent with directTopoChange engine
2018-04-25 10:00:27 +02:00
Hrvoje Jasak
41829c7a53 Field mapping for patch reset 2018-04-24 19:04:02 +01:00
Vuko Vukcevic
8a14f3ce8e Bugfix in samplesCuttingPlane
Need to trigger the re-calculation of cutting plane on topo changes
2018-04-24 16:03:09 +02:00
Vuko Vukcevic
d7a357b646 Bugfix in polyMesh::updateMesh
Need to set changing_ flag to true automatically when performin topo changes or
otherwise calling updateMesh
2018-04-24 16:02:27 +02:00
Hrvoje Jasak
9cc1acc8a0 Load balancing - WIP 2018-04-24 11:07:07 +01:00
Hrvoje Jasak
942ecf88c1 Load balancing support, fvMesh 2018-04-24 11:05:21 +01:00
Hrvoje Jasak
685151b9be Formatting 2018-04-24 11:04:22 +01:00
Hrvoje Jasak
3f8721dfec Load balancing support, polyMesh 2018-04-24 11:04:03 +01:00
Hrvoje Jasak
f523ecfb3c Formatting 2018-04-24 11:03:39 +01:00
Hrvoje Jasak
3199b527b7 Bugfix: future patch processor ordering 2018-04-23 17:05:46 +01:00
Hrvoje Jasak
d8d860caee Load balancing updates 2018-04-23 10:26:52 +01:00
Vuko Vukcevic
9ee5d49575 Updates to polyhedralRefinement and dynamicPolyRefinementFvMesh
1. Switched from pointBasedConsistency to edgeBasedConsistency in order to allow
   more than 2 refinement levels in a correct way (hopefully),
2. Note on parallelisation: getting edge cell addressing across processor
   boundaries is tricky, but if we use more stringent 1:1 face refinement across
   coupled boundaries, then the edge based consistency becomes a local operation
   (at least I'm 99% sure it does: hard to think of all variants with arbitrary
   polyhedra),
3. Added an option to skip unrefinement if both refinement/unrefinement are
   triggered for a single step. This is switched off by default since performing
   refinement/unrefinement in a single go should work without issues.
2018-04-17 12:24:52 +02:00
Hrvoje Jasak
6f06d1cbd3 Comments 2018-04-13 22:14:06 +01:00
Hrvoje Jasak
afdc01fec6 Clean-up 2018-04-13 22:13:41 +01:00
Hrvoje Jasak
6da19d932c Load balancing development, 5 2018-04-13 22:13:13 +01:00
Hrvoje Jasak
8ca9d01c74 Modified decomposition tools: passive patches 2018-04-12 17:47:18 +01:00
Henrik Rusche
803aa6a50f Bugfixes for swak4foam + minor fixes from B.Gschaider 2018-04-12 15:30:27 +02:00
Hrvoje Jasak
afef1bac2f Robustness improvement for layer addition/removal triggering 2018-04-12 14:05:28 +01:00
Hrvoje Jasak
cf76aac792 Bugfix: cannot recalculate deltaCoeffs in a mesh after topo change due to zero volume/area elements. Move into movePoints 2018-04-10 21:19:26 +01:00
Vuko Vukcevic
4a4056f9f5 Improvements to polyhedral AMR
1. Removed redundant (and wrong) check when doing pointConsistentUnrefinement
2. Added separate entry for nRefinementBufferLayers and
   nUnrefinementBufferLayers
2018-03-22 14:24:44 +01:00
Vuko Vukcevic
26d346cf71 Additional refinement selection algorithm for polyhedral AMR
minCellSizeRefinement selects all cells with cell size defined as cube root of
cell volume is larger than specified cell size. Therefore, it assumes that the
cells are cubes or close to cubes.
2018-03-22 09:49:51 +01:00
Vuko Vukcevic
049bc0ed95 Improvements to polyhedralRefinement
1. Extended protection for split points to nBufferLayers + 2 buffer layers in
   order to protect cells from unrefinement when we do refinement and
   unrefinement in a same go
2. Added separate entry for unrefineInterval along refineInterval to control
   refinement and unrefinement separately
2018-03-20 19:19:09 +01:00
Hrvoje Jasak
6a41a3a022 Partial overlap GGI conservative interpolation feature. Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-03-20 13:47:44 +00:00
Vuko Vukcevic
72ec717d28 Bugfix in pointPatchInterpolation.C
Certain demand driven data not properly cleaned-up on mesh motion (without topo
changes).
2018-03-20 14:28:51 +01:00
Hrvoje Jasak
63a112d52c Bugfix: point interpolation update on mesh motion 2018-03-20 13:18:39 +00:00
Hrvoje Jasak
7a2032c3fa ARM8 Gcc and Clang port 2018-03-20 10:54:16 +00:00
Hrvoje Jasak
87d9e2f396 Load balancing development 2018-03-18 12:43:04 +00:00
Hrvoje Jasak
40e5a3d38c Load-balancing fvMesh, initial version 2018-03-18 12:42:11 +00:00
Hrvoje Jasak
f77f4991e6 Bugfix: boundary condition update 2018-03-16 20:45:18 +00:00
Hrvoje Jasak
06b5b787b8 Load balancing development 3 2018-03-16 20:45:02 +00:00
Hrvoje Jasak
ebfa7840c2 Load balancing development 2 2018-03-16 20:44:06 +00:00
Hrvoje Jasak
bd5f2bb4f4 Load balancing development 1 2018-03-16 20:43:28 +00:00
Vuko Vukcevic
f9f1154734 Additional refinement selection algorithms for polyhedral AMR
1. minCellVolumeRefinement: selects all cells with volume higher than specified
   one
2. minPatchDistanceRefinement: selects all cells at the distance greater than
   specified distance from a set of patches
3. compositeRefinementSelection: selects intersection of all sets obtained from
   other (basic) refinement selections
2018-03-16 11:06:52 +01:00
Vuko Vukcevic
21f058c798 Helicity (U & curl(U)) foamCalcFunction 2018-03-15 14:10:33 +01:00
Vuko Vukcevic
88cdcdc222 Conservative GGI bridging updates and fixes
Scaling the fluxes and killing non-orthogonal correction vectors in case
bridging is used, both in order to ensure global conservation across bridged GGI
with potentially partially overlapping faces.
2018-03-15 14:10:24 +01:00
Vuko Vukcevic
412eaba6a5 Conservative GGI bridging updates and fixes 2018-03-15 14:09:10 +01:00
Vuko Vukcevic
9170cf2d97 Output bugfix in ggiCheckFunctionObject 2018-03-15 14:09:05 +01:00
Vuko Vukcevic
9a3b72961c Bridging overlap bugfix in ggiPolyPatch.C 2018-03-15 14:09:00 +01:00
Hrvoje Jasak
eb657a3e67 Cumulative development by Vuko Vukcevic. 2018-03-01 10:22:40 +00:00
Hrvoje Jasak
d7a925cf50 Refactor mapping tools for partially filled PtrLists 2018-02-28 18:35:48 +00:00
Vuko Vukcevic
7459da3a36 Clean up of deprecated polyhedral AMR classes:
1. dynamicRefinePolyFvMesh class (replaced by dynamicPolyRefinementFvMesh)
2. polyRef class (replaced by polyhedralRefinement polyMesh modifier)
3. polyRefinementHistory (not required anymore)
2018-02-28 14:13:39 +01:00
Vuko Vukcevic
3040021a85 Merge branch 'feature/OversetMesh' into CumulativeDevelopment-VukoVukcevic 2018-02-28 13:42:22 +01:00
Vuko Vukcevic
bf2e1cdc86 Merge branch 'bugfix/missingMovingMeshTreatmentInConsistency' into CumulativeDevelopment-VukoVukcevic 2018-02-28 13:42:00 +01:00
Vuko Vukcevic
76b48b2fb4 Merged Overset Mesh capability from separate repository 2018-02-28 13:26:50 +01:00
Vuko Vukcevic
5d4584a24c Consistency fix
Ratio of old volumes to current volumes needs to be taken into account when
creating time-step consistent face flux in ddt schemes.
2018-02-28 12:21:37 +01:00
Hrvoje Jasak
077f219e9c Various fixes for compiling 4.1 on macOS. Martin Beaudoin. Approved by Bernhard Gschaider. 2018-02-27 10:45:52 +00:00
Hrvoje Jasak
d1abd6fb28 Generalization of storage for solverPerformanceDict (by Pascal Beckstein), solutionFaControl and VectorN in Finite Area. Vanja Skuric and Pascal Beckstein" 2018-02-27 10:43:19 +00:00
Martin Beaudoin
f54d1bf5f1 Fixes for compiling 4.1 on macOS. 2018-02-22 21:13:06 -05:00
Martin Beaudoin
a9b6d1beb1 Minors adjustments to POSIX.C 2018-02-21 21:32:08 -05:00
Martin Beaudoin
a1bf12effe Adjustments for macOS 2018-02-21 20:52:04 -05:00
Vuko Vukcevic
88baefbf7d GGI conservation for partially covered faces
Changes necessary for correctly creating weights, deltas and deltaCoeffs for
bridged overlap.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
b495da0d2c Temporary commit: GGI conservative bridging bugfix 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d934ed17f4 Minor update in polyhedralRefinement
Removed redundant check of split points at the boundaries. In case of dynamic
load balancing, it should perform possible unrefinement where the split point is
on the processor boundary. Although this has not been tested yet.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
5613b4b4ad Additional output in dynamicPolyRefinementFvMesh
After successfully performing topo change (either refinement or unrefinement or
both), prints out global cell balance.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
0d4bd534e2 Bugfix while setting split points to unrefine
There was a bug when we had refinement and unrefinement in the same iteration.
Setting split points to unrefine needs to take into account existing cells to
refine by considering point neighbours, not face neighbours. This ensures that
the first split point to unrefine is far away from refinement region.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
6c693cb8d4 Update to dynamicPolyRefinementFvMesh
Only one topo change iteration per time step. This is handled withing
dynamicPolyRefinementFvMesh class instead of polyhedralRefinement
(is a polyMeshModifier) in order to skip the unnecessary cell/point selection
step as well.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
819568c8d1 Parallel bugfix in polyhedralRefinement
While ensuring point consistent refinement/unrefinement, we need to loop over
all points in order to correctly take into account point consistency across
processor boundaries.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
0c5506f9c2 Bugfix in volPointInterpolation and pointPatchInterpolation
Rewrite of private data using lazy evaluation. The data was calculated on
creation and mesh update, which caused a very messy problem.
volPointInterpolation is a mesh object and it relies on pointMesh, which is
another mesh object. Therefore, in order to have valid update of
volPointInterpolation on topo changes, pointMesh needs to be updated first. This
is avoided by using lazy evaluation.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
28478c3751 Bugfix in point based consistent unrefinement 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
924468af8a Parallel bugfixes and consistency updates 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
3744e84981 Bugfix: parallel update of new point level 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
f06a579a81 Bugfix in polyhedralRefinement.C and additional debug output
Forgot to update refinementLevelIndicator_ list when unrefining cells around
split points.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
864dbd53ac Updates to dynamic refinement
1. Deeper debug checks
2. Updates to setting split points
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
c0060272af Updates to polyhedralRefinement
Better way of determining split points that does not rely on keeping track of
refinement history.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
9aac2fe7f6 Bugfixes
1. removeFaces.C: flipped else if condition
2. polyhedralRefinement.C: fixed inconsistency with refinement level indicator
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
fda0785e13 Updates to polyhedralRefinement mesh modifier
Different way of updating cell and point level that does not rely on
polyhedralRefinement being the only mesh modifier
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
71871935ec Switched to boolList instead of Packed list 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
a94e79eed7 Changed sentence in Info statement 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
429be977d3 Bugfix in polyhedralRefinement
Points must be appended (out of nothing) instead of added in terms of master
point when using polyAddPoint and polyMeshModifier
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d837b8ef56 Input bugfix in fieldBoundsRefinement 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
45d4642a2d Bugfixes in polyhedralRefinement.?
1. TypeName macro instead of ClassName
2. Need all points (original + added) when checking internal/boundary face
   orientation
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
00b7c46868 Performance improvement bugfix in polyhedralRefinement
While setting point conistent refinement, it is unnecessary to visit point cells
of all cells. We can visit only cells to refine.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
8393e34d65 Added compilation instructions with respective fixes for following classes:
1. dynamicPolyRefinementFvMesh
2. refinementSelection
3. fieldBoundsRefinement
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
9e0614a5b5 Small bugfix in polyRef.C
When doing pointConsistentRefinement, I've been inserting all mesh points
instead of just the ones sharing a cell which will be refined.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
40ec2b3644 Fixed compilation issues for removeFaces class 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
e6d042f28f Second batch of updates in removeFaces class 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
ecfeb79ce2 Using setFaceInfo from meshTools in polyhedralRefinement.C 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d8e258038c Moved setFaceInfo into meshTools namespace 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
b767b8aba6 First batch of updates for removeFaces.? 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
b735b5829f First part of compilation fixes for polyhedralRefinement class
Still need to reorganize faceRemover engine such that it works with
polyTopoChange alongside (preferably) or instead of directTopoChange
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
912d801aa9 Added ifEqEqAssignFirstOp into ops.H
Basically compares the two values and if they are not equal, assigns default
value to the first argument. Needed for syncing processor data in
polyhedralRefinement.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d138fb9162 Final updates to polyhedralRefinement.? 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
9e34a1e234 Updates to polyhedralRefinement.? 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
6e33ee25f0 Switching on/off polyhedral refinement engine 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
fe2911f9e3 Slight reorganisation of dynamicPolyRefinementFvMesh and refinementSelection 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d215bc7a35 Class hierarchy for run-time selection of refinement criteria
Abstract base class: refinementSelection
Single derived class: fieldBoundsRefinement

The interface provides selection of:
1. Candidate cells to refine,
2. Candidate split points to unrefine.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
ae02d50179 First version of dynamicPolyRefinementFvMesh
Refactored version of dynamicRefinePolyFvMesh in terms of topoChangerFvMesh
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
15fc87e5dd Refactoring polyhedral AMR
Written out interface for polyhedralRefinement class derived from
polyMeshModifier.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
d633af22a0 Point based consistency check
This is necessary when one would run a dynamic refinement simulation with more
than 2 refinement levels. Ordinary face checking can produce 8:1 point
inconsistency, even on hexahedral meshes. Therefore, if the refinemement level
is > 2, point based consistency is switched on.
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
b829763587 Additional output before "single" edge error 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
91a892854e Bugfix in calculation of getFaceAnchor
Reverting to the old formulation modified for polyhedral cells
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
f3edd35f23 Updated dynamicMeshDict 2018-02-21 15:10:55 +01:00
Vuko Vukcevic
84fd718786 Updates to faMesh
Initialisation of communicator for parallel runs + minor formatting
2018-02-21 15:10:55 +01:00
Vuko Vukcevic
0249319d5e Update to createFaMesh.H
faMesh created using selector New to avoid the possibility of having multiple
faMesh objects.
2018-02-21 15:10:03 +01:00
Vuko Vukcevic
76fd16d5f6 Created polyRefinementHistory
Basically a generalisation of refinementHistory which works only for hex cells
2018-02-21 15:09:54 +01:00
Vuko Vukcevic
7cd6e2357a Updates to cellAnchorPoints 2018-02-21 15:08:38 +01:00
Vuko Vukcevic
ecfdd2103e Removed faceAnchorLevel validity check 2018-02-21 15:08:26 +01:00
Vuko Vukcevic
3ebae28896 Generalisation of polyRef::getAnchorLevel
The function now returns the correct anchor level for arbitrary polygonal faces,
i.e. there is no assumption that the face comes from possibly spit hex cell.
2018-02-21 15:08:13 +01:00
Vuko Vukcevic
7372970256 Updated comments in polyRef.H 2018-02-21 15:07:45 +01:00
Henrik Rusche
5f75c33058 Backport: changeDictionary utility 2018-02-16 15:27:23 +01:00
Henrik Rusche
6aaa5ac976 Update of new FOs (from VV) to new signature 2018-02-16 15:08:00 +01:00
Henrik Rusche
7fe57ece38 BUGFIX: next wall distance may cause seg fault 2018-02-16 15:08:00 +01:00
Henrik Rusche
08a7e2e03b Vanilla backport
-in turbulenceModels
backported alphat() member function
backported rhoEpsilonEff() memberfunction
backported to constructor sigature to allow derivation of classes
backported member functions for compatibility with FOs
allow mutkWallFunction to work with LES
2018-02-16 15:08:00 +01:00
Henrik Rusche
34d4a30be7 Added additional weighted Ops for faceSource 2018-02-16 15:08:00 +01:00
Henrik Rusche
67ab0b5abd Vanilla backport
- in FOAM library
updated containers
backported PackedBoolList, hashedWordList, nullObject, wordRe,
backported functions to
backported int32 support
backported tableReaders
backported Function1, TimeFunction1
backported dynamicCode (for codedBCs, ...) -- needs to be mapped out
advanced error macros (FatalIOErrorInFunction, ...) -- needs to be mapped out
backported IOobject::MUST_READ_IF_MODIFIED and added IOobject::READ_IF_PRESENT_IF_MODIFIED (only in FO)

- in postProcessing
backported IO FOs (partialWrite, removeRegisteredObject, writeDictionary, writeRegisteredObject)
backported field FOs (fieldCoordinateSystemTransform, fieldValues, nearWallFields, processorField, readFields, regionSizeDistribution, streamLine, wallBoundedStreamLine)
backported fvTools FOs (calcFvcDiv, calcFvcGrad, calcMag)
backported jobControl FOs (abortCalculation)
backported utilities FOs (ourantNo, Lambda2, Peclet, Q, codedFunctionObject, pressureTools, residuals, scalarTransport, setTimeStep, timeActivatedFileUpdate, turbulenceFields, vorticity, wallShearStress)
2018-02-16 15:07:55 +01:00
Vanja Skuric
046fc069a8 Changes to solutionControl.C in order to make it compatible with changes made by Vuko Vukcevic regarding consistency 2018-02-11 21:22:24 +01:00
Vanja Skuric
c180b7088c Added solutionFaControl files (forgot to add it in the previous commit) 2018-02-11 21:20:36 +01:00
Vanja Skuric
f569d9ffaa Fixed a typo in solutionTemplates.C 2018-02-11 19:14:04 +01:00
Vanja Skuric
2df03ebe25 New feature: Added solutionFaControl (with simple, pimple and piso controls) and VectorN to finiteArea 2018-02-11 19:01:44 +01:00
Vanja Skuric
f58e0ebf49 New feature: Added switch which enables storing only first and last iteration residuals in solvePerformance 2018-02-11 19:00:28 +01:00
Vanja Skuric
e3115846f5 New feature: generalization of storage for solverPerformanceDict based on templated BlockSolverPerformance (by Pascal Beckstein)
To correct the previous commit, the BlockSolverPerformance has been enhanced
by a replace(...) and max(...) memeber function.
The matrix solve functions of fvMatrix, faMatrix and tetFemMatrix now store
solver performance data for all components in the solverPerformance dictionary
of solution. However, they will still return a scalar-valued
lduSolverPerformance based on the component with the max residual.
This is necessary as otherwise the type of a non-scalar field, which may be
specified in fvSolution::residualControl does not match the type which is
written to and read from the solverPerformance dictionary in the
maxTypeResidual(...) from solutionControl. If e.g. the field U is given
in fvSolution::residualControl of solutionControl, the constructor of
BlockSolverPerformance in the maxTypeResidual(...) from solutionControl
expects to read a vector ( u1 u2 u3 ) from the dictionary and not just one
component.
The changes are inspired and directly related to the following vanilla
commit:
1944b09bb5
2018-02-11 18:59:15 +01:00
Hrvoje Jasak
e95c5184e3 GGI bridging bug fixes. Vuko Vukcevic 2018-02-09 12:10:57 +00:00
Hrvoje Jasak
38d299e856 Clean up dynamicMeshDict 2018-02-08 10:55:58 +00:00
Hrvoje Jasak
cd3f391f90 Formatting 2018-02-08 10:55:41 +00:00
Hrvoje Jasak
8be6f18661 New solver work: selection policy, ILUC0 smoother 2018-02-07 14:56:26 +00:00