Commit graph

345 commits

Author SHA1 Message Date
Danial Khazaei
23ef4e1dc3
Bugfix: overflow in conversion from Foam::label to int 2019-01-31 17:11:22 +03:30
Hrvoje Jasak
c6babd359a Update to c++-11 standard: nullptr and compilation flags 2019-01-25 16:22:44 +00:00
Hrvoje Jasak
da3db5cd07 Merge /u/dario-zivkovic/foam-extend/ branch BUGFIX-nextRelase-implement-mapping-methods-in-point-patch-vector-fields into nextRelease
https://sourceforge.net/p/foam-extend/foam-extend-4.0/merge-requests/84/
2018-12-03 17:15:44 +00:00
Hrvoje Jasak
b9d1febcdc Buxfix: multiGgiRotorFvMesh, move ggi zone points 2018-11-16 11:58:46 +00:00
Hrvoje Jasak
b18df8c99e Dynamic mesh with multiple GGI rotors 2018-11-05 22:07:52 +00:00
Hrvoje Jasak
f85e54b3a2 Formatting 2018-11-05 22:07:15 +00:00
Dario Zivkovic
f22bc2261a Bugfix: added mapping methods to point patch vector fields that have pointField 'p0_' member. 2018-10-28 18:33:48 +01:00
Hrvoje Jasak
8a3e798d5a Resolve cell and point level load balancing for cases without adaptive refinement 2018-10-24 17:19:55 +01:00
Hrvoje Jasak
d23e612f80 Add brackets around send/receive of fields for better scoping in load balance comms 2018-10-24 17:15:19 +01:00
Hrvoje Jasak
69d3b15a86 Better messaging on debug 2018-10-24 17:10:05 +01:00
Hrvoje Jasak
2ef8bbb6b7 Clean-up of default copy constructors for polyPatches - copy constructor needed 2018-10-18 19:17:14 +01:00
Hrvoje Jasak
fbed59fec8 LabelField change for pointLevel and cellLevel 2018-10-16 09:21:57 +01:00
Hrvoje Jasak
96a2f708c6 Formatting 2018-10-16 09:21:38 +01:00
Hrvoje Jasak
e044a43866 Added info on refinement selection constructor 2018-10-16 09:20:30 +01:00
Hrvoje Jasak
7fc3e1d6bb Bugfix: dynamic refinement restart: only initialise topo modifiers if they haven't been read in during construction 2018-10-16 09:20:09 +01:00
Hrvoje Jasak
eac673ee7c Update poly refinement to escape multiple checks within a time-step 2018-10-05 18:22:24 +01:00
Hrvoje Jasak
32d3595ded PLB with particles + accumulated bugfixes/backports. Author: Henrik Rusche. 2018-09-25 12:30:18 +01:00
Henrik Rusche
8d356e7456 PLB with clouds 2018-09-25 09:12:53 +02: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
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
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
7a848fd050 Remove swig support ifdefs 2018-06-18 11:12:55 +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
ad762e6c69 Changes to make CMake work with release candidate 2018-05-29 22:56:52 +02: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
Hrvoje Jasak
55aa8c272a Updates for dynamic refinement and immersed boundary 2018-05-17 14:52:46 +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
3210c63bb1 Fixed confusing error message 2018-05-16 20:49:43 +01:00
Hrvoje Jasak
e90bc3a893 Added access functions to dynamic refinement 2018-05-16 15:10:10 +01:00
Hrvoje Jasak
737dee5705 Changed resizing mechanism in load balancing topo change 2018-05-16 11:19:31 +01:00
Hrvoje Jasak
6bc62db7c2 Formatting 2018-05-15 16:42:32 +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