- Nov 11, 2022
-
-
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.
-
- May 27, 2022
-
-
Mark OLESEN authored
- in various situations with mesh regions it is also useful to filter out or remove the defaultRegion name (ie, "region0"). Can now do that conveniently from the polyMesh itself or as a static function. Simply use this const word& regionDir = polyMesh::regionName(regionName); OR mesh.regionName() instead of const word& regionDir = ( regionName != polyMesh::defaultRegion ? regionName : word::null ); Additionally, since the string '/' join operator filters out empty strings, the following will work correctly: (polyMesh::regionName(regionName)/polyMesh::meshSubDir) (mesh.regionName()/polyMesh::meshSubDir)
-
- May 12, 2021
-
-
Mark OLESEN authored
- use polyMesh::defaultRegion instead of fvMesh::defaultRegion and others via static inheritance. (92 vs ~25 occurrences)
-
- Jun 17, 2020
-
-
OpenFOAM bot authored
-
- Jun 02, 2020
-
-
Mark OLESEN authored
- previously introduced `getOrDefault` as a dictionary _get_ method, now complete the transition and use it everywhere instead of `lookupOrDefault`. This avoids mixed usage of the two methods that are identical in behaviour, makes for shorter names, and promotes the distinction between "lookup" access (ie, return a token stream, locate and return an entry) and "get" access (ie, the above with conversion to concrete types such as scalar, label etc).
-
- May 06, 2020
-
-
Mark OLESEN authored
- adds into the include-quoted search list instead the general (-Idir) search list. * makes it less subject to ordering (since it will now generally be searched first) and makes it less subject to how duplicate removal is implemented. In some compilers (#1627), the last instance of a duplicate directory would be used and not the first instance. * removes clutter in some Make/options files COMP: add missing linkage libraries
-
- Oct 31, 2019
-
-
OpenFOAM bot authored
-
- Apr 28, 2019
-
-
Mark OLESEN authored
- Eg, with surface writers now in surfMesh, there are fewer libraries depending on conversion and sampling. COMP: regularize linkage ordering and avoid some implicit linkage (#1238)
-
- Apr 03, 2019
-
-
sergio authored
oversetInterpolationSuppressed dict.
-
- Feb 06, 2019
-
-
OpenFOAM bot authored
-
- Dec 11, 2018
-
-
Mark OLESEN authored
-
- Dec 13, 2018
-
-
Mark OLESEN authored
- for some special cases we wish to mark command-line arguments as being optional, in order to do our own treatment. For example, when an arbitrary number of arguments should be allowed. Now tag this situation with argList::noMandatoryArgs(). The argList::argsMandatory() query can then be used in any further logic, including the standard default argument checking. - with the new default check, can consolidate the special-purpose "setRootCaseNonMandatoryArgs.H" into the regular "setRootCase.H" - revert to a simple "setRootCase.H" and move all the listing related bits to a "setRootCaseLists.H" file. This leaves the information available for solvers, or whoever else wishes, without being introduced everywhere. - add include guards and scoping to the listing files and rename to something less generic. listOptions.H -> setRootCaseListOptions.H listOutput.H -> setRootCaseListOutput.H
-
- Jun 21, 2018
-
-
Mark OLESEN authored
-
- Jun 20, 2018
-
-
Andrew Heather authored
-
- Jun 01, 2018
-
-
Mark OLESEN authored
- Since 'bool' and 'Switch' use the _identical_ input mechanism (ie, both accept true/false, on/off, yes/no, none, 1/0), the main reason to prefer one or the other is the output. The output for Switch is as text (eg, "true"), whereas for bool it is label (0 or 1). If the output is required for a dictionary, Switch may be appropriate. If the output is not required, or is only used for Pstream exchange, bool can be more appropriate.
-
- Apr 27, 2018
-
-
Mark OLESEN authored
- controlled by the the 'printExecutionFormat' InfoSwitch in etc/controlDict // Style for "ExecutionTime = " output // - 0 = seconds (with trailing 's') // - 1 = day-hh:mm:ss ExecutionTime = 112135.2 s ClockTime = 113017 s ExecutionTime = 1-07:08:55.20 ClockTime = 1-07:23:37 - Callable via the new Time::printExecutionTime() method, which also helps to reduce clutter in the applications. Eg, runTime.printExecutionTime(Info); vs Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; -- ENH: return elapsedClockTime() and clockTimeIncrement as double - previously returned as time_t, which is less portable.
-
- Dec 08, 2017
-
-
mattijs authored
-
- Jun 11, 2018
-
-
Andrew Heather authored
-
- Jan 11, 2018
-
-
Andrew Heather authored
-
- May 18, 2018
-
-
Andrew Heather authored
-
- Oct 23, 2017
-
-
To unsure fvOptions are instantiated for post-processing createFvOptions.H must be included in createFields.H rather than in the solver directly. Resolves bug-report https://bugs.openfoam.org/view.php?id=2733 BUG: porousSimpleFoam: moved createFvOptions.H into createFields.H for -postProcess option Resolves bug-report https://bugs.openfoam.org/view.php?id=2733 BUG: solvers: Moved fvOption construction into createFields.H for post-processing This ensures that the fvOptions are constructed for the -postProcessing option so that functionObjects which process fvOption data operate correctly in this mode.
-
- Jun 14, 2017
-
-
mattijs authored
Adds overset discretisation to selected physics: - diffusion : overLaplacianDyMFoam - incompressible steady : overSimpleFoam - incompressible transient : overPimpleDyMFoam - compressible transient: overRhoPimpleDyMFoam - two-phase VOF: overInterDyMFoam The overset method chosen is a parallel, fully implicit implementation whereby the interpolation (from donor to acceptor) is inserted as an adapted discretisation on the donor cells, such that the resulting matrix can be solved using the standard linear solvers. Above solvers come with a set of tutorials, showing how to create and set-up simple simulations from scratch.
-
- Jun 09, 2016
-
-
Chris Greenshields authored
-
- May 09, 2016
-
-
Henry Weller authored
See also commit cc455173
-
- May 08, 2016
-
-
Henry Weller authored
See also commit cc455173
-
Henry Weller authored
Executes application functionObjects to post-process existing results. If the "dict" argument is specified the functionObjectList is constructed from that dictionary otherwise the functionObjectList is constructed from the "functions" sub-dictionary of "system/controlDict" Multiple time-steps may be processed and the standard utility time controls are provided. This functionality is equivalent to execFlowFunctionObjects but in a more efficient and general manner and will be included in all the OpenFOAM solvers if it proves effective and maintainable. The command-line options available with the "-postProcess" option may be obtained by simpleFoam -help -postProcess Usage: simpleFoam [OPTIONS] options: -case <dir> specify alternate case directory, default is the cwd -constant include the 'constant/' dir in the times list -dict <file> read control dictionary from specified location -latestTime select the latest time -newTimes select the new times -noFunctionObjects do not execute functionObjects -noZero exclude the '0/' dir from the times list, has precedence over the -withZero option -parallel run in parallel -postProcess Execute functionObjects only -region <name> specify alternative mesh region -roots <(dir1 .. dirN)> slave root directories for distributed running -time <ranges> comma-separated time ranges - eg, ':10,20,40:70,1000:' -srcDoc display source code in browser -doc display application documentation in browser -help print the usage Henry G. Weller CFD Direct Ltd.
-
- Apr 06, 2016
-
-
Henry Weller authored
e.g. (fvc::interpolate(HbyA) & mesh.Sf()) -> fvc::flux(HbyA) This removes the need to create an intermediate face-vector field when computing fluxes which is more efficient, reduces the peak storage and improved cache coherency in addition to providing a simpler and cleaner API.
-
- Mar 07, 2016
-
-
Henry Weller authored
-
- Feb 26, 2016
-
-
Henry Weller authored
The deprecated non-const tmp functionality is now on the compiler switch NON_CONST_TMP which can be enabled by adding -DNON_CONST_TMP to EXE_INC in the Make/options file. However, it is recommended to upgrade all code to the new safer tmp by using the '.ref()' member function rather than the non-const '()' dereference operator when non-const access to the temporary object is required. Please report any problems on Mantis. Henry G. Weller CFD Direct.
-
- Feb 13, 2016
-
-
Henry Weller authored
The boundary conditions of HbyA are now constrained by the new "constrainHbyA" function which applies the velocity boundary values for patches for which the velocity cannot be modified by assignment and pressure extrapolation is not specified via the new "fixedFluxExtrapolatedPressureFvPatchScalarField". The new function "constrainPressure" sets the pressure gradient appropriately for "fixedFluxPressureFvPatchScalarField" and "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary conditions to ensure the evaluated flux corresponds to the known velocity values at the boundary. The "fixedFluxPressureFvPatchScalarField" boundary condition operates exactly as before, ensuring the correct flux at fixed-flux boundaries by compensating for the body forces (gravity in particular) with the pressure gradient. The new "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary condition may be used for cases with or without body-forces to set the pressure gradient to compensate not only for the body-force but also the extrapolated "HbyA" which provides a second-order boundary condition for pressure. This is useful for a range a problems including impinging flow, extrapolated inlet conditions with body-forces or for highly viscous flows, pressure-induced separation etc. To test this boundary condition at walls in the motorBike tutorial case set lowerWall { type fixedFluxExtrapolatedPressure; } motorBikeGroup { type fixedFluxExtrapolatedPressure; } Currently the new extrapolated pressure boundary condition is supported for all incompressible and sub-sonic compressible solvers except those providing implicit and tensorial porosity support. The approach will be extended to cover these solvers and options in the future. Note: the extrapolated pressure boundary condition is experimental and requires further testing to assess the range of applicability, stability, accuracy etc. Henry G. Weller CFD Direct Ltd.
-
- Dec 15, 2015
-
-
Henry Weller authored
Provides support for running laminar. Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1951
-
- Dec 03, 2015
-
-
Andrew Heather authored
-
- Dec 02, 2015
-
-
Henry Weller authored
fvOptions are transferred to the database on construction using fv::options::New which returns a reference. The same function can be use for construction and lookup so that fvOptions are now entirely demand-driven. The abstract base-classes for fvOptions now reside in the finiteVolume library simplifying compilation and linkage. The concrete implementations of fvOptions are still in the single monolithic fvOptions library but in the future this will be separated into smaller libraries based on application area which may be linked at run-time in the same manner as functionObjects.
-
- Dec 01, 2015
-
-
Henry Weller authored
See also commit 52d83407
-
- Nov 18, 2015
-
-
Henry Weller authored
Simplifies lookup of RAS or LES models
-
- Jul 19, 2015
-
-
Henry Weller authored
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1788
-
- Jul 15, 2015
-
-
Henry Weller authored
Added calls to setFluxRequired for p in all incompressible solvers which avoids the need to add fluxRequired entries in fvSchemes dictionary. Will add calls to setFluxRequired to the rest of the solvers.
-
- Jun 23, 2015
-
-
Henry Weller authored
to support laminar simulations in the new framework. Unfortunately this allows LES models to be instantiated although they are not compatible with steady-state simulations.
-
- May 29, 2015
-
-
Henry authored
fvOptions does not have the appropriate structure to support MRF as it is based on option selection by user-specified fields whereas MRF MUST be applied to all velocity fields in the particular solver. A consequence of the particular design choices in fvOptions made it difficult to support MRF for multiphase and it is easier to support frame-related and field related options separately. Currently the MRF functionality provided supports only rotations but the structure will be generalized to support other frame motions including linear acceleration, SRF rotation and 6DoF which will be run-time selectable.
-
Henry authored
-