@ferscloud/fers-calculation-web 0.2.41 → 0.2.43
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/README.md +20 -0
- package/fers-models.d.ts +58 -1
- package/fers_calculations_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -165,6 +165,26 @@ import type { FERS, ResultsBundle } from "@ferscloud/fers-calculation-web/fers-m
|
|
|
165
165
|
|
|
166
166
|
`FERS` is the input model; `ResultsBundle` is the `result` payload of a successful envelope. Both are generated from the engine's OpenAPI schema, so they track the published version.
|
|
167
167
|
|
|
168
|
+
## Deflected shape (optional)
|
|
169
|
+
|
|
170
|
+
Set `include_member_deflected_shape` in the model's analysis options to get a
|
|
171
|
+
ready-to-plot, **load-exact** deflected shape per member — the member's global
|
|
172
|
+
displacement sampled along its length — instead of reconstructing the curve yourself:
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
const model = {
|
|
176
|
+
/* … model + load cases … */
|
|
177
|
+
analysis: { /* … */ options: { /* … */ include_member_deflected_shape: true } },
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const res = JSON.parse(calculate_from_json(JSON.stringify(model)));
|
|
181
|
+
const mr = res.result.results.loadcases["…"].member_results["1"];
|
|
182
|
+
// mr.member_displacements: [{ x_frac, displacement: [dx, dy, dz] }, …]
|
|
183
|
+
// x_frac 0→1 along the member; displacement in the global input frame.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Off by default to keep the payload lean; omitted from `member_results` when not requested.
|
|
187
|
+
|
|
168
188
|
## Links
|
|
169
189
|
|
|
170
190
|
- [Full documentation & getting started](https://ferscloud.com/getting-started)
|
package/fers-models.d.ts
CHANGED
|
@@ -312,7 +312,16 @@ export interface components {
|
|
|
312
312
|
* @enum {string}
|
|
313
313
|
*/
|
|
314
314
|
DeflectionComponent: "LocalY" | "LocalZ" | "Magnitude";
|
|
315
|
-
/**
|
|
315
|
+
/**
|
|
316
|
+
* @description Unit of mass density used by every `Material.density` in the model.
|
|
317
|
+
*
|
|
318
|
+
* Chosen **independently** of `lengthUnit` — a mm/N model may still declare
|
|
319
|
+
* `kg/m3` and pass raw values like structural steel's `7850`. Accepted JSON
|
|
320
|
+
* tokens are the ASCII strings `"kg/m3"` and `"kg/mm3"` (digit `3`, not the
|
|
321
|
+
* superscript `³`); both normalise to SI (kg/m³) internally regardless of the
|
|
322
|
+
* length unit. Default: `"kg/m3"`.
|
|
323
|
+
* @enum {string}
|
|
324
|
+
*/
|
|
316
325
|
DensityUnit: "kg/m3" | "kg/mm3";
|
|
317
326
|
/**
|
|
318
327
|
* @description Python:
|
|
@@ -1198,6 +1207,12 @@ export interface components {
|
|
|
1198
1207
|
member_sets: components["schemas"]["MemberSet"][];
|
|
1199
1208
|
/** @description Single source of truth for member objects. Member sets reference these by id. */
|
|
1200
1209
|
members: components["schemas"]["Member"][];
|
|
1210
|
+
/**
|
|
1211
|
+
* @description Concentrated (lumped) nodal masses for modal & seismic analysis. Optional;
|
|
1212
|
+
* SI units (kg, kg·m²). See [`NodalMass`].
|
|
1213
|
+
* @default []
|
|
1214
|
+
*/
|
|
1215
|
+
nodal_masses: components["schemas"]["NodalMass"][];
|
|
1201
1216
|
nodal_supports: components["schemas"]["NodalSupport"][];
|
|
1202
1217
|
nodes: components["schemas"]["Node"][];
|
|
1203
1218
|
/** @default [] */
|
|
@@ -1228,6 +1243,44 @@ export interface components {
|
|
|
1228
1243
|
/** Format: int32 */
|
|
1229
1244
|
node: number;
|
|
1230
1245
|
};
|
|
1246
|
+
/**
|
|
1247
|
+
* @description A concentrated (lumped) mass attached to a node, for modal and seismic
|
|
1248
|
+
* analysis (equipment, added / non-structural mass, floor mass, …).
|
|
1249
|
+
*
|
|
1250
|
+
* `mass` is an isotropic translational mass added to the node's three
|
|
1251
|
+
* translational DOFs; the optional rotary inertias are added to the three
|
|
1252
|
+
* rotational DOFs (absent ⇒ 0). **Units are SI regardless of the model's unit
|
|
1253
|
+
* system — `mass` in kg, inertias in kg·m²** (the same convention as
|
|
1254
|
+
* `gravity_factor`), so a nodal mass reads consistently with the structural
|
|
1255
|
+
* self-mass (`density·area`, which is kg after unit normalization).
|
|
1256
|
+
*/
|
|
1257
|
+
NodalMass: {
|
|
1258
|
+
/**
|
|
1259
|
+
* Format: double
|
|
1260
|
+
* @description Optional rotary inertia [kg·m²] about global X, added to the θx DOF.
|
|
1261
|
+
*/
|
|
1262
|
+
inertia_x?: number | null;
|
|
1263
|
+
/**
|
|
1264
|
+
* Format: double
|
|
1265
|
+
* @description Optional rotary inertia [kg·m²] about global Y, added to the θy DOF.
|
|
1266
|
+
*/
|
|
1267
|
+
inertia_y?: number | null;
|
|
1268
|
+
/**
|
|
1269
|
+
* Format: double
|
|
1270
|
+
* @description Optional rotary inertia [kg·m²] about global Z, added to the θz DOF.
|
|
1271
|
+
*/
|
|
1272
|
+
inertia_z?: number | null;
|
|
1273
|
+
/**
|
|
1274
|
+
* Format: double
|
|
1275
|
+
* @description Translational (isotropic) mass [kg], added to the ux, uy, uz DOFs.
|
|
1276
|
+
*/
|
|
1277
|
+
mass: number;
|
|
1278
|
+
/**
|
|
1279
|
+
* Format: int32
|
|
1280
|
+
* @description Id of the node the mass is attached to.
|
|
1281
|
+
*/
|
|
1282
|
+
node: number;
|
|
1283
|
+
};
|
|
1231
1284
|
/** @description A concentrated moment applied at a node. */
|
|
1232
1285
|
NodalMoment: {
|
|
1233
1286
|
direction: components["schemas"]["Vector3"];
|
|
@@ -2347,6 +2400,10 @@ export interface components {
|
|
|
2347
2400
|
};
|
|
2348
2401
|
/** @description The model's unit system (length, force, density, pressure) for input and results. */
|
|
2349
2402
|
UnitSettings: {
|
|
2403
|
+
/**
|
|
2404
|
+
* @description Unit of every `Material.density`; independent of `lengthUnit`
|
|
2405
|
+
* (a mm/N model may still declare `"kg/m3"`). See [`DensityUnit`].
|
|
2406
|
+
*/
|
|
2350
2407
|
densityUnit?: components["schemas"]["DensityUnit"];
|
|
2351
2408
|
forceUnit?: components["schemas"]["ForceUnit"];
|
|
2352
2409
|
lengthUnit?: components["schemas"]["LengthUnit"];
|
|
Binary file
|