Commit graph

4635 commits

Author SHA1 Message Date
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
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
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
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
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
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
Hrvoje Jasak
d311db5954 Added public member functions that return accelerations (translational and rotational). Author: Vuko Vukcevic. Merge: Hrvoje Jasak. 2018-06-20 13:33:16 +01:00
Vuko Vukcevic
9e53ac1209 Updated mut in all tutorials
Using mutkWallFunction instead of mutWallFunction (this is abstract base now and
mutkWallFunction is the same as previous mutWallFunction)
2018-06-19 15:43:53 +02:00
Vuko Vukcevic
7167d46046 Updated nut in all tutorials
Using nutkWallFunction instead of nutWallFunction (this is abstract base now and
nutkWallFunction is the same as previous nutWallFunction)
2018-06-19 15:40:23 +02: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
2ad619dbf8 Boundary file updates 2018-06-18 11:23:23 +01:00
Hrvoje Jasak
a2c594ea77 File reorganisation: immersed boundary 2018-06-18 11:22:27 +01:00