Commit Graph

24943 Commits

Author SHA1 Message Date
Mark Olesen
a98d5ebf32 ENH: handle ';' for fluent input (fixes #2249) 2021-10-29 17:04:51 +02:00
Mark Olesen
435be2e5ec CONFIG: improve flexibility of MPI specification
- it is now possible to include the selected mpi version in the
  top-level bashrc or prefs.sh file. For example,

      WM_MPLIB=OPENMPI-4.1.1  or  WM_MPLIB=openmpi-4.1.1

  after evaluation of the config.sh/mpi, this will define

      WM_MPLIB=OPENMPI-4.1.1  and  FOAM_MPI=openmpi-4.1.1

  During the wmake, the mpi-rules will first load the MPI 'family'
  rules (OPENMPI in this example) before trying to load
  version-specific rules if they exist.

  NOTE: the regular user-defined prefs system is unaffected by this
  change. This means it is still possible to use a file such as
  'prefs.openmpi' to define the preferred version instead or as well.
  However, it does mean inconsistent naming can be specified.
  For example, specify WM_MPLIB=OPENMPI-4.1.1 at the top-level but
  actually have FOAM_MPI=openmpi-4.0.6 in the prefs.openmpi file.
  This will make the value of WM_MPLIB misleading.

CONFIG: foamConfigurePaths support for sys-openmpi major version

CONFIG: cleanup any shadow env variables
2021-10-29 17:04:51 +02:00
sergio
36bb99da9b BUG: Condensation mass transfer in interfaceHeatResistance. Fixes #2216 2021-10-28 14:33:05 -07:00
Andrew Heather
7d5dc29e53 Merge branch 'feature-turbulence-model-hierarchy' into 'develop'
ENH: Regroup and unify various virtual functions in laminar/RAS/LES models

See merge request Development/openfoam!487
2021-10-22 16:29:13 +00:00
Kutalmis Bercin
783c2f567f ENH: LESModel: regroup omega/epsilon virtual functions
ENH: LESeddyViscosity: move Ce to LESModel to
enable omega/epsilon virtual hierarchy
2021-10-22 11:40:50 +01:00
Kutalmis Bercin
64fdbf6099 ENH: laminar: regroup k/omega/epsilon/R virtual functions 2021-10-22 11:40:48 +01:00
Kutalmis Bercin
ec62cda73a ENH: RASModel: regroup omega/epsilon virtual functions 2021-10-22 11:40:45 +01:00
Mark Olesen
52be5d0428 TUT: use mergeType points for wedge geometries (#2241) 2021-10-21 15:31:11 +02:00
Mark Olesen
c2697f466d CONFIG: update c++ standard, some compiler rules (partially addresses #2209)
- migrate to c++14 for most compilers *except* gcc.
  There are still many systems in use with gcc-4.8.5, which does not
  support c++14.

- initial rules for nvidia compilers (pgi is will soon be defunct).
  Not fully tested...

CONFIG: provide fallback value for the user directory name

- in containers may have an unset USER env variable.
  Default to 'user' to prevent ugly looking directory names.
2021-10-21 15:31:05 +02:00
Andrew Heather
8eab653117 Merge branch 'feature-decompositionConstraints_cyclicAMI' into 'develop'
ENH: decomposePar: cyclicAMI in constraints. Fixes #2242

See merge request Development/openfoam!491
2021-10-20 15:40:39 +00:00
mattijs
42a9078dad ENH: decomposePar: cyclicAMI in constraints. Fixes #2242 2021-10-20 14:51:38 +01:00
mattijs
b157614e00 ENH: redistributePar: write collated format. #806
- supports redistributePar -decompose -fileHandler collated
- supports redistributePar -reconstruct
- does not support redistributePar with collated in redistribution mode
2021-10-19 12:18:07 +01:00
mattijs
2a2edf5fee ENH: Added contact resistance to multi-world. See #1535.
- added contact resistance to turbulentTemperatureCoupledBaffleMixed
- added basic multi-world to turbulentTemperatureRadCoupledMixed
- added unit-testcase to $FOAM_APP/test/multiWorld
2021-10-18 19:22:23 +01:00
Mark Olesen
3e026783ab TUT: update keywords, create finiteArea in parallel 2021-10-18 15:30:51 +02:00
Tatsuya Shimizu
85760cbc34 COMP: added arm64 support for OSX fpe handling (#2240) 2021-10-18 15:28:23 +02:00
Mark Olesen
fe8c630936 BUG: Foam::cp inadvertently creates recursive directories (fixes #2235)
- noticed by Robin Knowles with `decomposePar -fields -copyZero`

  The internals for the Foam:cp method combine the behaviour of
  a regular `cp` and `cp -R` combined.

  When source and target are both directories, the old implementation
  created a subdirectory for the contents.
  This normally fine,

      ok:  cp "path1/0/" to "path2/1" -> "path2/1/2"
      BUT: cp "path1/0/" to "path2/0" -> "path2/0/0" !!

  Now add check for the basenames first.
  If they are identical, we probably meant to copy directory contents
  only, without the additional subdir layer.

BUG: decomposePar -fields -copyZero copies the wrong directory

- was using the current time name (usually latest) instead of copying
  the 0 directory

ENH: accept 0.orig directories as a fallback to copy if the 0 directory
is missing
2021-10-18 14:58:17 +02:00
Mark Olesen
4a0646451d CONFIG: accept '-lib' for foamCleanPath
- simplfies differences for OSX
2021-10-18 14:58:17 +02:00
Mark Olesen
16d48ed047 CONFIG: improve robustness/flexibility for MPI config handling
- use orte-info to determine prefix/libdir for openmpi.
  This removes a run-time dependency on mpicc, which is actually
  only needed for building with MPI (not running with MPI).
  The corresponding openmpi devel package (deb/rpm) will not
  necessarily be installed on a particular system.

- retain mpicc logic if the new logic using orte-info does not
  deliver an answer. Final fallback to using 'orterun' to
  infer prefix/libdir.

- Additional logic for intel and msmpi to make it easier to
  locate these vendor packages within ThirdParty
  (ie, under ThirdParty/opt/...)

CONFIG: improve robustness

- add check for absolute path when adding PATH/LD_LIBRARY_PATH etc.

- prefix more variables with '_foam*' to prevent accidental overwrite
  of userspace shell variables when sourcing
2021-10-18 11:34:02 +02:00
Mark Olesen
f61228ae38 STYLE: changes for implicit handling, region coupling
- avoid deprecated autoPtr check

- bundle bool values in fvPatchField for compacter allocation

- change useImplicit to a set method taking an argument instead of
  allowing direct access.
2021-10-15 18:48:08 +02:00
sergio
f422495bb5 BUG: Robust implementation for contact resistance. See #1535. 2021-10-14 14:40:42 -07:00
sergio
9bed548227 ENH: Adding coupled matrix option for solid-only cht cases 2021-10-14 14:40:02 -07:00
Mark Olesen
7ad75fa18e ENH: add single-parameter PtrListOps::names (ie, no name filtering)
ENH: adjust fileName component method

- the location \c npos returns the last component
2021-10-12 10:11:05 +02:00
Mark Olesen
5014398c45 ENH: adjust documentation for face edges, remove unused method
BUG: incorrect addressing in rcEdge, but not used in the code.
2021-10-08 10:16:39 +02:00
Mark Olesen
6a3f918827 ENH: collective for boundary connections, makes lduAddressing const
- top-level faceCells() on the boundary list simplifies the creation
  of lduAddressing etc, can also be useful on its own

STYLE: replace isA/refCast combination with a single isA
2021-10-08 09:13:36 +02:00
mattijs
674a9a878f ENH: foamGetDict: sneak in topoSetSourcesDict. See #2232 2021-10-07 10:56:13 +01:00
mattijs
3c0fef819b BUG: cyclicAMI: defaultValues are on *this. Fixes #2226. 2021-10-06 11:05:01 +01:00
Andrew Heather
9ad7e87000 Merge branch 'issues-2021-1' into 'develop'
BUG: 2021-1: Various bug fixes and developments

See merge request Development/openfoam!489
2021-10-05 10:47:21 +00:00
Hassan Kassem
40bed278ef DOC: pressure: correct the usage explanations for pName (#2221) 2021-10-04 15:25:49 +01:00
Kutalmis Bercin
770df14bf6 ENH: foamMonitor: modernise and refactor for POSIX compliance (#2202)
ENH: add xrange option
2021-10-04 15:24:47 +01:00
Kutalmis Bercin
a8243b8377 STYLE: PilchErdman: modernise code for constness and constructs 2021-10-04 15:24:47 +01:00
Kutalmis Bercin
e2d54dfe14 BUG: PilchErdman: correct the sign of the exponent (fixes #2214) 2021-10-04 15:24:47 +01:00
Kutalmis Bercin
3a1c61fc98 DOC: uniformSet: improve header documentation 2021-10-04 15:24:47 +01:00
Kutalmis Bercin
cd938d96f3 ENH: uniformSet: enable the relative tolerance (tol) as a user-defined optional entry 2021-10-04 15:24:47 +01:00
Kutalmis Bercin
c161d0e069 BUG: uniformSet: add missing hit point updates (fixes #2067) 2021-10-04 15:24:47 +01:00
Kutalmis Bercin
9923cc9bf8 BUG: applyBoundaryLayer: disable application on disconnected cells (fixes #1513) 2021-10-04 15:24:47 +01:00
Mark Olesen
8a3dc0527c ENH: -no-finite-area, -no-lagrangian options for some parallel utils 2021-10-01 15:26:50 +02:00
Mark Olesen
20902b7f7c ENH: use updated surface methods, additional debugging for isoTopo 2021-10-01 15:26:50 +02:00
Mark Olesen
15f2487c0b ENH: extend vtk::polyWriter and vtk:GenericPatchWriter
- writeCellData() and writePointData() for polyWriter
- writeProcIDs for generic vtk patch writer
2021-10-01 15:26:50 +02:00
Mark Olesen
aa5ba2b494 ENH: additional cleanup method(s) for MeshedSurface, triSurface
- adjust zone addressing after surface face swap and upon construction
2021-10-01 15:26:50 +02:00
Mark Olesen
8e5c569cf1 ENH: explicitly check for invalid edge (PrimitivePatch::findEdge) 2021-10-01 15:25:13 +02:00
Mark Olesen
d585774841 ENH: handle float values for named optimisation switches (#2222) 2021-10-01 12:47:06 +02:00
Mark Olesen
6a3f63c2bc BUG: error write() method not marked as virtual (fixes #2218)
- slices on output and misses file/line information for IOerror
2021-09-30 19:58:26 +02:00
mattijs
9ce5aa2136 BUG: Function1 Table: disallow wildcards. See #2223 2021-09-30 13:35:06 +01:00
mattijs
ad8e5540a3 BUG: overset: memory leak. Fixes #2219
Not tested; from visual inspection
2021-09-29 10:57:42 +01:00
Andrew Heather
680c1dcfdd Merge branch 'feature-isosurface-snapping' into 'develop'
add point snapping to iso-surface topo algorithm (#2210)

See merge request Development/openfoam!488
2021-09-27 15:46:13 +00:00
Mark Olesen
4ff010d094 ENH: add point snapping to iso-surface topo algorithm (#2210)
- helps avoid the creation of small face cuts (near corners, edges)
  that result in zero-size faces on output.

CONFIG: make default iso-surface topo regularisation less aggressive

- The full (diagcell) regularisation no longer includes cleaning of
  non-manifold surfaces by removing open edges.
  This can be selected by the 'clean' regularisation option instead.
  ie, 'clean' = 'full' + erode open edges

ENH: additional debug modes for iso-surface topo

- with (debug & 8) dumps out a VTK file of the tets to be cut and the
  calculated open edges.
2021-09-27 16:23:58 +02:00
Mark Olesen
0454f4a040 ENH: robustness and functionality improvements for VTK output
- PstreamBuffers for parallel VTK output.
  - avoids MPI overflows for larger meshes

- new vtk::lineWriter for writing edges

- vtk::fileWriter::writeUniform now also supports processor-specific
  uniform values instead of assuming that they are identical everywhere.
2021-09-27 13:26:22 +02:00
Mark Olesen
a0d7933360 ENH: support vtu mesh subsetting, creation from cellShapes
- support simple mesh subsetting to vtu formats to enable debug output
  for a subsection of an existing polyMesh

- rudimentary support for VTK from cellShapes is intended for handling
  basic primitive cell shapes without a full blown polyMesh description.

  For example,

     // Create an empty polyMesh with points only
     polyMesh debugMesh
     (
         io,
         std::move(points),
         faceList(),     // faces
         labelList(),    // owner
         labelList(),    // neighbour
         true            // syncPar
     );

    // Establish the appropriate VTK sizing for the TET shapes
    vtk::vtuCells vtuCells;
    vtuCells.resetShapes(debugCutTets);
    vtuCells.nPoints(debugMesh.nPoints());

  NOTE
  Since the vtk::internalMeshWriter only uses the polyMesh reference
  for the points, it is also possible to create the vtuCells
  description without a pointField (or from a different mesh
  description) and write out the connectivity using the pointField
  from a different mesh.
2021-09-27 13:26:02 +02:00
Mark Olesen
8628d4216c BUG: foamToVTK patch/proc ids missing if there are no volume fields 2021-09-27 13:18:27 +02:00
Mark Olesen
fcd7423fa8 CONFIG: add date and paths information for tutorial Allrun script
STYLE: replace short-circuit Allrun script with Alltest
2021-09-22 17:42:21 +02:00