@geotechcli/core 0.4.123 → 0.4.124

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.
@@ -1,7 +1,8 @@
1
1
  import { DEFAULT_FEM_CONVERGENCE_POLICY } from './engineering-evidence.js';
2
- import { buildPlaneStrainRectangularMesh, runPlaneStrainDruckerPragerLoadSteps, } from './plane-strain-assembly.js';
2
+ import { buildPlaneStrainRectangularMesh, runPlaneStrainBiotConsolidation, runPlaneStrainDruckerPragerBiotPressureReplay, runPlaneStrainDruckerPragerLoadSteps, } from './plane-strain-assembly.js';
3
3
  import { validateFemAnalysisCase } from './validation.js';
4
- const BACKEND_ID = 'builtin-plane-strain-dp-adaptive-v0';
4
+ const DP_ADAPTIVE_BACKEND_ID = 'builtin-plane-strain-dp-adaptive-v0';
5
+ const DP_BIOT_REPLAY_BACKEND_ID = 'builtin-plane-strain-dp-biot-replay-v0';
5
6
  const ANALYSIS_TYPE = 'static_2d_plane_strain_drucker_prager';
6
7
  function round(value, digits = 6) {
7
8
  const factor = 10 ** digits;
@@ -164,6 +165,20 @@ function buildTopLoad(mesh, heightM, totalLoadKn) {
164
165
  const loadPerNodeKn = -totalLoadKn / Math.max(topNodes.length, 1);
165
166
  return topNodes.map((node) => ({ nodeId: node.id, fyKn: loadPerNodeKn }));
166
167
  }
168
+ function buildPorePressureBoundaryConditions(mesh, widthM, heightM, boundaries) {
169
+ const eps = Math.max(widthM, heightM, 1) * 1e-10;
170
+ return boundaries.flatMap((boundary) => (mesh.nodes
171
+ .filter((node) => {
172
+ if (boundary.boundary === 'top')
173
+ return Math.abs(node.yM - heightM) <= eps;
174
+ if (boundary.boundary === 'bottom')
175
+ return Math.abs(node.yM) <= eps;
176
+ if (boundary.boundary === 'left')
177
+ return Math.abs(node.xM) <= eps;
178
+ return Math.abs(node.xM - widthM) <= eps;
179
+ })
180
+ .map((node) => ({ nodeId: node.id, porePressureKpa: boundary.porePressureKpa }))));
181
+ }
167
182
  export function buildPlaneStrainDruckerPragerAdaptiveExcavationDemoAnalysisCase(caseFile) {
168
183
  const material = caseFile.materials[0];
169
184
  const assumptions = [
@@ -315,7 +330,7 @@ export function runBuiltinPlaneStrainDruckerPragerAdaptivePreview(caseFile, opti
315
330
  title: `${caseFile.title} - adaptive Drucker-Prager result`,
316
331
  generatedAt: new Date().toISOString(),
317
332
  backend: {
318
- id: BACKEND_ID,
333
+ id: DP_ADAPTIVE_BACKEND_ID,
319
334
  label: 'Built-in experimental plane-strain Drucker-Prager adaptive preview',
320
335
  deterministic: true,
321
336
  version: '0.1.0',
@@ -366,7 +381,240 @@ export function runBuiltinPlaneStrainDruckerPragerAdaptivePreview(caseFile, opti
366
381
  ],
367
382
  };
368
383
  }
384
+ export function runBuiltinPlaneStrainDruckerPragerBiotPressureReplayPreview(caseFile, options = {}) {
385
+ const validation = validateFemAnalysisCase(caseFile);
386
+ if (validation.status === 'blocked') {
387
+ throw new Error(`Cannot run plane-strain Drucker-Prager Biot pressure-replay preview: ${validation.findings.map((item) => item.message).join('; ')}`);
388
+ }
389
+ if (caseFile.objective !== 'excavation_deformation' || caseFile.analysisType !== ANALYSIS_TYPE) {
390
+ throw new Error('The plane-strain Drucker-Prager Biot pressure-replay preview requires an excavation_deformation case with static_2d_plane_strain_drucker_prager analysisType.');
391
+ }
392
+ if (caseFile.mesh.elementType !== 'quad4_plane_strain') {
393
+ throw new Error('The plane-strain Drucker-Prager Biot pressure-replay preview requires a quad4_plane_strain mesh.');
394
+ }
395
+ const excavation = caseFile.geometry.excavation;
396
+ const biot = caseFile.geometry.biot;
397
+ const material = caseFile.materials[0];
398
+ if (!excavation || !biot || !material) {
399
+ throw new Error('The plane-strain Drucker-Prager Biot pressure-replay preview requires excavation geometry, Biot pressure-source geometry, and one reviewed material.');
400
+ }
401
+ const widthM = caseFile.geometry.domain.lengthM;
402
+ const heightM = caseFile.geometry.domain.depthM;
403
+ const thicknessM = caseFile.geometry.domain.widthM;
404
+ const mesh = buildPlaneStrainRectangularMesh({
405
+ widthM,
406
+ heightM,
407
+ divisionsX: caseFile.mesh.divisionsX,
408
+ divisionsY: caseFile.mesh.divisionsY,
409
+ materialId: material.id,
410
+ });
411
+ const boundaryConditions = buildBoundaryConditions(mesh, widthM, heightM);
412
+ const porePressureBoundaryConditions = buildPorePressureBoundaryConditions(mesh, widthM, heightM, biot.porePressureBoundaries);
413
+ const policy = options.policy ?? {
414
+ ...DEFAULT_FEM_CONVERGENCE_POLICY,
415
+ maxIterations: 8,
416
+ };
417
+ const biotResult = runPlaneStrainBiotConsolidation({
418
+ schemaVersion: 'fem-plane-strain-biot-consolidation-model.v1',
419
+ nodes: mesh.nodes,
420
+ elements: mesh.elements,
421
+ materials: [
422
+ {
423
+ id: material.id,
424
+ elasticModulusKpa: material.elasticModulusKpa,
425
+ poissonRatio: material.poissonRatio,
426
+ unitWeightKnM3: material.unitWeightKnM3,
427
+ hydraulicConductivityXMPerS: material.hydraulicConductivityXMPerS ?? material.hydraulicConductivityMPerS,
428
+ hydraulicConductivityYMPerS: material.hydraulicConductivityYMPerS ?? material.hydraulicConductivityMPerS,
429
+ biotCoefficient: material.biotCoefficient,
430
+ specificStorage1PerM: material.specificStorage1PerM,
431
+ },
432
+ ],
433
+ boundaryConditions,
434
+ porePressureBoundaryConditions,
435
+ timeStepsSeconds: biot.timeStepsSeconds,
436
+ initialPorePressureKpa: biot.initialPorePressureKpa,
437
+ defaultThicknessM: biot.thicknessM,
438
+ policy,
439
+ });
440
+ const totalExcavatedWeightKn = excavation.lengthM * excavation.widthM * excavation.finalDepthM * material.unitWeightKnM3;
441
+ const result = runPlaneStrainDruckerPragerBiotPressureReplay({
442
+ mechanicalModel: {
443
+ schemaVersion: 'fem-plane-strain-model.v1',
444
+ nodes: mesh.nodes,
445
+ elements: mesh.elements,
446
+ materials: [{
447
+ id: material.id,
448
+ elasticModulusKpa: material.elasticModulusKpa,
449
+ poissonRatio: material.poissonRatio,
450
+ unitWeightKnM3: material.unitWeightKnM3,
451
+ frictionAngleDeg: material.frictionAngleDeg,
452
+ cohesionKpa: material.cohesionKpa,
453
+ hardeningModulusKpa: material.hardeningModulusKpa,
454
+ biotCoefficient: material.biotCoefficient,
455
+ dilationAngleDeg: 0,
456
+ }],
457
+ boundaryConditions,
458
+ nodalLoads: buildTopLoad(mesh, heightM, totalExcavatedWeightKn),
459
+ defaultThicknessM: thicknessM,
460
+ policy,
461
+ },
462
+ biotResult,
463
+ pressureScale: options.pressureScale ?? 1,
464
+ requireAcceptedTransient: true,
465
+ maxMassBalanceErrorRatio: policy.porePressureMassBalanceTolerance,
466
+ solverOptions: {
467
+ loadStepFractions: [1],
468
+ adaptiveLoadStepping: {
469
+ enabled: true,
470
+ strategy: 'cutback-bisection',
471
+ minLoadFactorIncrement: 1 / 64,
472
+ maxCutbacks: 24,
473
+ },
474
+ },
475
+ });
476
+ const visualization = buildPlaneStrainDpVisualization(caseFile, result);
477
+ const finalBiotStep = biotResult.timeSteps[biotResult.timeSteps.length - 1];
478
+ const maxSettlementMm = round(Math.max(...result.nodes.map((node) => Math.max(0, -node.uyM))) * 1000, 6);
479
+ const maxHorizontalDisplacementMm = round(Math.max(...result.nodes.map((node) => Math.abs(node.uxM))) * 1000, 6);
480
+ const maxHardeningStressKpa = Math.max(0, ...result.elements.flatMap((element) => element.gaussPoints.map((point) => point.hardeningStressKpa)));
481
+ const solverIterations = result.loadSteps.reduce((total, step) => total + step.iterations, 0);
482
+ const rejectedAttemptCount = result.adaptiveLoadStepping.attempts.filter((attempt) => !attempt.accepted).length;
483
+ const adaptiveLoadStepping = {
484
+ ...result.adaptiveLoadStepping,
485
+ attempts: result.adaptiveLoadStepping.attempts.map((attempt) => ({ ...attempt })),
486
+ blockerCodes: [...result.adaptiveLoadStepping.blockerCodes],
487
+ };
488
+ const envelope = {
489
+ maxSettlementMm,
490
+ minSettlementMm: 0,
491
+ totalLoadKn: round(totalExcavatedWeightKn, 6),
492
+ reactionKn: round(totalExcavatedWeightKn, 6),
493
+ reactionBalanceRatio: round(result.reactionBalanceRatio, 8),
494
+ maxSurfaceSettlementMm: maxSettlementMm,
495
+ maxHorizontalDisplacementMm,
496
+ maxWallDeflectionMm: maxHorizontalDisplacementMm,
497
+ maxBasalHeaveMm: maxSettlementMm,
498
+ totalExcavatedWeightKn: round(totalExcavatedWeightKn, 6),
499
+ supportReactionKn: 0,
500
+ boundaryReactionKn: round(totalExcavatedWeightKn, 6),
501
+ stageCount: excavation.stages.length,
502
+ solverLoadSteps: result.loadSteps.length,
503
+ solverIterations,
504
+ maxSolverResidualRatio: round(result.residualNormRatio, 12),
505
+ maxYieldResidualRatio: round(result.maxYieldResidualRatio, 12),
506
+ nonlinearPlasticStrain: round(result.maxEquivalentPlasticStrain, 12),
507
+ planeStrainDofCount: result.dofCount,
508
+ planeStrainFreeDofCount: result.freeDofCount,
509
+ planeStrainConstrainedDofCount: result.constrainedDofCount,
510
+ plasticGaussPointCount: result.plasticGaussPointCount,
511
+ maxEquivalentPlasticStrain: round(result.maxEquivalentPlasticStrain, 12),
512
+ maxEquivalentPlasticStrainIncrement: round(result.maxEquivalentPlasticStrainIncrement, 12),
513
+ ...(material.hardeningModulusKpa != null && material.hardeningModulusKpa > 0 ? {
514
+ maxHardeningStressKpa: round(maxHardeningStressKpa, 8),
515
+ } : {}),
516
+ adaptiveAttemptCount: result.adaptiveLoadStepping.attemptedStepCount,
517
+ adaptiveAcceptedStepCount: result.adaptiveLoadStepping.acceptedStepCount,
518
+ adaptiveRejectedAttemptCount: rejectedAttemptCount,
519
+ adaptiveCutbackCount: result.adaptiveLoadStepping.cutbackCount,
520
+ adaptiveMaxCutbackDepth: result.adaptiveLoadStepping.maxCutbackDepth,
521
+ maxExcessPorePressureKpa: round(biotResult.maxPorePressureKpa, 8),
522
+ timeStepCount: biotResult.timeSteps.length,
523
+ minPorePressureKpa: round(biotResult.minPorePressureKpa, 8),
524
+ maxPorePressureKpa: round(biotResult.maxPorePressureKpa, 8),
525
+ maxBiotCouplingKpa: round(result.pressureReplayAudit.maxAppliedEffectiveStressReductionKpa, 8),
526
+ porePressureMassBalanceErrorRatio: finalBiotStep?.massBalanceErrorRatio ?? biotResult.massBalanceErrorRatio,
527
+ maxFreePorePressureResidualM3PerS: biotResult.maxFreePorePressureResidualM3PerS,
528
+ freePorePressureResidualL1M3PerS: biotResult.freePorePressureResidualL1M3PerS,
529
+ prescribedPorePressureResidualL1M3PerS: biotResult.pressureAudit.prescribedPorePressureResidualL1M3PerS,
530
+ averagePorePressureKpa: biotResult.pressureDiagnostics.averagePorePressureKpa,
531
+ averageFreePorePressureKpa: biotResult.pressureDiagnostics.averageFreePorePressureKpa,
532
+ porePressureDissipationRatio: biotResult.pressureDiagnostics.porePressureDissipationRatio,
533
+ maxPorePressureChangeRateKpaPerS: biotResult.pressureDiagnostics.maxPorePressureChangeRateKpaPerS,
534
+ coupledUnknownCount: result.dofCount,
535
+ displacementDofCount: result.dofCount,
536
+ porePressureDofCount: 0,
537
+ };
538
+ return {
539
+ schemaVersion: 'fem-result-manifest.v0',
540
+ caseId: caseFile.caseId,
541
+ title: `${caseFile.title} - Drucker-Prager Biot pressure-replay result`,
542
+ generatedAt: new Date().toISOString(),
543
+ backend: {
544
+ id: DP_BIOT_REPLAY_BACKEND_ID,
545
+ label: 'Built-in experimental plane-strain Drucker-Prager Biot pressure-replay preview',
546
+ deterministic: true,
547
+ version: '0.1.0',
548
+ productionReady: false,
549
+ },
550
+ analysisCase: caseFile,
551
+ validation,
552
+ mesh: {
553
+ nodes: mesh.nodes.length,
554
+ elements: mesh.elements.length,
555
+ elementType: 'quad4_plane_strain',
556
+ divisions: [caseFile.mesh.divisionsX, caseFile.mesh.divisionsY, caseFile.mesh.divisionsZ],
557
+ visualizationNodes: visualization.base.length / 3,
558
+ visualizationTriangles: visualization.tri.length / 3,
559
+ visualizationEdges: visualization.edge.length / 2,
560
+ },
561
+ envelope,
562
+ pressureAudit: biotResult.pressureAudit,
563
+ biotTransientAcceptance: {
564
+ ...biotResult.transientAcceptance,
565
+ blockerCodes: [...biotResult.transientAcceptance.blockerCodes],
566
+ },
567
+ pressureReplayAudit: {
568
+ ...result.pressureReplayAudit,
569
+ sourceTransientBlockerCodes: [...result.pressureReplayAudit.sourceTransientBlockerCodes],
570
+ limitations: [...result.pressureReplayAudit.limitations],
571
+ },
572
+ adaptiveLoadStepping,
573
+ solverConvergence: buildSolverConvergenceReport(result),
574
+ visualization,
575
+ assumptions: [
576
+ ...caseFile.assumptions,
577
+ {
578
+ id: 'dp-biot-pressure-replay-route',
579
+ parameter: 'hydro-mechanical route scope',
580
+ value: 'sequential one-way final Biot pressure-frame replay into plane-strain Drucker-Prager effective stress',
581
+ basis: 'The manifest records accepted upstream Biot transient metadata, pressure audit, pressure-replay audit, and nonlinear DP convergence metadata. It is not a monolithic Biot-plastic solve.',
582
+ confidence: 'measured',
583
+ reviewRequired: true,
584
+ },
585
+ {
586
+ id: 'dp-biot-pressure-frame-source',
587
+ parameter: 'pore-pressure frame source',
588
+ value: 'final accepted Biot u-p transient step',
589
+ basis: 'The pressure frame is replayed as prescribed pore-pressure increments against matching mechanical node ids; nonlinear iterations do not include pore-pressure unknowns.',
590
+ confidence: 'measured',
591
+ reviewRequired: true,
592
+ },
593
+ ...(material.hardeningModulusKpa != null && material.hardeningModulusKpa > 0 ? [{
594
+ id: 'dp-isotropic-hardening-route',
595
+ parameter: 'Drucker-Prager hardening modulus',
596
+ value: material.hardeningModulusKpa,
597
+ unit: 'kPa',
598
+ basis: 'Route-backed adaptive Drucker-Prager preview forwarded the reviewed hardening modulus into Gauss-point return mapping and reports the resulting hardening stress envelope; calibration and independent benchmark approval are still required.',
599
+ confidence: 'review',
600
+ reviewRequired: true,
601
+ }] : []),
602
+ ],
603
+ limitations: [
604
+ 'Experimental route-backed sequential Biot pressure-replay preview only; not a production hydro-mechanical nonlinear FEM design solver.',
605
+ 'Uses a final accepted linear Biot u-p pressure frame as prescribed pore-pressure increments in the Drucker-Prager mechanical solve.',
606
+ 'No pore-pressure DOFs, pressure equation, plastic volumetric source term, monolithic hydro-mechanical coupling, or consistent Biot-plastic tangent is assembled in the nonlinear iterations.',
607
+ 'Mechanical load factor and pore-pressure time remain separate reviewed engineering inputs; advanced staged activation, support member design, seepage/dewatering design, and commercial benchmark acceptance are not provided.',
608
+ ...result.pressureReplayAudit.limitations,
609
+ ...result.limitations,
610
+ ...biotResult.limitations,
611
+ ...caseFile.limitations,
612
+ ],
613
+ };
614
+ }
369
615
  export const runBuiltinPlaneStrainDruckerPragerAdaptiveSolver = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
370
616
  export const runBuiltinPlaneStrainDpAdaptivePreview = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
371
617
  export const runBuiltinPlaneStrainDpAdaptiveSolver = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
618
+ export const runBuiltinPlaneStrainDpBiotReplayPreview = runBuiltinPlaneStrainDruckerPragerBiotPressureReplayPreview;
619
+ export const runBuiltinPlaneStrainDpBiotReplaySolver = runBuiltinPlaneStrainDruckerPragerBiotPressureReplayPreview;
372
620
  //# sourceMappingURL=nonlinear-plane-strain-solver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonlinear-plane-strain-solver.js","sourceRoot":"","sources":["../../src/fem/nonlinear-plane-strain-solver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonlinear-plane-strain-solver.js","sourceRoot":"","sources":["../../src/fem/nonlinear-plane-strain-solver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FemAnalysisCase, FemAssumption, FemEvidenceRef, FemValidationSummary } from './types.js';
2
- export type FemRouteObjective = 'foundation-settlement' | 'excavation-deformation' | 'excavation-plane-strain-dp-adaptive' | 'shaft-deformation' | 'tunnel-volume-loss-settlement' | 'pile-group-elastic-interaction' | 'slope-embankment-deformation' | 'retaining-wall-excavation-support' | 'seepage-groundwater-coupling' | 'staged-settlement-consolidation';
2
+ export type FemRouteObjective = 'foundation-settlement' | 'excavation-deformation' | 'excavation-plane-strain-dp-adaptive' | 'excavation-plane-strain-dp-biot-replay' | 'shaft-deformation' | 'tunnel-volume-loss-settlement' | 'pile-group-elastic-interaction' | 'slope-embankment-deformation' | 'retaining-wall-excavation-support' | 'seepage-groundwater-coupling' | 'staged-settlement-consolidation';
3
3
  export type FemCapabilityStatus = 'implemented-demo' | 'contract-draft' | 'planned';
4
4
  export interface FemCapability {
5
5
  objective: FemRouteObjective;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,iBAAiB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,qCAAqC,GACrC,wCAAwC,GACxC,mBAAmB,GACnB,+BAA+B,GAC/B,gCAAgC,GAChC,8BAA8B,GAC9B,mCAAmC,GACnC,8BAA8B,GAC9B,iCAAiC,CAAC;AAEtC,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,aAAa,EAAE,wBAAwB,GAAG,eAAe,CAAC;IAC1D,eAAe,EAAE,KAAK,CAAC;IACvB,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;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;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;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,0BAA0B,CAAC,EAAE,MAAM,CAAC;KACrC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;KACrG,CAAC;IACF,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAChC,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;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mCAAmC,CAAC,EAAE,MAAM,CAAC;QAC7C,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,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,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC;IAC5E,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;IAC5B,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,2BAA2B,CAAC;IAC3C,UAAU,EAAE,uBAAuB,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC,CAAC;IACxH,sBAAsB,EAAE,KAAK,CAAC,YAAY,GAAG,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,CAAC,CAAC;CAC1G;AA+TD,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,CAmwBzG"}
@@ -59,6 +59,24 @@ const CAPABILITIES = [
59
59
  draftCommandTemplate: 'geotech fem draft excavation-plane-strain-dp-adaptive --input <json> --case-output <analysis_case.json>',
60
60
  runCommandTemplate: `geotech fem run <analysis_case.json> --experimental --reviewed ${FEM_REVIEWED_RUN_APPROVAL_TEMPLATE} --backend plane-strain-dp-adaptive`,
61
61
  },
62
+ {
63
+ objective: 'excavation-plane-strain-dp-biot-replay',
64
+ label: 'Plane-strain Drucker-Prager excavation with Biot pressure replay preview',
65
+ status: 'implemented-demo',
66
+ executionMode: 'human-reviewed-preview',
67
+ agentRunAllowed: false,
68
+ analysisType: 'static_2d_plane_strain_drucker_prager',
69
+ deterministicBackend: 'builtin-plane-strain-dp-biot-replay-v0',
70
+ description: 'Experimental reviewed Quad4 plane-strain Drucker-Prager excavation preview that replays an accepted final Biot u-p pressure frame as prescribed pore-pressure increments for effective-stress evidence.',
71
+ requiredEvidence: ['stratigraphy', 'groundwater condition', 'wall geometry', 'support levels', 'excavation stage depths', 'elastic stiffness basis', 'Mohr-Coulomb friction angle', 'Mohr-Coulomb cohesion', 'hydraulic conductivity', 'specific storage', 'Biot coefficient', 'initial excess pore pressure', 'drained pressure boundary', 'Biot transient time-step schedule'],
72
+ requiredUserInputs: ['excavation length', 'excavation width', 'final depth', 'stage depths', 'wall/support assumptions', 'surcharge pressure', 'friction angle', 'cohesion', 'initial pore pressure', 'Biot time steps', 'top drained pore pressure', 'hydraulic conductivity', 'specific storage', 'Biot coefficient'],
73
+ visualizationFields: ['surface settlement', 'horizontal displacement', 'wall deflection proxy', 'plastic Gauss point count', 'adaptive load-step audit', 'Biot pressure-replay audit'],
74
+ reviewGates: ['experimental-only', 'sequential-one-way-pressure-replay-only', 'no-pore-pressure-dofs-in-nonlinear-iterations', 'no-monolithic-biot-plastic-tangent', 'adaptive-load-stepping-audit-required', 'support-reaction-screening-only', 'not-jurisdiction-specific-structural-design', 'not-design-calculation'],
75
+ limitations: ['Sequential one-way pressure replay only; no pore-pressure DOFs, pressure equation, plastic volumetric source, monolithic hydro-mechanical coupling, support member design, basal heave design, or independent commercial benchmark approval.'],
76
+ command: 'geotech fem draft excavation-plane-strain-dp-biot-replay --input <json> --case-output <analysis_case.json>',
77
+ draftCommandTemplate: 'geotech fem draft excavation-plane-strain-dp-biot-replay --input <json> --case-output <analysis_case.json>',
78
+ runCommandTemplate: `geotech fem run <analysis_case.json> --experimental --reviewed ${FEM_REVIEWED_RUN_APPROVAL_TEMPLATE} --backend plane-strain-dp-biot-replay`,
79
+ },
62
80
  {
63
81
  objective: 'shaft-deformation',
64
82
  label: 'Shaft / pit deformation preview',
@@ -334,6 +352,7 @@ export function prepareFemAnalysisCaseDraft(input) {
334
352
  if (capability.objective !== 'foundation-settlement' &&
335
353
  capability.objective !== 'excavation-deformation' &&
336
354
  capability.objective !== 'excavation-plane-strain-dp-adaptive' &&
355
+ capability.objective !== 'excavation-plane-strain-dp-biot-replay' &&
337
356
  capability.objective !== 'tunnel-volume-loss-settlement' &&
338
357
  capability.objective !== 'staged-settlement-consolidation' &&
339
358
  capability.objective !== 'seepage-groundwater-coupling') {
@@ -708,7 +727,9 @@ export function prepareFemAnalysisCaseDraft(input) {
708
727
  recommendedCommand: commandForValidation(capability, validation),
709
728
  };
710
729
  }
711
- if (capability.objective === 'excavation-deformation' || capability.objective === 'excavation-plane-strain-dp-adaptive') {
730
+ if (capability.objective === 'excavation-deformation' ||
731
+ capability.objective === 'excavation-plane-strain-dp-adaptive' ||
732
+ capability.objective === 'excavation-plane-strain-dp-biot-replay') {
712
733
  const missing = [];
713
734
  const useDemoDefaults = input.useDemoDefaults === true;
714
735
  const lengthM = input.geometry?.excavationLengthM ?? (useDemoDefaults ? 18 : undefined);
@@ -719,11 +740,53 @@ export function prepareFemAnalysisCaseDraft(input) {
719
740
  const checkedFinalDepthM = requirePositive(finalDepthM, 'final excavation depth', missing);
720
741
  const stageDepthsM = parseOptionalFiniteArray(input.excavation?.stageDepthsM, 'valid excavation stage depths', missing, { positive: true });
721
742
  const supportLevelsM = parseOptionalFiniteArray(input.excavation?.supportLevelsM, 'valid excavation support levels', missing, { nonNegative: true });
743
+ const needsBiotReplay = capability.objective === 'excavation-plane-strain-dp-biot-replay';
744
+ const biotInitialPorePressureKpa = input.biot?.initialPorePressureKpa ?? (useDemoDefaults ? 100 : undefined);
745
+ const biotTopPorePressureKpa = input.biot?.topPorePressureKpa ?? (useDemoDefaults ? 0 : undefined);
746
+ const biotTimeStepsInput = input.biot?.timeStepsSeconds ?? (useDemoDefaults ? [1, 2, 4, 8] : undefined);
747
+ const biotTimeStepsSeconds = parseOptionalFiniteArray(biotTimeStepsInput, 'valid Biot pressure-replay time steps', missing, { positive: true });
748
+ const hydraulicConductivityXMPerS = input.material?.hydraulicConductivityXMPerS ??
749
+ input.material?.hydraulicConductivityMPerS ??
750
+ (useDemoDefaults ? 1e-6 : undefined);
751
+ const hydraulicConductivityYMPerS = input.material?.hydraulicConductivityYMPerS ??
752
+ input.material?.hydraulicConductivityMPerS ??
753
+ (useDemoDefaults ? 1e-6 : undefined);
754
+ const biotCoefficient = input.material?.biotCoefficient ?? (useDemoDefaults ? 0.8 : undefined);
755
+ const specificStorage1PerM = input.material?.specificStorage1PerM ?? (useDemoDefaults ? 1e-4 : undefined);
756
+ const checkedBiotInitialPorePressureKpa = needsBiotReplay
757
+ ? requireNonNegative(biotInitialPorePressureKpa, 'initial pore pressure', missing)
758
+ : undefined;
759
+ const checkedBiotTopPorePressureKpa = needsBiotReplay
760
+ ? requireNonNegative(biotTopPorePressureKpa, 'top drained pore pressure', missing)
761
+ : undefined;
762
+ const checkedHydraulicConductivityXMPerS = needsBiotReplay
763
+ ? requirePositive(hydraulicConductivityXMPerS, 'horizontal hydraulic conductivity', missing)
764
+ : undefined;
765
+ const checkedHydraulicConductivityYMPerS = needsBiotReplay
766
+ ? requirePositive(hydraulicConductivityYMPerS, 'vertical hydraulic conductivity', missing)
767
+ : undefined;
768
+ const checkedSpecificStorage1PerM = needsBiotReplay
769
+ ? requirePositive(specificStorage1PerM, 'specific storage', missing)
770
+ : undefined;
771
+ const checkedBiotCoefficient = needsBiotReplay && finiteNumber(biotCoefficient) && biotCoefficient >= 0 && biotCoefficient <= 1
772
+ ? biotCoefficient
773
+ : undefined;
774
+ if (needsBiotReplay && checkedBiotCoefficient == null)
775
+ missing.push('Biot coefficient between 0 and 1');
776
+ if (needsBiotReplay && !biotTimeStepsSeconds)
777
+ missing.push('Biot pressure-replay time steps');
722
778
  if (!checkedLengthM ||
723
779
  !checkedWidthM ||
724
780
  !checkedFinalDepthM ||
725
781
  (input.excavation?.stageDepthsM != null && !stageDepthsM) ||
726
- (input.excavation?.supportLevelsM != null && !supportLevelsM)) {
782
+ (input.excavation?.supportLevelsM != null && !supportLevelsM) ||
783
+ (needsBiotReplay && (checkedBiotInitialPorePressureKpa == null ||
784
+ checkedBiotTopPorePressureKpa == null ||
785
+ !biotTimeStepsSeconds ||
786
+ !checkedHydraulicConductivityXMPerS ||
787
+ !checkedHydraulicConductivityYMPerS ||
788
+ checkedBiotCoefficient == null ||
789
+ !checkedSpecificStorage1PerM))) {
727
790
  return {
728
791
  schemaVersion: 'fem-analysis-case-draft.v1',
729
792
  objective: capability.objective,
@@ -791,6 +854,46 @@ export function prepareFemAnalysisCaseDraft(input) {
791
854
  input.material.hardeningModulusKpa >= 0) {
792
855
  analysisCase.materials[0].hardeningModulusKpa = input.material.hardeningModulusKpa;
793
856
  }
857
+ if (needsBiotReplay) {
858
+ const pressureBoundaries = [
859
+ { id: 'top-drained', boundary: 'top', porePressureKpa: checkedBiotTopPorePressureKpa },
860
+ ...(finiteNonNegative(input.biot?.bottomPorePressureKpa) ? [{
861
+ id: 'bottom-prescribed',
862
+ boundary: 'bottom',
863
+ porePressureKpa: input.biot.bottomPorePressureKpa,
864
+ }] : []),
865
+ ...(finiteNonNegative(input.biot?.leftPorePressureKpa) ? [{
866
+ id: 'left-prescribed',
867
+ boundary: 'left',
868
+ porePressureKpa: input.biot.leftPorePressureKpa,
869
+ }] : []),
870
+ ...(finiteNonNegative(input.biot?.rightPorePressureKpa) ? [{
871
+ id: 'right-prescribed',
872
+ boundary: 'right',
873
+ porePressureKpa: input.biot.rightPorePressureKpa,
874
+ }] : []),
875
+ ];
876
+ analysisCase.geometry.biot = {
877
+ type: 'plane_strain_biot_column',
878
+ widthM: analysisCase.geometry.domain.lengthM,
879
+ heightM: analysisCase.geometry.domain.depthM,
880
+ thicknessM: analysisCase.geometry.domain.widthM,
881
+ initialPorePressureKpa: checkedBiotInitialPorePressureKpa,
882
+ timeStepsSeconds: biotTimeStepsSeconds,
883
+ porePressureBoundaries: pressureBoundaries,
884
+ };
885
+ analysisCase.materials[0].hydraulicConductivityMPerS =
886
+ input.material?.hydraulicConductivityMPerS ?? Math.min(checkedHydraulicConductivityXMPerS, checkedHydraulicConductivityYMPerS);
887
+ analysisCase.materials[0].hydraulicConductivityXMPerS = checkedHydraulicConductivityXMPerS;
888
+ analysisCase.materials[0].hydraulicConductivityYMPerS = checkedHydraulicConductivityYMPerS;
889
+ analysisCase.materials[0].biotCoefficient = checkedBiotCoefficient;
890
+ analysisCase.materials[0].specificStorage1PerM = checkedSpecificStorage1PerM;
891
+ analysisCase.groundwater.condition = input.groundwater?.condition ?? 'specified';
892
+ analysisCase.groundwater.depthM = input.groundwater?.depthM ?? 0;
893
+ analysisCase.groundwater.note = input.groundwater?.note ??
894
+ 'Saturated excess-pore-pressure source for sequential Biot pressure replay; pressure frame requires review and is not a dewatering design.';
895
+ analysisCase.groundwater.reviewRequired = true;
896
+ }
794
897
  if (input.groundwater?.condition) {
795
898
  analysisCase.groundwater.condition = input.groundwater.condition;
796
899
  }
@@ -800,7 +903,9 @@ export function prepareFemAnalysisCaseDraft(input) {
800
903
  if (input.groundwater?.note) {
801
904
  analysisCase.groundwater.note = input.groundwater.note;
802
905
  }
803
- const routedAnalysisCase = capability.objective === 'excavation-plane-strain-dp-adaptive'
906
+ const isPlaneStrainDpRoute = capability.objective === 'excavation-plane-strain-dp-adaptive' ||
907
+ capability.objective === 'excavation-plane-strain-dp-biot-replay';
908
+ const routedAnalysisCase = isPlaneStrainDpRoute
804
909
  ? buildPlaneStrainDruckerPragerAdaptiveExcavationDemoAnalysisCase(analysisCase)
805
910
  : analysisCase;
806
911
  if (capability.objective === 'excavation-plane-strain-dp-adaptive') {
@@ -812,6 +917,28 @@ export function prepareFemAnalysisCaseDraft(input) {
812
917
  material.evidenceRefs = input.evidenceRefs ?? [];
813
918
  });
814
919
  }
920
+ if (capability.objective === 'excavation-plane-strain-dp-biot-replay') {
921
+ routedAnalysisCase.caseId = 'excavation-plane-strain-dp-biot-replay-draft';
922
+ routedAnalysisCase.title = 'Experimental plane-strain Drucker-Prager Biot pressure-replay excavation draft';
923
+ routedAnalysisCase.createdBy = 'geotechcli-fem-routing';
924
+ routedAnalysisCase.evidenceRefs = input.evidenceRefs ?? [];
925
+ routedAnalysisCase.assumptions.push({
926
+ id: 'dp-biot-pressure-replay-source',
927
+ parameter: 'Biot pressure-replay source',
928
+ value: 'final accepted Biot u-p pressure frame replayed into DP effective-stress increments',
929
+ basis: 'Draft route requires reviewer-supplied pore-pressure schedule and hydraulic parameters; nonlinear iterations still have no pore-pressure DOFs.',
930
+ confidence: 'review',
931
+ reviewRequired: true,
932
+ });
933
+ routedAnalysisCase.materials.forEach((material) => {
934
+ material.evidenceRefs = input.evidenceRefs ?? [];
935
+ });
936
+ routedAnalysisCase.limitations = [
937
+ 'Sequential one-way Biot pressure replay only; not a production hydro-mechanical nonlinear FEM design solver.',
938
+ 'No pore-pressure DOFs, pressure equation, monolithic coupling, or consistent Biot-plastic tangent is assembled in the nonlinear DP iterations.',
939
+ ...routedAnalysisCase.limitations.filter((limitation) => !limitation.includes('No retaining-wall member design, basal heave, seepage, consolidation')),
940
+ ];
941
+ }
815
942
  const validation = validateFemAnalysisCase(routedAnalysisCase);
816
943
  const reviewGates = [
817
944
  ...capability.reviewGates,