Skip to content
Snippets Groups Projects
Commit bd84860e authored by Vaggelis Papoutsis's avatar Vaggelis Papoutsis Committed by Andrew Heather
Browse files

ENH: added references to topology optimisation headers

parent 50d13c62
Branches
Tags
1 merge request!649ENH: update of the adjoint library and introduction of topology optimisation
......@@ -29,7 +29,32 @@ Class
Description
Signed distance field design variables for level-set based topology
optimization.
optimization (topO).
A great reference for various aspects of level-set-based topO can be found
in
Reference:
\verbatim
van Dijk, N.P., Maute, K., Langelaar, M., & & van Keulen, F. (2013).
Level-set methods for structural topology optimization: a review.
Structural and Multidisciplinary Optimization, 48, 437–472.
https://doi.org/10.1007/s00158-013-0912-y
\endverbatim
The implemented approach borrows from the references therein, but does not
follow any of them exactly. The underlaying field of the design variables
is not the level-set field but affects the latter through:
a) a regularisation approach similar to that used in porosity-based topO
(see the regularisation class and references therein) and
b) a re-initialisation strategy. Since solving a modified Hamilton-Jacobi
equation poses a number of numerical challenges, the signed distance field
is obtained by identifying the zero level-set contour using the
cutFaceIso, cutCellIso infrastucture (see references therein for the
methodology) and using these "cut-faces" as seeds for meshWave.
SourceFiles
levelSetDesignVariables.C
\*---------------------------------------------------------------------------*/
......
......@@ -37,6 +37,15 @@ Description
- 2D: area of the inlet patches divided by the span in the empty direction
- 3D: the hydraulic diameter of the inlet patches
Reference:
\verbatim
Olesen, L. H., Okkels, F., & Bruus H. (2006).
A high-level programming-language implementation of topology
optimization applied to steady-state Navier–Stokes flow.
International Journal for Numerical Methods in Engineering,
65(7), 975-1001.
https://doi.org/10.1002/nme.1468
\endverbatim
SourceFiles
betaMaxDarcy.C
......
......@@ -33,6 +33,18 @@ Description
optimisation to regularise the designed geometries and obtain 'grid
independent' solutions.
Reference:
\verbatim
Largely follows the PDE-based smoothing of
Lazarov, B. S., & Sigmund O. (2010).
Filters in topology optimization based on Helmholtz-type
differential equations.
International Journal for Numerical Methods in Engineering,
86(6), 765-781.
https://doi.org/10.1002/nme.3072
\endverbatim
SourceFiles
fieldRegularisation.C
......
......@@ -82,7 +82,7 @@ void Foam::Helmholtz::solveEqn
zeroGradientFvPatchScalarField::typeName
)
);
// If solution corresponds to the topology density field, modify boundary
// If solution corresponds to the topology porosity field, modify boundary
// conditions accordingly
if (isTopoField && growFromWalls_)
{
......
......@@ -29,7 +29,27 @@ Class
Foam::topODesignVariables
Description
Design variables for density-based topology optimisation (topO) problems
Design variables for porosity-based topology optimisation (topO) problems
Reference:
\verbatim
The main idea behind porosity-based topO can be found in
Papoutsis-Kiachagias, E. M., & Giannakoglou, K. C. (2014).
Continuous Adjoint Methods for Turbulent Flows, Applied to Shape
and Topology Optimization: Industrial Applications.
Archives of Computational Methods in Engineering, 23(2), 255-299.
http://doi.org/10.1007/s11831-014-9141-9
with regularisation and projection approaches following
Lazarov, B. S., & Sigmund O. (2010).
Filters in topology optimization based on Helmholtz-type
differential equations.
International Journal for Numerical Methods in Engineering,
86(6), 765-781.
https://doi.org/10.1002/nme.3072
\endverbatim
SourceFiles
topODesignVariables.C
......
......@@ -205,7 +205,7 @@ public:
// The interface is computed as an isoValue contour of the indicator
// field
// - 0 distance contour for levelSet or
// - 0.5 beta contour for density-based topO.
// - 0.5 beta contour for porosity-based topO.
// For levelSet topO, the process of identitying the contour sets also
// the seeds for computing the distance field in the entire domain
void writeFluidSolidInterface
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment