Commit graph

2391 commits

Author SHA1 Message Date
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
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