Skip to content
Snippets Groups Projects
  1. Mar 31, 2022
  2. Mar 24, 2022
  3. Dec 20, 2021
  4. Jun 28, 2021
  5. Mar 12, 2021
  6. Dec 23, 2020
  7. Jun 29, 2020
  8. Jan 17, 2020
  9. Dec 23, 2019
  10. Nov 13, 2019
  11. Nov 06, 2019
  12. Sep 27, 2019
  13. Aug 30, 2019
  14. Jun 25, 2019
  15. Jun 21, 2019
  16. Feb 13, 2019
    • Mark OLESEN's avatar
      ENH: extended runTimePostProcessing (#1206) · 42fbf6d3
      Mark OLESEN authored
      - Extended runTimePostProcessing to include access to "live"
        simulation objects such a geometry patches and sampled surfaces
        stored on the "functionObjectObjects" registry.
      
      - Add 'live' runTimePostProcessing of cloud data.
        Extracts position and fields from the cloud via its objectRegistry writer
      
      - For the "live" simulation objects, there are two new volume filters
        that work directly with the OpenFOAM volume fields:
            * iso-surface
            * cutting planes
        Both use the VTK algorithms directly and support multiple values.
        Eg, can make multiple iso-levels or multiple planes parallel to each
        other.
      
      - When VTK has been compiled with MPI-support, parallel rendering will
        be used.
      
      - Additional title text properties (shadow, italic etc)
      
      - Simplified handling of scalar-bar and visibility switches
      
      - Support multiple text positions. Eg, for adding watermark text.
      42fbf6d3
  17. May 17, 2019
  18. Dec 19, 2018
  19. Nov 24, 2018
    • Mark OLESEN's avatar
      ENH: improvements for dataCloud function object (issue #1044) · 58dae2de
      Mark OLESEN authored
      - now supports a parcel selection mechanism like vtkCloud,
        giving the ability to select a subset of parcels.
        For example, a given stride, or removal of parcels with a small
        diameter.
      
        Eg,
            dataCloud output Time: 3.2
            Applying parcel filtering to 994 parcels
            - add stride 4
            - subtract field U : (less 0.2)
            After filtering using 214/994 parcels
      
      - add output precision control for dataCloud
      58dae2de
  20. Nov 07, 2018
    • Mark OLESEN's avatar
      ENH: make sourceInfo sub-dictionary optional for topoSet (#1060) · 5f556ffb
      Mark OLESEN authored
      - helps reduce clutter in the topoSetDict files.
      
        Caveats when using this.
      
        The older specification styles using "name" will conflict with the
        set name. Eg,
      
          {
              name    f0
              type    faceSet;
              action  add;
              source  patchToFace;
              sourceInfo
              {
                  name   inlet;
              }
          }
      
          would flattened to the following
          {
              name    f0
              type    faceSet;
              action  add;
              source  patchToFace;
              name   inlet;
          }
          which overwrites the "name" used for the faceSet.
      
          The solution is to use the updated syntax:
      
          {
              name    f0
              type    faceSet;
              action  add;
              source  patchToFace;
              patch   inlet;
          }
      5f556ffb
  21. Oct 29, 2018
  22. Oct 17, 2018
  23. Sep 17, 2018
    • Mark OLESEN's avatar
      ENH: code improvements for vtkCloud function object (issue #926) · 03eec4a5
      Mark OLESEN authored
      - use parallel list writing, beginDataArray methods.
      
      - use static_assert to restrict conversion of non-label integral types
      
      - cache .vtp.series information by fileName instead of by cloud name.
        This issues if the output directory changes, and simplifies code.
      
      ENH: emit TimeValue in files generated by vtkCloud
      
      - additional information for passing to ParaView
      
      ENH: vtkCloud output to postProcessing/ (issue #866)
      
      - better alignment with other function objects, no collision with
        foamToVTK output.
      03eec4a5
  24. Jun 28, 2018
  25. Jun 26, 2018
  26. Jun 19, 2018
  27. Apr 10, 2018
    • Mark OLESEN's avatar
      ENH: additional text expansion shortcuts (issue #792) · a9741cea
      Mark OLESEN authored
      Support the following expansions when they occur at the start of a
      string:
      
          Short-form       Equivalent
          =========       ===========
            <etc>/          ~OpenFOAM/   (as per foamEtcFile)
            <case>/         $FOAM_CASE/
            <constant>/     $FOAM_CASE/constant/
            <system>/       $FOAM_CASE/system/
      
      These can be used in fileName expansions to improve clarity and reduce
      some typing
      
           "<constant>/reactions"   vs  "$FOAM_CASE/constant/reactions"
      a9741cea
  28. Feb 19, 2018
  29. Nov 09, 2017
    • Mark OLESEN's avatar
      ENH: region-wise decomposition specification for decomposeParDict · a9ffcab5
      Mark OLESEN authored
        Within decomposeParDict, it is now possible to specify a different
        decomposition method, methods coefficients or number of subdomains
        for each region individually.
      
        The top-level numberOfSubdomains remains mandatory, since this
        specifies the number of domains for the entire simulation.
        The individual regions may use the same number or fewer domains.
      
        Any optional method coefficients can be specified in a general
        "coeffs" entry or a method-specific one, eg "metisCoeffs".
      
        For multiLevel, only the method-specific "multiLevelCoeffs" dictionary
        is used, and is also mandatory.
      
      ----
      
      ENH: shortcut specification for multiLevel.
      
        In addition to the longer dictionary form, it is also possible to
        use a shorter notation for multiLevel decomposition when the same
        decomposition method applies to each level.
      a9ffcab5
  30. Jun 15, 2018
  31. Nov 23, 2017
    • Will Bainbridge's avatar
      ENH: combustionModels: Changed the construction order · 22aae281
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The combustion and chemistry models no longer select and own the
      thermodynamic model; they hold a reference instead. The construction of
      the combustion and chemistry models has been changed to require a
      reference to the thermodyanmics, rather than the mesh and a phase name.
      
      At the solver-level the thermo, turbulence and combustion models are now
      selected in sequence. The cyclic dependency between the three models has
      been resolved, and the raw-pointer based post-construction step for the
      combustion model has been removed.
      
      The old solver-level construction sequence (typically in createFields.H)
      was as follows:
      
          autoPtr<combustionModels::psiCombustionModel> combustion
          (
              combustionModels::psiCombustionModel::New(mesh)
          );
      
          psiReactionThermo& thermo = combustion->thermo();
      
          // Create rho, U, phi, etc...
      
          autoPtr<compressible::turbulenceModel> turbulence
          (
              compressible::turbulenceModel::New(rho, U, phi, thermo)
          );
      
          combustion->setTurbulence(*turbulence);
      
      The new sequence is:
      
          autoPtr<psiReactionThermo> thermo(psiReactionThermo::New(mesh));
      
          // Create rho, U, phi, etc...
      
          autoPtr<compressible::turbulenceModel> turbulence
          (
              compressible::turbulenceModel::New(rho, U, phi, *thermo)
          );
      
          autoPtr<combustionModels::psiCombustionModel> combustion
          (
              combustionModels::psiCombustionModel::New(*thermo, *turbulence)
          );
      
      ENH: combustionModel, chemistryModel: Simplified model selection
      
      The combustion and chemistry model selection has been simplified so
      that the user does not have to specify the form of the thermodynamics.
      
      Examples of new combustion and chemistry entries are as follows:
      
          In constant/combustionProperties:
      
              combustionModel PaSR;
      
              combustionModel FSD;
      
          In constant/chemistryProperties:
      
              chemistryType
              {
                  solver          ode;
                  method          TDAC;
              }
      
      All the angle bracket parts of the model names (e.g.,
      <psiThermoCombustion,gasHThermoPhysics>) have been removed as well as
      the chemistryThermo entry.
      
      The changes are mostly backward compatible. Only support for the
      angle bracket form of chemistry solver names has been removed. Warnings
      will print if some of the old entries are used, as the parts relating to
      thermodynamics are now ignored.
      
      ENH: combustionModel, chemistryModel: Simplified model selection
      
      Updated all tutorials to the new format
      
      STYLE: combustionModel: Namespace changes
      
      Wrapped combustion model make macros in the Foam namespace and removed
      combustion model namespace from the base classes. This fixes a namespace
      specialisation bug in gcc 4.8. It is also somewhat less verbose in the
      solvers.
      
      This resolves bug report https://bugs.openfoam.org/view.php?id=2787
      
      ENH: combustionModels: Default to the "none" model
      
      When the constant/combustionProperties dictionary is missing, the solver
      will now default to the "none" model. This is consistent with how
      radiation models are selected.
      22aae281
  32. Oct 12, 2017
  33. Aug 03, 2017
    • Mark OLESEN's avatar
      TUT: use general 'scale' instead of 'convertToMeters' in blockMeshDict · c2a0663c
      Mark OLESEN authored
      - although this has been supported for many years, the tutorials
        continued to use "convertToMeters" entry, which is specific to blockMesh.
        The "scale" is more consistent with other dictionaries.
      
      ENH:
      - ignore "scale 0;" (treat as no scaling) for blockMeshDict,
        consistent with use elsewhere.
      c2a0663c
  34. Apr 13, 2017
    • Henry Weller's avatar
      fvOptions: The "<type>Coeffs" sub-dictionary is now optional · 8b55ea4f
      Henry Weller authored
      For example the actuationDiskSource fvOption may now be specified
      
      disk1
      {
          type            actuationDiskSource;
      
          fields      (U);
      
          selectionMode   cellSet;
          cellSet         actuationDisk1;
          diskDir         (1 0 0);    // Orientation of the disk
          Cp              0.386;
          Ct              0.58;
          diskArea        40;
          upstreamPoint   (581849 4785810 1065);
      }
      
      rather than
      
      disk1
      {
          type            actuationDiskSource;
          active          on;
      
          actuationDiskSourceCoeffs
          {
              fields      (U);
      
              selectionMode   cellSet;
              cellSet         actuationDisk1;
              diskDir         (1 0 0);    // Orientation of the disk
              Cp              0.386;
              Ct              0.58;
              diskArea        40;
              upstreamPoint   (581849 4785810 1065);
          }
      }
      
      but this form is supported for backward compatibility.
      8b55ea4f
  35. Feb 18, 2017
    • Henry Weller's avatar
      liquidProperties, solidProperties: Simplified input · de44d09a
      Henry Weller authored
      The entries for liquid and solid species can now be simply be the name unless
      property coefficients are overridden in which are specified in a dictionary as
      before e.g. in the tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek case
      the water is simply specified
      
      liquids
      {
          H2O;
      }
      
      and solid ash uses standard coefficients but the coefficients for carbon are
      overridden thus
      
      solids
      {
          C
          {
              rho             2010;
              Cp              710;
              kappa           0.04;
              Hf              0;
              emissivity      1.0;
          }
      
          ash;
      }
      de44d09a
  36. Feb 17, 2017
    • Henry Weller's avatar
      liquidProperties: Simplified dictionary format · 9b4f327e
      Henry Weller authored
      The defaultCoeffs entry is now redundant and supported only for backward
      compatibility.  To specify a liquid with default coefficients simply leave the
      coefficients dictionary empty:
      
          liquids
          {
              H2O {}
          }
      
      Any or all of the coefficients may be overridden by specifying the properties in
      the coefficients dictionary, e.g.
      
          liquids
          {
              H2O
              {
                  rho
                  {
                      a 1000;
                      b 0;
                      c 0;
                      d 0;
                  }
              }
          }
      9b4f327e
    • Henry Weller's avatar
      thermophysicalModels: Changed specie thermodynamics from mole to mass basis · c52e4b58
      Henry Weller authored
      The fundamental properties provided by the specie class hierarchy were
      mole-based, i.e. provide the properties per mole whereas the fundamental
      properties provided by the liquidProperties and solidProperties classes are
      mass-based, i.e. per unit mass.  This inconsistency made it impossible to
      instantiate the thermodynamics packages (rhoThermo, psiThermo) used by the FV
      transport solvers on liquidProperties.  In order to combine VoF with film and/or
      Lagrangian models it is essential that the physical propertied of the three
      representations of the liquid are consistent which means that it is necessary to
      instantiate the thermodynamics packages on liquidProperties.  This requires
      either liquidProperties to be rewritten mole-based or the specie classes to be
      rewritten mass-based.  Given that most of OpenFOAM solvers operate
      mass-based (solve for mass-fractions and provide mass-fractions to sub-models it
      is more consistent and efficient if the low-level thermodynamics is also
      mass-based.
      
      This commit includes all of the changes necessary for all of the thermodynamics
      in OpenFOAM to operate mass-based and supports the instantiation of
      thermodynamics packages on liquidProperties.
      
      Note that most users, developers and contributors to OpenFOAM will not notice
      any difference in the operation of the code except that the confusing
      
          nMoles     1;
      
      entries in the thermophysicalProperties files are no longer needed or used and
      have been removed in this commet.  The only substantial change to the internals
      is that species thermodynamics are now "mixed" with mass rather than mole
      fractions.  This is more convenient except for defining reaction equilibrium
      thermodynamics for which the molar rather than mass composition is usually know.
      The consequence of this can be seen in the adiabaticFlameT, equilibriumCO and
      equilibriumFlameT utilities in which the species thermodynamics are
      pre-multiplied by their molecular mass to effectively convert them to mole-basis
      to simplify the definition of the reaction equilibrium thermodynamics, e.g. in
      equilibriumCO
      
          // Reactants (mole-based)
          thermo FUEL(thermoData.subDict(fuelName)); FUEL *= FUEL.W();
      
          // Oxidant (mole-based)
          thermo O2(thermoData.subDict("O2")); O2 *= O2.W();
          thermo N2(thermoData.subDict("N2")); N2 *= N2.W();
      
          // Intermediates (mole-based)
          thermo H2(thermoData.subDict("H2")); H2 *= H2.W();
      
          // Products (mole-based)
          thermo CO2(thermoData.subDict("CO2")); CO2 *= CO2.W();
          thermo H2O(thermoData.subDict("H2O")); H2O *= H2O.W();
          thermo CO(thermoData.subDict("CO")); CO *= CO.W();
      
          // Product dissociation reactions
      
          thermo CO2BreakUp
          (
              CO2 == CO + 0.5*O2
          );
      
          thermo H2OBreakUp
          (
              H2O == H2 + 0.5*O2
          );
      
      Please report any problems with this substantial but necessary rewrite of the
      thermodynamic at https://bugs.openfoam.org
      
      Henry G. Weller
      CFD Direct Ltd.
      c52e4b58
  37. Jan 20, 2017
  38. Nov 21, 2016
  39. Jun 27, 2016