Commit Graph

1157 Commits

Author SHA1 Message Date
eb8b51b475 ENH: use back(), pop_back() instead remove()
- adjust looping to resemble LIFO pattern

STYLE: adjust some string includes
2023-01-27 09:50:46 +01:00
2a406bbb25 ENH: overset: various improvements in the framework
The improvements include:

- Allowing overset patches to be displaced outside background domain.
  - The approach does not support overlapping of multiple inset meshes
    on top of background domain.
- Allowing fringe faces to walk away from hole cells in background domain.
  - The approach was not extensibly tested with overlapping patches.
- Improving mass conservation.
- Various experimental entries are removed: massFluxInterpolation, ddtCorr.
- New entries:
  - oversetAdjustPhi: adds a flux correction outside the pressure equation.
  - massCorrection: adds an implicit correction.
2022-11-11 10:19:47 +00:00
70208a7399 ENH: use returnReduceAnd(), returnReduceOr() functions
DOC: document which MPI send/recv are associated with commType
2022-11-08 16:48:08 +00:00
716d330547 COMP: link finiteArea whenever regionFaModel is used 2022-09-22 11:50:50 +02:00
c4d18e97a3 ENH: additional methods for OBJstream
- write point fields
- writeLine (takes two points)
- writeFace (takes list of face loop points)
2022-07-19 11:17:51 +02:00
3d892ace29 STYLE: set readOpt(..), writeOpt(..) by parameter, not by assignment
STYLE: qualify format/version/compression with IOstreamOption not IOstream

STYLE: reduce number of lookups when scanning {fa,fv}Solution

