Martin Beaudoin
23b739f1c8
Add missing Makefile for wmake
2018-02-21 20:53: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