@geotechcli/core 0.4.56 → 0.4.58

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/dist/fem/demo.js CHANGED
@@ -29,6 +29,24 @@ function settlementColor(t) {
29
29
  return round(value / 255, 4);
30
30
  });
31
31
  }
32
+ function movementColor(t) {
33
+ const stops = [
34
+ [30, 64, 175],
35
+ [56, 189, 248],
36
+ [34, 197, 94],
37
+ [250, 204, 21],
38
+ [249, 115, 22],
39
+ [239, 68, 68],
40
+ ];
41
+ const scaled = Math.min(Math.max(t, 0), 1) * (stops.length - 1);
42
+ const left = Math.floor(scaled);
43
+ const right = Math.min(left + 1, stops.length - 1);
44
+ const local = scaled - left;
45
+ return [0, 1, 2].map((index) => {
46
+ const value = stops[left][index] + (stops[right][index] - stops[left][index]) * local;
47
+ return round(value / 255, 4);
48
+ });
49
+ }
32
50
  export function buildRaftDemoAnalysisCase(now = new Date('2026-05-16T00:00:00.000Z')) {
33
51
  const assumptions = [
34
52
  {
@@ -148,8 +166,146 @@ export function buildRaftDemoAnalysisCase(now = new Date('2026-05-16T00:00:00.00
148
166
  ],
149
167
  };
150
168
  }
169
+ export function buildExcavationDemoAnalysisCase(now = new Date('2026-05-17T00:00:00.000Z')) {
170
+ const assumptions = [
171
+ {
172
+ id: 'staged-elastic-screening',
173
+ parameter: 'soil-structure response',
174
+ value: 'linear elastic staged excavation preview',
175
+ basis: 'Experimental offline demonstration for FEM routing, staged-result visualization, and review workflow validation.',
176
+ confidence: 'review',
177
+ reviewRequired: true,
178
+ },
179
+ {
180
+ id: 'wall-support-proxy',
181
+ parameter: 'retaining wall and support behavior',
182
+ value: 'elastic proxy, not wall design',
183
+ basis: 'Phase 0 excavation demo uses a deterministic displacement field and support reaction envelope only.',
184
+ confidence: 'review',
185
+ reviewRequired: true,
186
+ },
187
+ {
188
+ id: 'groundwater-not-coupled',
189
+ parameter: 'groundwater',
190
+ value: 'not coupled',
191
+ basis: 'Pore pressure, seepage, basal heave, and consolidation are outside this experimental preview.',
192
+ confidence: 'review',
193
+ reviewRequired: true,
194
+ },
195
+ ];
196
+ return {
197
+ schemaVersion: 'fem-analysis-case.v0',
198
+ caseId: 'excavation-deformation-demo',
199
+ title: 'Experimental 3D FEM staged excavation deformation demo',
200
+ createdBy: 'geotechcli-fem-demo',
201
+ createdAt: now.toISOString(),
202
+ experimental: true,
203
+ objective: 'excavation_deformation',
204
+ analysisType: 'static_3d_staged_elastic',
205
+ units: DEFAULT_UNITS,
206
+ geometry: {
207
+ domain: {
208
+ type: 'box',
209
+ lengthM: 48,
210
+ widthM: 36,
211
+ depthM: 22,
212
+ },
213
+ excavation: {
214
+ type: 'braced_excavation',
215
+ lengthM: 18,
216
+ widthM: 12,
217
+ finalDepthM: 8,
218
+ centerXM: 0,
219
+ centerYM: 0,
220
+ wallToeDepthM: 13,
221
+ wallType: 'diaphragm_wall',
222
+ stages: [
223
+ { id: 'stage-1', label: 'Stage 1 - excavate to 2.5 m', depthM: 2.5 },
224
+ { id: 'stage-2', label: 'Stage 2 - excavate to 5.0 m, first support active', depthM: 5, supportLevelM: 1.5 },
225
+ { id: 'stage-3', label: 'Stage 3 - excavate to 8.0 m, two support levels active', depthM: 8, supportLevelM: 4.5 },
226
+ ],
227
+ },
228
+ },
229
+ materials: [
230
+ {
231
+ id: 'upper-fill-clay',
232
+ name: 'Upper fill and clay equivalent elastic layer',
233
+ model: 'linear_elastic',
234
+ elasticModulusKpa: 28000,
235
+ poissonRatio: 0.32,
236
+ unitWeightKnM3: 18.5,
237
+ evidenceRefs: [],
238
+ assumptions,
239
+ },
240
+ {
241
+ id: 'dense-sand-weathered-rock',
242
+ name: 'Lower dense granular / weathered rock equivalent layer',
243
+ model: 'linear_elastic',
244
+ elasticModulusKpa: 85000,
245
+ poissonRatio: 0.28,
246
+ unitWeightKnM3: 20,
247
+ evidenceRefs: [],
248
+ assumptions,
249
+ },
250
+ ],
251
+ loads: [
252
+ {
253
+ id: 'construction-surcharge',
254
+ type: 'uniform_pressure',
255
+ target: 'excavation_surcharge',
256
+ pressureKpa: 20,
257
+ evidenceRefs: [],
258
+ assumptions: [
259
+ {
260
+ id: 'surface-surcharge',
261
+ parameter: 'construction surcharge',
262
+ value: 20,
263
+ unit: 'kPa',
264
+ basis: 'Representative construction surcharge for the experimental excavation demo.',
265
+ confidence: 'review',
266
+ reviewRequired: true,
267
+ },
268
+ ],
269
+ },
270
+ ],
271
+ boundaryConditions: [
272
+ {
273
+ id: 'base-fixed',
274
+ type: 'fixed_base',
275
+ description: 'Base nodes fixed in all translations.',
276
+ },
277
+ {
278
+ id: 'side-rollers',
279
+ type: 'side_rollers',
280
+ description: 'Side boundaries use normal-displacement rollers.',
281
+ },
282
+ ],
283
+ mesh: {
284
+ elementType: 'hex8',
285
+ divisionsX: 16,
286
+ divisionsY: 12,
287
+ divisionsZ: 8,
288
+ },
289
+ groundwater: {
290
+ condition: 'not_modelled',
291
+ note: 'Groundwater, pore pressure, seepage, and basal-heave checks are not included in this experimental excavation preview.',
292
+ reviewRequired: true,
293
+ },
294
+ assumptions,
295
+ evidenceRefs: [],
296
+ limitations: [
297
+ 'Experimental staged excavation deformation preview only; not a design model.',
298
+ 'Linear elastic small-strain response only.',
299
+ 'No retaining wall design, basal heave verification, seepage, consolidation, plasticity, or construction risk acceptance check.',
300
+ 'Displacement and reaction fields are generated by a deterministic built-in screening approximation for agentic workflow and visualization validation.',
301
+ ],
302
+ };
303
+ }
151
304
  function buildVisualizationMesh(caseFile, maxSettlementMm) {
152
305
  const { domain, raft } = caseFile.geometry;
306
+ if (!raft) {
307
+ throw new Error('Raft visualization mesh requires raft geometry.');
308
+ }
153
309
  const nx = caseFile.mesh.divisionsX;
154
310
  const ny = caseFile.mesh.divisionsY;
155
311
  const base = [];
@@ -213,6 +369,212 @@ function buildVisualizationMesh(caseFile, maxSettlementMm) {
213
369
  outlineIdx: [0, 1, 1, 2, 2, 3, 3, 0],
214
370
  };
215
371
  }
372
+ function buildExcavationVisualizationMesh(caseFile, maxSurfaceSettlementMm, maxHorizontalDisplacementMm, maxWallDeflectionMm) {
373
+ const { domain, excavation } = caseFile.geometry;
374
+ if (!excavation) {
375
+ throw new Error('Excavation visualization mesh requires excavation geometry.');
376
+ }
377
+ const excavationGeometry = excavation;
378
+ const nx = caseFile.mesh.divisionsX;
379
+ const ny = caseFile.mesh.divisionsY;
380
+ const base = [];
381
+ const tri = [];
382
+ const edge = [];
383
+ const sigma = Math.max(excavation.lengthM, excavation.widthM) * 0.72;
384
+ const halfL = excavation.lengthM / 2;
385
+ const halfW = excavation.widthM / 2;
386
+ const idx = (ix, iy) => iy * (nx + 1) + ix;
387
+ for (let iy = 0; iy <= ny; iy += 1) {
388
+ const y = -domain.widthM / 2 + (domain.widthM * iy) / ny;
389
+ for (let ix = 0; ix <= nx; ix += 1) {
390
+ const x = -domain.lengthM / 2 + (domain.lengthM * ix) / nx;
391
+ base.push(round(x), round(y), 0);
392
+ }
393
+ }
394
+ for (let iy = 0; iy < ny; iy += 1) {
395
+ for (let ix = 0; ix < nx; ix += 1) {
396
+ const a = idx(ix, iy);
397
+ const b = idx(ix + 1, iy);
398
+ const c = idx(ix + 1, iy + 1);
399
+ const d = idx(ix, iy + 1);
400
+ tri.push(a, b, c, a, c, d);
401
+ }
402
+ }
403
+ for (let iy = 0; iy <= ny; iy += 1) {
404
+ for (let ix = 0; ix < nx; ix += 1) {
405
+ edge.push(idx(ix, iy), idx(ix + 1, iy));
406
+ }
407
+ }
408
+ for (let ix = 0; ix <= nx; ix += 1) {
409
+ for (let iy = 0; iy < ny; iy += 1) {
410
+ edge.push(idx(ix, iy), idx(ix, iy + 1));
411
+ }
412
+ }
413
+ function distanceFromExcavation(x, y) {
414
+ const dx = Math.max(Math.abs(x) - halfL, 0);
415
+ const dy = Math.max(Math.abs(y) - halfW, 0);
416
+ return Math.sqrt(dx * dx + dy * dy);
417
+ }
418
+ function buildFrame(stageIndex, stageLabel, field, fieldLabel) {
419
+ const stage = excavationGeometry.stages[stageIndex];
420
+ const stageRatio = stage.depthM / excavationGeometry.finalDepthM;
421
+ const disp = [];
422
+ const color = [];
423
+ for (let index = 0; index < base.length; index += 3) {
424
+ const x = base[index];
425
+ const y = base[index + 1];
426
+ const dist = distanceFromExcavation(x, y);
427
+ const influence = Math.exp(-(dist * dist) / (2 * sigma * sigma));
428
+ const inside = Math.abs(x) <= halfL && Math.abs(y) <= halfW;
429
+ const nearWall = dist <= Math.max(1.5, Math.min(halfL, halfW) * 0.22);
430
+ const radial = Math.max(Math.sqrt(x * x + y * y), 1e-6);
431
+ const wallFactor = nearWall ? 1 : 0.38;
432
+ const settlementMm = maxSurfaceSettlementMm * stageRatio * influence * (inside ? 0.72 : 1);
433
+ const horizontalMm = maxHorizontalDisplacementMm * stageRatio * influence * wallFactor;
434
+ const wallMm = maxWallDeflectionMm * stageRatio * influence * (nearWall ? 1 : 0.2);
435
+ if (field === 'horizontal_displacement') {
436
+ disp.push(round((-x / radial * horizontalMm) / 1000, 6), round((-y / radial * horizontalMm) / 1000, 6), round(-settlementMm / 1000 * 0.18, 6));
437
+ color.push(...movementColor(horizontalMm / Math.max(maxHorizontalDisplacementMm, 1)));
438
+ }
439
+ else if (field === 'wall_deflection_proxy') {
440
+ disp.push(round((-x / radial * wallMm) / 1000, 6), round((-y / radial * wallMm) / 1000, 6), 0);
441
+ color.push(...movementColor(wallMm / Math.max(maxWallDeflectionMm, 1)));
442
+ }
443
+ else {
444
+ disp.push(0, 0, round(-settlementMm / 1000, 6));
445
+ color.push(...settlementColor(settlementMm / Math.max(maxSurfaceSettlementMm, 1)));
446
+ }
447
+ }
448
+ return { field, fieldLabel, stageIndex, stageLabel, disp, color };
449
+ }
450
+ const frames = excavation.stages.flatMap((stage, stageIndex) => [
451
+ buildFrame(stageIndex, stage.label, 'surface_settlement', 'Surface settlement'),
452
+ buildFrame(stageIndex, stage.label, 'horizontal_displacement', 'Horizontal displacement'),
453
+ buildFrame(stageIndex, stage.label, 'wall_deflection_proxy', 'Wall deflection proxy'),
454
+ ]);
455
+ const primary = frames.find((frame) => frame.field === 'surface_settlement' && frame.stageIndex === excavation.stages.length - 1) ?? frames[0];
456
+ const z = 0.04;
457
+ return {
458
+ base,
459
+ disp: primary.disp,
460
+ color: primary.color,
461
+ tri,
462
+ edge,
463
+ outlineBase: [
464
+ -halfL, -halfW, z,
465
+ halfL, -halfW, z,
466
+ halfL, halfW, z,
467
+ -halfL, halfW, z,
468
+ ],
469
+ outlineDisp: new Array(12).fill(0),
470
+ outlineIdx: [0, 1, 1, 2, 2, 3, 3, 0],
471
+ frames,
472
+ };
473
+ }
474
+ function buildRaftResultFields() {
475
+ return [
476
+ {
477
+ id: 'vertical_settlement',
478
+ label: 'Vertical settlement',
479
+ unit: 'mm',
480
+ location: 'surface_nodes',
481
+ quantity: 'displacement',
482
+ component: 'z',
483
+ signConvention: 'Positive values represent downward settlement magnitude in the viewer color scale.',
484
+ },
485
+ ];
486
+ }
487
+ function buildRaftResultSteps() {
488
+ return [
489
+ {
490
+ id: 'final',
491
+ label: 'Final load step',
492
+ index: 0,
493
+ },
494
+ ];
495
+ }
496
+ function buildRaftResultDatasets(visualization) {
497
+ return [
498
+ {
499
+ id: 'vertical_settlement-final',
500
+ fieldId: 'vertical_settlement',
501
+ stepId: 'final',
502
+ values: visualization.disp,
503
+ stride: 3,
504
+ source: 'visualization.disp',
505
+ },
506
+ ];
507
+ }
508
+ function buildExcavationResultFields() {
509
+ return [
510
+ {
511
+ id: 'surface_settlement',
512
+ label: 'Surface settlement',
513
+ unit: 'mm',
514
+ location: 'surface_nodes',
515
+ quantity: 'displacement',
516
+ component: 'z',
517
+ signConvention: 'Positive values represent downward settlement magnitude in the viewer color scale.',
518
+ },
519
+ {
520
+ id: 'horizontal_displacement',
521
+ label: 'Horizontal displacement',
522
+ unit: 'mm',
523
+ location: 'surface_nodes',
524
+ quantity: 'displacement',
525
+ component: 'magnitude',
526
+ signConvention: 'Magnitude of inward horizontal movement toward the excavation.',
527
+ },
528
+ {
529
+ id: 'wall_deflection_proxy',
530
+ label: 'Wall deflection proxy',
531
+ unit: 'mm',
532
+ location: 'surface_nodes',
533
+ quantity: 'displacement',
534
+ component: 'magnitude',
535
+ signConvention: 'Screening proxy for wall-adjacent lateral movement; not a wall design result.',
536
+ },
537
+ {
538
+ id: 'support_reaction',
539
+ label: 'Support reaction',
540
+ unit: 'kN',
541
+ location: 'envelope',
542
+ quantity: 'reaction',
543
+ signConvention: 'Total deterministic preview support reaction from the result envelope.',
544
+ },
545
+ ];
546
+ }
547
+ function buildExcavationResultSteps(caseFile) {
548
+ return (caseFile.geometry.excavation?.stages ?? []).map((stage, index) => ({
549
+ id: stage.id,
550
+ label: stage.label,
551
+ index,
552
+ analysisStageId: stage.id,
553
+ depthM: stage.depthM,
554
+ }));
555
+ }
556
+ function buildExcavationResultDatasets(visualization, steps, supportReactionKn) {
557
+ const stepByIndex = new Map(steps.map((step) => [step.index, step.id]));
558
+ const frameDatasets = (visualization.frames ?? []).map((frame) => ({
559
+ id: `${frame.field}-${stepByIndex.get(frame.stageIndex ?? 0) ?? 'final'}`,
560
+ fieldId: frame.field,
561
+ stepId: stepByIndex.get(frame.stageIndex ?? 0),
562
+ values: frame.disp,
563
+ stride: 3,
564
+ source: 'visualization.frame',
565
+ }));
566
+ return [
567
+ ...frameDatasets,
568
+ {
569
+ id: 'support_reaction-final',
570
+ fieldId: 'support_reaction',
571
+ stepId: steps[steps.length - 1]?.id,
572
+ values: [supportReactionKn],
573
+ stride: 1,
574
+ source: 'envelope',
575
+ },
576
+ ];
577
+ }
216
578
  export function runBuiltinElasticRaftDemo(caseFile = buildRaftDemoAnalysisCase()) {
217
579
  const validation = validateFemAnalysisCase(caseFile);
218
580
  const material = caseFile.materials[0];
@@ -224,6 +586,9 @@ export function runBuiltinElasticRaftDemo(caseFile = buildRaftDemoAnalysisCase()
224
586
  throw new Error(`FEM case is blocked: ${validation.findings.map((item) => item.message).join('; ')}`);
225
587
  }
226
588
  const raft = caseFile.geometry.raft;
589
+ if (!raft) {
590
+ throw new Error('Raft demo requires raft geometry.');
591
+ }
227
592
  const loadedArea = raft.lengthM * raft.widthM;
228
593
  const totalLoadKn = load.pressureKpa * loadedArea;
229
594
  const stiffnessSettlementM = (load.pressureKpa * Math.min(raft.lengthM, raft.widthM) * (1 - material.poissonRatio ** 2)) /
@@ -264,6 +629,79 @@ export function runBuiltinElasticRaftDemo(caseFile = buildRaftDemoAnalysisCase()
264
629
  reactionBalanceRatio: 1,
265
630
  },
266
631
  visualization,
632
+ resultFields: buildRaftResultFields(),
633
+ steps: buildRaftResultSteps(),
634
+ datasets: buildRaftResultDatasets(visualization),
635
+ assumptions: [
636
+ ...caseFile.assumptions,
637
+ ...caseFile.loads.flatMap((item) => item.assumptions),
638
+ ],
639
+ limitations: caseFile.limitations,
640
+ };
641
+ }
642
+ export function runBuiltinElasticExcavationDemo(caseFile = buildExcavationDemoAnalysisCase()) {
643
+ const validation = validateFemAnalysisCase(caseFile);
644
+ const excavation = caseFile.geometry.excavation;
645
+ const upperMaterial = caseFile.materials[0];
646
+ if (!excavation || !upperMaterial) {
647
+ throw new Error('Excavation demo requires excavation geometry and at least one material.');
648
+ }
649
+ if (validation.status === 'blocked') {
650
+ throw new Error(`FEM case is blocked: ${validation.findings.map((item) => item.message).join('; ')}`);
651
+ }
652
+ const excavationVolumeM3 = excavation.lengthM * excavation.widthM * excavation.finalDepthM;
653
+ const totalExcavatedWeightKn = excavationVolumeM3 * upperMaterial.unitWeightKnM3;
654
+ const depthRatio = excavation.finalDepthM / Math.max(excavation.wallToeDepthM, excavation.finalDepthM);
655
+ const stiffnessFactor = Math.max(0.35, Math.min(1.8, 45_000 / upperMaterial.elasticModulusKpa));
656
+ const maxSurfaceSettlementMm = round(excavation.finalDepthM * 1.72 * stiffnessFactor, 3);
657
+ const maxHorizontalDisplacementMm = round(maxSurfaceSettlementMm * (0.7 + depthRatio * 0.35), 3);
658
+ const maxWallDeflectionMm = round(maxHorizontalDisplacementMm * 0.82, 3);
659
+ const maxBasalHeaveMm = round(excavation.finalDepthM * 0.55 * stiffnessFactor, 3);
660
+ const supportReactionKn = round(totalExcavatedWeightKn * 0.28, 3);
661
+ const boundaryReactionKn = round(totalExcavatedWeightKn - supportReactionKn, 3);
662
+ const visualization = buildExcavationVisualizationMesh(caseFile, maxSurfaceSettlementMm, maxHorizontalDisplacementMm, maxWallDeflectionMm);
663
+ const steps = buildExcavationResultSteps(caseFile);
664
+ return {
665
+ schemaVersion: 'fem-result-manifest.v0',
666
+ caseId: caseFile.caseId,
667
+ title: caseFile.title,
668
+ generatedAt: new Date().toISOString(),
669
+ backend: {
670
+ id: 'builtin-staged-excavation-demo',
671
+ label: 'Built-in experimental staged excavation deformation preview',
672
+ deterministic: true,
673
+ version: '0.1.0',
674
+ },
675
+ analysisCase: caseFile,
676
+ validation,
677
+ mesh: {
678
+ nodes: (caseFile.mesh.divisionsX + 1) * (caseFile.mesh.divisionsY + 1) * (caseFile.mesh.divisionsZ + 1),
679
+ elements: caseFile.mesh.divisionsX * caseFile.mesh.divisionsY * caseFile.mesh.divisionsZ,
680
+ elementType: caseFile.mesh.elementType,
681
+ divisions: [caseFile.mesh.divisionsX, caseFile.mesh.divisionsY, caseFile.mesh.divisionsZ],
682
+ visualizationNodes: visualization.base.length / 3,
683
+ visualizationTriangles: visualization.tri.length / 3,
684
+ visualizationEdges: visualization.edge.length / 2,
685
+ },
686
+ envelope: {
687
+ maxSettlementMm: maxSurfaceSettlementMm,
688
+ minSettlementMm: 0,
689
+ totalLoadKn: round(totalExcavatedWeightKn, 3),
690
+ reactionKn: round(totalExcavatedWeightKn, 3),
691
+ reactionBalanceRatio: 1,
692
+ maxSurfaceSettlementMm,
693
+ maxHorizontalDisplacementMm,
694
+ maxWallDeflectionMm,
695
+ maxBasalHeaveMm,
696
+ totalExcavatedWeightKn: round(totalExcavatedWeightKn, 3),
697
+ supportReactionKn,
698
+ boundaryReactionKn,
699
+ stageCount: excavation.stages.length,
700
+ },
701
+ visualization,
702
+ resultFields: buildExcavationResultFields(),
703
+ steps,
704
+ datasets: buildExcavationResultDatasets(visualization, steps, supportReactionKn),
267
705
  assumptions: [
268
706
  ...caseFile.assumptions,
269
707
  ...caseFile.loads.flatMap((item) => item.assumptions),
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/fem/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/fem/demo.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from './types.js';
2
- export { buildRaftDemoAnalysisCase, runBuiltinElasticRaftDemo } from './demo.js';
2
+ export { buildExcavationDemoAnalysisCase, buildRaftDemoAnalysisCase, runBuiltinElasticExcavationDemo, runBuiltinElasticRaftDemo, } from './demo.js';
3
3
  export { getFemCapability, listFemCapabilities, prepareFemAnalysisCaseDraft, type FemAnalysisCaseDraft, type FemCapability, type FemCapabilityStatus, type FemRouteObjective, } from './routing.js';
4
4
  export { validateFemAnalysisCase, validateFemResultManifest } from './validation.js';
5
5
  export { renderFemWebglHtml } from './webgl.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fem/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fem/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
package/dist/fem/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './types.js';
2
- export { buildRaftDemoAnalysisCase, runBuiltinElasticRaftDemo } from './demo.js';
2
+ export { buildExcavationDemoAnalysisCase, buildRaftDemoAnalysisCase, runBuiltinElasticExcavationDemo, runBuiltinElasticRaftDemo, } from './demo.js';
3
3
  export { getFemCapability, listFemCapabilities, prepareFemAnalysisCaseDraft, } from './routing.js';
4
4
  export { validateFemAnalysisCase, validateFemResultManifest } from './validation.js';
5
5
  export { renderFemWebglHtml } from './webgl.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fem/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAK5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fem/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAK5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -25,6 +25,15 @@ export interface PrepareFemAnalysisCaseDraftInput {
25
25
  domainLengthM?: number;
26
26
  domainWidthM?: number;
27
27
  domainDepthM?: number;
28
+ excavationLengthM?: number;
29
+ excavationWidthM?: number;
30
+ excavationFinalDepthM?: number;
31
+ wallToeDepthM?: number;
32
+ };
33
+ excavation?: {
34
+ stageDepthsM?: number[];
35
+ supportLevelsM?: number[];
36
+ wallType?: 'diaphragm_wall' | 'secant_pile_wall' | 'soldier_pile_lagging' | 'unsupported_screening';
28
37
  };
29
38
  load?: {
30
39
  pressureKpa?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,iBAAiB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,mBAAmB,GACnB,+BAA+B,GAC/B,gCAAgC,CAAC;AAErC,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,WAAW,CAAC;QAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,4BAA4B,CAAC;IAC5C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,aAAa,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,KAAK,CAAC;IACtB,iBAAiB,EAAE,uBAAuB,GAAG,gBAAgB,GAAG,eAAe,CAAC;IAChF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAiFD,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,aAAa,EAAE,CAElF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAExF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,GAAG,oBAAoB,CAsHzG"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"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"}