@ferscloud/fers-calculation-web 0.2.58 → 0.2.60
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 +30 -1
- package/fers_calculations_bg.wasm +0 -0
- package/package.json +1 -1
package/fers-models.d.ts
CHANGED
|
@@ -56,6 +56,11 @@ export interface components {
|
|
|
56
56
|
AnalysisOptions: {
|
|
57
57
|
/** Format: double */
|
|
58
58
|
axial_slack?: number;
|
|
59
|
+
/**
|
|
60
|
+
* @description Declarative only; the solver always assembles the full 3D formulation.
|
|
61
|
+
* A planar model must restrain its out-of-plane DOFs at every node itself
|
|
62
|
+
* — see [`Dimensionality`].
|
|
63
|
+
*/
|
|
59
64
|
dimensionality: components["schemas"]["Dimensionality"];
|
|
60
65
|
/**
|
|
61
66
|
* @description When true, the engine generates self-weight (dead load) for every member
|
|
@@ -225,6 +230,16 @@ export interface components {
|
|
|
225
230
|
* results are reported in `results.buckling_runs` (with
|
|
226
231
|
* `results.buckling` carrying the first successful run for backward
|
|
227
232
|
* compatibility).
|
|
233
|
+
*
|
|
234
|
+
* **The eigenvalue is mesh-sensitive, unlike the rest of the bundle.**
|
|
235
|
+
* Reactions and the internal forces recovered along a member come out exact on
|
|
236
|
+
* one element for a straight prismatic member; α_cr does not. A buckling
|
|
237
|
+
* half-wave cannot form on a single cubic element — its consistent geometric
|
|
238
|
+
* stiffness gives `12EI/L²` against Euler's `π²EI/L²`, so α_cr comes out about
|
|
239
|
+
* **21 % high, which is unconservative**. Two elements per member are within
|
|
240
|
+
* 0.75 %, four within 0.05 %. Mesh compressed members into at least four
|
|
241
|
+
* elements; the solve stays in the millisecond range. A run left on one element
|
|
242
|
+
* raises `buckling_unrefined_mesh` in [`crate::models::results::modalresult::BucklingResults::warnings`].
|
|
228
243
|
*/
|
|
229
244
|
BucklingAnalysisSettings: {
|
|
230
245
|
/**
|
|
@@ -494,7 +509,21 @@ export interface components {
|
|
|
494
509
|
*/
|
|
495
510
|
DensityUnit: "kg/m3" | "kg/mm3";
|
|
496
511
|
/**
|
|
497
|
-
* @description
|
|
512
|
+
* @description **Declarative only — the solver does not branch on this.** The formulation
|
|
513
|
+
* is always the full 3D beam with 6 structural DOFs (plus warping) per node,
|
|
514
|
+
* whichever value is given.
|
|
515
|
+
*
|
|
516
|
+
* So a planar model is planar only because the caller made it so: it must
|
|
517
|
+
* restrain the out-of-plane DOFs — `Z`, `RX` and `RY` for an XY model — on
|
|
518
|
+
* **every node**, not just at the supports. Leave them free and the
|
|
519
|
+
* out-of-plane subsystem is unrestrained, which is either a singular stiffness
|
|
520
|
+
* matrix or, worse, a solve that succeeds with movement nobody asked for; see
|
|
521
|
+
* the `singular_model` diagnostic.
|
|
522
|
+
*
|
|
523
|
+
* The field is required because the payload has to carry something, and it is
|
|
524
|
+
* kept because dropping it would break every existing caller for no gain.
|
|
525
|
+
*
|
|
526
|
+
* Python:
|
|
498
527
|
* class Dimensionality(Enum):
|
|
499
528
|
* TWO_DIMENSIONAL = "2D"
|
|
500
529
|
* THREE_DIMENSIONAL = "3D"
|
|
Binary file
|