OpenFOAM-plus merge requestshttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests2019-12-04T11:06:47Zhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/269Integration adjoint2019-12-04T11:06:47ZAndrew HeatherIntegration adjoint## New adjoint optimisation and tools
A set of libraries and executables creating a workflow for performing
gradient-based optimisation loops. The main executable (adjointOptimisationFoam)
solves the flow (primal) equations, followe...## New adjoint optimisation and tools
A set of libraries and executables creating a workflow for performing
gradient-based optimisation loops. The main executable (adjointOptimisationFoam)
solves the flow (primal) equations, followed by the adjoint equations and,
eventually, the computation of sensitivity derivatives.
Current functionality supports the solution of the adjoint equations for
incompressible turbulent flows, including the adjoint to the Spalart-Allmaras
turbulence model and the adjoint to the nutUSpaldingWallFunction, [1], [2].
Sensitivity derivatives are computed with respect to the normal displacement of
boundary wall nodes/faces (the so-called sensitivity maps) following the
Enhanced Surface Integrals (E-SI) formulation, [3].
The software was developed by PCOpt/NTUA and FOSS GP, with contributions from
- Dr. Evangelos Papoutsis-Kiachagias,
- Konstantinos Gkaragounis,
- Professor Kyriakos Giannakoglou,
- Andy Heather
and contributions in earlier version from
- Dr. Ioannis Kavvadias,
- Dr. Alexandros Zymaris,
- Dr. Dimitrios Papadimitriou
[1] A.S. Zymaris, D.I. Papadimitriou, K.C. Giannakoglou, and C. Othmer.
Continuous adjoint approach to the Spalart-Allmaras turbulence model for
incompressible flows. Computers & Fluids, 38(8):1528–1538, 2009.
[2] E.M. Papoutsis-Kiachagias and K.C. Giannakoglou. Continuous adjoint methods
for turbulent flows, applied to shape and topology optimization: Industrial
applications. 23(2):255–299, 2016.
[3] I.S. Kavvadias, E.M. Papoutsis-Kiachagias, and K.C. Giannakoglou. On the
proper treatment of grid sensitivities in continuous adjoint methods for shape
optimization. Journal of Computational Physics, 301:1–18, 2015.
## Integration
Integration into the official OpenFOAM release by OpenCFDv1906Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/210Feature processor level of detail (LOD)2018-06-25T07:55:22ZAndrew HeatherFeature processor level of detail (LOD)Adds a new method to calculate processor distribution maps as an alternative to the AABBTree; currently available to the mapFieldsPar utility via a new command line optionAdds a new method to calculate processor distribution maps as an alternative to the AABBTree; currently available to the mapFieldsPar utility via a new command line optionv1806https://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/205Feature iso advector AMR2018-06-13T13:44:39ZJohan RoenbyFeature iso advector AMR1. interIsoFoam rewritten based on the new interFoam including DyM functionality.
2. isoAdvection, isoCutFace and isoCutCell classes modified to work with AMR (dynamicRefineFvMesh).
3. Refactoring of isoAdvection, isoCutFace and isoCut...1. interIsoFoam rewritten based on the new interFoam including DyM functionality.
2. isoAdvection, isoCutFace and isoCutCell classes modified to work with AMR (dynamicRefineFvMesh).
3. Refactoring of isoAdvection, isoCutFace and isoCutCell (not related to AMR functionality).
4. Included damBreakWithObstacle test case for interIsoFoam with dynamicRefineFvMesh.
5. Added discInConstantFlowCyclicBC case for interIsoFoam to confirm proper behaviour with cyclic BC's (not AMR related).
I have tested the changes by compiling, running all interIsoFoam tutorials and verified visually that everything looks OK.
Known issue: isoCutFace sometimes gives a warning related to an edge being cut multiple times by the isoFace (There are around 20 such warnings in the damBreakWithObstacle log). It does not seem to have any effect on the results. I have not so far been able to locate the cause of these warnings.
Best regards
Johanv1806Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/174consolidate surfaceFormats for reading/writing triSurface2017-11-30T08:46:44ZMark OLESENconsolidate surfaceFormats for reading/writing triSurface- eliminates previous code duplication and improves maintainability
- issue #294
- eliminates previous code duplication and improves maintainability
- issue #294
v1712Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/146improve consistency in parsing primitives from strings2017-09-25T17:28:48ZMark OLESENimprove consistency in parsing primitives from stringsThe motivation is to provide a simpler and safer means of extracting integers and labels from strings. There are several benefits:
- catch bad label/scalar input for command-line options/arguments which may be human generated or via s...The motivation is to provide a simpler and safer means of extracting integers and labels from strings. There are several benefits:
- catch bad label/scalar input for command-line options/arguments which may be human generated or via scripts.
- easier/clear to work with when input has already been lexed, without using an IStringStream()
- work directly with C++ strings instead of C-string.
@andyv1712Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/119INT: Integration of isoAdvector and supporting material2017-06-21T16:22:26ZAndrew HeatherINT: Integration of isoAdvector and supporting materialCommunity contribution from Johan Roenby, DHI
IsoAdvector is a geometric Volume-of-Fluid method for advection of a
sharp interface between two incompressible fluids. It works on both
structured and unstructured meshes with no requir...Community contribution from Johan Roenby, DHI
IsoAdvector is a geometric Volume-of-Fluid method for advection of a
sharp interface between two incompressible fluids. It works on both
structured and unstructured meshes with no requirements on cell shapes.
IsoAdvector is as an alternative choice for the interface compression
treatment with the MULES limiter implemented in the interFoam family
of solvers.
The isoAdvector concept and code was developed at DHI and was funded
by a Sapere Aude postdoc grant to Johan Roenby from The Danish Council
for Independent Research | Technology and Production Sciences (Grant-ID:
DFF - 1337-00118B - FTP).
Co-funding is also provided by the GTS grant to DHI from the Danish
Agency for Science, Technology and Innovation.
The ideas behind and performance of the isoAdvector scheme is
documented in:
Roenby J, Bredmose H, Jasak H. 2016 A computational method for sharp
interface advection. R. Soc. open sci. 3: 160405.
[http://dx.doi.org/10.1098/rsos.160405](http://dx.doi.org/10.1098/rsos.160405)
Videos showing isoAdvector's performance with a number of standard
test cases can be found in this youtube channel:
https://www.youtube.com/channel/UCt6Idpv4C8TTgz1iUX0prAA
Project contributors:
* Johan Roenby <jro@dhigroup.com> (Inventor and main developer)
* Hrvoje Jasak <hrvoje.jasak@fsb.hr> (Consistent treatment of
boundary faces including processor boundaries, parallelisation,
code clean up
* Henrik Bredmose <hbre@dtu.dk> (Assisted in the conceptual
development)
* Vuko Vukcevic <vuko.vukcevic@fsb.hr> (Code review, profiling,
porting to foam-extend, bug fixing, testing)
* Tomislav Maric <tomislav@sourceflux.de> (Source file
rearrangement)
* Andy Heather <a.heather@opencfd.co.uk> (Integration into OpenFOAM
for v1706 release)
See the integration repository below for the full set of changes
undertaken as part of the integration into OpenFOAM v1706
https://develop.openfoam.com/Community/Integration-isoAdvectorVersion v1706https://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/105Dict lookup2017-05-02T15:37:58ZMark OLESENDict lookupVersion 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/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/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/50Feature noise2016-06-29T20:44:40ZAndrew HeatherFeature noiseNew functionality includes:
- run-time selectable noise models: point|surface
- run-time selectable window models: Hanning (+ options symmetric, extended), uniform
- calculates PSD (Pa^2/Hz) and dB/HZ; SPL (Pa^2) and dB
- calculates ...New functionality includes:
- run-time selectable noise models: point|surface
- run-time selectable window models: Hanning (+ options symmetric, extended), uniform
- calculates PSD (Pa^2/Hz) and dB/HZ; SPL (Pa^2) and dB
- calculates 1/3 octave data, with centre frequency 1kHz
surfaceNoise only:
- reads ascii/binary ensight surface data (requires collateTimes option)
- generates graphs for surface average quantities
- operates in parallelAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/23ENH: Updated regionModels from internal development line2015-12-11T20:45:30ZAndrew HeatherENH: Updated regionModels from internal development lineFunctionality migration from internal development lineMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/22ENH: Updated lagrangian libraries from internal development line2015-12-08T17:55:52ZAndrew HeatherENH: Updated lagrangian libraries from internal development lineFunctionality migration from internal development lineMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/21Feature utils2015-12-02T12:01:21ZAndrew HeatherFeature utilsUpdated utilities bases on our internal development line
Still to do:
- update ParaView module builds to build alongside standard OpenFOAM code in separate directoryUpdated utilities bases on our internal development line
Still to do:
- update ParaView module builds to build alongside standard OpenFOAM code in separate directoryMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/20Feature turbulence2015-12-01T10:45:03ZAndrew HeatherFeature turbulenceIntegration of new kOmega SST turbulence model variants: DES, DDES, IDDES
Initially supplied by CFD Software E+F GmbH
Integration of new kOmega SST turbulence model variants: DES, DDES, IDDES
Initially supplied by CFD Software E+F GmbH
Functionality migration from internal development lineMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/merge_requests/17Feature turbulence2015-11-27T17:00:00ZAndrew HeatherFeature turbulenceTurbulence updates from our internal development line:
- Added DESModel base class for DES models
- Moved DES models to separate DES directory
- Added DESModelRegions function object
- Updated porousBafflePressure BC to use DataEntry...Turbulence updates from our internal development line:
- Added DESModel base class for DES models
- Moved DES models to separate DES directory
- Added DESModelRegions function object
- Updated porousBafflePressure BC to use DataEntry class for D and I inputs
- Documentation updatesFunctionality migration from internal development lineMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.com