STYLE: call IOobject::writeEndDivider as static
2022-07-19 11:17:47 +02:00
71246b94b7 ENH: minor update of particle methods 2022-07-08 11:13:00 +02:00
0f0a5c5c0f BUG: interfaceHeatResistance: remove max condensation limiter 2022-06-21 09:30:02 +01:00
45c3ba0e8e ENH: phaseSystemModels: new namespaces for various submodels
Co-authored-by: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
2022-06-21 09:29:57 +01:00
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
a4ef891594 COMP: missing linkage, unneeded linkage
- dynamicMesh, finiteVolume, regionFaModels, thermophysicalProperties
2022-04-29 13:26:36 +02:00
3721a61fe0 COMP: link twoPhaseProperties library (#2424) 2022-03-31 16:01:41 +02:00
529f6aa022 COMP: Resolved compiler warnings 2022-03-24 13:36:06 +00:00
af8161925b ENH: use mpi gather for list values in a few places
- avoid gatherList/scatterList when value are only need on master
2022-03-04 17:49:23 +00:00
cd2e69923e STY: Function names and arguments order 2021-12-15 10:16:20 +00:00
13b1417710 ENH: Adding new access to basic thermo for rho and Cp 2021-12-15 10:16:20 +00:00
0bf7758dd4 ENH: interIsoFoam/isoAdvection: new porosity extension
Co-authored-by: Niels Gjøl Jacobsen <>
Co-authored-by: Konstantinos Missios <>
Co-authored-by: Henning Scheufler <henning.scheufler@dlr.de>
Co-authored-by: Johan Roenby <johan.roenby@gmail.com>
2021-12-13 17:09:10 +00:00
cad325f41f BUG: icoReactingMultiphaseInterFoam: enable phasesSystem surface tension models (Fixes #2228) 2021-12-09 18:49:02 +00:00
098aec4962 ENH: Function1's - added objectRegistry access 2021-11-26 11:22:36 +00:00
ba8d6bddcc ENH: use singleton method for accessing runtime selection
STYLE: use alias to mark partialFaceAreaWeightAMI deprecation after v2012
2021-11-05 17:21:27 +01:00
36bb99da9b BUG: Condensation mass transfer in interfaceHeatResistance. Fixes #2216 2021-10-28 14:33:05 -07:00
53af23b9fb Implicit treatment of coupled boundary conditions 2021-08-03 20:08:49 +00:00
b62306ddc5 ENH: Adding regionFaModels library to solvers 2021-07-16 16:38:06 +00:00
09aa3d8b43 COMP: avoid incomplete types in runTime tables, unneeded typedefs etc 2021-07-15 14:31:54 +02:00
c1c1799051 BUG: Caching alphaPhiUn for VoF for scalarTransport FOcin mixture. #2053 2021-07-12 14:22:08 -07:00
20ca8e8aac BUG: Fixing entries for BinghamPlastic model. Fixes #1150 2021-07-08 13:23:39 -07:00
2ab81c3b69 BUG: Correcting surface tension calculation from pair order. Fixes #2051 2021-07-08 12:17:05 -07:00
6a390f6ad1 COMP: remove includes of defunct locations (fixes #2143) 2021-06-29 13:43:44 +02:00
252326df05 STYLE: add fa/fv namespace qualifiers for fa/fv option 2021-06-29 13:43:44 +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
95cd8ee75c ENH: improve hashing overloads of string-types and HashTable/HashSet
- additional dummy template parameter to assist with supporting
  derived classes. Currently just used for string types, but can be
  extended.

- provide hash specialization for various integer types.
  Removes the need for any forwarding.

- change default hasher for HashSet/HashTable from 'string::hash'
  to `Hash<Key>`. This avoids questionable hashing calls and/or
  avoids compiler resolution problems.

  For example,
  HashSet<label>::hasher and labelHashSet::hasher now both properly
  map to Hash<label> whereas previously HashSet<label> would have
  persistently mapped to string::hash, which was incorrect.

- standardize internal hashing functors.

  Functor name is 'hasher', as per STL set/map and the OpenFOAM
  HashSet/HashTable definitions.

  Older code had a local templated name, which added unnecessary
  clutter and the template parameter was always defaulted.
  For example,

      Old:  `FixedList<label, 3>::Hash<>()`
      New:  `FixedList<label, 3>::hasher()`
      Unchanged:  `labelHashSet::hasher()`

  Existing `Hash<>` functor namings are still supported,
  but deprecated.

- define hasher and Hash specialization for bitSet and PackedList

- add symmetric hasher for 'face'.
  Starts with lowest vertex value and walks in the direction
  of the next lowest value. This ensures that the hash code is
  independent of face orientation and face rotation.

NB:
  - some of keys for multiphase handling (eg, phasePairKey)
    still use yet another function naming: `hash` and `symmHash`.
    This will be targeted for alignment in the future.
2021-04-19 16:33:42 +00:00
100ae5c2bd ENH: fixedNormalSlip BC: add 'value' keyword (#1980, #1981)
DOC: improve header-file content

STYLE: fix stray use of wordReList instead of wordRes

Co-authored-by: Kutalmis Bercin
2021-04-15 10:41:08 +02:00
ad35fea763 ENH: new solvers: overCompressibleInterDyMFoam and overInterPhaseChangeDyMFoam
- overCompressibleInterDyMFoam: Overset solver for two compressible,
non-isothermal, immiscible fluids using a VOF (i.e. volume of fluid)
phase-fraction based interface capturing approach.
- overInterPhaseChangeDyMFoam: Overset solver for two incompressible,
isothermal, immiscible fluids with phase-change (e.g. cavitation) using
VoF (i.e. volume of fluid) phase-fraction based interface capturing approach.
- adds new tutorials:
  - multiphase/overCompressibleInterDyMFoam/compressibleTwoSimpleRotors
  - multiphase/overInterPhaseChangeDyMFoam/twoSimpleRotors

Signed-off-by: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
2021-03-24 12:35:31 +00:00
f8c2928a88 COMP: Adding fvDynamicMesh lib to option file 2021-03-18 14:12:12 -07:00
2f4d864c85 ENH: Adding dynamic mesh functionality to icoReactingMultiphaseInterFoam 2021-03-18 11:47:18 -07:00
da1e6ea8d0 ENH: Improvement to overset that allows multiple motion solvers
to operate with overset

1) Adding zoneMotion to rigidBodyMotion
2) Introducing PID to prescribedRotation restraint
3) Making drivenLinearMotion read total displacement
4) When drivenLinearMotion is used sixDof and rigid-body solvers
   write total displacement
