Commit Graph

3755 Commits

Author SHA1 Message Date
Mark Olesen
0b7c0844f4 TUT: replace calc with eval for wallMountedHump (faster!) 2023-02-21 14:27:33 +01:00
Mark Olesen
fb2bf77e8e TUT: update keyword coordinateRotation -> rotation 2023-02-20 19:00:31 +01:00
Mark Olesen
aafcd0b9e0 TUT: use slash-scoped dictionary references 2023-02-13 21:18:57 +01:00
Mark Olesen
27a7ae2d1d ENH: use simpler lookupPatchField form 2023-02-13 20:08:48 +01:00
Jiri Polansky
1471d292bf TUT: add dripping chair test 2023-01-31 15:29:26 +01:00
Mark Olesen
b93f038ea3 TUT: replace exprFixedValue with uniformFixedValue
- wish to deprecate and remove exprFixedValue in the future since the
  same functionality is possible using patch expressions with a
  uniformFixedValue condition.
2023-01-31 13:45:21 +01:00
Andrew Heather
51ed7a6034 TUT: Added simpleFoam/rotatingCylinders validation case - fixes #2563 2023-01-03 21:20:48 +00:00
Andrew Heather
7e61f36c12 RELEASE: Updated headers to v2212 2022-12-21 16:16:18 +00:00
mattijs
02ca7868d5 BUG: tutorial: missing run script invocation 2022-12-14 14:28:50 +00:00
mattijs
029c5a24fe BUG: snappyMultiRegionHeaterImplicit: fix decomposition. Fixes #2657 2022-12-14 13:25:24 +00:00
mattijs
09f4d8513f ENH: processorAgglomerator: test nMasters 2022-12-12 13:29:37 +00:00
Kutalmis Bercin
885456f9a4 ENH: dynamicContactAngleForce: new finite-area contact-angle force model
DEFEATURE: merge fa-perturbedTemperatureDependent into dynamicContactAngle
2022-12-09 13:09:11 +00:00
mattijs
d0061d6f54 ENH: cellToFaceZone: new topoSetSource 2022-12-08 11:35:39 +00:00
mattijs
c439968390 ENH: cellToFace: new selection option 'outside'
The new selection option 'outside' can be used to select
faces with only one neighbour in the specified cellSet.
2022-12-08 11:35:39 +00:00
Kutalmis Bercin
b50591166e STYLE: rename atmospheric-field names, plantCd->Cd and leafAreaDensity->LAD 2022-12-08 11:35:39 +00:00
Vaggelis Papoutsis
599b009b18 TUT: tutorials for the new objective functions
TUT: moved the nutSqr objective tutorial to the proper directory
2022-12-08 11:15:26 +00:00
Mark Olesen
3151dacccc ENH: include <algorithm> in stdFoam.H
- was already included in many places (via UList.C templates), but now
  formalise by placing in stdFoam.H
