@theerapat-s28/ts-structural-eng-tools 2.3.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +80 -1
  2. package/README.md +35 -11
  3. package/dist/core/constants/frame.constant.d.ts +15 -0
  4. package/dist/core/constants/frame.constant.js +16 -1
  5. package/dist/core/constants/frame.constant.js.map +1 -1
  6. package/dist/core/errors/frame-analysis.error.d.ts +1 -0
  7. package/dist/core/errors/frame-analysis.error.js +18 -2
  8. package/dist/core/errors/frame-analysis.error.js.map +1 -1
  9. package/dist/core/index.d.ts +1 -1
  10. package/dist/core/index.js +2 -1
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/esm/core/constants/frame.constant.js +15 -0
  13. package/dist/esm/core/constants/frame.constant.js.map +1 -1
  14. package/dist/esm/core/errors/frame-analysis.error.js +18 -2
  15. package/dist/esm/core/errors/frame-analysis.error.js.map +1 -1
  16. package/dist/esm/core/index.js +1 -1
  17. package/dist/esm/core/index.js.map +1 -1
  18. package/dist/esm/fea/frame/elements/shell/dkq-plate.js +109 -0
  19. package/dist/esm/fea/frame/elements/shell/dkq-plate.js.map +1 -0
  20. package/dist/esm/fea/frame/elements/shell/flat-shell.js +111 -0
  21. package/dist/esm/fea/frame/elements/shell/flat-shell.js.map +1 -0
  22. package/dist/esm/fea/frame/elements/shell/membrane-quad.js +107 -0
  23. package/dist/esm/fea/frame/elements/shell/membrane-quad.js.map +1 -0
  24. package/dist/esm/fea/frame/elements/shell/quad-geometry.js +127 -0
  25. package/dist/esm/fea/frame/elements/shell/quad-geometry.js.map +1 -0
  26. package/dist/esm/fea/frame/elements/shell/rigidity.js +19 -0
  27. package/dist/esm/fea/frame/elements/shell/rigidity.js.map +1 -0
  28. package/dist/esm/fea/frame/elements/shell/shell-axes.js +97 -0
  29. package/dist/esm/fea/frame/elements/shell/shell-axes.js.map +1 -0
  30. package/dist/esm/fea/frame/mesh/expand-model.js +129 -0
  31. package/dist/esm/fea/frame/mesh/expand-model.js.map +1 -0
  32. package/dist/esm/fea/frame/mesh/mesh-shells.js +239 -0
  33. package/dist/esm/fea/frame/mesh/mesh-shells.js.map +1 -0
  34. package/dist/esm/fea/frame/post/envelope.js +38 -1
  35. package/dist/esm/fea/frame/post/envelope.js.map +1 -1
  36. package/dist/esm/fea/frame/post/member-diagram.js +51 -2
  37. package/dist/esm/fea/frame/post/member-diagram.js.map +1 -1
  38. package/dist/esm/fea/frame/post/present-state.js +34 -16
  39. package/dist/esm/fea/frame/post/present-state.js.map +1 -1
  40. package/dist/esm/fea/frame/post/shell-forces.js +111 -0
  41. package/dist/esm/fea/frame/post/shell-forces.js.map +1 -0
  42. package/dist/esm/fea/frame/solver/analyze-frame.js +27 -7
  43. package/dist/esm/fea/frame/solver/analyze-frame.js.map +1 -1
  44. package/dist/esm/fea/frame/solver/auto-restraint.js +58 -10
  45. package/dist/esm/fea/frame/solver/auto-restraint.js.map +1 -1
  46. package/dist/esm/fea/frame/solver/frame-system.js +148 -40
  47. package/dist/esm/fea/frame/solver/frame-system.js.map +1 -1
  48. package/dist/esm/fea/frame/solver/global-assembly.js +5 -3
  49. package/dist/esm/fea/frame/solver/global-assembly.js.map +1 -1
  50. package/dist/esm/fea/frame/solver/load-case-solver.js +102 -9
  51. package/dist/esm/fea/frame/solver/load-case-solver.js.map +1 -1
  52. package/dist/esm/fea/frame/validation/validate-model.js +120 -3
  53. package/dist/esm/fea/frame/validation/validate-model.js.map +1 -1
  54. package/dist/esm/index.js +1 -1
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/fea/frame/elements/shell/dkq-plate.d.ts +50 -0
  57. package/dist/fea/frame/elements/shell/dkq-plate.js +115 -0
  58. package/dist/fea/frame/elements/shell/dkq-plate.js.map +1 -0
  59. package/dist/fea/frame/elements/shell/flat-shell.d.ts +63 -0
  60. package/dist/fea/frame/elements/shell/flat-shell.js +118 -0
  61. package/dist/fea/frame/elements/shell/flat-shell.js.map +1 -0
  62. package/dist/fea/frame/elements/shell/membrane-quad.d.ts +61 -0
  63. package/dist/fea/frame/elements/shell/membrane-quad.js +113 -0
  64. package/dist/fea/frame/elements/shell/membrane-quad.js.map +1 -0
  65. package/dist/fea/frame/elements/shell/quad-geometry.d.ts +71 -0
  66. package/dist/fea/frame/elements/shell/quad-geometry.js +136 -0
  67. package/dist/fea/frame/elements/shell/quad-geometry.js.map +1 -0
  68. package/dist/fea/frame/elements/shell/rigidity.d.ts +14 -0
  69. package/dist/fea/frame/elements/shell/rigidity.js +23 -0
  70. package/dist/fea/frame/elements/shell/rigidity.js.map +1 -0
  71. package/dist/fea/frame/elements/shell/shell-axes.d.ts +43 -0
  72. package/dist/fea/frame/elements/shell/shell-axes.js +102 -0
  73. package/dist/fea/frame/elements/shell/shell-axes.js.map +1 -0
  74. package/dist/fea/frame/index.d.ts +2 -2
  75. package/dist/fea/frame/mesh/expand-model.d.ts +29 -0
  76. package/dist/fea/frame/mesh/expand-model.js +133 -0
  77. package/dist/fea/frame/mesh/expand-model.js.map +1 -0
  78. package/dist/fea/frame/mesh/mesh-shells.d.ts +38 -0
  79. package/dist/fea/frame/mesh/mesh-shells.js +244 -0
  80. package/dist/fea/frame/mesh/mesh-shells.js.map +1 -0
  81. package/dist/fea/frame/post/envelope.js +38 -1
  82. package/dist/fea/frame/post/envelope.js.map +1 -1
  83. package/dist/fea/frame/post/member-diagram.d.ts +21 -1
  84. package/dist/fea/frame/post/member-diagram.js +53 -3
  85. package/dist/fea/frame/post/member-diagram.js.map +1 -1
  86. package/dist/fea/frame/post/present-state.d.ts +3 -2
  87. package/dist/fea/frame/post/present-state.js +33 -15
  88. package/dist/fea/frame/post/present-state.js.map +1 -1
  89. package/dist/fea/frame/post/shell-forces.d.ts +27 -0
  90. package/dist/fea/frame/post/shell-forces.js +116 -0
  91. package/dist/fea/frame/post/shell-forces.js.map +1 -0
  92. package/dist/fea/frame/solver/analyze-frame.d.ts +8 -4
  93. package/dist/fea/frame/solver/analyze-frame.js +27 -7
  94. package/dist/fea/frame/solver/analyze-frame.js.map +1 -1
  95. package/dist/fea/frame/solver/auto-restraint.d.ts +23 -10
  96. package/dist/fea/frame/solver/auto-restraint.js +60 -11
  97. package/dist/fea/frame/solver/auto-restraint.js.map +1 -1
  98. package/dist/fea/frame/solver/frame-system.d.ts +47 -8
  99. package/dist/fea/frame/solver/frame-system.js +146 -38
  100. package/dist/fea/frame/solver/frame-system.js.map +1 -1
  101. package/dist/fea/frame/solver/global-assembly.d.ts +11 -0
  102. package/dist/fea/frame/solver/global-assembly.js +7 -4
  103. package/dist/fea/frame/solver/global-assembly.js.map +1 -1
  104. package/dist/fea/frame/solver/load-case-solver.d.ts +11 -1
  105. package/dist/fea/frame/solver/load-case-solver.js +100 -7
  106. package/dist/fea/frame/solver/load-case-solver.js.map +1 -1
  107. package/dist/fea/frame/types/model.type.d.ts +82 -4
  108. package/dist/fea/frame/types/results.type.d.ts +61 -1
  109. package/dist/fea/frame/validation/validate-model.d.ts +3 -2
  110. package/dist/fea/frame/validation/validate-model.js +120 -3
  111. package/dist/fea/frame/validation/validate-model.js.map +1 -1
  112. package/dist/index.d.ts +2 -2
  113. package/dist/index.js +3 -2
  114. package/dist/index.js.map +1 -1
  115. package/package.json +1 -1