2021-03-17 09:07:26 +00:00
0990d30b73 BUG: Adding relative flux to the mesh 2021-02-15 12:34:49 -08:00
73207dfcd7 BUG: Fixing cloud constructor for MPPICInterFoam 2020-12-20 19:24:12 -08:00
4bd1bd7522 BUG: Using autoPtr for turbulence in interFoam and interIsoFoam 2020-12-16 15:00:15 -08:00
3db12bbdef ENH: adding non-uniform rho to incompressible two-phase turbulent models
1) PhaseIncompressibleTurbulenceModel class was changed to use
   uniform alpha and non-uniform rho templates. This fits the need
   of incompressible two phase turbulence models.

2) A new type DPMIncompressibleTurbulenceModel was created for
   non-uniform alpha and uniform rho. It is  used in single phase flows
   in DPM solvers where alpha represents the volumen occupancy.

3) A new type incompressibleRhoTurbulenceModel  was created where
   non-uniform rho is allowed.

4) A new base templated turbulent class for two-phase VOF named
   VoFphaseTurbulentTransportModel was implemented which is created
   templating on PhaseIncompressibleTurbulenceModel and
   incompressibleRhoTurbulenceModel

5) In order to make the chnage to rho based VOF turbulence a help
   class was added incompressibleInterPhaseTransportModel templated
   on the mixing.
2020-12-16 17:57:45 +00:00
d1453b037a STYLE: duplicate include dir 2020-11-18 22:41:14 +01:00
fbcf7111be BUG: Taking out contErr contribution to TEq for divUp. Fixes #1813.
contErr is based on rhoPhi not on phi. The term contErr/rho*p in TEq
makes a large correction which occasionally makes T unbounded
2020-11-10 08:52:31 -08:00
132ae101f6 COMP: avoid autoPtr copy assignment and implicit casting 2020-10-15 17:21:33 +02:00
e18ff114a6 ENH: add UPstream::allProcs() method
- returns a range of `int` values that can be iterated across.
  For example,

      for (const int proci : Pstream::allProcs()) { ... }

  instead of

      for (label proci = 0; proci < Pstream::nProcs(); ++proci) { ... }
2020-09-28 14:25:59 +02:00
b2bded48c9 STYLE: use Time::printExecutionTime() method
- makes format of ExecutionTime = ... output configurable (#788)
  and reduces code clutter.

STYLE: more consistent line-breaks after "End" tag
2020-08-07 09:24:56 +02:00
93ed933770 STYLE: use unitConversion degToRad() from instead of separate value 2020-08-05 18:56:24 +01:00
915c0785ae ENH: avoid phaseSystem cyclic dependencies, reduce number of libraries
Reduce the number of phaseSystems libraries:

- phaseSystems previously had a number of smaller libraries to provide
  interface and model properties, etc. This potential flexibility was
  never actually used anywhere, but causes cyclic dependencies between
  phaseSystem and the models (and turbulence) that causes extreme
  difficulty for mingw linking (issue #1238).

- libincompressibleMultiphaseSystems
  - removed: libmassTransferModels

- libmultiphaseSystem
  - removed: libcompressibleMultiphaseEulerianInterfacialModels

- libreactingMultiphaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels
  - removed: libmultiphaseReactingTurbulenceModels

- libreactingTwoPhaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels

Avoid duplicate symbol for phaseCompressibleTurbulenceModels

  Common turbulence models are defined in libreactingMultiphaseSystem,
  and libmultiphaseReactingTurbulenceModels is now redundant.

  The libtwoPhaseReactingTurbulenceModels extends the common models
  for reactingTwoPhaseSystem.
2020-08-05 18:56:23 +01:00
03526e2097 ENH: centralize more libraries in src/phaseSystemModels
- prelude to code refactoring

NOTE
    no source code change in this commit, only relocation,
    renaming and adjustment of Make/{files,options}
2020-08-05 18:56:22 +01:00
6b074985ac ENH: improve separation of turbulence models macros (define vs make) 2020-08-03 16:28:21 +02:00
12c91b9472 STYLE: check autoPtr as plain bool instead of valid()
- cleaner code, more similarity with unique_ptr

  Now
      if (ptr)
      if (!ptr)

  instead
      if (ptr.valid())
      if (!ptr.valid())
2020-07-16 11:39:24 +02:00