- 15 Dec, 2021 2 commits
-
-
- 19 Apr, 2021 1 commit
-
-
- 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.
-
- 05 Aug, 2020 1 commit
-
-
Mark Olesen authored
-
- 31 Oct, 2019 1 commit
-
-
OpenFOAM bot authored
-
- 24 Sep, 2019 1 commit
-
-
OpenFOAM bot authored
-
- 07 Jun, 2019 1 commit
-
-
Sergio Ferraris authored
Integration of VOF MULES new interfaces. Update of VOF solvers and all instances of MULES in the code. Integration of reactingTwoPhaseEuler and reactingMultiphaseEuler solvers and sub-models Updating reactingEuler tutorials accordingly (most of them tested) New eRefConst thermo used in tutorials. Some modifications at thermo specie level affecting mostly eThermo. hThermo mostly unaffected New chtMultiRegionTwoPhaseEulerFoam solver for quenching and tutorial. Phases sub-models for reactingTwoPhaseEuler and reactingMultiphaseEuler were moved to src/phaseSystemModels/reactingEulerFoam in order to be used by BC for chtMultiRegionTwoPhaseEulerFoam. Update of interCondensatingEvaporatingFoam solver.
-
- 06 Feb, 2019 1 commit
-
-
OpenFOAM bot authored
-
- 09 Feb, 2018 1 commit
-
-
Mark Olesen authored
- more consistent with STL practices for function classes. - string::hash function class now operates on std::string rather than Foam::string since we have now avoided inadvertent use of string conversion from int in more places.
-
- 23 Nov, 2017 1 commit
-
-
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.
-
- 01 Dec, 2017 1 commit
-
-
Mixture molecular weight is now evaluated in heThermo like everything else, relying on the low level specie mixing rules. Units have also been corrected. SpecieMixture: Pure virtual definition for W to prevent Clang warning
-
- 04 Jul, 2017 1 commit
-
-
Mark Olesen authored
ENH: add degToRad() multiplier (useful for scalar fields) - use degToRad() functions throughout instead of scattered local solutions
-
- 28 Apr, 2016 1 commit
-
-
Henry Weller authored
When the GeometricBoundaryField template class was originally written it was a separate class in the Foam namespace rather than a sub-class of GeometricField as it is now. Without loss of clarity and simplifying code which access the boundary field of GeometricFields it is better that GeometricBoundaryField be renamed Boundary for consistency with the new naming convention for the type of the dimensioned internal field: Internal, see commit 4a57b9be This is a very simple text substitution change which can be applied to any code which compiles with the OpenFOAM-dev libraries.
-
- 05 Nov, 2015 1 commit
-
-
Henry Weller authored
-
- 01 Nov, 2015 1 commit
-
-
Henry Weller authored
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible compilers otherwise __func__ to provide the function name string.
-
- 28 Aug, 2015 1 commit
-
-
Henry Weller authored
The previous method using a HashTable required a separate ordered list of names which is hard to work with and maintain.
-
- 14 Feb, 2015 1 commit
-
-
Henry authored
-
- 04 Oct, 2013 1 commit
-
-
Henry authored
Needs to be consolidated with multiphaseInterFoam with thermal and compressibility effects made run-time selectable
-
- 21 Mar, 2013 1 commit
-
-
Henry authored
-
- 07 Feb, 2013 2 commits
- 06 Feb, 2013 1 commit
-
-
Henry authored
-
- 05 Feb, 2013 3 commits
- 04 Dec, 2012 1 commit
-
-
Henry authored
-
- 15 Nov, 2012 1 commit
-
-
andy authored
-
- 05 Nov, 2012 1 commit
-
-
Henry authored
-
- 13 Sep, 2012 1 commit
-
-
Henry authored
so that the effect of the term on the enthalpy equation is optional
-
- 12 Sep, 2012 1 commit
-
-
Henry authored
Thermodynamics: propagate incompressible and isochoric information from the EoS through to the basicThermo API
-
- 03 Jul, 2012 1 commit
-
-
sergio authored
tutorial, solvers solve for h in the solid
-
- 05 Jun, 2012 1 commit
-
-
Henry authored
Added additional layer of templating to reactingMixture to support specie functions in a generic manner.
-
- 30 May, 2012 2 commits
-
-
Henry authored
At the specie level: hs = sensible enthalpy ha = absolute (what was total) enthalpy es = sensibly internal energy ea = absolute (what was total) internal energy At top-level Rename total enthalpy h -> ha Rename sensible enthalpy hs -> h Combined h, hs, e and es thermo packages into a single structure. Thermo packages now provide "he" function which may return either enthalpy or internal energy, sensible or absolute according to the run-time selected form alphaEff now returns the effective diffusivity for the particular energy which the thermodynamics package is selected to solve for.
-
Henry authored
At the specie level: hs = sensible enthalpy ha = absolute (what was total) enthalpy es = sensibly internal energy ea = absolute (what was total) internal energy At top-level Rename total enthalpy h -> ha Rename sensible enthalpy hs -> h Combined h, hs, e and es thermo packages into a single structure. Thermo packages now provide "he" function which may return either enthalpy or internal energy, sensible or absolute according to the run-time selected form alphaEff now returns the effective diffusivity for the particular energy which the thermodynamics package is selected to solve for.
-