2022-12-01 15:52:48 +00:00
Mark Olesen
126d831f6e TUT: use filter/mapping with ensight data (#2609) 2022-11-24 13:30:16 +01:00
Mark Olesen
d69ac516e8 ENH: allow configurable field send/receive for surfaceNoise (#2639)
- replaced PstreamBuffers mechanism with globalIndex for both gather
  and scatter operations. Use scheduled communication by default, but
  is selectable.

- reduced communication with ensemble averaging and no-write
2022-11-22 17:07:40 +01:00
Kutalmis Bercin
b18a6675cb STYLE: heatTransferCoeff: minor cleanup of models
TUT: solidQuenching2D: correct libs for reactingEulerHtcModel
2022-11-21 15:58:58 +00:00
Mark Olesen
013f3cccc4 ENH: improve handling of finiteArea mesh with distributed roots
- in makeFaMesh, the serial fields are now only read on the master
  process and broadcast to the other ranks. The read+distribute is
  almost identical to that used in redistributePar, except that in
  this case entire fields are sent and not a zero-sized subset.

- improved internal faMesh checking for files so that the TryNew
  method works with distributed roots.
2022-11-20 19:59:52 +01:00
Mark Olesen
db57c456f6 ENH: tutorials/Alltest -backup option
- for repeated tests (eg, during bisection) can be used to preserve
  the existing directory as tutorialsTest.bak01,
  tutorialsTest.bak02, ... (max of 10).

- preserve the commit information as tutorialsTest/commit-info
  to help document the current or backup test results.
2022-11-19 13:44:01 +01:00
Mark Olesen
d9ab5d54ef ENH: ensightWrite, vtkWrite support for excluding fields and patches
- functionality similar to that provided by foamToEnsight, foamToVTK
  which allows blocking out patches (eg, outer walls, inlet/outlet)
  that are not particularly interesting to visualize
2022-11-18 15:28:14 +01:00
Mark Olesen
ec1d66d640 TUT: keyword updates 2022-11-18 10:31:00 +01:00
Kutalmis Bercin
941cd7fef4 ENH: functionObjects: refactor and extend histogram
- new submodels:
  - 'equalBinWidth': groups data into bins of equal widths (previous behaviour)
  - 'unequalBinWidth': groups data into bins of unequal widths

- output files per time-step are replaced with a single output file

- silently deprecates the input entries: 'setFormat' and 'formatOptions'
2022-11-14 17:34:06 +00:00
Kutalmis Bercin
d5a973419a STYLE: overset: change massCorrection to fluxCorrection
COMP: overset: fixes for SPDP, int64
2022-11-14 15:41:40 +00:00
mattijs
ab6615c060 BUG: overset: support GAMG. Fixes #2559
Note that there is no support for using GAMG with mass-correction.
2022-11-11 10:19:52 +00:00
sergio
b48fd4f38a TUT: overset: add new tutorials and update existing tutorials 2022-11-11 10:19:51 +00:00
Mark Olesen
5b29ff0e42 ENH: consolidate 'formatOptions' handling for coordSetWriter/surfaceWriter
- replaced ad hoc handling of formatOptions with coordSetWriter and
  surfaceWriter helpers.

  Accompanying this change, it is now possible to specify "default"
  settings to be inherited, format-specific settings and have a
  similar layering with surface-specific overrides.

- snappyHexMesh now conforms to setFormats

  Eg,

      formatOptions
      {
          default
          {
              verbose     true;
              format      binary;
          }
          vtk
          {
              precision   10;
          }
     }

     surfaces
     {
         surf1
         {
             ...

             formatOptions
             {
                 ensight
                 {
                     scale   1000;
                 }
             }
         }
     }
2022-11-08 16:48:08 +00:00
Kutalmis Bercin
e510321a26 TUT: wallMountedHump: new DES tutorial 2022-11-07 10:59:18 +00:00
Andrew Heather
32507b3251 TUT: vortexShed case - added turbulenceFields example 2022-11-07 10:59:18 +00:00
Mark Olesen
d5cdc60a54 BUG: processorMeshes removeFiles does not remove collated (fixes #2607)
ENH: extend rmDir to handle removal of empty directories only

- recursively remove directories that only contain other directories
  but no other contents. Treats dead links as non-content.
2022-10-11 17:58:22 +02:00
Mark Olesen
7b2bcfda0b ENH: improved handling of coordinateSystems
- in continuation of #2565 (rotationCentre for surface output formats)
  it is helpful to also support READ_IF_PRESENT behaviour for the
  'origin' keyword.

  This can be safely used wherever the coordinate system definition
  is embedded within a sub-dictionary scope.

  Eg,
      dict1
      {
          coordinateSystem
          {
              origin (0 0 0);  // now optional here
              rotation ...;
          }
      }

   but remains mandatory if constructed without a sub-dict:

      dict2
      {
          origin (0 0 0);   // still mandatory
          e1  (1 0 0);
          e3  (0 0 1);
      }

   With this change, the "transform" sub-dictionary can written
   more naturally:

       formatOptions
       {
           vtk
           {
               scale 1000;  // m -> mm
               transform
               {
                   rotationCentre  (1 0 0);
                   rotation axisAngle;
                   axis    (0 0 1);
                   angle   -45;
               }
           }
       }

ENH: simplify handling of "coordinateSystem" dictionary lookups

- coordinateSystems::NewIfPresent method for optional entries:

    coordSysPtr_ = coordinateSystem::NewIfPresent(mesh, dict);

  Instead of

    if (dict.found(coordinateSystem::typeName, keyType::LITERAL))
    {
        coordSysPtr_ =
            coordinateSystem::New
            (
                mesh_,
                dict,
                coordinateSystem::typeName
            );
    }
    else
    {
        coordSysPtr_.reset();
    }

ENH: more consistent handling of priorities for binModels, forces (#2598)

- if the dictionaries are overspecified, give a 'coordinateSystem'
  entry a higher prioriy than the 'CofR' shortcuts.

  Was previously slightly inconsistent between the different models.
2022-10-04 15:51:27 +02:00
Mark Olesen
a7ef33da6b ENH: add finite-area support to setFields (#2591)
- for example,

    defaultFieldValues
    (
        areaScalarFieldValue h 0.00014
    );

    regions
    (
        clipPlaneToFace
        {
            point  (0 0 0);
            normal (1 0 0);

            fieldValues
            (
                areaScalarFieldValue h 0.00015
            );
        }
    );

ENH: additional clipPlaneTo{Cell,Face,Point} topo sets

- less cumbersome than defining a semi-infinite bounding box
2022-09-26 18:03:23 +02:00
Mark Olesen
56e9f7bf4b BUG: blockMesh mergePatchPairs fails with edge-shared points (fixes #2589)
- remedy by performing the attach() action sequentially (as per
  stitchMesh changes). This ensures that the current point addressing
  is always used and avoids references to the already-merged points
  (which is what causes the failure).

ENH: improve handling of empty patch removal

- only remove empty *merged* patches, but leave any other empty
  patches untouched since they may intentional placeholders for other
  parts of a workflow.

- remove any empty point/face zones created for patch merging
2022-09-26 18:03:23 +02:00
Mark Olesen
39fc7cc957 GIT: missing tutorial files 2022-09-23 12:35:07 +02:00
Mark Olesen
dc28dbc3ad TUT: add multi-patch versions using regionFaModels 2022-09-22 17:24:21 +02:00
Mark Olesen
1695f2f5b9 TUT: use simpler faMeshDefinition 2022-09-22 16:09:14 +02:00
Mark Olesen
4393ffa8dc ENH: template invariant base classes for {fa,fae,fv,fvs,point}PatchField
- simplifies construction/inheritance

ENH: add {fa,fv}PatchField::zeroGradientType() static

- can be used to avoid literal "zeroGradient" in places

STYLE: adjust naming of pointPatch runtime selection table

- simply use 'patch' as per fa/fv fields

STYLE: add zero-size guard to patch constraintType(const word&)
2022-09-22 16:09:14 +02:00
Mark Olesen
7ea185b0b5 ENH: support rotationCentre for surface output formats (#2565)
- as an alternative output transform (supplementary to the regular
  coordinate system specification - issue #2505) it is now possible to
  specify the rotation centre directly.

  Example:

      formatOptions
      {
          vtk
          {
              scale 1000;  // m -> mm
              transform
              {
                  origin  (0 0 0);
                  rotationCentre  (1 0 0);
                  rotation axisAngle;
                  axis    (0 0 1);
                  angle   -45;
              }
          }
      }

   This behaves like the transformPoints and surfaceTransformPoints
   '-centre' option (formerly '-origin') in that it removes the
   specified amount from the point locations, applies the rotation and
   finally adds the specified amount back to the newly rotated point
   locations.

   The results of specifying a `rotationCentre` and a non-zero
   coordinate system `origin` may not be intuitively evident.
2022-08-19 12:52:29 +02:00
Mattijs Janssens
27c3d0c23b snappyHexMesh : refine based on curvature 2022-08-04 17:09:38 +00:00
sergio
3b40ee8f6b ENH: Updating tutorials for view factors generation 2022-08-04 14:59:12 +01:00
Kutalmis Bercin
5894874920 TUT: faSchemes: replace snGradSchemes with lnGradSchemes (fixes #2543)
When a finite-area case could not find an entry for "lnGradSchemes"
in the "faSchemes" file, the "corrected" scheme has been picked up
by default. Therefore, any changes in "snGradSchemes" entry will not
be read by finite-area models.
2022-07-25 15:06:51 +01:00
mattijs
20f1afd9f7 ENH: tutorial: add comment 2022-07-20 13:38:31 +01:00
Mark Olesen
6e393ccbc8 ENH: runTime selectable disabling of matrix norm (#2500)
For example,

    T
    {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-6;
        norm            none;
    }

STYLE: define defaultMaxIter, defaultTolerance directly in lduMatrix
2022-07-08 11:40:53 +02:00
Mark Olesen
f16f3da645 ENH: streamline improvements
- barycentric coordinates in interpolation (instead of x/y/z)

- ease U (velocity) requirement.
  Needn't be named in the sampled fields.

- default tracking direction is 'forward'
2022-07-08 11:13:00 +02:00
Kutalmis Bercin
62ac69688f ENH: oscillatingLinearMotion: add optional phase- and vertical-shift entries
ENH: oscillatingLinearMotion: change types of input entries to Function1

TUT: sloshingCylinder: exemplify new entries of oscillatingLinearMotion
2022-07-01 15:57:56 +01:00
Kutalmis Bercin
1ce0cb407a ENH: multiFieldValue: add divide and cmptDivide operations
TUT: cavity: new examples for multiFieldValue divide/cmptDivide ops
2022-06-29 15:29:02 +01:00
Andrew Heather
7792501a01 RELEASE: Updated headers for v2206 2022-06-24 15:41:02 +01:00
Mark Olesen
39d8964851 BUG: distributed roots cause redistributePar failure (fixes #2523)
- zero-sized faMeshSubset and fvMeshSubset had READ_IF_PRESENT instead
  of simply copying the schemes/solution setting from the baseMesh
2022-06-24 13:18:41 +02:00
Mark Olesen
57c4b27b8b TUT: simple test for redistributePar with distributed roots
TUT: prefer 'subtract' instead of old 'delete'

TUT: enable multiFieldValue function object, update topoSet action
2022-06-23 18:26:25 +02:00
mattijs
4850f1dca1 ENH: cpuCabinet: remove excess cellZone. Fixes #2516 2022-06-23 11:26:10 +01:00
Mark Olesen
b51e0d4c1c STYLE: verbose point field decompose/reconstruct (#120)
TUT: use redistributePar for multiphase/interFoam/RAS/DTCHull
2022-06-22 19:45:08 +02:00
Mark Olesen
dd438ffd3f TUT: add cloudInfo example to reactingParcelFoam/filter (#2390) 2022-06-21 14:15:00 +02:00
Mark Olesen
80b0f5f740 DOC: adjust wording
STYLE: replace stray 'Web:' entries with 'Website:'
2022-06-21 13:50:40 +02:00
sergio
c0581fe8eb TUT: poolEvaporationMultiComponent: new tutorial for icoReactingMultiphaseInterFoam
TUT: icoReactingMultiphaseInterFoam: various changes in settings
2022-06-21 09:30:02 +01:00
sergio
d91fe9a6ac ENH: multiphaseInter: ensure consistent Hf treatment for phases
TUT: icoReactingMultiphaseInterFoam: update thermophysicalProperties.liquid
2022-06-21 09:30:02 +01:00
sergio
ddb3e394ec ENH: functionObjects: rearrange the location of phaseSystemModels function objects
phaseSystemModels function objects are relocated within
functionObjects in order to enable broader usage.

ENH: multiphaseInterHtcModel: new heatTransferCoeff function object model
COMP: createExternalCoupledPatchGeometry: add new dependencies
COMP: alphaContactAngle: avoid duplicate entries between multiphaseEuler and reactingEuler
TUT: damBreak4Phase: rename alphaContactAngle as multiphaseEuler::alphaContactAngle
2022-06-21 09:30:02 +01:00
sergio
9a80d0d5ef ENH: thermoTools: new library for thermophysics tools
thermoTools is a relocation of various existing tools:

- src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/
- src/semiPermeableBaffle/derivedFvPatchFields/
- src/thermophysicalModels/thermophysicalPropertiesFvPatchFields/liquidProperties/

ENH: Allwmake: reordering various compilation steps

Co-authored-by: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
2022-06-21 09:29:13 +01:00
Mark Olesen
343854ab31 TUT: avoid redundant -finite-area option for foamToEnsight, foamToVTK
TUT: remove paraFoam hints from tutorials (mostly only need paraview now)

STYLE: remove reference to paraview _SM plugins (OpenFOAM-v1912 and earlier)
2022-06-15 12:52:20 +02:00
Mark Olesen
96ece1ef35 ENH: foamRunTutorials -dry-run option
- for tracing tutorials execution
2022-06-14 15:23:08 +02:00
Kutalmis Bercin
8c03201cd1 TUT: planeChannel: add setTurbulenceFields example
TUT: cylinder: fix the order in Allclean
2022-06-14 13:21:53 +00:00
sergio
3636876e68 TUT: groundAbsorption: new tutorial for speciesSorption and enthalpySorption BCs 2022-06-14 11:35:45 +01:00
mattijs
10d08c28e5 GIT: tutorials: cleanup 2022-06-13 09:59:15 +01:00
Mark Olesen
ad0235a751 ENH: support surface writer output transform (#2505)
- this allows the "relocation" of sampled surfaces. For example,
  to reposition into a different coordinate system for importing
  into CAD.

- incorporate output scaling for all surface writer types.

  This was previously done on an adhoc basis for different writers,
  but with now included in the base-level so that all writers
  can automatically use scale + transform.

  Example:

  formatOptions
  {
      vtk
      {
          scale 1000;  // m -> mm
          transform
          {
              origin  (0.05 0 0);
              rotation axisAngle;
              axis    (0 0 1);
              angle   -45;
          }
      }
  }
2022-06-13 08:22:52 +00:00
Vaggelis Papoutsis
d16ff0a0a5 ENH: useSolverNameForFields is now set to true automatically
in cases with more than one primal or adjoint solvers

TUT: removed all occurances of useSolverNameForFields
from the optimisation tutorials since it is now set
automatically.
2022-06-10 13:00:52 +00:00
Vaggelis Papoutsis
06cde7916c TUT: added a tutorial showcasing the use of the nutSqr objective 2022-06-10 13:00:52 +00:00
Vaggelis Papoutsis
ab40d502a7 TUT: updated the BFGS continuation tutorial
to be in line with the changes in 00f46a2c52 and added the same tutorial
which performs the optimisation in one-go, for comparison.
2022-06-10 13:00:52 +00:00
Vaggelis Papoutsis
116309a704 TUT: added tutorials for the adjointkOmegaSST turbulence model
- computation of lift sensitivity derivatives for the NACA0012 airfoil
- optimisation of an s-bend duct for min. total pressure losses
2022-06-10 13:00:52 +00:00
Mark Olesen
8efa44734a BUG: regression in handling of finiteArea processor boundaries (#2507)
- update the area-centres processor/processor information as part of
  faMesh::init() after all of the global data and geometry data is
  setup.

- improve flattenEdgeField helper to properly handle empty patches.
  This change removes the false fails when testing edge-centre
  redistribution (FULLDEBUG mode).

TUT: add filmPanel (rivulet) tutorial
2022-06-09 15:34:17 +02:00
Mark Olesen
7f748bd5fd ENH: CleanFunctions refinements
- include constant/faMesh cleanup (cleanFaMesh) as part of standard
  cleanCase

- simplify cleanPolyMesh function to now just warn about old
  constant/polyMesh/blockMeshDict but not try to remove anything

- cleanup cellDist.vtu (decomposePar -dry-run) as well

ENH: foamRunTutorials - fallback to Allrun-parallel, Allrun-serial

TUT: call m4 with file argument instead of redirected stdin

TUT: adjust suffixes on decomposeParDict variants
2022-06-09 15:34:17 +02:00
mattijs
d878ca3248 ENH: snappyHexMesh: early exit of leak detection. See #2403
Reverted edfault behaviour
2022-06-09 14:24:12 +01:00
mattijs
d2d976bda8 BUG: (un)refinement: combine topochange+motion. Fixes #2492
Explicitly unset the mesh.moving flag whilst doing the topo change.
2022-06-09 11:34:32 +01:00
mattijs
c5cede38aa ENH: snappyHexMesh: early exit of leak detection. See #2403
Changed behaviour to make it the default
2022-06-09 11:34:32 +01:00
Kutalmis Bercin
be8cf2ad5c TUT: binField: changes for binData 2022-06-09 09:32:53 +00:00
mattijs
37bb5b684d ENH: reconstructPar: showcase reconstructing synthesised particles 2022-06-08 17:07:04 +01:00
Mark Olesen
9a75ce8434 ENH: support coordinateSystem/transform for sampled planes
- previously only defined for cell-cutting version, now for
  iso-surface version too

TUT: remove old transform/coordinateSystem syntax
2022-06-08 16:43:05 +02:00
Mark Olesen
fbaadf3a94 ENH: make 'planeType' optional for dictionary construct of a plane
- simpler to write for sampled cutting planes etc.
  For example,

      slice
      {
          type        cuttingPlane;
          point       (0 0 0);
          normal      (0 0 1);
          interpolate true;
      }

  instead of

      slice
      {
          type        cuttingPlane;
          planeType   pointAndNormal;
          pointAndNormalDict
          {
              point   (0 0 0);
              normal  (0 0 1);
          }
          interpolate true;
      }

STYLE: add noexcept to some plane methods
2022-06-08 16:43:05 +02:00
Kutalmis Bercin
408e6b55e9 TUT: simplify setups.orig cases
DOC: Curle: fix typo in header file (fixes #2498)

TUT: airfoil2D: apply standard freestream conditions for nuTilda and nut
2022-06-08 13:53:01 +01:00
Kutalmis Bercin
7c59abef60 TUT: planeChannel: new verification case for RANS turbulence models 2022-06-08 10:06:20 +01:00
Kutalmis Bercin
ec96010ffb TUT: oneCellThickPlaneChannel/planeChannel: update the tutorial 2022-06-07 20:12:03 +00:00
Mark Olesen
7184de50df ENH: simplify coordinate rotation specification (#2505)
- can specify rotations that are not "axes" in a compact form:

      transform
      {
          origin  (0 0 0);
          rotation none;
      }

      transform
      {
          origin  (0 0 0);
          rotation axisAngle;
          axis    (0 0 1);
          angle   45;
      }

   An expanded dictionary form also remains possible:

      transform
      {
          origin  (0 0 0);
          rotation
          {
              type  axisAngle;
              axis  (0 0 1);
              angle 45;
          }
      }

STYLE: verbose deprecation for "coordinateRotation" keyword

- the "coordinateRotation" keyword was replaced by the "rotation"
  keyword (OpenFOAM-v1812 and later) but was handled silently.
  Now elevated to non-silent.

STYLE: alias lookups "axesRotation", "EulerRotation", "STARCDRotation"

- these warn and report the equivalent short form, which aids in
  upgrading. Previously had silent lookups.
2022-06-07 17:25:30 +02:00
Mark Olesen
a465e4db85 ENH: support Euler rotation rollPitchYaw/yawPitchRoll ordering
- can be more intuitive to specify for some cases:

      rotation
      {
          type    euler;
          order   rollPitchYaw;
          angles  (0 20 45);
      }

- refactor starcd rotation to reuse Euler ZXY ordering
  (code reduction)

ENH: add -rotate-x, -rotate-y, -rotate-z for transformPoints etc

- easier to specify for simple rotations
2022-06-02 16:47:40 +02:00
Mark Olesen
8081fc7234 ENH: refactor cell selections into cellBitSet
- ensightWrite, vtkWrite, fv::cellSetOption

ENH: additional topoSet "ignore" action

- this no-op can be used to skip an action step, instead of removing
  the entire entry
2022-05-31 13:04:43 +02:00
Mark Olesen
520001bafb TUT: use "sources" for SemiImplicit in a few places
TUT: removed xxxCoeffs clutter for atmospheric sources

GIT: renamed liquidFilmStepWithSprinklers
2022-05-31 13:04:43 +02:00
Mark Olesen
d2e10bca40 ENH: support exprField specification for SemiImplicitSource
- this allows more flexibility when defining the location or intensity
  of sources.

  For example,

  {
      type            scalarSemiImplicitSource;
      volumeMode      specific;
      selectionMode   all;

      sources
      {
          tracer0
          {
              explicit
              {
                  type       exprField;

                  functions<scalar>
                  {
                      square
                      {
                          type square;
                          scale 0.0025;
                          level 0.0025;
                          frequency 10;
                      }
                  }

                  expression
                  #{
                      (hypot(pos().x() + 0.025, pos().y()) < 0.01)
                    ? fn:square(time())
                    : 0
                  #};
              }
          }
      }
  }

ENH: SemiImplicitSource: handle "sources" with explicit/implicit entries

- essentially the same as injectionRateSuSp with Su/Sp,
  but potentially clearer in purpose.

ENH: add Function1 good() method to define if function can be evaluated

- for example, provides a programmatic means of avoiding the 'none'
  function
2022-05-31 13:04:39 +02:00
Mark Olesen
937b4898ae ENH: geometric selection mode for cellSetOption
- similar to the geometric decomposition constraint,
  allows a compositing selection of cells based on topoSet sources
  which also include various searchableSurface mechanisms.

  This makes for potentially easier placement of sources without
  resorting to defining a cellSet.

ENH: support zone group selection for fv::cellSetOption and fa::faceSetOption
2022-05-27 15:40:39 +02:00
Mark Olesen
500c7047b2 TUT: remove superfluous 'sourceInfo' (topo sets)
- update annotated dicts, remove tabs

- use point1/point2 for cylinder sources
2022-05-27 14:10:31 +02:00
Kutalmis Bercin
d8f0858a0b TUT: cavity: add an example for the norm function object 2022-05-27 12:51:51 +01:00
sergio
e022e522ba ENH: Adding external heat to greyDiffusive BC and new ParticleDose FO
DOC: greyDiffusiveRadiationMixed: improve header documentation
2022-05-27 09:15:07 +00:00
Andrew Heather
5cb0dc9d8a ENH: Added new particleZoneInfo cloud function object.
Reports cloud information for particles passing through a specified cell
zone.

Example usage:

    cloudFunctions
    {
        particleZoneInfo1
        {
            type            particleZoneInfo;
            cellZone        leftFluid;

            // Optional entries
            //writer          vtk;
        }
    }

Results are written to file:
- \<case\>/postProcessing/lagrangian/\<cloudName\>/\<functionName\>/\<time\>

    \# cellZone        : leftFluid
    \# time            : 1.0000000000e+00
    \#
    \# origID    origProc    (x y z)    time0    age    d0    d    mass0    mass

Where
- origID : particle ID
- origProc : processor ID
- (x y z) : Cartesian co-ordinates
- time0 : time particle enters the cellZone
- age : time spent in the cellZone
- d0 : diameter on entry to the cellZone
- d : current diameter
- mass0 : mass on entry to the cellZone
- mass : current mass

If the optional \c writer entry is supplied, cloud data is written in the
specified format.

During the run, output statistics are reported after the cloud solution,
e.g.:

    particleZoneInfo:
        Cell zone                       = leftFluid
        Contributions                   = 257

Here, 'Contributions' refers to the number of incremental particle-move
contributions recorded during this time step. At write times, the output
is extended, e.g.:

    particleZoneInfo:
        Cell zone                       = leftFluid
        Contributions                   = 822
        Number of particles             = 199
        Written data to "postProcessing/lagrangian/reactingCloud1/

TUT: filter: add an example for the particleZoneInfo function object
2022-05-25 23:17:57 +00:00
Andrew Heather
8d90b16518 ENH: multiFieldValue - extended to operate on general function objects
- Previously, the multiFieldValue function object was limited to operate on
  lists of fieldValue function objects.
- Any function objects that generate results can now be used, e.g.

pressureAverage
{
    type    multiFieldValue;
    libs    (fieldFunctionObjects);

    operation   average;

    functions
    {
        inlet
        {
            type            surfaceFieldValue;
            operation       areaAverage;
            regionType      patch;
            name            inlet;
            fields          (p);

            writeFields     no;
            writeToFile     no;
            log             no;
            resultFields    (areaAverage(inlet,p));
        }
        outlet
        {
            type            surfaceFieldValue;
            operation       areaAverage;
            regionType      patch;
            name            outlet;
            fields          (p);

            writeFields     no;
            writeToFile     no;
            log             no;
        }
        average
        {
            type            valueAverage;
            functionObject  testSample1;
            fields          (average(p));

            writeToFile     no;
            log             no;
        }
    }
}

TUT: cavity: add an example for the multiFieldValue function object
2022-05-25 23:17:57 +00:00
mattijs
34ef9ae342 ENH: controlDict: include missing library.
With libs it can run with disallowGeneric
2022-05-25 15:31:39 +01:00
mattijs
d58b811030 ENH: TUT: misspelled patch name
(happened to fall back to the 'empty' boundary condition)
2022-05-25 13:12:38 +00:00
mattijs
69db18138d TUT: Cs: use PBiCGStab for tight tolerance 2022-05-25 13:12:38 +00:00
Andrew Heather
4f4d333539 TUT: liquidFilmFoam - corrected cylinder h boundary condition 2022-05-23 09:42:42 +01:00
Mark Olesen
525f77f8bb TUT: add constraint types for finiteArea tutorials
STYLE: accept '-proc' as shortcut in restore0Dir function
2022-05-10 21:16:09 +02:00
mattijs
8ee4efc64b ENH: checkMesh: weights on AMI patches. 2022-05-09 13:46:05 +01:00
Kutalmis Bercin
0a6e368289 TUT: airRecirculationRoom: update the tutorial 2022-04-29 19:59:41 +00:00
Ian Cowan
c323cbd35b TUT: verticalChannel: add limitTemperature to avoid negative temperatures (fixes #2391)
TUT: propeller: remove duplicate log entry (fixes #1967)

TUT: verticalChannelLTS: update input to avoid runtime errors (fixes #2426)

TUT: Keyword updates
2022-04-29 19:55:44 +00:00