@@ -4,6 +4,22 @@ exports.buildEnvelope = void 0;
4
4
  const DISPLACEMENT_KEYS = ["ux", "uy", "uz", "rx", "ry", "rz"];
5
5
  const REACTION_KEYS = ["fx", "fy", "fz", "mx", "my", "mz"];
6
6
  const COMPONENTS = ["N", "V2", "V3", "T", "M2", "M3", "u1", "u2", "u3"];
7
+ const SHELL_COMPONENTS = [
8
+ "F11",
9
+ "F22",
10
+ "F12",
11
+ "M11",
12
+ "M22",
13
+ "M12",
14
+ "V13",
15
+ "V23",
16
+ "S11Top",
17
+ "S22Top",
18
+ "S12Top",
19
+ "S11Bot",
20
+ "S22Bot",
21
+ "S12Bot",
22
+ ];
7
23
  /** Keeps the larger max and smaller min; the first combination wins a tie. */
8
24
  const update = (bound, max, min) => {
9
25
  if (!bound)
@@ -57,7 +73,28 @@ const buildEnvelope = (results) => {
57
73
  }
58
74
  return { memberId: d.memberId, extremes };
59
75
  });
60
- return { combinationIds: results.map((r) => r.id), nodalDisplacements, reactions, members };
76
+ const shells = first.shellForces.map((shell, s) => ({
77
+ shellId: shell.shellId,
78
+ corners: shell.corners.map((corner, c) => {
79
+ const entry = { nodeId: corner.nodeId };
80
+ for (const key of SHELL_COMPONENTS) {
81
+ let bound;
82
+ for (const r of results) {
83
+ const g = { value: r.shellForces[s].corners[c][key], combinationId: r.id };
84
+ bound = update(bound, g, g);
85
+ }
86
+ entry[key] = bound;
87
+ }
88
+ return entry;
89
+ }),
90
+ }));
91
+ return {
92
+ combinationIds: results.map((r) => r.id),
93
+ nodalDisplacements,
94
+ reactions,
95
+ members,
96
+ shells,
97
+ };
61
98
  };
