@geotechcli/core 0.4.109 → 0.4.111

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.
Files changed (45) hide show
  1. package/dist/agents/brain.d.ts.map +1 -1
  2. package/dist/agents/brain.js +31 -2
  3. package/dist/agents/brain.js.map +1 -1
  4. package/dist/agents/fem-tools.js +5 -0
  5. package/dist/agents/fem-tools.js.map +1 -1
  6. package/dist/agents/safety.d.ts +1 -0
  7. package/dist/agents/safety.d.ts.map +1 -1
  8. package/dist/agents/safety.js +62 -0
  9. package/dist/agents/safety.js.map +1 -1
  10. package/dist/fem/demo.d.ts.map +1 -1
  11. package/dist/fem/demo.js +4 -0
  12. package/dist/fem/demo.js.map +1 -1
  13. package/dist/fem/engineering-evidence.d.ts +21 -2
  14. package/dist/fem/engineering-evidence.d.ts.map +1 -1
  15. package/dist/fem/engineering-evidence.js +354 -6
  16. package/dist/fem/engineering-evidence.js.map +1 -1
  17. package/dist/fem/index.d.ts +4 -2
  18. package/dist/fem/index.d.ts.map +1 -1
  19. package/dist/fem/index.js +2 -0
  20. package/dist/fem/index.js.map +1 -1
  21. package/dist/fem/nonlinear-plane-strain-solver.d.ts +10 -0
  22. package/dist/fem/nonlinear-plane-strain-solver.d.ts.map +1 -0
  23. package/dist/fem/nonlinear-plane-strain-solver.js +358 -0
  24. package/dist/fem/nonlinear-plane-strain-solver.js.map +1 -0
  25. package/dist/fem/plane-strain-assembly.d.ts +54 -0
  26. package/dist/fem/plane-strain-assembly.d.ts.map +1 -1
  27. package/dist/fem/plane-strain-assembly.js +277 -46
  28. package/dist/fem/plane-strain-assembly.js.map +1 -1
  29. package/dist/fem/production-readiness.js +5 -5
  30. package/dist/fem/production-readiness.js.map +1 -1
  31. package/dist/fem/support-design.d.ts +124 -0
  32. package/dist/fem/support-design.d.ts.map +1 -0
  33. package/dist/fem/support-design.js +380 -0
  34. package/dist/fem/support-design.js.map +1 -0
  35. package/dist/fem/types.d.ts +68 -3
  36. package/dist/fem/types.d.ts.map +1 -1
  37. package/dist/fem/validation.d.ts.map +1 -1
  38. package/dist/fem/validation.js +346 -13
  39. package/dist/fem/validation.js.map +1 -1
  40. package/dist/ingest/document-evidence-packet.d.ts +30 -30
  41. package/dist/ingest/job-worker.d.ts.map +1 -1
  42. package/dist/ingest/job-worker.js +4 -0
  43. package/dist/ingest/job-worker.js.map +1 -1
  44. package/dist/meta/metadata.json +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1,358 @@
