Commit graph

4103 commits

Author SHA1 Message Date
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
Hrvoje Jasak
4e8acd1fbf Revert error 2018-02-20 18:04:17 +00:00
Hrvoje Jasak
5c44761ab3 Reset build directory name: 4.1 2018-02-20 17:56:27 +00:00
Martin Beaudoin
9fdeeb872f ThirdParty:
- Replacing wget by curl for downloading packages
   - Adjusting a few URLs that were no longer valid
   - Contributing a new script for checking the validity of URLs specified
     in AllMake.stage* files: ThirdParty/tools/verifyURLs.sh
     Usage: ThirdParty/tools/verifyURLs.sh ThirdParty/AllMake.stage1
2018-02-20 00:04:58 -05:00
Hrvoje Jasak
0b511b8ae6 Backported containers and function objects. Henrik Rusche 2018-02-19 11:38:59 +00: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
ec83275923 Merge commit '084a033843ed2e8693454de9760c8cb98952bf72' into nextRelease 2018-02-09 13:48:18 +00:00
Hrvoje Jasak
e95c5184e3 GGI bridging bug fixes. Vuko Vukcevic 2018-02-09 12:10:57 +00:00
Vanja Skuric
084a033843 Bugfix (MacOS): Fixed compilation of libccmio and ParMGridGen for High Sierra 2018-02-09 09:52:36 +01:00
Hrvoje Jasak
188651d998 Merge commit '9c11730d7c0af71ee29be98c803071d791dc6a6d' into nextRelease 2018-02-07 13:04:16 +00:00
Hrvoje Jasak
c3ced91c1a Merge commit '889b8dcd4ca11b64dfa79f79e9c1222e23e258a9' into nextRelease 2018-02-07 13:04:08 +00:00
Hrvoje Jasak
67c4f3d348 Merge commit '89b2a122b2bcffca1edfcca12862cc1ce8431330' into nextRelease 2018-02-07 13:03:50 +00:00