62
99
  exports.buildEnvelope = buildEnvelope;
63
100
  //# sourceMappingURL=envelope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/envelope.ts"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACxE,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACpE,MAAM,UAAU,GAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5F,MAAM,gBAAgB,GAA0B;IAC9C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,GAAG,CACb,KAA2B,EAC3B,GAAM,EACN,GAAM,EACI,EAAE;IACZ,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAChC,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;QAClD,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;KACnD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAAC,OAA0B,EAAiB,EAAE;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzB,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAiD,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,IAAI,KAAwC,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACvE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAA8B,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAwC,CAAC;QACzE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,KAAwC,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9D,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAA8B,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,EAA4D,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,KAA+C,CAAC;YACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1C,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAqC,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAwD,CAAC;YAC9F,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACnC,IAAI,KAAwC,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC3E,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAA8B,CAAC;YAC9C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;KACH,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,SAAS;QACT,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,aAAa,iBAiExB"}
@@ -22,5 +22,25 @@ export interface DiagramMember {
22
22
  * @param stationCount - Number of evenly spaced stations (at least 2); load breakpoints and
23
23
  * zero-shear points are added, with both sides reported at a point load
24
24
  * @param withStations - false returns the extremes only, with an empty `stations` array
25
+ * @param stationPositions - Stations to use instead of the evenly spaced ones (mm from the start)
25
26
  */
26
- export declare const memberDiagram: (member: DiagramMember, startForce: number[], endDisplacements: number[], loads: LocalMemberLoad[], stationCount?: number, withStations?: boolean) => MemberDiagram;
27
+ export declare const memberDiagram: (member: DiagramMember, startForce: number[], endDisplacements: number[], loads: LocalMemberLoad[], stationCount?: number, withStations?: boolean, stationPositions?: number[]) => MemberDiagram;
28
+ /** One piece of a member split by shell-mesh nodes, with what its diagram needs. */
29
+ export interface DiagramPiece {
30
+ member: DiagramMember;
31
+ offset: number;
32
+ startForce: number[];
33
+ endDisplacements: number[];
34
+ loads: LocalMemberLoad[];
35
+ }
36
+ /**
37
+ * The diagram of a member analysed as several pieces (split where shell-mesh nodes lie inside
38
+ * it), stitched along its full length. The evenly spaced stations are taken along the whole
39
+ * member and each is evaluated in the piece it falls in; at a piece end where the shells
40
+ * deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
41
+ * the pieces.
42
+ *
43
+ * @param id - The member's id
44
+ * @param length - The member's length (mm)
45
+ */
46
+ export declare const chainDiagram: (id: FrameId, length: number, pieces: DiagramPiece[], stationCount?: number, withStations?: boolean) => MemberDiagram;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memberDiagram = void 0;
3
+ exports.chainDiagram = exports.memberDiagram = void 0;
4
4
  const math_1 = require("../../../utils/math");
5
5
  const FORCE_COMPONENTS = ["N", "V2", "V3", "T", "M2", "M3"];
6
6
  const DISPLACEMENT_COMPONENTS = ["u1", "u2", "u3"];
@@ -169,8 +169,9 @@ const present = (c, value) => (0, math_1.roundToDecimalPlaces)(value * SCALE[c],
169
169
  * @param stationCount - Number of evenly spaced stations (at least 2); load breakpoints and
170
170
  * zero-shear points are added, with both sides reported at a point load
171
171
  * @param withStations - false returns the extremes only, with an empty `stations` array
172
+ * @param stationPositions - Stations to use instead of the evenly spaced ones (mm from the start)
172
173
  */
173
- const memberDiagram = (member, startForce, endDisplacements, loads, stationCount = 21, withStations = true) => {
174
+ const memberDiagram = (member, startForce, endDisplacements, loads, stationCount = 21, withStations = true, stationPositions) => {
174
175
  const L = member.length;
175
176
  const tolerance = 1e-9 * L;
176
177
  const breakpoints = new Set([0, L]);
@@ -232,7 +233,7 @@ const memberDiagram = (member, startForce, endDisplacements, loads, stationCount
232
233
  const coarse = Array.from({ length: DEFLECTION_GRID_INTERVALS + 1 }, (_, i) => (L * i) / DEFLECTION_GRID_INTERVALS);
233
234
  const count = Math.max(2, Math.floor(stationCount));
234
235
  const uniform = withStations
235
- ? Array.from({ length: count }, (_, i) => (L * i) / (count - 1))
236
+ ? (stationPositions ?? Array.from({ length: count }, (_, i) => (L * i) / (count - 1)))
236
237
  : [];
237
238
  // One grid for everything: breakpoints, zero-shear points, stations and the deflection grid
238
239
  const grid = mergeSorted([...sortedBreaks, ...roots, ...uniform, ...coarse]);
@@ -354,4 +355,53 @@ const memberDiagram = (member, startForce, endDisplacements, loads, stationCount
354
355
  return { memberId: member.id, length: L, stations, extremes };
355
356
  };
356
357
  exports.memberDiagram = memberDiagram;
358
+ /**
359
+ * The diagram of a member analysed as several pieces (split where shell-mesh nodes lie inside
360
+ * it), stitched along its full length. The evenly spaced stations are taken along the whole
361
+ * member and each is evaluated in the piece it falls in; at a piece end where the shells
362
+ * deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
363
+ * the pieces.
364
+ *
365
+ * @param id - The member's id
366
+ * @param length - The member's length (mm)
367
+ */
368
+ const chainDiagram = (id, length, pieces, stationCount = 21, withStations = true) => {
369
+ const count = Math.max(2, Math.floor(stationCount));
370
+ const tolerance = 1e-9 * length;
371
+ const along = Array.from({ length: count }, (_, i) => (length * i) / (count - 1));
372
+ const diagrams = pieces.map((piece) => (0, exports.memberDiagram)(piece.member, piece.startForce, piece.endDisplacements, piece.loads, count, withStations, along
373
+ .filter((x) => x >= piece.offset - tolerance && x <= piece.offset + piece.member.length + tolerance)
374
+ .map((x) => Math.min(piece.member.length, Math.max(0, x - piece.offset)))));
375
+ const stations = [];
376
+ diagrams.forEach((diagram, k) => {
377
+ for (const station of diagram.stations) {
378
+ const shifted = { ...station, x: (0, math_1.roundToDecimalPlaces)(station.x + pieces[k].offset, 3) };
379
+ const previous = stations[stations.length - 1];
380
+ // the same point from both pieces: keep one unless the forces jump there
381
+ const same = previous !== undefined &&
382
+ Math.abs(previous.x - shifted.x) < 1e-3 &&
383
+ COMPONENTS.every((c) => previous[c] === shifted[c]);
384
+ if (!same)
385
+ stations.push(shifted);
386
+ }
387
+ });
388
+ const extremes = {};
389
+ for (const c of COMPONENTS) {
390
+ const shift = (k, e) => ({
391
+ value: e.value,
392
+ x: (0, math_1.roundToDecimalPlaces)(e.x + pieces[k].offset, 3),
393
+ });
394
+ let max = shift(0, diagrams[0].extremes[c].max);
395
+ let min = shift(0, diagrams[0].extremes[c].min);
396
+ diagrams.forEach((d, k) => {
397
+ if (d.extremes[c].max.value > max.value)
398
+ max = shift(k, d.extremes[c].max);
399
+ if (d.extremes[c].min.value < min.value)
400
+ min = shift(k, d.extremes[c].min);
401
+ });
402
+ extremes[c] = { max, min };
403
+ }
404
+ return { memberId: id, length, stations, extremes };
405
+ };
406
+ exports.chainDiagram = chainDiagram;
357
407
  //# sourceMappingURL=member-diagram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-diagram.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/member-diagram.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AAiBvD,MAAM,gBAAgB,GAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9E,MAAM,uBAAuB,GAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAuB,CAAC,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,CAAC,CAAC;AACzF,+FAA+F;AAC/F,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,kGAAkG;AAClG,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,+DAA+D;AAC/D,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAYhC;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CACrB,UAAoB,EACpB,KAAwB,EACxB,CAAS,EACT,IAAU,EACF,EAAE;IACV,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;IAC5C,kGAAkG;IAClG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;gBAAE,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,0EAA0E;gBAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;QACX,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAAG,CAC1B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,IAAc,EACiD,EAAE;IACjE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAEtB,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,4FAA4F;IAC5F,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAY,EAAE;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnB,+FAA+F;IAC/F,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,MAAM,EAAE,GAAG,CAAC,CAAS,EAAiB,EAAE;QACtC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,EAAE,GAAG,GAAG,CAAC;;gBACxB,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO;YACL,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAqC;IAC9C,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACN,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,EAAE,CACrD,IAAA,2BAAoB,EAClB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAChF,GAAG,CAAC,CAAC;AAER;;;;;;;;;;;;GAYG;AACI,MAAM,aAAa,GAAG,CAC3B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACJ,EAAE;IACjB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC;YACJ,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAErF,iFAAiF;IACjF,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,6FAA6F;IAC7F,2FAA2F;IAC3F,oFAAoF;IACpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;YAC7C,sCAAsC;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3C,IAAI,MAAM;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,GAAG;gBAAE,SAAS;YAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,EAAE,EACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,yBAAyB,CAC9C,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;IACP,4FAA4F;IAC5F,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;QAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS;gBAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;;gBACvC,EAAE,GAAG,GAAG,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,oFAAoF;IACpF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAgB,EAAiB,EAAE;YAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC,EAAmB,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,uBAAuB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,kDAAkD;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,0FAA0F;IAC1F,6FAA6F;IAC7F,4BAA4B;IAC5B,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,EAA+B,CAAC;IACjD,MAAM,IAAI,GAAG,EAGZ,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,KAAK,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,uBAAuB;YAAE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAwB,EAAE,CAAS,EAAE,IAAY,EAAoB,EAAE;QACrF,uDAAuD;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBACZ,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAA2B,EAAgB,EAAE,CAAC,CAAC;YACpE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;YACxB,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChE,CAAC,CAAC;AAzLW,QAAA,aAAa,iBAyLxB"}
1
+ {"version":3,"file":"member-diagram.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/member-diagram.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@ import type { FrameSystem } from "../solver/frame-system";
2
2
  import type { RawState } from "../solver/load-case-solver";
3
3
  import type { FrameCaseResult, MemberDiagram } from "../types/results.type";
4
4
  /**
5
- * The presented diagram of member `m` in a raw state.
5
+ * The presented diagram of model member `g` (an index into `system.memberGroups`) in a raw
6
+ * state, stitched from its pieces when the shell mesh splits it.
6
7
  *
7
8
  * @param stations - Evenly spaced stations
8
9
  * @param withStations - false keeps only the extremes (empty `stations`)
9
10
  */
10
- export declare const presentMemberDiagram: (system: FrameSystem, state: RawState, m: number, stations?: number, withStations?: boolean) => MemberDiagram;
11
+ export declare const presentMemberDiagram: (system: FrameSystem, state: RawState, g: number, stations?: number, withStations?: boolean) => MemberDiagram;
11
12
  /**
12
13
  * Rounds a raw state into the presented result of one load case or combination.
13
14
  *
@@ -7,6 +7,7 @@ const matrix_1 = require("../../../utils/matrix");
7
7
  const fixed_end_forces_1 = require("../elements/fixed-end-forces");
8
8
  const global_assembly_1 = require("../solver/global-assembly");
9
9
  const member_diagram_1 = require("./member-diagram");
10
+ const shell_forces_1 = require("./shell-forces");
10
11
  const FORCE_DECIMALS = 4;
11
12
  const DISPLACEMENT_DECIMALS = 5;
12
13
  const ROTATION_DECIMALS = 8;
@@ -71,13 +72,25 @@ const equilibrium = (system, state) => {
71
72
  };
72
73
  };
73
74
  /**
74
- * The presented diagram of member `m` in a raw state.
75
+ * The presented diagram of model member `g` (an index into `system.memberGroups`) in a raw
76
+ * state, stitched from its pieces when the shell mesh splits it.
75
77
  *
76
78
  * @param stations - Evenly spaced stations
77
79
  * @param withStations - false keeps only the extremes (empty `stations`)
78
80
  */
79
- const presentMemberDiagram = (system, state, m, stations, withStations = true) => {
80
- return (0, member_diagram_1.memberDiagram)(system.members[m], state.memberForces[m].slice(0, 6), memberEnd(system, state, m).own, state.memberLoads[m], stations, withStations);
81
+ const presentMemberDiagram = (system, state, g, stations, withStations = true) => {
82
+ const group = system.memberGroups[g];
83
+ if (group.pieces.length === 1) {
84
+ const m = group.pieces[0];
85
+ return (0, member_diagram_1.memberDiagram)(system.members[m], state.memberForces[m].slice(0, 6), memberEnd(system, state, m).own, state.memberLoads[m], stations, withStations);
86
+ }
87
+ return (0, member_diagram_1.chainDiagram)(group.id, group.length, group.pieces.map((m) => ({
88
+ member: system.members[m],
89
+ offset: system.members[m].offset,
90
+ startForce: state.memberForces[m].slice(0, 6),
91
+ endDisplacements: memberEnd(system, state, m).own,
92
+ loads: state.memberLoads[m],
93
+ })), stations, withStations);
81
94
  };
82
95
  exports.presentMemberDiagram = presentMemberDiagram;
83
96
  /**
@@ -115,25 +128,30 @@ const presentState = (system, state, meta, diagram = {}) => {
115
128
  my: roundForce(R[6 * n + 4], 1e-6),
116
129
  mz: roundForce(R[6 * n + 5], 1e-6),
117
130
  })),
118
- memberEndForces: system.members.map((member, m) => ({
119
- memberId: member.id,
120
- start: endForce(state.memberForces[m].slice(0, 6)),
121
- end: endForce(state.memberForces[m].slice(6, 12)),
131
+ // a member split by the shell mesh: its start is its first piece's, its end its last's
132
+ memberEndForces: system.memberGroups.map(({ id, pieces }) => ({
133
+ memberId: id,
134
+ start: endForce(state.memberForces[pieces[0]].slice(0, 6)),
135
+ end: endForce(state.memberForces[pieces[pieces.length - 1]].slice(6, 12)),
122
136
  })),
123
- releaseDeformations: system.members.flatMap((member, m) => {
124
- if (!member.hasReleases)
137
+ releaseDeformations: system.memberGroups.flatMap(({ id, pieces }) => {
138
+ const [first, last] = [pieces[0], pieces[pieces.length - 1]];
139
+ if (!system.members[first].hasReleases && !system.members[last].hasReleases)
125
140
  return [];
126
- const { node, own } = memberEnd(system, state, m);
127
- const jump = node.map((v, i) => v - own[i]);
141
+ const jump = (m) => {
142
+ const { node, own } = memberEnd(system, state, m);
143
+ return node.map((v, i) => v - own[i]);
144
+ };
128
145
  return [
129
146
  {
130
- memberId: member.id,
131
- start: releaseDeformation(jump.slice(0, 6)),
132
- end: releaseDeformation(jump.slice(6, 12)),
147
+ memberId: id,
148
+ start: releaseDeformation(jump(first).slice(0, 6)),
149
+ end: releaseDeformation(jump(last).slice(6, 12)),
133
150
  },
134
151
  ];
135
152
  }),
136
- memberDiagrams: system.members.map((_, m) => (0, exports.presentMemberDiagram)(system, state, m, diagram.stations, diagram.withStations ?? true)),
153
+ memberDiagrams: system.memberGroups.map((_, g) => (0, exports.presentMemberDiagram)(system, state, g, diagram.stations, diagram.withStations ?? true)),
154
+ shellForces: system.shells.map((shell, s) => (0, shell_forces_1.presentShellForces)(shell, shell.nodeIndices.map((n) => system.nodes[n].id), state.shellForces[s])),
137
155
  equilibriumResidual: {
138
156
  force: (0, math_1.roundToDecimalPlaces)(residual.force, 8),
139
157
  moment: (0, math_1.roundToDecimalPlaces)(residual.moment, 8),
@@ -1 +1 @@
1
- {"version":3,"file":"present-state.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/present-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"present-state.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/present-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { SystemShell } from "../solver/frame-system";
2
+ import type { ShellCornerForces, ShellElementForces } from "../types/results.type";
3
+ /** Raw components per corner: F11 F22 F12 (N/mm), M11 M22 M12 (N·mm/mm), V13 V23 (N/mm). */
4
+ export declare const SHELL_FORCE_COMPONENTS = 8;
5
+ /**
6
+ * Unrounded forces per unit width at the four corners of a shell, in its local axes 1, 2, from
7
+ * the global displacements `U` (N and mm): 8 values per corner in `nodeIds` order.
8
+ *
9
+ * - Membrane forces `n = D_m·ε` and moments are evaluated at the 2×2 Gauss points and
10
+ * extrapolated bilinearly to the corners.
11
+ * - Moments follow the member convention: M11 is positive when it puts the −3 face in tension
12
+ * (sagging with local 3 up), so M = −∫ z·σ dz.
13
+ * - The plate has no shear strain, so V13, V23 come from moment equilibrium,
14
+ * `V13 = −(∂M11/∂x₁ + ∂M12/∂x₂)` and `V23 = −(∂M12/∂x₁ + ∂M22/∂x₂)` (as V2 = −dM3/dx for a
15
+ * member), on the bilinear field through the Gauss-point moments. They are coarser than the
16
+ * moments.
17
+ *
18
+ * Everything is linear in `U`, so load combinations superpose it.
19
+ */
20
+ export declare const shellRawForces: (shell: SystemShell, U: number[]) => number[];
21
+ /**
22
+ * The presented forces of one shell: kN/m, kN·m/m and kN/m per corner, with the face stresses
23
+ * `σ = F/t ∓ 6M/t²` in MPa (top = +3 face).
24
+ *
25
+ * @param raw - From `shellRawForces`, or a factored sum of them
26
+ */
27
+ export declare const presentShellForces: (shell: SystemShell, nodeIds: ShellCornerForces["nodeId"][], raw: number[]) => ShellElementForces;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.presentShellForces = exports.shellRawForces = exports.SHELL_FORCE_COMPONENTS = void 0;
4
+ const math_1 = require("../../../utils/math");
5
+ const matrix_1 = require("../../../utils/matrix");
6
+ const dkq_plate_1 = require("../elements/shell/dkq-plate");
7
+ const membrane_quad_1 = require("../elements/shell/membrane-quad");
8
+ const quad_geometry_1 = require("../elements/shell/quad-geometry");
9
+ const global_assembly_1 = require("../solver/global-assembly");
10
+ /** Raw components per corner: F11 F22 F12 (N/mm), M11 M22 M12 (N·mm/mm), V13 V23 (N/mm). */
11
+ exports.SHELL_FORCE_COMPONENTS = 8;
12
+ const FORCE_DECIMALS = 4;
13
+ const ROOT3 = Math.sqrt(3);
14
+ const CORNERS = [
15
+ [-1, -1],
16
+ [1, -1],
17
+ [1, 1],
18
+ [-1, 1],
19
+ ];
20
+ /**
21
+ * Bilinear functions through the 2×2 Gauss points (in `GAUSS_2X2` order), evaluated at each
22
+ * corner: the corner is at ±√3 in the Gauss points' own coordinates, ξ' = √3·ξ.
23
+ */
24
+ const atCorners = CORNERS.map(([xi, eta]) => (0, quad_geometry_1.bilinearShape)(ROOT3 * xi, ROOT3 * eta));
25
+ /**
26
+ * Unrounded forces per unit width at the four corners of a shell, in its local axes 1, 2, from
27
+ * the global displacements `U` (N and mm): 8 values per corner in `nodeIds` order.
28
+ *
29
+ * - Membrane forces `n = D_m·ε` and moments are evaluated at the 2×2 Gauss points and
30
+ * extrapolated bilinearly to the corners.
31
+ * - Moments follow the member convention: M11 is positive when it puts the −3 face in tension
32
+ * (sagging with local 3 up), so M = −∫ z·σ dz.
33
+ * - The plate has no shear strain, so V13, V23 come from moment equilibrium,
34
+ * `V13 = −(∂M11/∂x₁ + ∂M12/∂x₂)` and `V23 = −(∂M12/∂x₁ + ∂M22/∂x₂)` (as V2 = −dM3/dx for a
35
+ * member), on the bilinear field through the Gauss-point moments. They are coarser than the
36
+ * moments.
37
+ *
38
+ * Everything is linear in `U`, so load combinations superpose it.
39
+ */
40
+ const shellRawForces = (shell, U) => {
41
+ const { element, type, section, modifiers: m } = shell;
42
+ const dofs = (0, global_assembly_1.elementDofs)(shell.nodeIndices);
43
+ // local DOFs [u₁ u₂ u₃ r₁ r₂ r₃] of each projected corner
44
+ const local = element.transforms.map((T, i) => (0, matrix_1.matVec)(T, dofs.slice(6 * i, 6 * i + 6).map((d) => U[d])));
45
+ const { corners } = element.axes;
46
+ const properties = { E: section.E, nu: section.nu, t: section.thickness };
47
+ const out = new Array(4 * exports.SHELL_FORCE_COMPONENTS).fill(0);
48
+ const extrapolate = (atGauss, first) => {
49
+ atCorners.forEach(({ N }, c) => {
50
+ for (let k = 0; k < 3; k++) {
51
+ out[exports.SHELL_FORCE_COMPONENTS * c + first + k] = N.reduce((sum, w, g) => sum + w * atGauss[g][k], 0);
52
+ }
53
+ });
54
+ };
55
+ if (type !== "plate") {
56
+ const D = (0, membrane_quad_1.membraneRigidity)({ ...properties, modifiers: [m.f11 ?? 1, m.f22 ?? 1, m.f12 ?? 1] });
57
+ const u = local.flatMap((d) => [d[0], d[1], d[5]]);
58
+ extrapolate(quad_geometry_1.GAUSS_2X2.map(({ xi, eta }) => (0, matrix_1.matVec)(D, (0, matrix_1.matVec)((0, membrane_quad_1.membraneStrainRows)(corners, xi, eta).B, u))), 0);
59
+ }
60
+ if (type !== "membrane") {
61
+ const D = (0, dkq_plate_1.plateRigidity)({ ...properties, modifiers: [m.m11 ?? 1, m.m22 ?? 1, m.m12 ?? 1] });
62
+ const w = local.flatMap((d) => [d[2], d[3], d[4]]);
63
+ const moments = quad_geometry_1.GAUSS_2X2.map(({ xi, eta }) => (0, matrix_1.matVec)(D, (0, matrix_1.matVec)((0, dkq_plate_1.dkqCurvatureRows)(corners, xi, eta).B, w)).map((v) => -v));
64
+ extrapolate(moments, 3);
65
+ CORNERS.forEach(([xi, eta], c) => {
66
+ const { dXi, dEta } = atCorners[c];
67
+ const { dX, dY } = (0, quad_geometry_1.cartesianDerivatives)((0, quad_geometry_1.quadJacobian)(corners, xi, eta), {
68
+ dXi: dXi.map((v) => ROOT3 * v),
69
+ dEta: dEta.map((v) => ROOT3 * v),
70
+ });
71
+ const d = (weights, k) => weights.reduce((sum, v, g) => sum + v * moments[g][k], 0);
72
+ out[exports.SHELL_FORCE_COMPONENTS * c + 6] = -(d(dX, 0) + d(dY, 2));
73
+ out[exports.SHELL_FORCE_COMPONENTS * c + 7] = -(d(dX, 2) + d(dY, 1));
74
+ });
75
+ }
76
+ return out;
77
+ };
78
+ exports.shellRawForces = shellRawForces;
79
+ const round = (value) => (0, math_1.roundToDecimalPlaces)(value, FORCE_DECIMALS) + 0; // + 0: no −0
80
+ /**
81
+ * The presented forces of one shell: kN/m, kN·m/m and kN/m per corner, with the face stresses
82
+ * `σ = F/t ∓ 6M/t²` in MPa (top = +3 face).
83
+ *
84
+ * @param raw - From `shellRawForces`, or a factored sum of them
85
+ */
86
+ const presentShellForces = (shell, nodeIds, raw) => {
87
+ const t = shell.section.thickness;
88
+ return {
89
+ shellId: shell.id,
90
+ areaId: shell.areaId,
91
+ corners: nodeIds.map((nodeId, c) => {
92
+ const [F11, F22, F12, M11, M22, M12, V13, V23] = raw.slice(exports.SHELL_FORCE_COMPONENTS * c, exports.SHELL_FORCE_COMPONENTS * (c + 1));
93
+ // N/mm ÷ mm and N·mm/mm ÷ mm² are MPa
94
+ const face = (F, M, side) => round(F / t - (side * 6 * M) / t ** 2);
95
+ return {
96
+ nodeId,
97
+ F11: round(F11), // N/mm = kN/m
98
+ F22: round(F22),
99
+ F12: round(F12),
100
+ M11: round(M11 * 1e-3), // N·mm/mm = 10⁻³ kN·m/m
101
+ M22: round(M22 * 1e-3),
102
+ M12: round(M12 * 1e-3),
103
+ V13: round(V13),
104
+ V23: round(V23),
105
+ S11Top: face(F11, M11, 1),
106
+ S22Top: face(F22, M22, 1),
107
+ S12Top: face(F12, M12, 1),
108
+ S11Bot: face(F11, M11, -1),
109
+ S22Bot: face(F22, M22, -1),
110
+ S12Bot: face(F12, M12, -1),
111
+ };
112
+ }),
113
+ };
114
+ };
115
+ exports.presentShellForces = presentShellForces;
116
+ //# sourceMappingURL=shell-forces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-forces.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/shell-forces.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,9 @@ export interface FrameAnalysis {
35
35
  * null areas, and combinations
36
36
  * @param options - Diagram station count and detail
37
37
  * @returns `{ result, memberDiagram }`
38
- * @throws {FrameAnalysisError} 301–317 for an invalid model (with `details` and every problem in
39
- * `issues`), 304 for an unstable structure
38
+ * @throws {FrameAnalysisError} 301–317, 326 and 327 for an invalid model (with `details` and
39
+ * every problem in `issues`), 328 for a translation nothing resists at a node connected only
40
+ * to shells, 304 for an unstable structure
40
41
  */
41
42
  export declare const createFrameAnalysis: (model: FrameModel, options?: AnalyzeFrameOptions) => FrameAnalysis;
42
43
  /**
@@ -56,6 +57,8 @@ export declare const createFrameAnalysis: (model: FrameModel, options?: AnalyzeF
56
57
  *
57
58
  * Area loads on null areas (`areas`, `areaLoads`) are first turned into member loads on the
58
59
  * members along each area's edges (see `distributeAreaLoads`); the areas add no stiffness.
60
+ * Shell areas (`shells`) are four-node flat shell elements with their own stiffness; area loads
61
+ * and self-weight on them act as forces at their corners.
59
62
  *
60
63
  * Model and result are plain data (JSON-serialisable), so the analysis can run in a Web Worker.
61
64
  *
@@ -64,7 +67,8 @@ export declare const createFrameAnalysis: (model: FrameModel, options?: AnalyzeF
64
67
  * @param options - Diagram station count and detail
65
68
  * @returns `cases` and `combinations` keyed by id, `envelope` over the combinations,
66
69
  * `calculationDetails`, `units` and `warnings`
67
- * @throws {FrameAnalysisError} 301–317 for an invalid model (with `details` and every problem in
68
- * `issues`), 304 for an unstable structure
70
+ * @throws {FrameAnalysisError} 301–317, 326 and 327 for an invalid model (with `details` and
71
+ * every problem in `issues`), 328 for a translation nothing resists at a node connected only
72
+ * to shells, 304 for an unstable structure
69
73
  */
70
74
  export declare const analyzeFrame: (model: FrameModel, options?: AnalyzeFrameOptions) => FrameResult;