1
+ import { DEFAULT_FEM_CONVERGENCE_POLICY } from './engineering-evidence.js';
2
+ import { buildPlaneStrainRectangularMesh, runPlaneStrainDruckerPragerLoadSteps, } from './plane-strain-assembly.js';
3
+ import { validateFemAnalysisCase } from './validation.js';
4
+ const BACKEND_ID = 'builtin-plane-strain-dp-adaptive-v0';
5
+ const ANALYSIS_TYPE = 'static_2d_plane_strain_drucker_prager';
6
+ function round(value, digits = 6) {
7
+ const factor = 10 ** digits;
8
+ return Math.round(value * factor) / factor;
9
+ }
10
+ function firstFinitePositive(values, fallback) {
11
+ for (const value of values) {
12
+ if (Number.isFinite(value) && value > 0)
13
+ return value;
14
+ }
15
+ return fallback;
16
+ }
17
+ function settlementColor(t) {
18
+ const stops = [
19
+ [48, 86, 164],
20
+ [46, 160, 196],
21
+ [72, 187, 120],
22
+ [232, 198, 75],
23
+ [220, 95, 55],
24
+ [162, 40, 70],
25
+ ];
26
+ const scaled = Math.min(Math.max(t, 0), 1) * (stops.length - 1);
27
+ const left = Math.floor(scaled);
28
+ const right = Math.min(left + 1, stops.length - 1);
29
+ const local = scaled - left;
30
+ return [0, 1, 2].map((index) => {
31
+ const value = stops[left][index] + (stops[right][index] - stops[left][index]) * local;
32
+ return round(value / 255, 4);
33
+ });
34
+ }
35
+ function edgeKey(a, b) {
36
+ return a < b ? `${a}:${b}` : `${b}:${a}`;
37
+ }
38
+ function buildPlaneStrainDpVisualization(caseFile, result) {
39
+ const widthM = caseFile.geometry.domain.lengthM;
40
+ const excavation = caseFile.geometry.excavation;
41
+ const nodeIndexById = new Map(result.nodes.map((node, index) => [node.id, index]));
42
+ const maxSettlementM = Math.max(...result.nodes.map((node) => Math.max(0, -node.uyM)), 1e-12);
43
+ const base = [];
44
+ const disp = [];
45
+ const color = [];
46
+ const tri = [];
47
+ const edge = [];
48
+ const seenEdges = new Set();
49
+ for (const node of result.nodes) {
50
+ const settlementM = Math.max(0, -node.uyM);
51
+ const [r, g, b] = settlementColor(settlementM / maxSettlementM);
52
+ base.push(round(node.xM - widthM / 2, 6), 0, round(-node.yM, 6));
53
+ disp.push(round(node.uxM, 9), 0, round(-node.uyM, 9));
54
+ color.push(r, g, b);
55
+ }
56
+ const elementNodeIds = result.elements.map((element) => {
57
+ const source = element.id;
58
+ const match = /^e-(\d+)-(\d+)$/.exec(source);
59
+ if (!match)
60
+ return undefined;
61
+ const ix = Number(match[1]);
62
+ const iy = Number(match[2]);
63
+ return [
64
+ `n-${ix}-${iy}`,
65
+ `n-${ix + 1}-${iy}`,
66
+ `n-${ix + 1}-${iy + 1}`,
67
+ `n-${ix}-${iy + 1}`,
68
+ ];
69
+ });
70
+ for (const nodeIds of elementNodeIds) {
71
+ if (!nodeIds)
72
+ continue;
73
+ const indexes = nodeIds.map((nodeId) => nodeIndexById.get(nodeId));
74
+ if (indexes.some((index) => index == null))
75
+ continue;
76
+ const [a, b, c, d] = indexes;
77
+ tri.push(a, b, c, a, c, d);
78
+ for (const [left, right] of [[a, b], [b, c], [c, d], [d, a]]) {
79
+ const key = edgeKey(left, right);
80
+ if (!seenEdges.has(key)) {
81
+ seenEdges.add(key);
82
+ edge.push(left, right);
83
+ }
84
+ }
85
+ }
86
+ const halfExcavationLength = excavation.lengthM / 2;
87
+ const z = -excavation.finalDepthM;
88
+ return {
89
+ base,
90
+ disp,
91
+ color,
92
+ tri,
93
+ edge,
94
+ outlineBase: [
95
+ round(-halfExcavationLength, 6), 0, 0,
96
+ round(halfExcavationLength, 6), 0, 0,
97
+ round(halfExcavationLength, 6), 0, round(z, 6),
98
+ round(-halfExcavationLength, 6), 0, round(z, 6),
99
+ ],
100
+ outlineDisp: new Array(12).fill(0),
101
+ outlineIdx: [0, 1, 1, 2, 2, 3, 3, 0],
102
+ };
103
+ }
104
+ function buildSolverConvergenceReport(result) {
105
+ const loadSteps = result.loadSteps.map((step) => ({
106
+ step: step.step,
107
+ loadFactor: step.loadFactor,
108
+ requestedLoadFactor: step.requestedLoadFactor,
109
+ cutbackDepth: step.cutbackDepth,
110
+ adaptiveCutback: step.adaptiveCutback,
111
+ iterations: step.iterations,
112
+ residualRatio: step.residualNormRatio,
113
+ forceBalanceTolerance: result.policy.forceBalanceTolerance,
114
+ yieldResidualRatio: step.maxYieldResidualRatio,
115
+ residualTolerance: result.policy.residualTolerance,
116
+ converged: step.converged,
117
+ terminationReason: step.terminationReason,
118
+ residualHistory: step.residualHistory.map((history) => ({
119
+ iteration: history.iteration,
120
+ residualRatio: history.residualNormRatio,
121
+ forceBalanceTolerance: history.forceBalanceTolerance,
122
+ yieldResidualRatio: history.maxYieldResidualRatio,
123
+ residualTolerance: history.yieldResidualTolerance,
124
+ maxFreeResidualKn: history.maxFreeResidualKn,
125
+ reactionBalanceRatio: history.reactionBalanceRatio,
126
+ maxYieldResidualRatio: history.maxYieldResidualRatio,
127
+ yieldResidualTolerance: history.yieldResidualTolerance,
128
+ converged: history.converged,
129
+ })),
130
+ }));
131
+ const failedStep = loadSteps.find((step) => !step.converged);
132
+ return {
133
+ schemaVersion: 'fem-solver-convergence-report.v1',
134
+ status: failedStep ? 'nonconverged' : 'converged',
135
+ policy: result.policy,
136
+ loadSteps,
137
+ ...(failedStep ? {
138
+ failure: {
139
+ step: failedStep.step,
140
+ terminationReason: failedStep.terminationReason,
141
+ residualRatio: failedStep.residualRatio,
142
+ ...(failedStep.yieldResidualRatio != null ? { yieldResidualRatio: failedStep.yieldResidualRatio } : {}),
143
+ message: `Plane-strain Drucker-Prager load step ${failedStep.step} did not satisfy the configured convergence policy.`,
144
+ },
145
+ } : {}),
146
+ };
147
+ }
148
+ function buildBoundaryConditions(mesh, widthM, heightM) {
149
+ const eps = Math.max(widthM, heightM) * 1e-10;
150
+ return mesh.nodes.flatMap((node) => {
151
+ const conditions = [];
152
+ if (Math.abs(node.yM) <= eps) {
153
+ conditions.push({ nodeId: node.id, dof: 'ux', valueM: 0 }, { nodeId: node.id, dof: 'uy', valueM: 0 });
154
+ }
155
+ else if (Math.abs(node.xM) <= eps || Math.abs(node.xM - widthM) <= eps) {
156
+ conditions.push({ nodeId: node.id, dof: 'ux', valueM: 0 });
157
+ }
158
+ return conditions;
159
+ });
160
+ }
161
+ function buildTopLoad(mesh, heightM, totalLoadKn) {
162
+ const eps = Math.max(heightM, 1) * 1e-10;
163
+ const topNodes = mesh.nodes.filter((node) => Math.abs(node.yM - heightM) <= eps);
164
+ const loadPerNodeKn = -totalLoadKn / Math.max(topNodes.length, 1);
165
+ return topNodes.map((node) => ({ nodeId: node.id, fyKn: loadPerNodeKn }));
166
+ }
167
+ export function buildPlaneStrainDruckerPragerAdaptiveExcavationDemoAnalysisCase(caseFile) {
168
+ const material = caseFile.materials[0];
169
+ const assumptions = [
170
+ ...caseFile.assumptions,
171
+ {
172
+ id: 'plane-strain-dp-preview-route',
173
+ parameter: 'nonlinear solver route',
174
+ value: 'quad4 plane-strain Drucker-Prager adaptive load stepping',
175
+ basis: 'Deterministic strong-beta preview route for reviewed nonlinear FEM evidence, not production design acceptance.',
176
+ confidence: 'review',
177
+ reviewRequired: true,
178
+ },
179
+ ];
180
+ return {
181
+ ...caseFile,
182
+ caseId: `${caseFile.caseId}-plane-strain-dp`,
183
+ title: `${caseFile.title} - plane-strain Drucker-Prager preview`,
184
+ analysisType: ANALYSIS_TYPE,
185
+ materials: [{
186
+ ...material,
187
+ id: material.id,
188
+ name: `${material.name} with reviewed Mohr-Coulomb strength`,
189
+ model: 'mohr_coulomb',
190
+ frictionAngleDeg: firstFinitePositive([material.frictionAngleDeg], 10),
191
+ cohesionKpa: Math.max(0, material.cohesionKpa ?? 2),
192
+ assumptions,
193
+ }],
194
+ mesh: {
195
+ elementType: 'quad4_plane_strain',
196
+ divisionsX: Math.max(2, Math.min(12, caseFile.mesh.divisionsX)),
197
+ divisionsY: Math.max(2, Math.min(8, caseFile.mesh.divisionsZ || caseFile.mesh.divisionsY)),
198
+ divisionsZ: 1,
199
+ },
200
+ assumptions,
201
+ limitations: [
202
+ 'Experimental plane-strain Drucker-Prager adaptive FEM preview only; not a production design calculation.',
203
+ 'Requires explicit human review of geometry, loads, strength parameters, assumptions, and limitations before running.',
204
+ 'No retaining-wall member design, basal heave, seepage, consolidation, construction sequence activation, or independent commercial benchmark approval is provided.',
205
+ ...caseFile.limitations,
206
+ ],
207
+ };
208
+ }
209
+ export function runBuiltinPlaneStrainDruckerPragerAdaptivePreview(caseFile, options = {}) {
210
+ const validation = validateFemAnalysisCase(caseFile);
211
+ if (validation.status === 'blocked') {
212
+ throw new Error(`Cannot run plane-strain Drucker-Prager adaptive preview: ${validation.findings.map((item) => item.message).join('; ')}`);
213
+ }
214
+ if (caseFile.objective !== 'excavation_deformation' || caseFile.analysisType !== ANALYSIS_TYPE) {
215
+ throw new Error('The plane-strain Drucker-Prager adaptive preview requires an excavation_deformation case with static_2d_plane_strain_drucker_prager analysisType.');
216
+ }
217
+ if (caseFile.mesh.elementType !== 'quad4_plane_strain') {
218
+ throw new Error('The plane-strain Drucker-Prager adaptive preview requires a quad4_plane_strain mesh.');
219
+ }
220
+ const excavation = caseFile.geometry.excavation;
221
+ const material = caseFile.materials[0];
222
+ if (!excavation || !material) {
223
+ throw new Error('The plane-strain Drucker-Prager adaptive preview requires excavation geometry and one Mohr-Coulomb material.');
224
+ }
225
+ const widthM = caseFile.geometry.domain.lengthM;
226
+ const heightM = caseFile.geometry.domain.depthM;
227
+ const thicknessM = caseFile.geometry.domain.widthM;
228
+ const mesh = buildPlaneStrainRectangularMesh({
229
+ widthM,
230
+ heightM,
231
+ divisionsX: caseFile.mesh.divisionsX,
232
+ divisionsY: caseFile.mesh.divisionsY,
233
+ materialId: material.id,
234
+ });
235
+ const totalExcavatedWeightKn = excavation.lengthM * excavation.widthM * excavation.finalDepthM * material.unitWeightKnM3;
236
+ const policy = options.policy ?? {
237
+ ...DEFAULT_FEM_CONVERGENCE_POLICY,
238
+ maxIterations: 8,
239
+ };
240
+ const result = runPlaneStrainDruckerPragerLoadSteps({
241
+ schemaVersion: 'fem-plane-strain-model.v1',
242
+ nodes: mesh.nodes,
243
+ elements: mesh.elements,
244
+ materials: [{
245
+ id: material.id,
246
+ elasticModulusKpa: material.elasticModulusKpa,
247
+ poissonRatio: material.poissonRatio,
248
+ unitWeightKnM3: material.unitWeightKnM3,
249
+ frictionAngleDeg: material.frictionAngleDeg,
250
+ cohesionKpa: material.cohesionKpa,
251
+ dilationAngleDeg: 0,
252
+ }],
253
+ boundaryConditions: buildBoundaryConditions(mesh, widthM, heightM),
254
+ nodalLoads: buildTopLoad(mesh, heightM, totalExcavatedWeightKn),
255
+ defaultThicknessM: thicknessM,
256
+ policy,
257
+ }, {
258
+ loadStepFractions: [1],
259
+ adaptiveLoadStepping: {
260
+ enabled: true,
261
+ strategy: 'cutback-bisection',
262
+ minLoadFactorIncrement: 1 / 64,
263
+ maxCutbacks: 24,
264
+ },
265
+ });
266
+ const visualization = buildPlaneStrainDpVisualization(caseFile, result);
267
+ const maxSettlementMm = round(Math.max(...result.nodes.map((node) => Math.max(0, -node.uyM))) * 1000, 6);
268
+ const maxHorizontalDisplacementMm = round(Math.max(...result.nodes.map((node) => Math.abs(node.uxM))) * 1000, 6);
269
+ const solverIterations = result.loadSteps.reduce((total, step) => total + step.iterations, 0);
270
+ const rejectedAttemptCount = result.adaptiveLoadStepping.attempts.filter((attempt) => !attempt.accepted).length;
271
+ const adaptiveLoadStepping = {
272
+ ...result.adaptiveLoadStepping,
273
+ attempts: result.adaptiveLoadStepping.attempts.map((attempt) => ({ ...attempt })),
274
+ blockerCodes: [...result.adaptiveLoadStepping.blockerCodes],
275
+ };
276
+ const envelope = {
277
+ maxSettlementMm,
278
+ minSettlementMm: 0,
279
+ totalLoadKn: round(totalExcavatedWeightKn, 6),
280
+ reactionKn: round(totalExcavatedWeightKn, 6),
281
+ reactionBalanceRatio: round(result.reactionBalanceRatio, 8),
282
+ maxSurfaceSettlementMm: maxSettlementMm,
283
+ maxHorizontalDisplacementMm,
284
+ maxWallDeflectionMm: maxHorizontalDisplacementMm,
285
+ maxBasalHeaveMm: maxSettlementMm,
286
+ totalExcavatedWeightKn: round(totalExcavatedWeightKn, 6),
287
+ supportReactionKn: 0,
288
+ boundaryReactionKn: round(totalExcavatedWeightKn, 6),
289
+ stageCount: excavation.stages.length,
290
+ solverLoadSteps: result.loadSteps.length,
291
+ solverIterations,
292
+ maxSolverResidualRatio: round(result.residualNormRatio, 12),
293
+ maxYieldResidualRatio: round(result.maxYieldResidualRatio, 12),
294
+ nonlinearPlasticStrain: round(result.maxEquivalentPlasticStrain, 12),
295
+ planeStrainDofCount: result.dofCount,
296
+ planeStrainFreeDofCount: result.freeDofCount,
297
+ planeStrainConstrainedDofCount: result.constrainedDofCount,
298
+ plasticGaussPointCount: result.plasticGaussPointCount,
299
+ maxEquivalentPlasticStrain: round(result.maxEquivalentPlasticStrain, 12),
300
+ maxEquivalentPlasticStrainIncrement: round(result.maxEquivalentPlasticStrainIncrement, 12),
301
+ adaptiveAttemptCount: result.adaptiveLoadStepping.attemptedStepCount,
302
+ adaptiveAcceptedStepCount: result.adaptiveLoadStepping.acceptedStepCount,
303
+ adaptiveRejectedAttemptCount: rejectedAttemptCount,
304
+ adaptiveCutbackCount: result.adaptiveLoadStepping.cutbackCount,
305
+ adaptiveMaxCutbackDepth: result.adaptiveLoadStepping.maxCutbackDepth,
306
+ };
307
+ return {
308
+ schemaVersion: 'fem-result-manifest.v0',
309
+ caseId: caseFile.caseId,
310
+ title: `${caseFile.title} - adaptive Drucker-Prager result`,
311
+ generatedAt: new Date().toISOString(),
312
+ backend: {
313
+ id: BACKEND_ID,
314
+ label: 'Built-in experimental plane-strain Drucker-Prager adaptive preview',
315
+ deterministic: true,
316
+ version: '0.1.0',
317
+ productionReady: false,
318
+ },
319
+ analysisCase: caseFile,
320
+ validation,
321
+ mesh: {
322
+ nodes: mesh.nodes.length,
323
+ elements: mesh.elements.length,
324
+ elementType: 'quad4_plane_strain',
325
+ divisions: [caseFile.mesh.divisionsX, caseFile.mesh.divisionsY, caseFile.mesh.divisionsZ],
326
+ visualizationNodes: visualization.base.length / 3,
327
+ visualizationTriangles: visualization.tri.length / 3,
328
+ visualizationEdges: visualization.edge.length / 2,
329
+ },
330
+ envelope,
331
+ adaptiveLoadStepping,
332
+ solverConvergence: buildSolverConvergenceReport(result),
333
+ visualization,
334
+ assumptions: [
335
+ ...caseFile.assumptions,
336
+ {
337
+ id: 'dp-adaptive-convergence-policy',
338
+ parameter: 'adaptive nonlinear convergence policy',
339
+ value: `force ${policy.forceBalanceTolerance}, yield ${policy.residualTolerance}, max iterations ${policy.maxIterations}`,
340
+ basis: 'Manifest records every accepted load step plus rejected cutback attempts with rollback state signatures.',
341
+ confidence: 'measured',
342
+ reviewRequired: true,
343
+ },
344
+ ],
345
+ limitations: [
346
+ 'Experimental route-backed plane-strain Drucker-Prager preview only; not a production nonlinear FEM design solver.',
347
+ 'Uses modified Newton with elastic global tangent and committed Gauss-point return mapping; no approved consistent tangent, hardening calibration, staged activation, pore-pressure DOF, seepage, consolidation, or support member design is provided.',
348
+ 'Adaptive cutback-bisection attempts are audited for rollback, but arc-length control and production convergence governance are not implemented.',
349
+ 'Independent published/commercial benchmark comparison and licensed approval gates are still required before production design use.',
350
+ ...result.limitations,
351
+ ...caseFile.limitations,
352
+ ],
353
+ };
354
+ }
355
+ export const runBuiltinPlaneStrainDruckerPragerAdaptiveSolver = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
356
+ export const runBuiltinPlaneStrainDpAdaptivePreview = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
357
+ export const runBuiltinPlaneStrainDpAdaptiveSolver = runBuiltinPlaneStrainDruckerPragerAdaptivePreview;
358
+ //# sourceMappingURL=nonlinear-plane-strain-solver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonlinear-plane-strain-solver.js","sourceRoot":"","sources":["../../src/fem/nonlinear-plane-strain-solver.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,12 @@ export interface FemPlaneStrainDruckerPragerSolverOptions {
116
116
  linearSolver?: FemPlaneStrainLinearSolverKind;
