@ferscloud/fers-calculation-web 0.2.54 → 0.2.57

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.
package/fers-models.d.ts CHANGED
@@ -471,6 +471,11 @@ export interface components {
471
471
  * @enum {string}
472
472
  */
473
473
  ConstantDimension: "Length" | "Force" | "Moment" | "Stress" | "Area" | "Angle";
474
+ /**
475
+ * @description What a connector does beyond the end of its tabulated diagram.
476
+ * @enum {string}
477
+ */
478
+ CurveEndBehaviour: "Continuous" | "Stop" | "Yielding" | "Failure";
474
479
  /**
475
480
  * @description Transverse deflection component, measured relative to the entity's end-to-end
476
481
  * chord (local-frame axes perpendicular to the chord).
@@ -1151,6 +1156,9 @@ export interface components {
1151
1156
  max_tension_vy?: number | null;
1152
1157
  /** Format: double */
1153
1158
  max_tension_vz?: number | null;
1159
+ moment_rotation_mx?: null | components["schemas"]["MomentRotationCurve"];
1160
+ moment_rotation_my?: null | components["schemas"]["MomentRotationCurve"];
1161
+ moment_rotation_mz?: null | components["schemas"]["MomentRotationCurve"];
1154
1162
  /** Format: double */
1155
1163
  rotational_release_mx?: number | null;
1156
1164
  /** Format: double */
@@ -1265,12 +1273,21 @@ export interface components {
1265
1273
  maximums?: null | components["schemas"]["NodeForces"];
1266
1274
  /**
1267
1275
  * @description Optional sampled deflected shape: the member's global displacement at
1268
- * evenly-spaced stations from `x_frac = 0` to `1`, reconstructed by
1269
- * cubic-Hermite interpolation of the end-node translations + rotations.
1270
- * Empty unless `AnalysisOptions::include_member_deflected_shape` is enabled.
1271
- * The interpolation is the end-DOF homogeneous cubic — exact for members with
1272
- * no span load; under a member UDL the true shape is quartic, so mid-span sag
1273
- * is slightly under-rendered (matching client-side Hermite reconstructions).
1276
+ * stations running from `x_frac = 0` to `1`, load-exact rather than
1277
+ * interpolated. Empty unless `AnalysisOptions::include_member_deflected_shape`
1278
+ * is enabled.
1279
+ *
1280
+ * A member carrying span loads is reconstructed by integrating its own internal
1281
+ * force field (`u'' = −M/EI`, plus `V/GA_s` where the section has a shear area),
1282
+ * so the quartic mid-span sag under a UDL and the Timoshenko shear term are
1283
+ * both present. A member without span loads is the end-DOF cubic, which is
1284
+ * exact there — the two agree to machine precision.
1285
+ *
1286
+ * Stations are evenly spaced, **except** on a member that was split internally
1287
+ * at a mid-span point load: there each segment is evenly sampled over its own
1288
+ * share of the parent's `x_frac` range and the segments are concatenated, which
1289
+ * keeps the slope kink exactly on the split. `x_frac` is monotonically
1290
+ * increasing in every case.
1274
1291
  */
1275
1292
  member_displacements?: components["schemas"]["MemberDisplacementSample"][];
1276
1293
  minimums?: null | components["schemas"]["NodeForces"];
@@ -1483,9 +1500,14 @@ export interface components {
1483
1500
  participation_factors: number[];
1484
1501
  /**
1485
1502
  * Format: double
1486
- * @description Period `T = 1 / f` (s).
1503
+ * @description Period `T = 1 / f` (s), or `null` for a **rigid-body mode**.
1504
+ *
1505
+ * A free-free structure has zero-frequency modes whose period is infinite, and
1506
+ * JSON has no `Infinity`. This was an `f64` until 0.2.56, so the serializer
1507
+ * wrote `null` into a field that could not deserialize it and the engine
1508
+ * emitted documents it could not read back.
1487
1509
  */
1488
- period: number;
1510
+ period?: number | null;
1489
1511
  };
1490
1512
  /**
1491
1513
  * @description The structural model: nodes, members, plates and their supporting
@@ -1516,6 +1538,28 @@ export interface components {
1516
1538
  /** @default {} */
1517
1539
  workspace: components["schemas"]["Workspace"];
1518
1540
  };
1541
+ /** @description A beam-end connector's moment–rotation characteristic. */
1542
+ MomentRotationCurve: {
1543
+ /** @description Behaviour above the last tabulated point. */
1544
+ end?: components["schemas"]["CurveEndBehaviour"];
1545
+ /**
1546
+ * @description Sorted `[rotation, moment]` pairs (≥ 2 points): rotation in radians (the
1547
+ * model's length/force units never touch it), moment in the model's units.
1548
+ * Rotations must ascend strictly and moments must not decrease.
1549
+ */
1550
+ points: number[][];
1551
+ /**
1552
+ * @description Behaviour below the first tabulated point. Only reachable on an asymmetric
1553
+ * diagram — a symmetric one is read at `|M|` and so never runs off the bottom.
1554
+ */
1555
+ start?: components["schemas"]["CurveEndBehaviour"];
1556
+ /**
1557
+ * @description Mirror the diagram through the origin, so hogging and sagging behave
1558
+ * identically and the table only has to carry `φ ≥ 0`. The usual case, and the
1559
+ * default. Set `false` to tabulate an asymmetric connector across both signs.
1560
+ */
1561
+ symmetric?: boolean;
1562
+ };
1519
1563
  /** @description Modal response spectrum analysis results (§4.3.3.3). */
1520
1564
  MrsaResults: {
1521
1565
  /** @description Final envelope after directional combination. */
@@ -2546,9 +2590,10 @@ export interface components {
2546
2590
  participation_factor: number;
2547
2591
  /**
2548
2592
  * Format: double
2549
- * @description Natural period `T = 2π/ω` (s).
2593
+ * @description Natural period `T = 2π/ω` (s), or `null` for a zero-frequency (rigid-body)
2594
+ * mode — see [`crate::models::results::modalresult::ModeShape::period`].
2550
2595
  */
2551
- period: number;
2596
+ period?: number | null;
2552
2597
  /**
2553
2598
  * Format: double
2554
2599
  * @description Design spectral acceleration `Sd(T)` (m/s²).
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ferscloud/fers-calculation-web",
3
3
  "type": "module",
4
- "version": "0.2.54",
4
+ "version": "0.2.57",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": {
7
7
  "type": "git",