- 03 Jan, 2020 1 commit
-
-
- The core of the FatalIOError message was not printed due to exiting with FatalError instead of FatalIOError - Changed the TypeName in all derived classes of displacementMethod so that the toc printed by the FatalIOError corresponds to what the user should add in dynamicMeshDict
-
- 12 Dec, 2019 2 commits
-
-
- Failed due to double*Matrix<float> multiplication. Style changes - use SquareMatrix with Identity on construction - use Zero in constructors - remove trailing space and semi-colons
-
Vaggelis Papoutsis authored
The adjoint library is enhanced with new functionality enabling automated shape optimisation loops. A parameterisation scheme based on volumetric B-Splines is introduced, the control points of which act as the design variables in the optimisation loop [1, 2]. The control points of the volumetric B-Splines boxes can be defined in either Cartesian or cylindrical coordinates. The entire loop (solution of the flow and adjoint equations, computation of sensitivity derivatives, update of the design variables and mesh) is run within adjointOptimisationFoam. A number of methods to update the design variables are implemented, including popular Quasi-Newton methods like BFGS and methods capable of handling constraints like loop using the SQP or constraint projection. The software was developed by PCOpt/NTUA and FOSS GP, with contributions from Dr. Evangelos Papoutsis-Kiachagias, Konstantinos Gkaragounis, Professor Kyriakos Giannakoglou, Andy Heather [1] E.M. Papoutsis-Kiachagias, N. Magoulas, J. Mueller, C. Othmer, K.C. Giannakoglou: 'Noise Reduction in Car Aerodynamics using a Surrogate Objective Function and the Continuous Adjoint Method with Wall Functions', Computers & Fluids, 122:223-232, 2015 [2] E. M. Papoutsis-Kiachagias, V. G. Asouti, K. C. Giannakoglou, K. Gkagkas, S. Shimokawa, E. Itakura: ‘Multi-point aerodynamic shape optimization of cars based on continuous adjoint’, Structural and Multidisciplinary Optimization, 59(2):675–694, 2019
-
- 31 Oct, 2019 1 commit
-
-
OpenFOAM bot authored
-
- 17 Jun, 2019 1 commit
-
-
Vaggelis Papoutsis authored
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 into the official OpenFOAM release by OpenCFD
-
- 06 Feb, 2019 1 commit
-
-
OpenFOAM bot authored
-
- 01 Jun, 2018 1 commit
-
-
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.
-
- 21 Mar, 2018 1 commit
-
-
Mark Olesen authored
- both autoPtr and tmp are defined with an implicit construct from nullptr (but with explicit construct from a pointer to null). Thus is it safe to use 'nullptr' when returning an empty autoPtr or tmp.
-
- 26 Feb, 2018 1 commit
-
-
Mark Olesen authored
Improve alignment of its behaviour with std::unique_ptr - element_type typedef - release() method - identical to ptr() method - get() method to get the pointer without checking and without releasing it. - operator*() for dereferencing Method name changes - renamed rawPtr() to get() - renamed rawRef() to ref(), removed unused const version. Removed methods/operators - assignment from a raw pointer was deleted (was rarely used). Can be convenient, but uncontrolled and potentially unsafe. Do allow assignment from a literal nullptr though, since this can never leak (and also corresponds to the unique_ptr API). Additional methods - clone() method: forwards to the clone() method of the underlying data object with argument forwarding. - reset(autoPtr&&) as an alternative to operator=(autoPtr&&) STYLE: avoid implicit conversion from autoPtr to object type in many places - existing implementation has the following: operator const T&() const { return operator*(); } which means that the following code works: autoPtr<mapPolyMesh> map = ...; updateMesh(*map); // OK: explicit dereferencing updateMesh(map()); // OK: explicit dereferencing updateMesh(map); // OK: implicit dereferencing for clarity it may preferable to avoid the implicit dereferencing - prefer operator* to operator() when deferenced a return value so it is clearer that a pointer is involve and not a function call etc Eg, return *meshPtr_; vs. return meshPtr_();
-
- 05 Aug, 2016 1 commit
-
-
Henry Weller authored
Requires gcc version 4.7 or higher
-
- 01 Nov, 2015 1 commit
-
-
Henry Weller authored
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible compilers otherwise __func__ to provide the function name string.
-
- 04 Dec, 2012 1 commit
-
-
mattijs authored
-
- 23 Nov, 2012 1 commit
-
-
mattijs authored
-
- 14 Aug, 2011 1 commit
-
-
Henry authored
-
- 07 Jul, 2011 2 commits
- 19 Jan, 2011 1 commit
-
- 07 Jan, 2011 1 commit
-
-
graham authored
-
- 05 Jan, 2011 2 commits
-
-
Andrew Heather authored
This reverts commit b18f6cc1.
-
graham authored
-
- 13 Apr, 2010 1 commit
-
-
Mark Olesen authored
before: - 'new' prefixed to camel-cased class name: eg, someClass -> newSomeClass - 'New' prefixed to templated class name: eg, TmplClass -> NewTmplClass - 'New' suffixed to class name: eg, someClass -> someClassNew after: - consistent 'New' suffixed to class name, no change of case eg, someClass -> someClassNew eg, TmplClass -> TmplClassNew
-
- 12 Apr, 2010 1 commit
-
-
Mark Olesen authored
-
- 07 Apr, 2010 1 commit
-
-
graham authored
-
- 29 Mar, 2010 1 commit
-
-
Mark Olesen authored
-
- 30 Jun, 2009 1 commit
-
-
andy authored
-
- 17 Jun, 2009 1 commit
-
-
graham authored
-
- 31 Dec, 2008 1 commit
-
-
Mark Olesen authored
-
- 17 Jul, 2008 2 commits
-
-
graham authored
Adding exponential replusion pair potential, steering tether potential, modifying tether force base class, tether potential list container and derived tethers to take a vector argument rather than a scalar
-
graham authored
Adding exponential replusion pair potential, steering tether potential, modifying tether force base class, tether potential list container and derived tethers to take a vector argument rather than a scalar
-
- 25 Jun, 2008 2 commits
-
-
Mark Olesen authored
-
Mark Olesen authored
-
- 23 Jun, 2008 1 commit
-
-
Andrew Heather authored
-
- 17 Jun, 2008 1 commit
-
-
Andrew Heather authored
-
- 15 Apr, 2008 1 commit
-
-
OpenFOAM-admin authored
-