- Mar 31, 2022
- Mar 24, 2022
-
-
Andrew Heather authored
-
- Dec 20, 2021
-
-
Andrew Heather authored
-
- Jun 28, 2021
-
-
Andrew Heather authored
Minor clean-up
-
- Mar 12, 2021
-
-
- Dec 23, 2020
- Jun 29, 2020
-
-
Andrew Heather authored
-
- Jan 17, 2020
-
-
Mark OLESEN authored
-
- Dec 23, 2019
-
-
Andrew Heather authored
-
- Nov 13, 2019
-
-
Mark OLESEN authored
-
- Nov 06, 2019
-
-
Mark OLESEN authored
-
- Sep 27, 2019
-
-
Mark OLESEN authored
-
- Aug 30, 2019
-
-
OpenFOAM bot authored
-
- Jun 25, 2019
-
-
Andrew Heather authored
-
- Jun 21, 2019
-
-
Andrew Heather authored
-
- Feb 13, 2019
-
-
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.
-
- May 17, 2019
-
-
Mark OLESEN authored
-
- Dec 19, 2018
-
-
Andrew Heather authored
-
- Nov 24, 2018
-
-
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
-
- Nov 07, 2018
-
-
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; }
-
- Oct 29, 2018
-
-
Mark OLESEN authored
- replaces "centre", using the same keyword as other objects (eg, plane, rotatedBox, coordinateSystem etc).
-
- Oct 17, 2018
-
-
Mark OLESEN authored
- writes positions and a single field (eg, diameter) in plain ASCII files, suitable for importing in a spreadsheet or manipulation with scripting tools. - code integrated from https://develop.openfoam.com/Community/OpenFOAM-addOns
-
- Sep 17, 2018
-
-
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.
-
- Jun 28, 2018
-
-
Andrew Heather authored
-
- Jun 26, 2018
-
-
Andrew Heather authored
-
- Jun 19, 2018
-
-
Mark OLESEN authored
-
- Apr 10, 2018
-
-
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"
-
- Feb 19, 2018
-
-
Mark OLESEN authored
- remove writeLagrangianCoordinates as InfoSwitch, since this is something that a regular user should not be able to disable.
-
- Nov 09, 2017
-
-
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.
-
- Jun 15, 2018
-
-
Mark OLESEN authored
- writes lagrangian data in VTP format during a simulation. In parallel, all data are written from the master.
-
- Nov 23, 2017
-
-
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.
-
- Oct 12, 2017
-
-
Mark OLESEN authored
-
- Aug 03, 2017
-
-
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.
-
- Apr 13, 2017
-
-
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.
-
- Feb 18, 2017
-
-
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; }
-
- Feb 17, 2017
-
-
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; } } }
-
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.
-
- Jan 20, 2017
-
-
Henry Weller authored
To run with laminar reaction rates choose the "laminar" combustion model rather than setting "turbulentReaction no;" in the "PaSR" model.
-
- Nov 21, 2016
-
-
Mark Olesen authored
- A few without a 'cd' at the start. Use $(getApplication) directly in more places (for clarity).
-
- Jun 27, 2016
-
-
Mark Olesen authored
-