Commit Graph

24679 Commits

Author SHA1 Message Date
48cdf5523b Merge branch 'vv-lagrangian-heat-transfer-models' into 'develop'
ENH: CloudFunctionObject: new particle function objects

See merge request Development/openfoam!443
2021-06-08 20:35:30 +00:00
7788a1a01a TUT: sprayFoam: add examples for the new cloud function objects
- ReynoldsNumber (thermo)
- NusseltNumber
- HeatTransferCoeff
2021-06-08 20:34:28 +00:00
d3d82c6a26 ENH: lagrangian: add new CloudFunctionObjects
New cloud function objects:
- ReynoldsNumber (for kinematic parcels, i.e. KinematicReynoldsNumber)
- ReynoldsNumber (for thermo/reacting parcels, i.e. ThermoReynoldsNumber)
- NusseltNumber
- HeatTransferCoeff
2021-06-08 20:34:28 +00:00
ea0afd8a35 ENH: lagrangian: split macros for CloudFunctionObjects
three macros:
- makeParcelCloudFunctionObjects for kinematic parcels
- makeThermoParcelCloudFunctionObjects for thermo parcels
- makeReactingParcelCloudFunctionObjects for reacting parcels
2021-06-08 20:34:28 +00:00
1911dba4d5 DOC: lagrangian: review heat transfer models 2021-06-08 20:34:28 +00:00
283c94fdd0 ENH: RanzMarshall: generalises the Nusselt-number correlation 2021-06-08 20:34:28 +00:00
1f8c6e0f5b ENH: rhoThermos: enable transport:tabulated + equationOfState:icoPolynomial 2021-06-08 20:34:28 +00:00
a857c8d3ad Merge branch 'issue-2076-updategeoVoF' into 'develop'
ENH: update geoVoF module (#2076)

See merge request Development/openfoam!450
2021-06-08 20:29:56 +00:00
9dada5f3f2 ENH: geoVoF module has the capability to run AMR with load balancing
code style and quality improvements
renamed recon::centre to interfaceCentre.{groupName}
ranmed recon::normal to interfaceNormal.{groupName}
centre and normal field are not written by default
2021-06-08 20:25:53 +00:00
7e4cd55882 Merge branch 'tutorial-combustion' into 'develop'
TUT: combustion: clean up tutorials

See merge request Development/openfoam!461
2021-06-08 20:24:34 +00:00
ab5c7765c4 TUT: combustion: clean up tutorials 2021-06-08 20:17:19 +00:00
1a747a12ab Merge branch 'tutorial-incompressible' into 'develop'
TUT: incompressible: clean up tutorials

See merge request Development/openfoam!462
2021-06-08 20:16:59 +00:00
e81cf778a1 TUT: incompressible: clean up tutorials 2021-06-08 20:15:47 +00:00
3395cba40e Merge branch 'tutorial-mesh-multiphase' into 'develop'
TUT: mesh, multiphase: clean up tutorials

See merge request Development/openfoam!465
2021-06-08 20:14:39 +00:00
91c1e8efe2 TUT: multiphase: clean up tutorials 2021-06-08 20:14:09 +00:00
3a858ac682 TUT: mesh: clean up tutorials 2021-06-08 20:14:09 +00:00
6120e13d29 ENH: add tmp/refPtr support for setting cref/ref from pointer
- makes it easier to use for local or alternative storage.
  Eg,

  ```
      tmp<volScalarField> tfld;

      tfld.cref(obj.cfindObject<volScalarField>("name"));

      if (!tfld)
      {
          tfld = volScalarField::New("name", ...);
      }
  ```
2021-06-08 14:01:08 +02:00
e2c8b0b13f TUT: avoid xterm in mpi schema (multiWorld) 2021-06-07 17:24:54 +02:00
3a2e725253 Merge branch 'issue-1922-user-access-to-dictionary' into 'develop'
add access to dictionary context for dynamic-coded items.

See merge request Development/openfoam!466
2021-06-07 14:23:45 +00:00
c2692e7c99 TUT: example of user access for Function1 2021-06-07 15:21:02 +02:00
b59ae32d68 ENH: provide dictionary access for coded BCs etc (#1922)
- in some cases, additional dictionary inputs are useful for extending
  the input parameters or functionality of dynamic coded conditions.

  Typically this can be used to provide a simple set of dictionary
  inputs that are used to drive specific code, but allows changing the
  inputs without causing a recompilation.

  Accessed with this type of code:
  ```
  const dictionary& dict = this->codeContext();
  ```

boundary conditions and function objects:

* specify an additional codeContext dictionary entry:
  ```
  codeContext
  {
      ...
  }
  ```

PatchFunction1:

* The code context dictionary is simply the dictionary used to specify
  the PatchFunction1 coefficients.

  To replicated persistant data, use local member static data.
  Eg,
  ```
  code
  #{
      // Persistent (Member) Data
      static autoPtr<Function1<scalar>> baseVel;
      static autoPtr<Function1<vector>> baseDir;
      ...
  #}
  ```

fvOptions:

* currently not applicable
2021-06-07 10:28:15 +02:00
b0891824fa ENH: improve codeTemplates
- meshTools include/library for many (most) coded items

- add PatchFunction1 include for coded BCs to provide ready access
  to Function1 and PatchFunction1
2021-06-07 09:48:21 +02:00
2f6739b140 ENH: protected method fa/fv option::resetApplied()
- resizes to current fieldNames_ size and assigns everything to
  false to avoid any "stickiness" if the field ordering changes
  between reads.

ENH: additional debugging faOption/fvOption (#2110)

- aids tracing which sources are being used/ignored
- update code style

STYLE: rename CodedSource -> CodedFvSource

- avoid future name clashes with CodedFaSource
2021-06-07 09:47:54 +02:00
d5a8ca5660 DOC: adjust documented requirements (#2068) 2021-05-31 21:05:33 +02:00
9f26e6738f COMP: fix linkage on some libs and utils (general and mingw)
- remove finiteVolume dependency from libfaDecompose
2021-05-31 20:54:58 +02:00
e681c127f2 CONFIG: accept module-prefix 'none' as equivalent to 'false' (ie, disabled) 2021-05-31 11:14:49 +02:00
0ba43df9c5 STYLE: remove erroneous reference in dynamicCast use 2021-05-31 09:11:49 +02:00
5d9e42cb70 ENH: multi-region support for transformPoints (#2080) 2021-05-30 21:33:20 +02:00
3e87a46498 ENH: multi-region support for foamToEnsight (#2080)
- additional finite-area support too.
2021-05-30 21:02:59 +02:00
9f5df1adba ENH: additional ensight output routines for finite-area fields (#2084)
- adds support for retaining local face numbers, to allow direct
  addressing into the corresponding area field
2021-05-30 21:02:59 +02:00
6c4a1b17ad ENH: update vtk reading to handle new legacy format (#2094)
- with the changes in vtkCellArray, the legacy files now have
  OFFSET, CONNECTIVITY information.

- support reading of both versions.

- continue to generate legacy format 2.0, since this is what
  many programs still expect
2021-05-30 21:02:59 +02:00
82cc00b153 STYLE: VTK ascii output with 9 items per line
- corresponds to the more recent VTK convention
2021-05-30 21:02:59 +02:00
f2d634c49f ENH: cellShape::reset() - simplifies modification of existing shapes 2021-05-30 21:02:59 +02:00
5ec49a3898 Merge branch 'finiteArea-decompose' into 'develop'
support parallel creation of finiteArea meshes with on-the-fly decomposition of fields #2084

See merge request Development/openfoam!457
2021-05-28 18:14:53 +00:00
f421e29c2e ENH: improved handling of dangling finiteArea edges (#2084)
- restrict searching to patch quantities to avoid triggering
  mesh edge calculations
2021-05-27 21:04:55 +02:00
ac51890051 ENH: parallel makeFaMesh with consistency on processor boundaries (#2084)
- consider the neighbour polyPatch addressing on the connecting edge,
  even when the neighbouring processor does not have a corresponding
  section of the finiteArea mesh.

  These "dangling" edges now propagate their real connectivity across.
2021-05-27 21:04:55 +02:00
e8d048d777 ENH: parallel makeFaMesh with addressing and field decomposition (#2084) 2021-05-27 21:04:55 +02:00
02bf8928cb ENH: faMeshReconstructor for reconstructing equivalent serial faMesh (#2084)
- A bare-bones reconstructor for finiteArea meshes when processor
  meshes are available (in parallel) but an equivalent serial faMesh
  is needed for reconstruction or decomposition.
  In these situations, a serial version of the faMesh is needed,
  but preferably without reconstructing the entire volume mesh.

  It uses the finiteVolume faceProcAddressing in addition to
  the geometric information available from the underlying polyMesh.

  The resulting equivalent faMesh can be used for basic operations,
  but caution should be exercised before attempting large operations.
2021-05-27 21:04:55 +02:00
2d9b31f6a4 ENH: support fa/fv field decomposers without the complete mesh (#2084) 2021-05-27 21:04:55 +02:00
0ae17908a2 ENH: collect and cleanup decompose and reconstruct methods (#2084)
- new faDecompose and faReconstruct libraries

- provide common readFields in the faDecompose library
2021-05-27 21:04:55 +02:00
830a217353 TUT: use system/ location instead of constant/faMesh/ for faMeshDefinition
- adjust surfactantFoam/planeTransport tutorial to have partial
  coverage of the plate by the finiteArea mesh.

  Depending on the decomposition, the outflow boundary may coincide
  with a processor patch (good for testing purposes).

- additional Allrun-parallel versions for targetted future behaviour
2021-05-27 21:04:55 +02:00
5076e6a745 CONFIG: adjust cleanup for faMeshDefinition constant/ or system/ locations 2021-05-27 21:04:55 +02:00
0cf4aede6e ENH: initial revamp of faMesh to improve modularity (#2084)
- improved separation of patch creation that is also parallel-aware,
  which now allows creation in parallel

- memory-safe use of PtrList for adding patches, with a more generalized
  faPatchData helper

- use uindirectPrimitivePatch instead of indirectPrimitivePatch
  for internal patch handling.

- align boundary methods with polyMesh equivalents

- system/faMeshDefinition instead of constant/faMesh/faMeshDefinition
  as per blockMesh convention. Easier to manage definitions, easier
  for cleanup.

- drop inheritence from GeoMesh.
2021-05-27 21:04:55 +02:00
0a5a0c29d7 ENH: lazier demand-driven evaluation in faOption
STYLE: namespace qualifiers on fa/fv option
2021-05-27 21:04:55 +02:00
0abafd98c7 BUG: areaWrite fails with partial fields (#2084)
- depending on how the finiteArea is split up across processors,
  it is possible that some processors have failed to register
  fields in their object registry.

  Now ensure that the field names are synchronized in parallel before
  attempting a write. Replace locally missing fields with a dummy
  zero-sized field.
2021-05-27 21:04:16 +02:00
2990b14d89 ENH: add more direct methods for getting meshEdge (PrimitivePatch)
- refine definition of patch boundary faces to distinguish between
  boundaryFaces() and uniqBoundaryFaces().

  * boundaryFaces() for edge to face lookup on boundary edges.
  * uniqBoundaryFaces() for accessing quantities such as face areas
    or eroding an outer layer

ENH: LabelledItem container, replaces unused 'Keyed' container

- method names in alignment with objectHit, pointIndexHit etc.
  Top-level name aligns with labelledTri.
2021-05-27 15:42:46 +02:00
aeb9644db4 ENH: use common internal calls for VTK begin/end DataArray
- reduces common boilerplate, ensures that label fields are
  more easily handled.
2021-05-27 15:41:21 +02:00
48c05e5441 ENH: mpirunDebug improvements
- provide '-clean' option for removing old files

- handle out of order '-decomposeParDict' as per RunFunctions

- implicit no-prompt '-yes' with the shortcuts (eg, -log, -xterm)
  and set -local if not already defined

- accept <return> to select defaults
2021-05-27 15:40:55 +02:00
da30533a8f Merge branch 'bugfix-issue-2016-geoVoF-infiniteloop' into 'develop'
BUG: normalResidual has the potential to contain uninitialized values

See merge request Development/openfoam!455
2021-05-27 09:01:13 +00:00
eb8e0aefa5 BUG: normalResidual has the potential to contain uninitilized values 2021-05-27 09:00:46 +00:00