-
Notifications
You must be signed in to change notification settings - Fork 0
/
features.html
349 lines (323 loc) · 15.7 KB
/
features.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" integrity="sha384-b6lVK+yci+bfDmaY1u0zE8YYJt0TZxLEAFyYSLHId4xoVvsrQu3INevFKo+Xir8e" crossorigin="anonymous">
<link href="styles.css" rel="stylesheet">
<link rel="shortcut icon" type="image/png" href="Favicon.png">
<title>Swan — Open-source topology optimization toolbox</title>
<meta name="description" content="Swan is an open-source topology optimization toolbox capable of performing structural and material design.">
<meta name="google-site-verification" content="pr_Jm0UnfZOkjon7KUwwYKTzAtx8v9-VLXi1uvzTMWw" />
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark bg-dark sticky-top">
<div class="container navbar-collapse collapse w-100 order-1 order-md-0 dual-collapse2">
<div class="mx-auto order-0">
<a class="navbar-brand mx-auto" href="index.html"><img src="SwanLogo_White.png" height="32px"></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#uwual-collapse2" aria-controls="uwual-collapse2" aria-expanded="false" aria-label="Toggle Navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="navbar-collapse collapse w-100 order-3 dual-collapse2" id="uwual-collapse2">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="results.html">Results</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">About</a>
</li>
</ul>
</div>
</div>
</nav>
<main>
<!-- Hero -->
<div class="container col-xxl-8 px-4 py-5">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6">
<img src="mix.png" class="d-block mx-lg-auto img-fluid" alt="Optimally designed parts" width="700" height="500" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-3 fw-bold lh-sm mb-3">Features</h1>
<p class="lead">Dive deeper into the modules that make up Swan, the key part of its agile workflow.</p>
<div class="pt-3 d-grid gap-2 d-md-flex justify-content-md-start">
<a href="https://github.com/SwanLab/Swan"><button type="button" class="btn btn-primary rounded-pill btn-lg px-4 me-sm-3 fw-bold">Contact us</button></a>
<a href="https://github.com/SwanLab/Swan"><button type="button" class="btn btn-outline-secondary rounded-pill btn-lg px-4">Get the code</button></a>
</div>
</div>
</div>
</div>
<!-- Features -->
<div class="container px-4 py-5" id="featured-3">
<h2 class="pb-2 border-bottom">Quick rundown</h2>
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p class="lead fw-bold">
What can I use Swan for?
</p>
</div>
<div class="feature col">
<p>
Swan's versatility means that it can have as many uses as you can imagine. Here are
some examples that have motivated previous developments of the code:
<ul>
<li> Additive manufacturing</li>
<li> Lattice structures</li>
<li> Compliant mechanism designs</li>
</ul>
Check the <a class="" href="results.html">Results</a> section for additional examples.
</p>
</div>
</div>
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p class="lead fw-bold">
How do you represent the domain?
</p>
</div>
<div class="feature col">
<p>
Swan currently includes 3 methods to represent the domain:
<ul>
<li> Density-based methods</li>
<li> Phase-field methods</li>
<li> Level-set (implicit functions)</li>
</ul>
</p>
</div>
</div>
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p class="lead fw-bold">
Which optimizers can I use?
</p>
</div>
<div class="feature col">
<p>
Well, that depends on the way you represent your domain:
<ul>
<li> <b>Density-based</b>: Projected Gradient, MMA, Interior Point Method, Augmented Lagrangian, Null Space</li>
<li> <b>Level-set</b>: SLERP, Projected SLERP, Hamilton-Jacobi, Augmented Lagrangian, Null Space</li>
</ul>
</p>
</div>
</div>
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p class="lead fw-bold">
Which constraints can I use?
</p>
</div>
<div class="feature col">
<p>
So far, Swan includes the following constraints:
<ul>
<li> Compliance</li>
<li> Volume</li>
<li> Limiting von Mises stress norm</li>
<li> Minimum length scales</li>
<li> Overhang angle</li>
<li> Perimeter</li>
<li> Eigenvalue problems</li>
</ul>
</p>
</div>
</div>
</div>
<!-- Applications -->
<div class ="jumbotron bg-dark text-white">
<div class="container px-4 py-5" id="custom-cards">
<h2 class="pb-2 border-bottom">Applications</h2>
<div id="myyyy">
<div class="mt-5 mb-5 text-center">
<button class="btn btn-primary rounded-pill mx-3 mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#app1" aria-expanded="false" aria-controls="app1">
Additive manufacturing
</button>
<button class="btn btn-primary rounded-pill mx-3 mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#app2" aria-expanded="false" aria-controls="app2">
Lattice structures
</button>
<button class="btn btn-primary rounded-pill mx-3 mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#app3" aria-expanded="false" aria-controls="app3">
Metamaterial design
</button>
<button class="btn btn-primary rounded-pill mx-3 mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#app4" aria-expanded="false" aria-controls="app4">
Topology optimization
</button>
</div>
<!-- App1 -->
<div class="collapse" id="app1" data-bs-parent="#myyyy">
<div class="card card-body text-dark">
<div class="container px-4" id="featured-31">
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p>
Using Swan’s flexibility, the manufacturability of the
optimal designs can be guaranteed:
<ul>
<li> Usage of <b>perimeter</b> and <b>minimum-length-scale constraints</b> to avoid formation
of small beams in the obtained solution</li>
<li> Usage of <b>anisotropic perimeter</b> to limit the <b>overhang</b> of the solution for
additive manufacturing
</li>
</ul>
These designs are also easily exportable, making Swan the ideal toolbox to design your pieces
and 3D-print them directly.
</p>
</div>
<div class="feature col ps-5">
<p class="lead fw-bold text-end">
<figure class="figure">
<img src="features/hero-additivemanufacturing.png" class="figure-img img-fluid rounded d-block mx-lg-auto" width="200" height="500" loading="lazy" alt="...">
<figcaption class="figure-caption">Effect of limiting the minimum length
scale on the final optimized result.</figcaption>
</figure>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- App2 -->
<div class="collapse" id="app2" data-bs-parent="#myyyy">
<div class="card card-body text-dark">
<div class="container px-4" id="featured-31">
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p>
Swan can dehomogenize optimal solutions in order to
obtain feasible lattice structures:
<ul>
<li> Up to millions of variables can be used</li>
<li> Very fast optimization</li>
<li> Usage of implicit functions</li>
<li> Manufacturability ensured through constraints</li>
</ul>
</p>
</div>
<div class="feature col ps-5">
<p class="lead fw-bold text-end">
<figure class="figure">
<img src="features/hero-lattice.png" class="figure-img img-fluid rounded d-block mx-lg-auto" width="500" height="500" loading="lazy" alt="...">
<figcaption class="figure-caption">
Lattice structures optimally designed for lightweight applications.</figcaption>
</figure>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- App3 -->
<div class="collapse" id="app3" data-bs-parent="#myyyy">
<div class="card card-body text-dark">
<div class="container px-4" id="featured-31">
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p>
Swan can be used to design materials in many different
ways, including:
<ul>
<li> Usage of inverse homogenization constraints </li>
<li> An optimal topology for a microstructure is found
given a pre-established relations between the
terms of the constitutive tensor </li>
<li> Given a user-defined constitutive tensor, an
optimal topology for a microstructure is found </li>
</ul>
This is one of the main lines of research of Swan's developers.
</p>
</div>
<div class="feature col ps-5">
<p class="lead fw-bold text-end">
<figure class="figure">
<img src="features/hero-materials-negativepoisson.gif" class="figure-img img-fluid rounded d-block mx-lg-auto" width="250" height="500" loading="lazy" alt="...">
<figcaption class="figure-caption">
A material with a negative Poisson's ratio – i.e, a structure
that becomes thicker when stretched.</figcaption>
</figure>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- App4 -->
<div class="collapse" id="app4" data-bs-parent="#myyyy">
<div class="card card-body text-dark">
<div class="container px-4" id="featured-31">
<div class="row g-4 py-2 my-3 row-cols-1 row-cols-lg-2">
<div class="feature col">
<p>
Of course, Swan is capable of solving topology optimization problems like other commercial software.
Some additional features that make it stand out are:
<ul>
<li> Usage of varied constraints (see list above) that allow tailor-made solutions</li>
<li> Possibility of using different optimizers for the same problem</li>
</ul>
</p>
</div>
<div class="feature col ps-5">
<p class="lead fw-bold text-end">
<figure class="figure">
<img src="features/hero-topopt-bridge.gif" class="figure-img img-fluid rounded d-block mx-lg-auto" width="250" height="500" loading="lazy" alt="...">
<figcaption class="figure-caption">
Topology optimization of a bridge using density-based methods.</figcaption>
</figure>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Contact -->
<div class="text-secondary px-4 py-5 text-center">
<div class="py-5">
<h1 class="display-5 fw-bold text-dark">Try it yourself</h1>
<div class="col-lg-6 mx-auto">
<p class="fs-5 mb-4">
Swan is completely free and open-source, so download the code and start optimizing! Feel free to
contact us if you want to add a new feature or are not quite sure how to tackle your problem.
</p>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
<a href="https://github.com/SwanLab/Swan"><button type="button" class="btn btn-primary rounded-pill btn-lg px-4 me-sm-3 fw-bold">Contact us</button></a>
<a href="https://github.com/SwanLab/Swan"><button type="button" class="btn btn-warning rounded-pill btn-lg px-4">Get the code</button></a>
</div>
</div>
</div>
</div>
</main>
<footer class="footer mt-auto py-3 bg-light text-muted">
<div class="container px-4 py-2" id="featured-3">
<div class="row g-4 row-cols-1 row-cols-lg-3">
<div class="feature col">
<a class="navbar-brand mx-auto" href="index.html"><img src="SwanLogo_Gray.png" height="48px"></a>
</div>
<div class="feature col">
<div><a href="features.html" class="text-decoration-none link-secondary">Features</a></div>
<div><a href="results.html" class="text-decoration-none link-secondary">Results</a></div>
<div><a href="about.html" class="text-decoration-none link-secondary">About</a></div>
</div>
<div class="feature col">
<div><a href="https://github.com/SwanLab/Swan" class="text-decoration-none link-secondary">GitHub</a></div>
<div><a href="https://www.cimne.com/3610/research-areas-and-groups/computational-materials-design--analysis/composites-and-advanced-materials-for-multifunctio" class="text-decoration-none link-secondary">CAMMS</a></div>
</div>
</div>
</div>
</footer>
</body>
</html>