OpenFOAM-plus merge requestshttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests2016-10-04T07:58:05Zhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/62ENH: wallDist - added option to evaluate every XXX steps2016-10-04T07:58:05ZAndrew HeatherENH: wallDist - added option to evaluate every XXX stepsAdded functionality to update the wall distance every XXX steps
Note: only applies to movePoints() - topology change bypasses the update interval and triggers a re-calculation
Syntax:
```
wallDist
{
method ...
u...Added functionality to update the wall distance every XXX steps
Note: only applies to movePoints() - topology change bypasses the update interval and triggers a re-calculation
Syntax:
```
wallDist
{
method ...
updateInterval 5; // optional - default is 1
}
```
Test case: [mixerVesselAMI2D.tgz](/uploads/c0bee1decc0337018272f3566b6a4416/mixerVesselAMI2D.tgz)Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/65Output format2016-10-04T09:28:30ZMark OLESENOutput formatOutput changes (issues #253 , #254 , #255 , #256) as well as minor change (issue #257).
Usage of the new methods to be applied as a later patch.Output changes (issues #253 , #254 , #255 , #256) as well as minor change (issue #257).
Usage of the new methods to be applied as a later patch.Version v1612Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/69Merge preconvert2016-10-07T10:02:10ZMark OLESENMerge preconvertVery basic cleanup of some of the mesh conversion infrastructure prior to binging in large pieces of code.
- Remove ancient samm, pro-am, prostar3 routines as being unused and unsupportable (since the original products ceased existence ...Very basic cleanup of some of the mesh conversion infrastructure prior to binging in large pieces of code.
- Remove ancient samm, pro-am, prostar3 routines as being unused and unsupportable (since the original products ceased existence over 10 years ago).
- Open protected access to some meshReader bits, to help when implementing polyhedral readers.
- Drop meshReaders/meshWriters namespace, use fileFormats instead.
- Reorganize file-structure within src/conversion.Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/71Common endian handling. Provide base64 output encoding.2016-10-18T16:05:19ZMark OLESENCommon endian handling. Provide base64 output encoding.Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/74Provide common face area/normal support in PrimitivePatch2016-11-03T08:20:44ZMark OLESENProvide common face area/normal support in PrimitivePatchFor polyPatch, both the faceAreas() and faceCentres() are masked by their subField equivalents.
Since there is no polyPatch method for magFaceAreas(), the PrimitivePatch method will be seen.For polyPatch, both the faceAreas() and faceCentres() are masked by their subField equivalents.
Since there is no polyPatch method for magFaceAreas(), the PrimitivePatch method will be seen.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 OLESENhttps://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/72External coupled2016-11-15T09:49:59ZMark OLESENExternal coupledImprovements and bugfixes for externalCoupledFunctionObject - issues #278 #269Improvements and bugfixes for externalCoupledFunctionObject - issues #278 #269Version v1612Andrew HeatherAndrew Heatherhttps://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/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/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/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/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/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/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/87Surf field sampling2016-12-15T17:34:46ZMark OLESENSurf field samplingVersion v1612Andrew HeatherAndrew Heatherhttps://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/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/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/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 Heather