@geotechcli/core 0.4.98 → 0.4.99

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,4 +1,4 @@
1
- export type FemEngineeringKernelFeature = 'global-plane-strain-assembly' | 'nonlinear-plasticity' | 'consolidation' | 'seepage-pore-pressure-coupling' | 'support-design' | 'solver-convergence-and-tolerance' | 'licensed-engineer-review-workflow';
1
+ export type FemEngineeringKernelFeature = 'global-plane-strain-assembly' | 'coupled-nonlinear-plane-strain' | 'nonlinear-plasticity' | 'consolidation' | 'seepage-pore-pressure-coupling' | 'support-design' | 'solver-convergence-and-tolerance' | 'licensed-engineer-review-workflow';
2
2
  export interface FemConvergencePolicy {
3
3
  schemaVersion: 'fem-convergence-policy.v1';
4
4
  residualTolerance: number;
@@ -1 +1 @@
1
- {"version":3,"file":"engineering-evidence.d.ts","sourceRoot":"","sources":["../../src/fem/engineering-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engineering-evidence.d.ts","sourceRoot":"","sources":["../../src/fem/engineering-evidence.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { calculateLateralEarthPressure } from '../geo/lateral-earth-pressure.js';
2
- import { buildPlaneStrainRectangularMesh, runPlaneStrainQuad4Assembly, } from './plane-strain-assembly.js';
2
+ import { buildPlaneStrainRectangularMesh, runPlaneStrainDruckerPragerLoadSteps, runPlaneStrainQuad4Assembly, } from './plane-strain-assembly.js';
3
3
  export const DEFAULT_FEM_CONVERGENCE_POLICY = {
4
4
  schemaVersion: 'fem-convergence-policy.v1',
5
5
  residualTolerance: 1e-6,
@@ -728,6 +728,114 @@ export function runFemEngineeringEvidenceSuite(policy = DEFAULT_FEM_CONVERGENCE_
728
728
  const loadedReactionY = loadedPlaneStrain.nodes.reduce((sum, node) => sum + node.rxnYKn, 0);
729
729
  benchmarks.push(benchmark('quad4-plane-strain-loaded-reaction-balance', 'global-plane-strain-assembly', 'internal-balance', 'verticalReactionSumKn', loadedReactionY, 10 * loadedTopNodes.length, 1e-6, 'Externally loaded Quad4 plane-strain mesh must balance applied vertical nodal loads with support reactions.', 'kN'));
730
730
  benchmarks.push(benchmark('quad4-plane-strain-loaded-free-residual', 'solver-convergence-and-tolerance', 'internal-balance', 'residualNormRatio', loadedPlaneStrain.residualNormRatio, 0, policy.forceBalanceTolerance, 'Externally loaded Quad4 plane-strain solve must satisfy free-DOF residual tolerance.'));
731
+ const dpElasticMesh = buildPlaneStrainRectangularMesh({
732
+ widthM: 2,
733
+ heightM: 1,
734
+ divisionsX: 2,
735
+ divisionsY: 1,
736
+ materialId: 'soil',
737
+ });
738
+ const dpElasticTopNodes = dpElasticMesh.nodes.filter((node) => node.yM === 1);
739
+ const dpElasticBottomNodes = dpElasticMesh.nodes.filter((node) => node.yM === 0);
740
+ const dpElasticModel = {
741
+ schemaVersion: 'fem-plane-strain-model.v1',
742
+ nodes: dpElasticMesh.nodes,
743
+ elements: dpElasticMesh.elements,
744
+ materials: [{
745
+ id: 'soil',
746
+ elasticModulusKpa: 25_000,
747
+ poissonRatio: 0.28,
748
+ frictionAngleDeg: 35,
749
+ cohesionKpa: 10_000,
750
+ dilationAngleDeg: 0,
751
+ }],
752
+ boundaryConditions: dpElasticBottomNodes.flatMap((node) => [
753
+ { nodeId: node.id, dof: 'ux' },
754
+ { nodeId: node.id, dof: 'uy' },
755
+ ]),
756
+ nodalLoads: dpElasticTopNodes.map((node) => ({ nodeId: node.id, fyKn: -5 })),
757
+ policy,
758
+ };
759
+ const dpLinearReference = runPlaneStrainQuad4Assembly(dpElasticModel);
760
+ const dpElastic = runPlaneStrainDruckerPragerLoadSteps(dpElasticModel);
761
+ const maxDpElasticDisplacementDifference = Math.max(...dpLinearReference.nodes.map((node) => {
762
+ const nonlinearNode = dpElastic.nodes.find((item) => item.id === node.id);
763
+ return Math.hypot(nonlinearNode.uxM - node.uxM, nonlinearNode.uyM - node.uyM);
764
+ }));
765
+ benchmarks.push(benchmark('quad4-plane-strain-dp-elastic-regression', 'coupled-nonlinear-plane-strain', 'internal-balance', 'maxDisplacementDifferenceM', maxDpElasticDisplacementDifference, 0, 1e-9, 'Drucker-Prager plane-strain load-step kernel must match the linear Quad4 solve when strength is not mobilized.', 'm'));
766
+ const shearMesh = buildPlaneStrainRectangularMesh({
767
+ widthM: 2,
768
+ heightM: 1,
769
+ divisionsX: 1,
770
+ divisionsY: 1,
771
+ materialId: 'soil',
772
+ });
773
+ const gammaXy = 0.02;
774
+ const dpShearPatch = runPlaneStrainDruckerPragerLoadSteps({
775
+ schemaVersion: 'fem-plane-strain-model.v1',
776
+ nodes: shearMesh.nodes,
777
+ elements: shearMesh.elements,
778
+ materials: [{
779
+ id: 'soil',
780
+ elasticModulusKpa: 30_000,
781
+ poissonRatio: 0.3,
782
+ frictionAngleDeg: 30,
783
+ cohesionKpa: 5,
784
+ dilationAngleDeg: 0,
785
+ }],
786
+ boundaryConditions: shearMesh.nodes.flatMap((node) => [
787
+ { nodeId: node.id, dof: 'ux', valueM: gammaXy * node.yM },
788
+ { nodeId: node.id, dof: 'uy', valueM: 0 },
789
+ ]),
790
+ policy,
791
+ });
792
+ benchmarks.push(benchmark('quad4-plane-strain-dp-affine-plastic-patch', 'coupled-nonlinear-plane-strain', 'internal-balance', 'maxYieldResidualRatio', dpShearPatch.maxYieldResidualRatio, 0, policy.residualTolerance, 'Prescribed shear patch must drive all Quad4 Gauss points to Drucker-Prager yield with residual inside policy tolerance.'));
793
+ const dpLoaded = runPlaneStrainDruckerPragerLoadSteps({
794
+ schemaVersion: 'fem-plane-strain-model.v1',
795
+ nodes: dpElasticMesh.nodes,
796
+ elements: dpElasticMesh.elements,
797
+ materials: [{
798
+ id: 'soil',
799
+ elasticModulusKpa: 25_000,
800
+ poissonRatio: 0.28,
801
+ frictionAngleDeg: 32,
802
+ cohesionKpa: 5,
803
+ dilationAngleDeg: 0,
804
+ }],
805
+ boundaryConditions: dpElasticBottomNodes.flatMap((node) => [
806
+ { nodeId: node.id, dof: 'ux' },
807
+ { nodeId: node.id, dof: 'uy' },
808
+ ]),
809
+ nodalLoads: dpElasticTopNodes.map((node) => ({ nodeId: node.id, fyKn: -30 })),
810
+ policy,
811
+ }, {
812
+ loadStepFractions: [0.25, 0.5, 0.75, 1],
813
+ });
814
+ const plasticStrainMonotonic = dpLoaded.loadSteps.every((step, index, steps) => index === 0 || step.maxEquivalentPlasticStrain >= steps[index - 1].maxEquivalentPlasticStrain);
815
+ benchmarks.push(benchmark('quad4-plane-strain-dp-global-newton-residual', 'solver-convergence-and-tolerance', 'internal-balance', 'residualNormRatio', dpLoaded.residualNormRatio, 0, policy.forceBalanceTolerance, 'Load-controlled mechanical nonlinear plane-strain kernel must satisfy global free-DOF residual tolerance.'));
816
+ benchmarks.push(benchmark('quad4-plane-strain-dp-stage-state-carryover', 'coupled-nonlinear-plane-strain', 'internal-balance', 'plasticStrainMonotonic', dpLoaded.plasticGaussPointCount > 0 && plasticStrainMonotonic ? 1 : 0, 1, 0, 'Staged nonlinear plane-strain load steps must retain monotonic plastic-strain evidence across increasing load factors.'));
817
+ const dpCollapse = runPlaneStrainDruckerPragerLoadSteps({
818
+ schemaVersion: 'fem-plane-strain-model.v1',
819
+ nodes: dpElasticMesh.nodes,
820
+ elements: dpElasticMesh.elements,
821
+ materials: [{
822
+ id: 'soil',
823
+ elasticModulusKpa: 25_000,
824
+ poissonRatio: 0.28,
825
+ frictionAngleDeg: 32,
826
+ cohesionKpa: 1,
827
+ dilationAngleDeg: 0,
828
+ }],
829
+ boundaryConditions: dpElasticBottomNodes.flatMap((node) => [
830
+ { nodeId: node.id, dof: 'ux' },
831
+ { nodeId: node.id, dof: 'uy' },
832
+ ]),
833
+ nodalLoads: dpElasticTopNodes.map((node) => ({ nodeId: node.id, fyKn: -30 })),
834
+ policy,
835
+ }, {
836
+ loadStepFractions: [0.25, 0.5, 0.75, 1],
837
+ });
838
+ benchmarks.push(benchmark('quad4-plane-strain-dp-collapse-detection', 'coupled-nonlinear-plane-strain', 'internal-balance', 'collapseDetected', dpCollapse.converged ? 0 : 1, 1, 0, 'Low-strength/high-load plane-strain fixture must report nonconvergence instead of a clean accepted nonlinear solve.'));
731
839
  const finalTimeYears = 0.197 * 25;
732
840
  const consolidationTimes = Array.from({ length: 80 }, (_, index) => finalTimeYears * ((index + 1) / 80));
733
841
  const consolidation = runTerzaghiConsolidationTimeStepper({
@@ -1 +1 @@
1
- {"version":3,"file":"engineering-evidence.js","sourceRoot":"","sources":["../../src/fem/engineering-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engineering-evidence.js","sourceRoot":"","sources":["../../src/fem/engineering-evidence.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export { validateFemScenarioResult, validateFemScenarioSuite, type FemScenarioEx
8
8
  export { assessFemProductionReadiness, type FemProductionFeature, type FemProductionFeatureRequirement, type FemProductionReadinessReport, } from './production-readiness.js';
9
9
  export { DEFAULT_FEM_CONVERGENCE_POLICY, evaluateFemTolerance, mapMohrCoulombToDruckerPragerTriaxialCompression, runDarcySeepage1D, runDruckerPragerMaterialPoint, runExcavationSupportDesignCheck, runFemEngineeringEvidenceSuite, runHydroMechanicalCoupling1D, runMohrCoulombMaterialPoint, runTerzaghiConsolidationTimeStepper, terzaghiAverageConsolidation, validateFemReviewerApprovalRecord, type FemConsolidationStep, type FemConsolidationTimeStepperInput, type FemConsolidationTimeStepperResult, type FemConvergencePolicy, type FemDesignCheck, type FemDruckerPragerMaterialPointInput, type FemDruckerPragerMaterialPointResult, type FemDruckerPragerParameterMapping, type FemDruckerPragerStressStep, type FemEngineeringBenchmarkCase, type FemEngineeringEvidenceReport, type FemEngineeringKernelFeature, type FemExcavationSupportDesignCheckInput, type FemExcavationSupportDesignCheckResult, type FemHydroMechanicalCouplingInput, type FemHydroMechanicalCouplingResult, type FemMohrCoulombMaterialPointInput, type FemMohrCoulombMaterialPointResult, type FemMohrCoulombStressStep, type FemPrincipalVector, type FemReviewerApprovalRecord, type FemReviewerApprovalValidation, type FemSeepage1DInput, type FemSeepage1DResult, type FemSeepageNode, type FemSeepageTransientStep, type FemToleranceCheck, } from './engineering-evidence.js';
10
10
  export { renderFemWebglHtml } from './webgl.js';
11
- export { buildPlaneStrainRectangularMesh, runPlaneStrainQuad4Assembly, type FemPlaneStrainAssemblyResult, type FemPlaneStrainBoundaryCondition, type FemPlaneStrainGaussPointResult, type FemPlaneStrainMaterial, type FemPlaneStrainModel, type FemPlaneStrainNodalLoad, type FemPlaneStrainNode, type FemPlaneStrainQuad4Element, } from './plane-strain-assembly.js';
11
+ export { buildPlaneStrainRectangularMesh, runPlaneStrainDruckerPragerLoadSteps, runPlaneStrainQuad4Assembly, type FemPlaneStrainAssemblyResult, type FemPlaneStrainBoundaryCondition, type FemPlaneStrainDruckerPragerGaussPointResult, type FemPlaneStrainDruckerPragerResult, type FemPlaneStrainDruckerPragerStepResult, type FemPlaneStrainGaussPointResult, type FemPlaneStrainMaterial, type FemPlaneStrainModel, type FemPlaneStrainNodalLoad, type FemPlaneStrainNode, type FemPlaneStrainQuad4Element, } from './plane-strain-assembly.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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,kDAAkD,EAClD,qCAAqC,EACrC,+BAA+B,EAC/B,yBAAyB,EACzB,2CAA2C,EAC3C,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,4CAA4C,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gCAAgC,GACtC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,EACnC,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gDAAgD,EAChD,iBAAiB,EACjB,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,iCAAiC,EACjC,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,qCAAqC,EAC1C,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,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,kDAAkD,EAClD,qCAAqC,EACrC,+BAA+B,EAC/B,yBAAyB,EACzB,2CAA2C,EAC3C,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,4CAA4C,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gCAAgC,GACtC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,EACnC,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gDAAgD,EAChD,iBAAiB,EACjB,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,iCAAiC,EACjC,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,qCAAqC,EAC1C,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,2BAA2B,EAC3B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,2CAA2C,EAChD,KAAK,iCAAiC,EACtC,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC"}
package/dist/fem/index.js CHANGED
@@ -8,5 +8,5 @@ export { validateFemScenarioResult, validateFemScenarioSuite, } from './scenario
8
8
  export { assessFemProductionReadiness, } from './production-readiness.js';
9
9
  export { DEFAULT_FEM_CONVERGENCE_POLICY, evaluateFemTolerance, mapMohrCoulombToDruckerPragerTriaxialCompression, runDarcySeepage1D, runDruckerPragerMaterialPoint, runExcavationSupportDesignCheck, runFemEngineeringEvidenceSuite, runHydroMechanicalCoupling1D, runMohrCoulombMaterialPoint, runTerzaghiConsolidationTimeStepper, terzaghiAverageConsolidation, validateFemReviewerApprovalRecord, } from './engineering-evidence.js';
10
10
  export { renderFemWebglHtml } from './webgl.js';
11
- export { buildPlaneStrainRectangularMesh, runPlaneStrainQuad4Assembly, } from './plane-strain-assembly.js';
11
+ export { buildPlaneStrainRectangularMesh, runPlaneStrainDruckerPragerLoadSteps, runPlaneStrainQuad4Assembly, } from './plane-strain-assembly.js';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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,kDAAkD,EAClD,qCAAqC,EACrC,+BAA+B,EAC/B,yBAAyB,EACzB,2CAA2C,EAC3C,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,4CAA4C,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAM5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GAMpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAQzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,GAI7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gDAAgD,EAChD,iBAAiB,EACjB,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,iCAAiC,GA4BlC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAS5B,MAAM,4BAA4B,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,kDAAkD,EAClD,qCAAqC,EACrC,+BAA+B,EAC/B,yBAAyB,EACzB,2CAA2C,EAC3C,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,4CAA4C,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAM5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GAMpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAQzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,GAI7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,gDAAgD,EAChD,iBAAiB,EACjB,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,iCAAiC,GA4BlC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,2BAA2B,GAY5B,MAAM,4BAA4B,CAAC"}
@@ -15,6 +15,10 @@ export interface FemPlaneStrainMaterial {
15
15
  elasticModulusKpa: number;
16
16
  poissonRatio: number;
17
17
  unitWeightKnM3?: number;
18
+ frictionAngleDeg?: number;
19
+ cohesionKpa?: number;
20
+ dilationAngleDeg?: number;
21
+ hardeningModulusKpa?: number;
18
22
  }
19
23
  export interface FemPlaneStrainBoundaryCondition {
20
24
  nodeId: string;
@@ -70,6 +74,56 @@ export interface FemPlaneStrainAssemblyResult {
70
74
  converged: boolean;
71
75
  policy: FemConvergencePolicy;
72
76
  }
77
+ export interface FemPlaneStrainDruckerPragerGaussPointResult extends FemPlaneStrainGaussPointResult {
78
+ outOfPlaneStressKpa: number;
79
+ compressionPositivePrincipalStressKpa: [number, number, number];
80
+ yieldValueKpa: number;
81
+ yieldResidualRatio: number;
82
+ plasticMultiplier: number;
83
+ equivalentPlasticStrain: number;
84
+ state: 'elastic' | 'plastic';
85
+ }
86
+ export interface FemPlaneStrainDruckerPragerStepResult {
87
+ step: number;
88
+ loadFactor: number;
89
+ iterations: number;
90
+ maxFreeResidualKn: number;
91
+ residualNormRatio: number;
92
+ reactionBalanceRatio: number;
93
+ maxYieldResidualRatio: number;
94
+ maxEquivalentPlasticStrain: number;
95
+ plasticGaussPointCount: number;
96
+ converged: boolean;
97
+ }
98
+ export interface FemPlaneStrainDruckerPragerResult {
99
+ schemaVersion: 'fem-plane-strain-drucker-prager-result.v1';
100
+ method: 'quad4-plane-strain-drucker-prager-modified-newton';
101
+ nodes: Array<FemPlaneStrainNode & {
102
+ uxM: number;
103
+ uyM: number;
104
+ rxnXKn: number;
105
+ rxnYKn: number;
106
+ }>;
107
+ elements: Array<{
108
+ id: string;
109
+ areaM2: number;
110
+ thicknessM: number;
111
+ gaussPoints: FemPlaneStrainDruckerPragerGaussPointResult[];
112
+ }>;
113
+ dofCount: number;
114
+ freeDofCount: number;
115
+ constrainedDofCount: number;
116
+ loadSteps: FemPlaneStrainDruckerPragerStepResult[];
117
+ maxFreeResidualKn: number;
118
+ residualNormRatio: number;
119
+ reactionBalanceRatio: number;
120
+ maxYieldResidualRatio: number;
121
+ maxEquivalentPlasticStrain: number;
122
+ plasticGaussPointCount: number;
123
+ converged: boolean;
124
+ policy: FemConvergencePolicy;
125
+ limitations: string[];
126
+ }
73
127
  export declare function buildPlaneStrainRectangularMesh(input: {
74
128
  widthM: number;
75
129
  heightM: number;
@@ -81,4 +135,7 @@ export declare function buildPlaneStrainRectangularMesh(input: {
81
135
  elements: FemPlaneStrainQuad4Element[];
82
136
  };
83
137
  export declare function runPlaneStrainQuad4Assembly(model: FemPlaneStrainModel): FemPlaneStrainAssemblyResult;
138
+ export declare function runPlaneStrainDruckerPragerLoadSteps(model: FemPlaneStrainModel, options?: {
139
+ loadStepFractions?: readonly number[];
140
+ }): FemPlaneStrainDruckerPragerResult;
84
141
  //# sourceMappingURL=plane-strain-assembly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plane-strain-assembly.d.ts","sourceRoot":"","sources":["../../src/fem/plane-strain-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plane-strain-assembly.d.ts","sourceRoot":"","sources":["../../src/fem/plane-strain-assembly.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,128 @@ function planeStrainD(material) {
76
76
  [0, 0, factor * (1 - 2 * nu) / 2],
77
77
  ];
78
78
  }
79
+ function planeStrainSigmaZ(material, strain) {
80
+ const e = material.elasticModulusKpa;
81
+ const nu = material.poissonRatio;
82
+ const factor = e / ((1 + nu) * (1 - 2 * nu));
83
+ return factor * nu * (strain[0] + strain[1]);
84
+ }
85
+ function elasticModuli(material) {
86
+ return {
87
+ bulkModulusKpa: material.elasticModulusKpa / (3 * (1 - 2 * material.poissonRatio)),
88
+ shearModulusKpa: material.elasticModulusKpa / (2 * (1 + material.poissonRatio)),
89
+ };
90
+ }
91
+ function degToRad(degrees) {
92
+ return (degrees * Math.PI) / 180;
93
+ }
94
+ function druckerPragerRhoFromAngle(angleDeg) {
95
+ if (!Number.isFinite(angleDeg) || angleDeg < 0 || angleDeg >= 50) {
96
+ throw new Error('friction and dilation angles must be finite and between 0 and 50 degrees.');
97
+ }
98
+ const angle = degToRad(angleDeg);
99
+ const sinAngle = Math.sin(angle);
100
+ if (sinAngle === 0)
101
+ return 0;
102
+ return (2 * Math.SQRT2 * sinAngle) / (Math.sqrt(3) * (3 - sinAngle));
103
+ }
104
+ function druckerPragerParameters(material) {
105
+ const frictionAngleDeg = material.frictionAngleDeg ?? 30;
106
+ const cohesionKpa = material.cohesionKpa ?? 0;
107
+ const dilationAngleDeg = material.dilationAngleDeg ?? frictionAngleDeg;
108
+ if (!Number.isFinite(frictionAngleDeg) || frictionAngleDeg <= 0 || frictionAngleDeg >= 50) {
109
+ throw new Error(`material ${material.id} frictionAngleDeg must be finite and between 0 and 50 degrees.`);
110
+ }
111
+ assertFiniteNonNegative(cohesionKpa, `material ${material.id} cohesionKpa`);
112
+ assertFiniteNonNegative(material.hardeningModulusKpa ?? 0, `material ${material.id} hardeningModulusKpa`);
113
+ const rho = druckerPragerRhoFromAngle(frictionAngleDeg);
114
+ const rhoBar = Math.min(rho, druckerPragerRhoFromAngle(dilationAngleDeg));
115
+ const phi = degToRad(frictionAngleDeg);
116
+ const sinPhi = Math.sin(phi);
117
+ const cohesionContributionToQ = (2 * cohesionKpa * Math.cos(phi)) / (1 - sinPhi);
118
+ const deviatoricNormFactor = Math.sqrt(2 / 3);
119
+ return {
120
+ rho,
121
+ rhoBar,
122
+ compressionInterceptKpa: cohesionContributionToQ * (deviatoricNormFactor - rho),
123
+ };
124
+ }
125
+ function principalCompressionFromPlaneStress(stress, sigmaZKpa) {
126
+ const a = -stress[0];
127
+ const c = -stress[1];
128
+ const b = -stress[2];
129
+ const mean = (a + c) / 2;
130
+ const radius = Math.hypot((a - c) / 2, b);
131
+ const angleRad = 0.5 * Math.atan2(2 * b, a - c);
132
+ return {
133
+ values: [mean + radius, mean - radius, -sigmaZKpa],
134
+ angleRad,
135
+ };
136
+ }
137
+ function planeStressFromPrincipalCompression(values, angleRad) {
138
+ const [p1, p2, p3] = values;
139
+ const c = Math.cos(angleRad);
140
+ const s = Math.sin(angleRad);
141
+ const compressionX = p1 * c * c + p2 * s * s;
142
+ const compressionY = p1 * s * s + p2 * c * c;
143
+ const compressionXY = (p1 - p2) * s * c;
144
+ return {
145
+ stress: [-compressionX, -compressionY, -compressionXY],
146
+ sigmaZKpa: -p3,
147
+ };
148
+ }
149
+ function deviatoricNorm(values) {
150
+ const mean = (values[0] + values[1] + values[2]) / 3;
151
+ return Math.hypot(values[0] - mean, values[1] - mean, values[2] - mean);
152
+ }
153
+ function projectDruckerPragerStress(input) {
154
+ const { material, strain } = input;
155
+ const params = druckerPragerParameters(material);
156
+ const principal = principalCompressionFromPlaneStress(input.stress, input.sigmaZKpa);
157
+ const principalStress = principal.values;
158
+ const trace = principalStress[0] + principalStress[1] + principalStress[2];
159
+ const mean = trace / 3;
160
+ const q = deviatoricNorm(principalStress);
161
+ const intercept = params.compressionInterceptKpa;
162
+ const yieldValue = q - params.rho * trace - intercept;
163
+ const yieldScale = Math.max(q, Math.abs(params.rho * trace), Math.abs(intercept), 1);
164
+ if (yieldValue <= 0 || Math.abs(yieldValue) / yieldScale <= input.policy.residualTolerance) {
165
+ return {
166
+ strain,
167
+ stressKpa: input.stress,
168
+ outOfPlaneStressKpa: input.sigmaZKpa,
169
+ compressionPositivePrincipalStressKpa: principalStress,
170
+ yieldValueKpa: yieldValue,
171
+ yieldResidualRatio: Math.max(0, yieldValue) / yieldScale,
172
+ plasticMultiplier: 0,
173
+ equivalentPlasticStrain: 0,
174
+ state: 'elastic',
175
+ };
176
+ }
177
+ const targetQ = Math.max(0, params.rho * trace + intercept);
178
+ const scale = q > 0 ? targetQ / q : 0;
179
+ const correctedPrincipal = principalStress.map((value) => mean + (value - mean) * scale);
180
+ const corrected = planeStressFromPrincipalCompression(correctedPrincipal, principal.angleRad);
181
+ const correctedQ = deviatoricNorm(correctedPrincipal);
182
+ const correctedYieldValue = correctedQ - params.rho * trace - intercept;
183
+ const correctedScale = Math.max(correctedQ, Math.abs(params.rho * trace), Math.abs(intercept), 1);
184
+ const moduli = elasticModuli(material);
185
+ const denominator = 2 * moduli.shearModulusKpa +
186
+ 9 * moduli.bulkModulusKpa * params.rho * params.rhoBar +
187
+ (material.hardeningModulusKpa ?? 0);
188
+ const plasticMultiplier = Math.max(0, yieldValue / Math.max(denominator, 1e-12));
189
+ return {
190
+ strain,
191
+ stressKpa: corrected.stress,
192
+ outOfPlaneStressKpa: corrected.sigmaZKpa,
193
+ compressionPositivePrincipalStressKpa: correctedPrincipal,
194
+ yieldValueKpa: correctedYieldValue,
195
+ yieldResidualRatio: Math.abs(correctedYieldValue) / correctedScale,
196
+ plasticMultiplier,
197
+ equivalentPlasticStrain: plasticMultiplier,
198
+ state: 'plastic',
199
+ };
200
+ }
79
201
  function shapeDerivativesNatural(xi, eta) {
80
202
  return [
81
203
  [-(1 - eta) / 4, -(1 - xi) / 4],
@@ -397,4 +519,316 @@ export function runPlaneStrainQuad4Assembly(model) {
397
519
  policy,
398
520
  };
399
521
  }
522
+ function assemblePlaneStrainSystem(model) {
523
+ if (model.schemaVersion !== 'fem-plane-strain-model.v1') {
524
+ throw new Error('Only fem-plane-strain-model.v1 is supported.');
525
+ }
526
+ assertArray(model.nodes, 'nodes');
527
+ assertArray(model.elements, 'elements');
528
+ assertArray(model.materials, 'materials');
529
+ assertArray(model.boundaryConditions, 'boundaryConditions');
530
+ if (model.nodes.length < 4)
531
+ throw new Error('Plane-strain model requires at least four nodes.');
532
+ if (model.elements.length < 1)
533
+ throw new Error('Plane-strain model requires at least one element.');
534
+ if (model.materials.length < 1)
535
+ throw new Error('Plane-strain model requires at least one material.');
536
+ if (model.defaultThicknessM != null)
537
+ assertFinitePositive(model.defaultThicknessM, 'defaultThicknessM');
538
+ if (model.nodalLoads != null)
539
+ assertArray(model.nodalLoads, 'nodalLoads');
540
+ assertUniqueIds(model.nodes, 'node');
541
+ assertUniqueIds(model.materials, 'material');
542
+ assertUniqueIds(model.elements, 'element');
543
+ const policy = model.policy ?? DEFAULT_FEM_CONVERGENCE_POLICY;
544
+ validateConvergencePolicy(policy);
545
+ const nodeIndexById = new Map(model.nodes.map((node, index) => [node.id, index]));
546
+ const materialById = new Map(model.materials.map((material) => [material.id, material]));
547
+ const dofCount = model.nodes.length * 2;
548
+ if (dofCount > MAX_DENSE_DOF_COUNT) {
549
+ throw new Error(`Plane-strain dense assembly is capped at ${MAX_DENSE_DOF_COUNT} DOFs for benchmark-scale evidence runs.`);
550
+ }
551
+ const stiffness = Array.from({ length: dofCount }, () => new Array(dofCount).fill(0));
552
+ const loads = new Array(dofCount).fill(0);
553
+ for (const node of model.nodes) {
554
+ assertFinite(node.xM, `node ${node.id} xM`);
555
+ assertFinite(node.yM, `node ${node.id} yM`);
556
+ }
557
+ for (const material of model.materials) {
558
+ planeStrainD(material);
559
+ druckerPragerParameters(material);
560
+ if (material.unitWeightKnM3 != null) {
561
+ assertFiniteNonNegative(material.unitWeightKnM3, `material ${material.id} unitWeightKnM3`);
562
+ }
563
+ }
564
+ for (const load of model.nodalLoads ?? []) {
565
+ const nodeIndex = nodeIndexById.get(load.nodeId);
566
+ if (nodeIndex == null)
567
+ throw new Error(`Unknown nodal load node: ${load.nodeId}.`);
568
+ const fxKn = load.fxKn ?? 0;
569
+ const fyKn = load.fyKn ?? 0;
570
+ assertFinite(fxKn, `nodal load ${load.nodeId}.fxKn`);
571
+ assertFinite(fyKn, `nodal load ${load.nodeId}.fyKn`);
572
+ loads[dofIndex(nodeIndex, 'ux')] += fxKn;
573
+ loads[dofIndex(nodeIndex, 'uy')] += fyKn;
574
+ }
575
+ const elementGaussCache = [];
576
+ for (const element of model.elements) {
577
+ if (!Array.isArray(element.nodeIds) || element.nodeIds.length !== 4) {
578
+ throw new Error(`Plane-strain element ${element.id} must reference exactly four nodes.`);
579
+ }
580
+ if (new Set(element.nodeIds).size !== 4) {
581
+ throw new Error(`Plane-strain element ${element.id} has duplicate node references.`);
582
+ }
583
+ assertNonEmptyId(element.materialId, `element ${element.id} material`);
584
+ const nodeIndices = element.nodeIds.map((id) => {
585
+ const index = nodeIndexById.get(id);
586
+ if (index == null)
587
+ throw new Error(`Unknown element node: ${id}.`);
588
+ return index;
589
+ });
590
+ const material = materialById.get(element.materialId);
591
+ if (!material)
592
+ throw new Error(`Unknown element material: ${element.materialId}.`);
593
+ const thicknessM = element.thicknessM ?? model.defaultThicknessM ?? 1;
594
+ assertFinitePositive(thicknessM, `element ${element.id} thicknessM`);
595
+ const nodes = nodeIndices.map((index) => model.nodes[index]);
596
+ const elementData = elementMatrices({ nodes, material, thicknessM });
597
+ const globalDofs = nodeIndices.flatMap((index) => [dofIndex(index, 'ux'), dofIndex(index, 'uy')]);
598
+ for (let localRow = 0; localRow < 8; localRow += 1) {
599
+ for (let localCol = 0; localCol < 8; localCol += 1) {
600
+ stiffness[globalDofs[localRow]][globalDofs[localCol]] += elementData.stiffness[localRow][localCol];
601
+ }
602
+ }
603
+ elementGaussCache.push({
604
+ element,
605
+ globalDofs,
606
+ gauss: elementData.gauss,
607
+ areaM2: elementData.areaM2,
608
+ thicknessM,
609
+ });
610
+ }
611
+ const prescribed = new Map();
612
+ for (const bc of model.boundaryConditions) {
613
+ const nodeIndex = nodeIndexById.get(bc.nodeId);
614
+ if (nodeIndex == null)
615
+ throw new Error(`Unknown boundary-condition node: ${bc.nodeId}.`);
616
+ if (bc.dof !== 'ux' && bc.dof !== 'uy') {
617
+ throw new Error(`Boundary condition ${bc.nodeId} dof must be ux or uy.`);
618
+ }
619
+ const index = dofIndex(nodeIndex, bc.dof);
620
+ const value = bc.valueM ?? 0;
621
+ assertFinite(value, `boundary condition ${bc.nodeId}.${bc.dof}`);
622
+ const existing = prescribed.get(index);
623
+ if (existing != null && Math.abs(existing - value) > 1e-12) {
624
+ throw new Error(`Conflicting boundary condition for ${bc.nodeId}.${bc.dof}.`);
625
+ }
626
+ prescribed.set(index, value);
627
+ }
628
+ if (prescribed.size === 0)
629
+ throw new Error('Plane-strain model requires at least one displacement boundary condition.');
630
+ const constrainedNodeIds = new Set(model.boundaryConditions.map((bc) => bc.nodeId));
631
+ const hasUxConstraint = model.boundaryConditions.some((bc) => bc.dof === 'ux');
632
+ const hasUyConstraint = model.boundaryConditions.some((bc) => bc.dof === 'uy');
633
+ if (prescribed.size < 3 || constrainedNodeIds.size < 2 || !hasUxConstraint || !hasUyConstraint) {
634
+ throw new Error('Plane-strain model has insufficient displacement constraints to restrain rigid-body modes.');
635
+ }
636
+ const freeDofs = Array.from({ length: dofCount }, (_, index) => index).filter((index) => !prescribed.has(index));
637
+ return {
638
+ policy,
639
+ materialById,
640
+ stiffness,
641
+ loads,
642
+ prescribed,
643
+ freeDofs,
644
+ dofCount,
645
+ elementGaussCache,
646
+ };
647
+ }
648
+ function evaluatePlaneStrainDruckerPragerState(input) {
649
+ const { system, displacement, loadFactor } = input;
650
+ const internal = new Array(system.dofCount).fill(0);
651
+ let maxYieldResidualRatio = 0;
652
+ let maxEquivalentPlasticStrain = 0;
653
+ let plasticGaussPointCount = 0;
654
+ const elements = system.elementGaussCache.map((entry) => {
655
+ const material = system.materialById.get(entry.element.materialId);
656
+ const d = planeStrainD(material);
657
+ const elementDisplacement = entry.globalDofs.map((index) => displacement[index]);
658
+ const gaussPoints = entry.gauss.map((point, index) => {
659
+ const strain = point.b.map((row) => row.reduce((sum, value, col) => sum + value * elementDisplacement[col], 0));
660
+ const elasticStress = d.map((row) => row.reduce((sum, value, col) => sum + value * strain[col], 0));
661
+ const projected = projectDruckerPragerStress({
662
+ material,
663
+ policy: system.policy,
664
+ strain,
665
+ stress: elasticStress,
666
+ sigmaZKpa: planeStrainSigmaZ(material, strain),
667
+ });
668
+ maxYieldResidualRatio = Math.max(maxYieldResidualRatio, projected.yieldResidualRatio);
669
+ maxEquivalentPlasticStrain = Math.max(maxEquivalentPlasticStrain, projected.equivalentPlasticStrain);
670
+ if (projected.state === 'plastic')
671
+ plasticGaussPointCount += 1;
672
+ for (let localDof = 0; localDof < 8; localDof += 1) {
673
+ const force = point.b.reduce((sum, bRow, component) => sum + bRow[localDof] * projected.stressKpa[component], 0) * point.detJ * entry.thicknessM;
674
+ internal[entry.globalDofs[localDof]] += force;
675
+ }
676
+ return {
677
+ elementId: entry.element.id,
678
+ gaussPoint: index + 1,
679
+ xi: round(point.xi, 10),
680
+ eta: round(point.eta, 10),
681
+ detJ: round(point.detJ, 10),
682
+ strain: [
683
+ round(projected.strain[0], 12),
684
+ round(projected.strain[1], 12),
685
+ round(projected.strain[2], 12),
686
+ ],
687
+ stressKpa: [
688
+ round(projected.stressKpa[0], 8),
689
+ round(projected.stressKpa[1], 8),
690
+ round(projected.stressKpa[2], 8),
691
+ ],
692
+ outOfPlaneStressKpa: round(projected.outOfPlaneStressKpa, 8),
693
+ compressionPositivePrincipalStressKpa: [
694
+ round(projected.compressionPositivePrincipalStressKpa[0], 8),
695
+ round(projected.compressionPositivePrincipalStressKpa[1], 8),
696
+ round(projected.compressionPositivePrincipalStressKpa[2], 8),
697
+ ],
698
+ yieldValueKpa: round(projected.yieldValueKpa, 10),
699
+ yieldResidualRatio: round(projected.yieldResidualRatio, 12),
700
+ plasticMultiplier: round(projected.plasticMultiplier, 12),
701
+ equivalentPlasticStrain: round(projected.equivalentPlasticStrain, 12),
702
+ state: projected.state,
703
+ };
704
+ });
705
+ return {
706
+ id: entry.element.id,
707
+ areaM2: round(entry.areaM2, 10),
708
+ thicknessM: round(entry.thicknessM, 10),
709
+ gaussPoints,
710
+ };
711
+ });
712
+ const loadsAtStep = system.loads.map((load) => load * loadFactor);
713
+ const residual = internal.map((value, index) => value - loadsAtStep[index]);
714
+ const maxFreeResidualKn = system.freeDofs.length > 0
715
+ ? Math.max(...system.freeDofs.map((index) => Math.abs(residual[index])))
716
+ : 0;
717
+ const loadNorm = Math.max(Math.hypot(...loadsAtStep), Math.hypot(...internal), Math.hypot(...Array.from(system.prescribed.keys()).map((index) => residual[index])), 1);
718
+ const residualNormRatio = maxFreeResidualKn / loadNorm;
719
+ const externalLoadSumX = loadsAtStep.filter((_, index) => index % 2 === 0).reduce((sum, value) => sum + value, 0);
720
+ const externalLoadSumY = loadsAtStep.filter((_, index) => index % 2 === 1).reduce((sum, value) => sum + value, 0);
721
+ const reactionSumX = Array.from(system.prescribed.keys())
722
+ .filter((index) => index % 2 === 0)
723
+ .reduce((sum, index) => sum + residual[index], 0);
724
+ const reactionSumY = Array.from(system.prescribed.keys())
725
+ .filter((index) => index % 2 === 1)
726
+ .reduce((sum, index) => sum + residual[index], 0);
727
+ const balanceError = Math.hypot(reactionSumX + externalLoadSumX, reactionSumY + externalLoadSumY);
728
+ const balanceScale = Math.max(Math.hypot(reactionSumX, reactionSumY), Math.hypot(externalLoadSumX, externalLoadSumY), 1);
729
+ const reactionBalanceRatio = 1 - balanceError / balanceScale;
730
+ return {
731
+ internal,
732
+ residual,
733
+ maxFreeResidualKn,
734
+ residualNormRatio,
735
+ reactionBalanceRatio,
736
+ maxYieldResidualRatio,
737
+ maxEquivalentPlasticStrain,
738
+ plasticGaussPointCount,
739
+ elements,
740
+ };
741
+ }
742
+ function normalizeLoadStepFractions(loadStepFractions) {
743
+ const fractions = loadStepFractions && loadStepFractions.length > 0
744
+ ? [...loadStepFractions]
745
+ : [0.25, 0.5, 0.75, 1];
746
+ let previous = 0;
747
+ for (const [index, fraction] of fractions.entries()) {
748
+ if (!Number.isFinite(fraction) || fraction <= previous || fraction > 1) {
749
+ throw new Error(`loadStepFractions.${index} must be finite, increasing, and between 0 and 1.`);
750
+ }
751
+ previous = fraction;
752
+ }
753
+ if (fractions[fractions.length - 1] !== 1) {
754
+ throw new Error('loadStepFractions must end at 1.');
755
+ }
756
+ return fractions;
757
+ }
758
+ export function runPlaneStrainDruckerPragerLoadSteps(model, options = {}) {
759
+ const system = assemblePlaneStrainSystem(model);
760
+ const loadStepFractions = normalizeLoadStepFractions(options.loadStepFractions);
761
+ const reducedK = system.freeDofs.map((row) => system.freeDofs.map((col) => system.stiffness[row][col]));
762
+ const displacement = new Array(system.dofCount).fill(0);
763
+ let finalEvaluation;
764
+ const loadSteps = [];
765
+ for (const [stepIndex, loadFactor] of loadStepFractions.entries()) {
766
+ for (const [index, value] of system.prescribed)
767
+ displacement[index] = value * loadFactor;
768
+ let evaluation = evaluatePlaneStrainDruckerPragerState({ system, displacement, loadFactor });
769
+ let iterations = 0;
770
+ let converged = evaluation.residualNormRatio <= system.policy.forceBalanceTolerance &&
771
+ evaluation.maxYieldResidualRatio <= system.policy.residualTolerance;
772
+ while (!converged && iterations < system.policy.maxIterations) {
773
+ iterations += 1;
774
+ if (system.freeDofs.length === 0)
775
+ break;
776
+ const correctionRhs = system.freeDofs.map((index) => -evaluation.residual[index]);
777
+ const correction = solveDenseLinearSystem(reducedK, correctionRhs);
778
+ for (const [correctionIndex, dof] of system.freeDofs.entries()) {
779
+ displacement[dof] += correction[correctionIndex];
780
+ }
781
+ for (const [index, value] of system.prescribed)
782
+ displacement[index] = value * loadFactor;
783
+ evaluation = evaluatePlaneStrainDruckerPragerState({ system, displacement, loadFactor });
784
+ converged = evaluation.residualNormRatio <= system.policy.forceBalanceTolerance &&
785
+ evaluation.maxYieldResidualRatio <= system.policy.residualTolerance;
786
+ }
787
+ finalEvaluation = evaluation;
788
+ loadSteps.push({
789
+ step: stepIndex + 1,
790
+ loadFactor: round(loadFactor, 8),
791
+ iterations,
792
+ maxFreeResidualKn: round(evaluation.maxFreeResidualKn, 12),
793
+ residualNormRatio: round(evaluation.residualNormRatio, 12),
794
+ reactionBalanceRatio: round(evaluation.reactionBalanceRatio, 12),
795
+ maxYieldResidualRatio: round(evaluation.maxYieldResidualRatio, 12),
796
+ maxEquivalentPlasticStrain: round(evaluation.maxEquivalentPlasticStrain, 12),
797
+ plasticGaussPointCount: evaluation.plasticGaussPointCount,
798
+ converged,
799
+ });
800
+ }
801
+ if (!finalEvaluation) {
802
+ throw new Error('Plane-strain nonlinear load-step solver requires at least one load step.');
803
+ }
804
+ return {
805
+ schemaVersion: 'fem-plane-strain-drucker-prager-result.v1',
806
+ method: 'quad4-plane-strain-drucker-prager-modified-newton',
807
+ nodes: model.nodes.map((node, index) => ({
808
+ ...node,
809
+ uxM: round(displacement[dofIndex(index, 'ux')], 12),
810
+ uyM: round(displacement[dofIndex(index, 'uy')], 12),
811
+ rxnXKn: round(finalEvaluation.residual[dofIndex(index, 'ux')], 8),
812
+ rxnYKn: round(finalEvaluation.residual[dofIndex(index, 'uy')], 8),
813
+ })),
814
+ elements: finalEvaluation.elements,
815
+ dofCount: system.dofCount,
816
+ freeDofCount: system.freeDofs.length,
817
+ constrainedDofCount: system.prescribed.size,
818
+ loadSteps,
819
+ maxFreeResidualKn: round(finalEvaluation.maxFreeResidualKn, 12),
820
+ residualNormRatio: round(finalEvaluation.residualNormRatio, 12),
821
+ reactionBalanceRatio: round(finalEvaluation.reactionBalanceRatio, 12),
822
+ maxYieldResidualRatio: round(finalEvaluation.maxYieldResidualRatio, 12),
823
+ maxEquivalentPlasticStrain: round(finalEvaluation.maxEquivalentPlasticStrain, 12),
824
+ plasticGaussPointCount: finalEvaluation.plasticGaussPointCount,
825
+ converged: loadSteps.every((step) => step.converged),
826
+ policy: system.policy,
827
+ limitations: [
828
+ 'Benchmark-scale modified-Newton plane-strain plasticity evidence kernel only.',
829
+ 'Uses elastic global tangent with Gauss-point Drucker-Prager stress projection; no production consistent tangent, sparse solver, hardening calibration, staged activation, pore-pressure DOF, or route-backed result manifest is provided.',
830
+ 'Use for deterministic evidence and regression tests only until independent published/commercial benchmark comparison and licensed production approval gates are complete.',
831
+ ],
832
+ };
833
+ }
400
834
  //# sourceMappingURL=plane-strain-assembly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plane-strain-assembly.js","sourceRoot":"","sources":["../../src/fem/plane-strain-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plane-strain-assembly.js","sourceRoot":"","sources":["../../src/fem/plane-strain-assembly.ts"],"names":[],"mappings":"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"}
@@ -13,14 +13,14 @@ const ALL_PRODUCTION_FEATURES = [
13
13
  const FEATURE_REQUIREMENTS = {
14
14
  'nonlinear-plasticity': {
15
15
  status: 'kernel-verified',
16
- currentCoverage: 'Deterministic nonlinear material-point coverage now includes a Mohr-Coulomb triaxial strength cap plus a Drucker-Prager/Mohr-Coulomb-compatible principal-stress return-mapping kernel with yield residual and plastic strain state checks. A linear Quad4 plane-strain global assembly evidence kernel is also patch-tested, but nonlinear constitutive updates are not coupled to a global 2D/3D plasticity solver or plastic strain field.',
16
+ currentCoverage: 'Deterministic nonlinear material-point coverage now includes a Mohr-Coulomb triaxial strength cap plus a Drucker-Prager/Mohr-Coulomb-compatible principal-stress return-mapping kernel with yield residual and plastic strain state checks. A benchmark-scale mechanical-only Quad4 plane-strain Drucker-Prager evidence kernel now couples Gauss-point stress projection to global residual/reaction checks, but it is not a production sparse solver route and has no Biot pore-pressure DOF, consistent tangent approval, staged activation, or project result manifest.',
17
17
  requiredForAcceptance: [
18
18
  'constitutive models accepted for geotechnical use, such as Mohr-Coulomb/Hardening Soil or equivalent',
19
19
  'stress-path, yield, plastic strain, and convergence validation fixtures',
20
20
  'independent benchmark comparison against published or commercial-solver reference cases',
21
21
  ],
22
22
  blockedUntil: [
23
- 'nonlinear-constitutive-kernel-coupled-to-global-fem-solver',
23
+ 'production-nonlinear-global-fem-solver-route-and-consistent-tangent-not-approved',
24
24
  'plasticity-benchmark-suite-approved-against-published-or-commercial-references',
25
25
  'solver-convergence-audit-passed',
26
26
  ],
@@ -97,7 +97,7 @@ const FEATURE_REQUIREMENTS = {
97
97
  },
98
98
  'independent-benchmark-validation': {
99
99
  status: 'preview-only',
100
- currentCoverage: 'Current fixtures verify deterministic preview envelopes, monotonic trends, material-point closed forms, and a Quad4 plane-strain affine patch/global-equilibrium fixture. They do not yet prove full production benchmark equivalence against published or commercial solver references.',
100
+ currentCoverage: 'Current fixtures verify deterministic preview envelopes, monotonic trends, material-point closed forms, Quad4 linear patch/global-equilibrium fixtures, and benchmark-scale mechanical-only Drucker-Prager plane-strain evidence cases. They do not yet prove full production benchmark equivalence against published or commercial solver references.',
101
101
  requiredForAcceptance: [
102
102
  'published analytical and numerical benchmark corpus by route',
103
103
  'tolerance envelopes for displacement, pore pressure, reaction, and settlement-time curves',
@@ -1 +1 @@
1
- {"version":3,"file":"production-readiness.js","sourceRoot":"","sources":["../../src/fem/production-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production-readiness.js","sourceRoot":"","sources":["../../src/fem/production-readiness.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.4.98",
2
+ "version": "0.4.99",
3
3
  "defaults": {
4
4
  "provider": "hosted-beta",
5
5
  "model": "glm-5.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geotechcli/core",
3
- "version": "0.4.98",
3
+ "version": "0.4.99",
4
4
  "description": "Shared computation and LLM engine for geotechCLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",