@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.
- package/dist/fem/engineering-evidence.d.ts +1 -1
- package/dist/fem/engineering-evidence.d.ts.map +1 -1
- package/dist/fem/engineering-evidence.js +109 -1
- package/dist/fem/engineering-evidence.js.map +1 -1
- package/dist/fem/index.d.ts +1 -1
- package/dist/fem/index.d.ts.map +1 -1
- package/dist/fem/index.js +1 -1
- package/dist/fem/index.js.map +1 -1
- package/dist/fem/plane-strain-assembly.d.ts +57 -0
- package/dist/fem/plane-strain-assembly.d.ts.map +1 -1
- package/dist/fem/plane-strain-assembly.js +434 -0
- package/dist/fem/plane-strain-assembly.js.map +1 -1
- package/dist/fem/production-readiness.js +3 -3
- package/dist/fem/production-readiness.js.map +1 -1
- package/dist/meta/metadata.json +1 -1
- package/package.json +1 -1
|
@@ -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":"
|
|
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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"}
|
package/dist/fem/index.d.ts
CHANGED
|
@@ -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
|
package/dist/fem/index.d.ts.map
CHANGED
|
@@ -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
|
package/dist/fem/index.js.map
CHANGED
|
@@ -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,
|
|
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":"AAAA,OAAO,EAAkC,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
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
|
|
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-
|
|
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
|
|
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":"AAAA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,8BAA8B,GAE/B,MAAM,2BAA2B,CAAC;AA0CnC,MAAM,uBAAuB,GAA2B;IACtD,sBAAsB;IACtB,eAAe;IACf,gCAAgC;IAChC,8BAA8B;IAC9B,gBAAgB;IAChB,0CAA0C;IAC1C,kCAAkC;IAClC,mCAAmC;CACpC,CAAC;AAEF,MAAM,oBAAoB,GAAmF;IAC3G,sBAAsB,EAAE;QACtB,MAAM,EAAE,iBAAiB;QACzB,eAAe,EAAE
|
|
1
|
+
{"version":3,"file":"production-readiness.js","sourceRoot":"","sources":["../../src/fem/production-readiness.ts"],"names":[],"mappings":"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"}
|
package/dist/meta/metadata.json
CHANGED