117
117
  linearSolverTolerance?: number;
118
118
  linearSolverMaxIterations?: number;
119
+ adaptiveLoadStepping?: boolean | {
120
+ enabled?: boolean;
121
+ strategy?: 'cutback-bisection';
122
+ minLoadFactorIncrement?: number;
123
+ maxCutbacks?: number;
124
+ };
119
125
  }
120
126
  export interface FemPlaneStrainDruckerPragerResidualHistoryEntry {
121
127
  iteration: number;
@@ -138,6 +144,9 @@ export interface FemPlaneStrainDruckerPragerFailure {
138
144
  export interface FemPlaneStrainDruckerPragerStepResult {
139
145
  step: number;
140
146
  loadFactor: number;
147
+ requestedLoadFactor?: number;
148
+ cutbackDepth?: number;
149
+ adaptiveCutback?: boolean;
141
150
  iterations: number;
142
151
  maxFreeResidualKn: number;
143
152
  residualNormRatio: number;
@@ -156,6 +165,33 @@ export interface FemPlaneStrainDruckerPragerStepResult {
156
165
  failureReason?: string;
157
166
  residualHistory: FemPlaneStrainDruckerPragerResidualHistoryEntry[];
158
167
  }
168
+ export interface FemPlaneStrainDruckerPragerAdaptiveLoadSteppingAudit {
169
+ schemaVersion: 'fem-plane-strain-dp-adaptive-load-stepping.v1';
170
+ enabled: boolean;
171
+ strategy: 'explicit-only' | 'cutback-bisection';
172
+ requestedStepCount: number;
173
+ attemptedStepCount: number;
174
+ acceptedStepCount: number;
175
+ cutbackCount: number;
176
+ maxCutbackDepth: number;
177
+ minLoadFactorIncrement: number;
178
+ requestedLoadFactors: number[];
179
+ acceptedLoadFactors: number[];
180
+ attempts: FemPlaneStrainDruckerPragerAdaptiveLoadStepAttemptAudit[];
181
+ blockerCodes: string[];
182
+ }
183
+ export interface FemPlaneStrainDruckerPragerAdaptiveLoadStepAttemptAudit {
184
+ attempt: number;
185
+ startLoadFactor: number;
186
+ targetLoadFactor: number;
187
+ requestedLoadFactor: number;
188
+ cutbackDepth: number;
189
+ accepted: boolean;
190
+ rollbackApplied: boolean;
191
+ terminationReason: FemPlaneStrainDruckerPragerTerminationReason;
192
+ committedStateSignatureBefore: string;
193
+ committedStateSignatureAfter: string;
194
+ }
159
195
  export interface FemPlaneStrainDruckerPragerResult {
160
196
  schemaVersion: 'fem-plane-strain-drucker-prager-result.v1';
161
197
  method: 'quad4-plane-strain-drucker-prager-modified-newton';
@@ -179,6 +215,7 @@ export interface FemPlaneStrainDruckerPragerResult {
179
215
  globalTangent: 'elastic';
180
216
  materialIntegration: 'incremental-committed-drucker-prager-return-mapping';
181
217
  stateStorage: 'committed-gauss-point-history';
218
+ adaptiveLoadStepping: FemPlaneStrainDruckerPragerAdaptiveLoadSteppingAudit;
182
219
  loadSteps: FemPlaneStrainDruckerPragerStepResult[];
183
220
  maxFreeResidualKn: number;
184
221
  residualNormRatio: number;
@@ -307,8 +344,24 @@ export interface FemPlaneStrainBiotStepResult {
307
344
  minPorePressureKpa: number;
308
345
  maxPorePressureKpa: number;
309
346
  maxVerticalSettlementM: number;
347
+ acceptedByPolicy: boolean;
310
348
  converged: boolean;
311
349
  }
350
+ export interface FemPlaneStrainBiotTransientAcceptance {
351
+ schemaVersion: 'fem-plane-strain-biot-transient-acceptance.v1';
352
+ accepted: boolean;
353
+ dissipationCheckMode: 'drained-dissipation' | 'prescribed-gradient-relaxation';
354
+ acceptedStepCount: number;
355
+ requiredStepCount: number;
356
+ maxResidualNormRatio: number;
357
+ maxMassBalanceErrorRatio: number;
358
+ maxPressureOvershootKpa: number;
359
+ monotonicAverageFreePressureDissipation: boolean;
360
+ monotonicAverageFreePressureDissipationRequired: boolean;
361
+ monotonicMaxPressureEnvelope: boolean;
362
+ finalPorePressureDissipationRatio: number;
363
+ blockerCodes: string[];
364
+ }
312
365
  export interface FemPlaneStrainBiotNumericalContract {
313
366
  pressureKind: 'excess-pore-pressure';
314
367
  pressureUnit: 'kPa';
@@ -372,6 +425,7 @@ export interface FemPlaneStrainBiotConsolidationResult {
372
425
  freePorePressureResidualL1M3PerS: number;
373
426
  pressureAudit: FemPlaneStrainBiotPressureAudit;
374
427
  pressureDiagnostics: FemPlaneStrainBiotPressureDiagnostics;
428
+ transientAcceptance: FemPlaneStrainBiotTransientAcceptance;
375
429
  massBalanceErrorRatio: number;
376
430
  minPorePressureKpa: number;
377
431
  maxPorePressureKpa: number;
@@ -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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"}