1 Introduction
2 Mathematical formulation of force density method
2.1 Equilibrium of reticulate structures using force densities
2.2 Networks with fixed horizontal projection
2.3 Independent edges as the null-space of the equilibrium matrix
3 On the selection of independent edges for structural topologies
3.1 An algorithm to select independent edges
3.1.1 Heuristics-based approaches for select pattern types
3.1.2 General rank-based approach
3.2 Characteristics of the independent edge selection problem
3.2.1 Validity in independent edge set selection understood geometrically
3.2.2 Sequential and combinatorial complexity
3.2.3 Optimality in valid independent edge selection based on sensitivity
4 Numerical consequences of independent edge selection
4.1 Relation with conditioning & implication to design space
4.2 Relating matrix conditioning to the efficacy of numerical algorithms
4.2.1 Design space exploration
4.2.2 Gradient-based optimisation
4.2.3 Stochastic optimisation
5 Pattern design & data space
5.1 Pattern design space
\({{\varvec{\Gamma}}}_{i}\) | (A)\({{\varvec{\Gamma}}}_{1}\) | (B)\({{\varvec{\Gamma}}}_{2}\) | (C)\({{\varvec{\Gamma}}}_{3}\) |
---|---|---|---|
[\({\mathbb{k}}_{i,\mathrm{ min}}\), \({\mathbb{k}}_{i,\mathrm{ max}}\)] \({\mathbb{k}}_{i,\mathrm{ mean}}\);\({\mathbb{k}}_{i,\mathrm{ median}}\) | [6.2, 257,300.8] 10,645.9, 853.7 | [3.0, 468,442.2] 4406.9; 236.96 | [26.3, 145,664.4] 5807.27; 843.05 |
\({E}_{{\text{I}}, i,1}\) | ![]() | ![]() | ![]() |
\(\kappa \left({\mathbf{E}}_{\mathbf{D}, i,1}\right)\) | 20.6 | 7.4 | 36.6 |
\({E}_{{\text{I}}, i,2}\) | ![]() | ![]() | ![]() |
\(\kappa \left({\mathbf{E}}_{\mathbf{D}, i,2}\right)\) | 78.1 | 27.2 | 150.2 |
\({E}_{{\text{I}}, i,3}\) | ![]() | ![]() | ![]() |
\(\kappa \left({\mathbf{E}}_{\mathbf{D}, i,3}\right)\) | 17,854.3 | 9062.3 | 144,373.3 |
5.2 Pattern design data space and generation pipeline
6 Data-driven trans-topology method to select independent edges
6.1 Framework based on Deep Q-learning
6.2 Model agent & action space
-
Select Edge: The \(\mathcal{Q}\)-values corresponding to the selection of all edges were contained by \({\widehat{\mathcal{Q}}}^{\rm{e}(t)}\), with each e-th entry, or \({\widehat{\mathcal{Q}}}_{\left[e,1\right]}^{{\text{e}}\left(t\right)}\) referring to an edge e. At each step, masking was applied so that only the values from the remaining unpicked edges \({\widehat{E}}_{{\text{D}}}^{(t)}=E\setminus {\widehat{E}}_{{\text{I}}}^{\left(t\right)}\) were considered.
-
Stop: After \(\left|E\right|-{\text{rank}}\left(\mathbf{E}\right)\) valid edges had been picked (see Eq. (9)), the stop action was automatically executed. It existed for training and accounting purposes to provide a clean separation on the attribution of final and intermediate rewards, which are defined in Sect. 6.3.2.
6.2.1 State representation
(1) Features | (2) Value ranges | (3) Descriptions | |
---|---|---|---|
Matrix Per Elem | Vector component | ||
\({\mathbf{X}}^{\mathbf{v}}\) | \({\mathbf{x}}^{\mathbf{v}}\), \({\mathbf{y}}^{\mathbf{v}}\) | [ − 10.0, 10.0] | x- and y-Coordinate |
\({\mathbf{b}}^{\mathbf{v}}\) | {0.0, 1.0} | Mesh boundary conditions | |
\({\mathbf{s}}^{\mathbf{v}}\) | {0.0, 1.0} | Structural support conditions | |
\({\mathbf{d}\mathbf{e}\mathbf{g}}_{\uparrow }^{\mathbf{v}}\) | Degree: upper adjacency | ||
\({\mathbf{p}}_{\mathbf{z}}^{\mathbf{v}}\) | [0.0, 1.0] | Applied force along z-axis | |
\({\mathbf{a}}_{\mathbf{x}\mathbf{y}}^{\mathbf{v}}\), \({\mathbf{a}}_{\mathbf{x}\mathbf{y}\mathbf{z}}^{\mathbf{v}}\) | [0.05, 5.0] | Areas: 2-D & 3-D | |
\({\mathbf{n}}_{\mathbf{x}}^{\mathbf{v}}\), \({\mathbf{n}}_{\mathbf{y}}^{\mathbf{v}}, {\mathbf{n}}_{\mathbf{z}}^{\mathbf{v}}\) | [ − 1.0, 1.0] | Normal | |
\({\mathbf{v}}_{1}^{\mathbf{v}}, {\mathbf{v}}_{\mathbf{k}}^{\mathbf{v}}\dots {\mathbf{v}}_{\mathbf{K}}^{\mathbf{v}}\) | [ − 1.0, 1.0] | Laplacian positional encoding | |
\({\mathbf{X}}^{\mathbf{e}}\) | \({\mathbf{c}}_{\mathbf{x}}^{\mathbf{e}}\), \({\mathbf{c}}_{\mathbf{y}}^{\mathbf{e}}, {\mathbf{c}}_{\mathbf{z}}^{\mathbf{e}}\) | [ − 10.0, 10.0] | Centroid coordinates |
\({\mathbf{l}}_{\mathbf{x}\mathbf{y}}^{\mathbf{e}}\), \({\mathbf{l}}_{\mathbf{x}\mathbf{y}\mathbf{z}}^{\mathbf{e}}\) | [0.05, 4.0] | Lengths: 2-D & 3-D | |
\({\mathbf{b}}^{\mathbf{e}}\) | {0.0, 0.5, 1.0} | Boundary conditions | |
\({\mathbf{d}\mathbf{e}\mathbf{g}}_{\downarrow }^{\mathbf{v}}\), \({\mathbf{d}\mathbf{e}\mathbf{g}}_{\uparrow }^{\mathbf{v}}\) | Degree: lower & upper adjacency | ||
\({\mathbf{X}}^{\mathbf{f}}\) | \({\mathbf{c}}_{\mathbf{x}}^{\mathbf{f}}\), \({\mathbf{c}}_{\mathbf{y}}^{\mathbf{f}}\) | [ − 10.0, 10.0] | Centroid coordinates |
\({\mathbf{n}}_{\mathbf{x}}^{\mathbf{f}}\), \({\mathbf{n}}_{\mathbf{y}}^{\mathbf{f}}\) | [ − 1.0, 1.0] | Normal | |
\({\mathbf{a}}_{\mathbf{x}\mathbf{y}}^{\mathbf{f}}\), \({\mathbf{a}}_{\mathbf{x}\mathbf{y}\mathbf{z}}^{\mathbf{f}}\) | [0.05, 5.0] | Areas: 2-D & 3-D | |
\({\mathbf{d}\mathbf{e}\mathbf{g}}_{\downarrow }^{{\varvec{f}}}\) | Degree: lower adjacency |
6.2.2 Geometric deep learning
6.3 Environment
6.3.1 Evaluation
6.3.2 Reward
6.3.2.1 Remapping value
6.3.2.2 Final reward
6.3.2.3 Percentile reward
6.3.2.4 Improvement reward
6.4 Model optimisation
7 Results
7.1 Basic training statistics & configuration
7.2 On training design set
7.2.1 Quadrilateral designs
7.2.2 On pattern types without structure & regularity
\({{\varvec{\Gamma}}}_{i}\) | (A) | (B) | (C) |
---|---|---|---|
![]() | ![]() | ![]() | |
\(\kappa \left({\widehat{\mathbf{E}}}_{\mathbf{D},i}\right)\) | 6.54 | 8.34 | 17.1 |
[\({\kappa }_{i,\mathrm{ min}}\), \({\kappa }_{i,\mathrm{ max}}\)] \({\kappa }_{i,\mathrm{ mean}}\);\({\kappa }_{i,\mathrm{ median}}\) | [2.9, 193,898.0] 1689.7; 35.27 | [3.0, 468,442.2] 4406.9; 236.96 | [26.3, 145,664.4] 5807.27; 843.05 |
\({{\varvec{\Gamma}}}_{i}\) | (D) | (E) | (F) |
![]() | ![]() | ![]() | |
\(\kappa \left({\widehat{\mathbf{E}}}_{\mathbf{D},i}\right)\) | 11.0 | 9.2 | 83.9 |
[\({\kappa }_{i,\mathrm{ min}}\), \({\kappa }_{i,\mathrm{ max}}\)] \({\kappa }_{i,\mathrm{ mean}}\);\({\kappa }_{i,\mathrm{ median}}\) | [8.2, 107,450.9] 2057.6; 236.8 | [5.4, 940.0] 122.7; 47.6 | [26.3, 145,664.4] 5807.27; 843.05 |
\({{\varvec{\Gamma}}}_{i}\) | (G) | (H) | (I) |
![]() | ![]() | ![]() | |
\(\kappa \left({\widehat{\mathbf{E}}}_{\mathbf{D},i}\right)\) | 7.36 | 13.5 | 16.5 |
[\({\kappa }_{i,\mathrm{ min}}\), \({\kappa }_{i,\mathrm{ max}}\)] \({\kappa }_{i,\mathrm{ mean}}\);\({\kappa }_{i,\mathrm{ median}}\) | [3.0, 468,442.2] 4406.9; 236.9 | [14.26, 265,315.2] 16,050.9; 637.48 | [7.1, 299,278.2] 2346.9; 181.9 |
7.2.3 On out-of-distribution structured pattern
\({{\varvec{\Gamma}}}_{i}\) | (A)\({{\varvec{\Gamma}}}_{1}\) | (B)\({{\varvec{\Gamma}}}_{2}\) | (C)\({{\varvec{\Gamma}}}_{3}\) |
---|---|---|---|
![]() | ![]() | ![]() | |
\(\kappa \left({\widehat{\mathbf{E}}}_{\mathbf{D},i}\right)\) | 13.9 | 48.0 | 155.6 |
\(\kappa \left({{\mathbf{E}}}_{\mathbf{D},{\text{heuristic}}}\right)\) | 13.9 | 50.3 | 138.6 |
\([ {\kappa }_{i,\mathrm{ min}}\),\({\kappa }_{i,\mathrm{ max}} ]\) \({\kappa }_{i,\mathrm{ mean}}\);\({\kappa }_{i,\mathrm{ median}}\) | [13.78, 21.79] 15.35; 14.35; | [41.59, 129.2] 55.65; 50.19 | [103.64, 402.32] 157.79; 143.38 |
\({{\varvec{\Gamma}}}_{i}\) | (A)\({{\varvec{\Gamma}}}_{1}\) | (B)\({{\varvec{\Gamma}}}_{2}\) | (C)\({{\varvec{\Gamma}}}_{3}\) | (D)\({{\varvec{\Gamma}}}_{4}\) |
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | |
\(\kappa \left({\widehat{\mathbf{E}}}_{\mathbf{D},i}\right)\) | 36.7 | 106.6 | 345.9 | 534.1 |
\([ {\kappa }_{i,\mathrm{ min}}\),\({\kappa }_{i,\mathrm{ max}} ]\) \({\kappa }_{i,\mathrm{ mean}}\);\({\kappa }_{i,\mathrm{ median}}\) | [29.87, 69.94] 41.65; 41.11 | [128.94, 1598.12] 287.68; 264.21 | [320.48, 3579.90] 759.87; 716.41 | [520.68, 12,452.96] 1373.82; 1052.33 |