openfoam merge requestshttps://develop.openfoam.com/Development/openfoam/-/merge_requests2016-12-06T09:24:24Zhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/81runTimePostProcessing FO camera update2016-12-06T09:24:24ZAdminrunTimePostProcessing 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 v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/82New feature extract eulerian particles2016-12-14T15:57:12ZAdminNew feature extract eulerian particlesNew functionality to extract particle data from multiphase calculations and replay the data in lagrangian cases, using both the raw input particle data, and data processed into a (smaller) set of injection locations.New functionality to extract particle data from multiphase calculations and replay the data in lagrangian cases, using both the raw input particle data, and data processed into a (smaller) set of injection locations.Version v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/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 v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/84Feature cell set remove2016-12-07T15:28:01ZMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comFeature cell set removeRemove cellSets etc. so -overwite does not keep old info.Remove cellSets etc. so -overwite does not keep old info.Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/85Pstream: added maxCommsSize setting to do (unstructured) parallel transfers i...2016-12-14T15:18:44ZMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comPstream: added maxCommsSize setting to do (unstructured) parallel transfers in blocks.Tested:
- with maxCommsSize 0 produces exactly same result as plus.develop
- compiles with label64
- with maxCommsSize e.g. 3 produces exactly same result as plus.develop
- with maxCommsSize=0 exactly the same messages (with Pstream:...Tested:
- with maxCommsSize 0 produces exactly same result as plus.develop
- compiles with label64
- with maxCommsSize e.g. 3 produces exactly same result as plus.develop
- with maxCommsSize=0 exactly the same messages (with Pstream::debug = 1) as plus.developAdminAdminhttps://develop.openfoam.com/Development/openfoam/-/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/-/merge_requests/87Surf field sampling2016-12-15T17:34:46ZMark OLESENSurf field samplingVersion v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/88Integration of ihcantabria wave models2017-05-23T15:12:23ZAdminIntegration 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 v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/89ENH: runTimePostProcessing - added option to clear/remove objects after use2016-12-15T15:51:15ZAdminENH: 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 v1612AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/90added optional argument description (Fixes #347)2016-12-16T07:13:24ZPrashant Sonakaradded optional argument description (Fixes #347)Optional argument listed.
@andy @mark Could you confirm/merge?Optional argument listed.
@andy @mark Could you confirm/merge?Version v1612Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/91adding viewFactorWall to inGroups fixes #3842017-01-17T12:46:00ZPrashant Sonakaradding viewFactorWall to inGroups fixes #384@Sergio@SergioAdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/92Feature bbox improvements2017-02-03T10:56:52ZMark OLESENFeature bbox improvementsVersion v1706AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/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/-/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/-/merge_requests/95Use subDict for changeDictionary, Fixes #4092017-02-23T11:02:24ZPrashant SonakarUse subDict for changeDictionary, Fixes #409AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/96Fixes #4162017-03-02T08:57:52ZPrashant SonakarFixes #416AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/97Subset list2017-03-08T12:31:28ZMark OLESENSubset listSupport for lambdasSupport for lambdasSergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/openfoam/-/merge_requests/98ENH: Feature noise additions2017-03-16T05:16:22ZAdminENH: 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 v1706AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/99Integration foundation2017-05-22T13:06:38ZAdminIntegration foundationIntegrated Foundation developments to d2a62df:
- externalWallHeatFluxTemperature: Added optional support for radiative flux to the outside 2017-04-26.
Next Foundation commit introduced large changes to the particle tracking algorit...Integrated Foundation developments to d2a62df:
- externalWallHeatFluxTemperature: Added optional support for radiative flux to the outside 2017-04-26.
Next Foundation commit introduced large changes to the particle tracking algorithm - chosen not to include this change set until the code is more fully tested. Some additional cherry-picks have been integrated to resolve further bugs:
- a7711038d (fnd 1bb7db2b7) - CrankNicolsonDdtScheme: Corrected input of off-centering coefficient of 1 2017-05-11
- 1765b5a4a (fnd d26c6c342) - DPMDyMFoam, DPMDyMFoam: Corrected support for closed-domain simulations 2017-05-04
- 0da6a5f79 (fnd 1328b5be0) - surfaceTensionModels: Resolved warning from Clang concerning virtual function overload 2017-05-03
- 23210323e (fnd 7acfa95ea) - thermophysicalModels: Corrected alphah to be enthalpy based 2017-05-03
Main changes
- abc50e214 Updated thermo libraries to be mass based (was molar based)
- Moved edgeMesh library code inside meshTools library
- Many run-time selectable models can now use in-line dictionary input as opposed to specifying a sub <model>Coeffs dictionary
- Energy source refactored in thermo library (Sh, Qdot Qr->qr)
Other
- distributionModels - top level distributionModel class no longer in the distributionModels namespace
Deprecated
- 55f3e808e sixDoFRigidBodyDisplacementPointPatchVectorField and uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
Status:
- Tutorial Alltest loop completes except for:
- multiphase/compressibleInterDyMFoam/laminar/sphereDrop/log.compressibleInterDyMFoam: change in set-up required due to deprecation of boundary conditions
- combustion/fireFoam/LES/simplePMMApanel/log.fireFoam: reaction system problem for solid->gas reactions
Version v1706https://develop.openfoam.com/Development/openfoam/-/merge_requests/100ENH: 2nd order restart: initialise state variables in thermo if running 2nd o...2017-04-04T11:59:49ZAdminENH: 2nd order restart: initialise state variables in thermo if running 2nd orderSet debug flag to 2 for GeometricField and oldTime will print stacktrace.
If any oldTime auto-creation originates from backwards it needs studying
whether the input should be for the old time as well.Set debug flag to 2 for GeometricField and oldTime will print stacktrace.
If any oldTime auto-creation originates from backwards it needs studying
whether the input should be for the old time as well.