OpenFOAM-plus merge requestshttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests2017-05-19T10:55:38Zhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/112Hash table method enhancements2017-05-19T10:55:38ZMark OLESENHash table method enhancementsAdditional methods for hashtables (counting, filtering etc) and unified string matching interface to support a predicate-like syntax.Additional methods for hashtables (counting, filtering etc) and unified string matching interface to support a predicate-like syntax.Version v1706Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/110Feature surface feature extract2017-05-31T15:33:46ZMark OLESENFeature surface feature extractawaiting further testing (@Prashant, @landmann)
FYI: @Mattijs awaiting further testing (@Prashant, @landmann)
FYI: @Mattijs Version v1706Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/108improved container classes2017-05-04T15:49:00ZMark OLESENimproved container classesVersion v1706Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/107Updated random numbers2017-04-28T09:11:19ZAndrew HeatherUpdated random numbersPreviously there were 2 random number generator classes - `Random` and `cachedRandom`. These have been consolidated by:
- removing/deprecating the `Random` class
- renaming the `cachedRandom` class to `Random`
The `Random` class no...Previously there were 2 random number generator classes - `Random` and `cachedRandom`. These have been consolidated by:
- removing/deprecating the `Random` class
- renaming the `cachedRandom` class to `Random`
The `Random` class now stores its own buffer and uses the re-entrant system random functions so that each instantiation is not affected by each call to (re-)initialise the random number seed. The caching of the random numbers is not required since the generator can be reset using the same initial seed.Version v1706https://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/105Dict lookup2017-05-02T15:37:58ZMark OLESENDict lookupVersion v1706Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/104Initial attempt to track oriented surface fields2017-05-24T13:30:52ZAndrew HeatherInitial attempt to track oriented surface fieldsThese changes are an attempt to cleanly identify oriented surface fields, i.e. those where the value is signed according to the owner->neighbour direction e.g. the face flux.
Still to do:
* [x] propagate through field mapping - read...These changes are an attempt to cleanly identify oriented surface fields, i.e. those where the value is signed according to the owner->neighbour direction e.g. the face flux.
Still to do:
* [x] propagate through field mapping - ready to test
* [x] simplify surfaceFieldValue function object - passed tests
* [x] check other uses, .e.g. AMI?
* [x] clean-up of dev statements
Checks
* [x] rhoCentral[DyM]Foam solvers
@MattijsVersion v1706Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/98ENH: Feature noise additions2017-03-16T05:16:22ZAndrew HeatherENH: Feature noise additionsNoise model functionality updates
- optional writing for each output
- can now use relative or absolute paths for input/output data
- output data can be limited to lower and upper (user-selected) frequency bounds
- output paths updat...Noise model functionality updates
- optional writing for each output
- can now use relative or absolute paths for input/output data
- output data can be limited to lower and upper (user-selected) frequency bounds
- output paths updated to ensure not to overwrite output when processing multiple filesVersion v1706Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/94Improvements, adjustments for build scripts and infrastructure2017-02-24T18:31:58ZMark OLESENImprovements, adjustments for build scripts and infrastructurecleanup of wmake, wclean for various improvements. Eg, more reliable clean behaviour, separate build/ directory for intermediate objects.
FYI: @andycleanup of wmake, wclean for various improvements. Eg, more reliable clean behaviour, separate build/ directory for intermediate objects.
FYI: @andyVersion v1706Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/93Flat list output2017-02-20T18:47:25ZMark OLESENFlat list outputConvenience for situations where you'd like to output list content (eg, choices of models) as a single-line of output - as also discussed with @andy earlier this week.Convenience for situations where you'd like to output list content (eg, choices of models) as a single-line of output - as also discussed with @andy earlier this week.Version v1706Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/92Feature bbox improvements2017-02-03T10:56:52ZMark OLESENFeature bbox improvementsVersion v1706Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/89ENH: runTimePostProcessing - added option to clear/remove objects after use2016-12-15T15:51:15ZAndrew HeatherENH: runTimePostProcessing - added option to clear/remove objects after useWhen specifying line and surface function-object-based visualisation, use the optional `clearObjects` flag to indicate that source objects should be removed/cleared after use.
Test case: [cavity.tgz](/uploads/62cc2761d132f42456f2af08f14...When specifying line and surface function-object-based visualisation, use the optional `clearObjects` flag to indicate that source objects should be removed/cleared after use.
Test case: [cavity.tgz](/uploads/62cc2761d132f42456f2af08f1499eba/cavity.tgz)
Syntax:
```
surfaces
{
cuttingPlane1
{
type functionObject;
functionObject cuttingPlane;
clearObjects yes; // new option
...
```
Note: only files that have been used will be removed, e.g. if a function object has created multiple surface files, unused files will remain at the end of the run - in the attached case the p surface remains...Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/88Integration of ihcantabria wave models2017-05-23T15:12:23ZAndrew HeatherIntegration of ihcantabria wave modelsIntegration of functionality produced by The Environmental Hydraulics Institute "IHCantabria" (http://www.ihcantabria.com/en/)
- Original code introduced in commit f5ae874b
- Restructured and updated by OpenCFD into a new `waveModels...Integration of functionality produced by The Environmental Hydraulics Institute "IHCantabria" (http://www.ihcantabria.com/en/)
- Original code introduced in commit f5ae874b
- Restructured and updated by OpenCFD into a new `waveModels` library available to the interFoam family of solvers
Main source:
`$FOAM_SRC/waveModels`
Tutorials:
`$FOAM_TUTORIALS/multiphase/interFoam/laminar/waveExample*`
Capabilities include:
- Wave generation
- Solitary wave using Boussinesq theory
- Cnoidal wave theory
- StokesI, StokesII, StokesV wave theory
- Active wave absorption at the inflow/outflow boundaries based on shallow water theory
IHCantabria Authors:
- Javier Lopez Lara (jav.lopez@unican.es)
- Gabriel Barajas (barajasg@unican.es)
- Inigo Losada (losadai@unican.es)
Based on the references
- [Higuera, P., Lara, J.L. and Losada, I.J. Three-Dimensional Interaction of Waves and Porous Coastal Structures using OpenFOAM. Part I: Formulation and Validation, Coastal Engineering, 83:243-258, 2014](http://dx.doi.org/10.1016/j.coastaleng.2013.08.010)
- [Higuera, P., Lara, J.L. and Losada, I.J. Three-Dimensional Interaction of Waves and Porous Coastal Structures using OpenFOAM. Part II: Application, Coastal Engineering, 83:259-270, 2014](http://dx.doi.org/10.1016/j.coastaleng.2013.09.002)
- [Higuera, P., Lara, J.L. and Losada, I.J. Simulating Coastal Engineering Processes with OpenFOAM. Coastal Engineering, 71:119-134, 2013](http://dx.doi.org/10.1016/j.coastaleng.2012.06.002)
- [Higuera, P., Lara, J.L. and Losada, I.J. Realistic Wave Generation and Active Wave Absorption for Navier-Stokes Models, Application to OpenFOAM. Coastal Engineering, 71:102-118, 2013](http://dx.doi.org/10.1016/j.coastaleng.2012.07.002)
Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/87Surf field sampling2016-12-15T17:34:46ZMark OLESENSurf field samplingVersion v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/86ENH: Usage of locationsInMesh for tutorial and other fix2016-12-14T11:17:24ZPrashant SonakarENH: Usage of locationsInMesh for tutorial and other fix- Example for Using multiple locations in mesh
- bugFix for rhoPimpleFoam case- Example for Using multiple locations in mesh
- bugFix for rhoPimpleFoam caseMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/83ENH: improve objectRegistry functionality (issue #322)2016-12-06T10:48:43ZMark OLESENENH: improve objectRegistry functionality (issue #322)- Recursive searching for objects within a registry is now optional
(previous it was always done).
A recursive search effectively blocks the construction of sub-sub-registries
if their names are 'masked' by some parent level sub-r...- Recursive searching for objects within a registry is now optional
(previous it was always done).
A recursive search effectively blocks the construction of sub-sub-registries
if their names are 'masked' by some parent level sub-registry with
the same name! (BUG)
- Recursive search is now turned OFF by default, which makes it consistent
with dictionary and probably causes the least number of surprises.
----
Various new convenience methods added:
lookupObjectRef()
- returns a non-const reference.
For example,
volScalarField& U = mesh().lookupObjectRef<volScalarField>("U");
Instead of
volScalarField& U = const_cast<volScalarField&>
(
mesh().lookupObject<volScalarField>("U")
);
--
lookupObjectPtr()
- returns a const pointer, and nullptr on failure.
For example,
const volScalarField* Uptr = mesh().lookupObjectPtr<volScalarField>("U");
if (Uptr)
{
const volScalarField& U = *Uptr;
...
}
Instead of
if (mesh().foundObject<volScalarField>("U"))
{
const volScalarField& U = mesh().lookupObject<volScalarField>("U");
...
}
--
lookupObjectRefPtr()
- returns a non-const pointer, and nullptr on failure.
For example,
volScalarField* Uptr = mesh().lookupObjectRefPtr<volScalarField>("U");
if (Uptr)
{
volScalarField& U = *Uptr; // use as reference
(*Uptr) = ...; // or use directly
}
Instead of
if (mesh().foundObject<volScalarField>("U"))
{
volScalarField& U = const_cast<volScalarField&>
(
mesh().lookupObject<volScalarField>("U")
);
}
--
sortedNames()
- now works with template parameters and with regular expression
matching as well.
For example,
wordList names = mesh().sortedNames();
wordList fields = mesh().sortedName<volScalarField>();
Instead of
wordList names = mesh().sortedNames();
wordList fields = mesh().names<volScalarField>();
Foam::sort(fields);
--Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/81runTimePostProcessing FO camera update2016-12-06T09:24:24ZAndrew HeatherrunTimePostProcessing FO camera update- Removed the camera 'mode'
- The (old) static camera was only appropriate when parallel
projection was inactive, and the view was centred at (0 0 0)
- Camera input now always requires 'position' and 'focalPoint'
- ...- Removed the camera 'mode'
- The (old) static camera was only appropriate when parallel
projection was inactive, and the view was centred at (0 0 0)
- Camera input now always requires 'position' and 'focalPoint'
- Clip box is now optional. Note that this is applied after the
camera
set-up and so will override the camera position
- View angle is only appropriate when not using parallel projection
- Zoom now required, applied after all other operations
- 1 = do nothing, >1 = zoom in, <1 = zoom out
Example input:
```
camera
{
// Total number of frames to generate
nFrameTotal 1;
// Parallel projection flag
parallelProjection no;
focalPoint (0 0 0);
up (0 1 0);
position (0 0 1);
// Optional entries
clipBox (-0.0206 -0.0254 -0.0005) (0.29 0.0254 0.0005);
viewAngle 20;
zoom 1.1;
}
```Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/80Feature noise multiple files2016-11-28T13:50:15ZAndrew HeatherFeature noise multiple filesEnabled pointNoise and surfaceNoise models to operate on multiple input files
- For each model, the files should be specified by the `inputFiles` keyword
- When applied to pointNoise, the file is no longer required when specifying the CS...Enabled pointNoise and surfaceNoise models to operate on multiple input files
- For each model, the files should be specified by the `inputFiles` keyword
- When applied to pointNoise, the file is no longer required when specifying the CSV input data
- the singular `inputFile` entry is still available to the surfaceNoise model for backwards compatibiltyVersion v1612https://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/79Function objects - ensure objects are up-to-date when writing2016-11-28T09:51:08ZAndrew HeatherFunction objects - ensure objects are up-to-date when writingVersion v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/76Improvements to the conversion utilities2016-11-10T14:34:33ZMark OLESENImprovements to the conversion utilitiesVarious changes associated with issue #204.
* Reduced code duplication for handling prostar conversion and IO
* Simple conversion to/from AVL/FIRE geometries
* New library basis for conversion to/from CCM geometries - handles multiple r...Various changes associated with issue #204.
* Reduced code duplication for handling prostar conversion and IO
* Simple conversion to/from AVL/FIRE geometries
* New library basis for conversion to/from CCM geometries - handles multiple regions, conformal interfaces etc. No support for film or 2d shell geometries
* Improved infrastructure for writing VTK content. Will propagate usage through other parts of the code in the future.Version v1612Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/75Feature keep sampled pids2016-11-09T14:58:43ZMark OLESENFeature keep sampled pidsRebased version of merge request !58, following ticket closure for issue #104 .Rebased version of merge request !58, following ticket closure for issue #104 .Version v1612Mark OLESENMark OLESEN