geotechcli 0.2.0 → 0.4.0
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/commands/ai.d.ts.map +1 -1
- package/dist/commands/ai.js +274 -49
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +7 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/liquefaction.d.ts.map +1 -1
- package/dist/commands/liquefaction.js +19 -12
- package/dist/commands/liquefaction.js.map +1 -1
- package/dist/commands/seepage.d.ts +3 -0
- package/dist/commands/seepage.d.ts.map +1 -0
- package/dist/commands/seepage.js +127 -0
- package/dist/commands/seepage.js.map +1 -0
- package/dist/commands/settlement.d.ts +3 -0
- package/dist/commands/settlement.d.ts.map +1 -0
- package/dist/commands/settlement.js +214 -0
- package/dist/commands/settlement.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +60 -9
- package/dist/commands/status.js.map +1 -1
- package/dist/index.js +9 -14
- package/dist/index.js.map +1 -1
- package/dist/ui/terminal.d.ts.map +1 -1
- package/dist/ui/terminal.js +13 -5
- package/dist/ui/terminal.js.map +1 -1
- package/dist/util/vision-output.d.ts +35 -0
- package/dist/util/vision-output.d.ts.map +1 -0
- package/dist/util/vision-output.js +114 -0
- package/dist/util/vision-output.js.map +1 -0
- package/package.json +52 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SACjC,WAAW,CAAC,0CAA0C,CAAC,CAAC;IAE3D,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,CACN,WAAW,EACX,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YAChC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC;YAC5C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO;gBACf,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAC9B,CAAC;QACF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACrF,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC7E,QAAQ,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAClD,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QACrC,0CAA0C;QAC1C,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3B,2BAA2B;YAC3B,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACpE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC;YAEV,OAAO,CAAC,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,QAAQ,GAAG,wBAAwB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,GAAG,EAAE;QACX,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC9C,cAAc,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAClC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChC,cAAc,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,+EAA+E,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+F5D"}
|
package/dist/commands/export.js
CHANGED
|
@@ -14,9 +14,14 @@ export function registerExportCommand(program) {
|
|
|
14
14
|
try {
|
|
15
15
|
const data = JSON.parse(readFileSync(opts.input, 'utf-8'));
|
|
16
16
|
const features = Array.isArray(data) ? data : [data];
|
|
17
|
+
const missingCoordinates = features.filter((feature) => (feature.lat === undefined && feature.latitude === undefined) ||
|
|
18
|
+
(feature.lng === undefined && feature.longitude === undefined));
|
|
19
|
+
if (missingCoordinates.length > 0) {
|
|
20
|
+
throw new Error(`Missing latitude/longitude for ${missingCoordinates.length} feature(s). Provide lat/lng or latitude/longitude fields before exporting GeoJSON.`);
|
|
21
|
+
}
|
|
17
22
|
const geoJsonFeatures = features.map((f, i) => ({
|
|
18
|
-
lat: f.lat ?? f.latitude
|
|
19
|
-
lng: f.lng ?? f.longitude
|
|
23
|
+
lat: f.lat ?? f.latitude,
|
|
24
|
+
lng: f.lng ?? f.longitude,
|
|
20
25
|
properties: f,
|
|
21
26
|
name: f.id ?? f.boreholeId ?? `Feature-${i + 1}`,
|
|
22
27
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SAC9B,WAAW,CAAC,uDAAuD,CAAC,CAAC;IAExE,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,0CAA0C,CAAC;SACvD,cAAc,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;SAC9D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CACxC,CAAC,OAAY,EAAE,EAAE,CACf,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;gBAC7D,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CACjE,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,kCAAkC,kBAAkB,CAAC,MAAM,qFAAqF,CACjJ,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC;gBAC3D,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;gBACxB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS;gBACzB,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;aACjD,CAAC,CAAC,CAAC;YACJ,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;YAC9C,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,uBAAuB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yCAAyC,CAAC;SACtD,cAAc,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;SAChE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC;SAC1D,MAAM,CAAC,eAAe,EAAE,sCAAsC,EAAE,UAAU,EAAE,EAAE,CAAC;SAC/E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,wBAAwB,CAClC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;gBAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI;gBAClC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE;aACxB,CAAC,CAAC,EACH,IAAI,CAAC,OAAO,CACb,CAAC;YACF,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC;SAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,IAAI,OAAiB,CAAC;YACtB,IAAI,IAA2B,CAAC;YAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquefaction.d.ts","sourceRoot":"","sources":["../../src/commands/liquefaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"liquefaction.d.ts","sourceRoot":"","sources":["../../src/commands/liquefaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmHlE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { calculateLiquefaction } from '@geotechcli/core';
|
|
3
|
-
import { heading, keyValue, renderTable, renderSteps, renderJSON, warn, success } from '../ui/terminal.js';
|
|
3
|
+
import { heading, keyValue, renderTable, renderSteps, renderJSON, warn, success, error, } from '../ui/terminal.js';
|
|
4
4
|
import { addGlobalFlags, getGlobalFlags } from '../util/flags.js';
|
|
5
5
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
6
6
|
export function registerLiquefactionCommand(program) {
|
|
@@ -13,11 +13,12 @@ export function registerLiquefactionCommand(program) {
|
|
|
13
13
|
.option('--depth <m>', 'Single layer depth (m)', parseFloat)
|
|
14
14
|
.option('--spt <N>', 'Single layer SPT N-value', parseFloat)
|
|
15
15
|
.option('--fines <percent>', 'Single layer fines content (%)', parseFloat, 5)
|
|
16
|
+
.option('--demo', 'Use the built-in demo SPT profile')
|
|
16
17
|
.action((opts) => {
|
|
17
18
|
const flags = getGlobalFlags(opts);
|
|
19
|
+
let source = 'user';
|
|
18
20
|
let layers;
|
|
19
21
|
if (opts.sptProfile) {
|
|
20
|
-
// Parse CSV
|
|
21
22
|
const csv = readFileSync(opts.sptProfile, 'utf-8');
|
|
22
23
|
const lines = csv.trim().split('\n');
|
|
23
24
|
const header = lines[0].toLowerCase();
|
|
@@ -31,7 +32,7 @@ export function registerLiquefactionCommand(program) {
|
|
|
31
32
|
unitWeight: cols[3] ?? 18,
|
|
32
33
|
waterTableDepth: cols[4] ?? 1,
|
|
33
34
|
};
|
|
34
|
-
}).filter((
|
|
35
|
+
}).filter((layer) => !isNaN(layer.depth) && !isNaN(layer.sptN));
|
|
35
36
|
}
|
|
36
37
|
else if (opts.depth && opts.spt !== undefined) {
|
|
37
38
|
layers = [{
|
|
@@ -42,8 +43,8 @@ export function registerLiquefactionCommand(program) {
|
|
|
42
43
|
waterTableDepth: 1,
|
|
43
44
|
}];
|
|
44
45
|
}
|
|
45
|
-
else {
|
|
46
|
-
|
|
46
|
+
else if (opts.demo) {
|
|
47
|
+
source = 'demo';
|
|
47
48
|
layers = [
|
|
48
49
|
{ depth: 2.0, sptN: 8, finesContent: 15, unitWeight: 17, waterTableDepth: 1.5 },
|
|
49
50
|
{ depth: 4.5, sptN: 12, finesContent: 10, unitWeight: 18, waterTableDepth: 1.5 },
|
|
@@ -51,9 +52,14 @@ export function registerLiquefactionCommand(program) {
|
|
|
51
52
|
{ depth: 10.0, sptN: 22, finesContent: 5, unitWeight: 19, waterTableDepth: 1.5 },
|
|
52
53
|
];
|
|
53
54
|
if (!flags.json) {
|
|
54
|
-
warn('
|
|
55
|
+
warn('Using demo data because --demo was provided. Use --spt-profile <file> for real analysis.');
|
|
55
56
|
}
|
|
56
57
|
}
|
|
58
|
+
else {
|
|
59
|
+
error('No SPT profile provided. Use --spt-profile <file>, provide --depth/--spt, or pass --demo.');
|
|
60
|
+
process.exitCode = 1;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
57
63
|
if (flags.dryRun) {
|
|
58
64
|
console.log(` [dry-run] Would calculate liquefaction (${opts.method}):`);
|
|
59
65
|
console.log(` Mw=${opts.magnitude}, PGA=${opts.pga}g, ${layers.length} layer(s)`);
|
|
@@ -65,25 +71,26 @@ export function registerLiquefactionCommand(program) {
|
|
|
65
71
|
pga: opts.pga,
|
|
66
72
|
method: opts.method,
|
|
67
73
|
});
|
|
74
|
+
const outputResult = source === 'demo' ? { ...result, source } : result;
|
|
68
75
|
if (flags.json) {
|
|
69
|
-
renderJSON(
|
|
76
|
+
renderJSON(outputResult);
|
|
70
77
|
return;
|
|
71
78
|
}
|
|
72
79
|
if (flags.quiet) {
|
|
73
|
-
const severe = result.layers.filter(
|
|
80
|
+
const severe = result.layers.filter((layer) => layer.potential === 'SEVERE' || layer.potential === 'HIGH').length;
|
|
74
81
|
console.log(`${severe}/${result.layers.length}`);
|
|
75
82
|
return;
|
|
76
83
|
}
|
|
77
|
-
heading(`Liquefaction Analysis
|
|
84
|
+
heading(`Liquefaction Analysis - ${result.method === 'boulanger-idriss-2014' ? 'Boulanger & Idriss (2014)' : 'NCEER Simplified'}`);
|
|
78
85
|
keyValue('Earthquake magnitude (Mw)', opts.magnitude);
|
|
79
86
|
keyValue('Peak ground acceleration', `${opts.pga}g`);
|
|
80
|
-
renderTable(['Depth (m)', '
|
|
81
|
-
|
|
87
|
+
renderTable(['Depth (m)', 'N160', '(N1)60cs', 'CSR', 'CRR', 'FS', 'Potential'], result.layers.map((layer) => [
|
|
88
|
+
layer.depth, layer.N160, layer.N160cs, layer.CSR, layer.CRR, layer.factorOfSafety, layer.potential,
|
|
82
89
|
]));
|
|
83
90
|
keyValue('Estimated settlement', `${result.estimatedSettlement} mm`);
|
|
84
91
|
renderSteps(result.steps, flags.verbose);
|
|
85
92
|
if (flags.output) {
|
|
86
|
-
writeFileSync(flags.output, JSON.stringify(
|
|
93
|
+
writeFileSync(flags.output, JSON.stringify(outputResult, null, 2));
|
|
87
94
|
success(`Results saved to ${flags.output}`);
|
|
88
95
|
}
|
|
89
96
|
console.log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquefaction.js","sourceRoot":"","sources":["../../src/commands/liquefaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"liquefaction.js","sourceRoot":"","sources":["../../src/commands/liquefaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seepage.d.ts","sourceRoot":"","sources":["../../src/commands/seepage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuH7D"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { calculateDupuitSeepage, calculateFlowNetSeepage, } from '@geotechcli/core';
|
|
4
|
+
import { banner, keyValue, renderJSON, renderTable, success, warn, renderSteps, heading, } from '../ui/terminal.js';
|
|
5
|
+
import { addGlobalFlags, getGlobalFlags } from '../util/flags.js';
|
|
6
|
+
import { writeFileSync } from 'node:fs';
|
|
7
|
+
function riskColor(risk) {
|
|
8
|
+
if (risk === 'SEVERE')
|
|
9
|
+
return chalk.red.bold(risk);
|
|
10
|
+
if (risk === 'HIGH')
|
|
11
|
+
return chalk.red(risk);
|
|
12
|
+
if (risk === 'MODERATE')
|
|
13
|
+
return chalk.yellow(risk);
|
|
14
|
+
return chalk.green(risk);
|
|
15
|
+
}
|
|
16
|
+
export function registerSeepageCommand(program) {
|
|
17
|
+
const cmd = new Command('seepage')
|
|
18
|
+
.description('Seepage flow analysis with piping and heave safety checks')
|
|
19
|
+
.option('--method <m>', 'Analysis method: dupuit | flownet (default: dupuit)', 'dupuit')
|
|
20
|
+
// Common options
|
|
21
|
+
.requiredOption('--conductivity <m/s>', 'Hydraulic conductivity k in m/s')
|
|
22
|
+
.option('--h1 <m>', 'Upstream head h₁ in meters (dupuit method)')
|
|
23
|
+
.option('--h2 <m>', 'Downstream head h₂ in meters (dupuit method)', '0')
|
|
24
|
+
.option('--length <m>', 'Seepage path length L in meters (dupuit method)')
|
|
25
|
+
// Flow net options
|
|
26
|
+
.option('--head <m>', 'Total head loss H in meters (flownet method)')
|
|
27
|
+
.option('--nf <n>', 'Number of flow channels Nf (flownet method)')
|
|
28
|
+
.option('--nd <n>', 'Number of equipotential drops Nd (flownet method)')
|
|
29
|
+
.option('--critical-path <m>', 'Critical flow path length for exit gradient (flownet, default 1.0)')
|
|
30
|
+
// Soil properties
|
|
31
|
+
.option('--gs <Gs>', 'Specific gravity of solids Gs (default: 2.65)', '2.65')
|
|
32
|
+
.option('--void-ratio <e>', 'Void ratio e₀ (default: 0.7)', '0.7')
|
|
33
|
+
.addHelpText('after', `
|
|
34
|
+
Methods:
|
|
35
|
+
dupuit Dupuit-Forchheimer unconfined seepage between two boundaries
|
|
36
|
+
flownet Flow net approximation: Q = k × H × (Nf/Nd)
|
|
37
|
+
|
|
38
|
+
Examples:
|
|
39
|
+
geotech seepage --conductivity 1e-4 --h1 10 --h2 2 --length 20 --verbose
|
|
40
|
+
geotech seepage --method flownet --conductivity 5e-5 --head 8 --nf 4 --nd 6
|
|
41
|
+
geotech seepage --conductivity 1e-4 --h1 8 --h2 0 --length 15 --gs 2.7 --void-ratio 0.65 --json
|
|
42
|
+
`)
|
|
43
|
+
.action(async (opts) => {
|
|
44
|
+
const flags = getGlobalFlags(opts);
|
|
45
|
+
const method = opts.method;
|
|
46
|
+
const k = parseFloat(opts.conductivity);
|
|
47
|
+
const Gs = parseFloat(opts.gs);
|
|
48
|
+
const e = parseFloat(opts.voidRatio);
|
|
49
|
+
try {
|
|
50
|
+
let result;
|
|
51
|
+
if (method === 'flownet') {
|
|
52
|
+
if (!opts.head || !opts.nf || !opts.nd) {
|
|
53
|
+
console.error(chalk.red(' ✗ Flownet method requires --head, --nf, and --nd'));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
result = calculateFlowNetSeepage({
|
|
57
|
+
hydraulicConductivity: k,
|
|
58
|
+
totalHead: parseFloat(opts.head),
|
|
59
|
+
flowChannels: parseInt(opts.nf, 10),
|
|
60
|
+
equipotentialDrops: parseInt(opts.nd, 10),
|
|
61
|
+
specificGravity: Gs,
|
|
62
|
+
voidRatio: e,
|
|
63
|
+
criticalFlowPath: opts.criticalPath ? parseFloat(opts.criticalPath) : undefined,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Dupuit default
|
|
68
|
+
if (!opts.h1 || !opts.length) {
|
|
69
|
+
console.error(chalk.red(' ✗ Dupuit method requires --h1 and --length'));
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
result = calculateDupuitSeepage({
|
|
73
|
+
hydraulicConductivity: k,
|
|
74
|
+
upstreamHead: parseFloat(opts.h1),
|
|
75
|
+
downstreamHead: parseFloat(opts.h2),
|
|
76
|
+
seepageLength: parseFloat(opts.length),
|
|
77
|
+
specificGravity: Gs,
|
|
78
|
+
voidRatio: e,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (flags.json) {
|
|
82
|
+
renderJSON(result);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!flags.quiet)
|
|
86
|
+
banner();
|
|
87
|
+
heading(`Seepage Analysis — ${method === 'flownet' ? 'Flow Net Method' : 'Dupuit-Forchheimer'}`);
|
|
88
|
+
keyValue('Seepage flow Q', `${result.seepageFlow.toExponential(3)} m³/s per m width`);
|
|
89
|
+
keyValue('Exit gradient', result.exitGradient.toFixed(4));
|
|
90
|
+
keyValue('Critical gradient', result.criticalGradient.toFixed(4));
|
|
91
|
+
keyValue('Piping FS', result.pipingFOS >= 999 ? '∞' : result.pipingFOS.toFixed(2));
|
|
92
|
+
console.log('');
|
|
93
|
+
console.log(chalk.gray(' Heave/Piping Risk: ') + riskColor(result.heaveRisk));
|
|
94
|
+
console.log(chalk.gray(` ${result.heaveRiskDescription}`));
|
|
95
|
+
renderSteps(result.steps, flags.verbose);
|
|
96
|
+
// Risk summary table
|
|
97
|
+
if (!flags.quiet) {
|
|
98
|
+
console.log('');
|
|
99
|
+
renderTable(['Parameter', 'Value', 'Limit', 'Status'], [
|
|
100
|
+
['i_exit', result.exitGradient.toFixed(4), `< ${result.criticalGradient.toFixed(3)}`, result.exitGradient < result.criticalGradient ? '✓ OK' : '✗ EXCEEDS'],
|
|
101
|
+
['FS (piping)', result.pipingFOS >= 999 ? '∞' : result.pipingFOS.toFixed(2), '≥ 3.0 (typical)', result.pipingFOS >= 3 ? '✓ OK' : result.pipingFOS >= 1.5 ? '⚠ MARGINAL' : '✗ FAIL'],
|
|
102
|
+
]);
|
|
103
|
+
}
|
|
104
|
+
if (flags.output) {
|
|
105
|
+
writeFileSync(flags.output, JSON.stringify(result, null, 2));
|
|
106
|
+
success(`Results saved to ${flags.output}`);
|
|
107
|
+
}
|
|
108
|
+
if (!flags.quiet) {
|
|
109
|
+
console.log('');
|
|
110
|
+
warn('Piping FS ≥ 3.0 is typically required for dams and embankments. For retaining walls, FS ≥ 2.0 is often acceptable.');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
115
|
+
if (flags.json) {
|
|
116
|
+
console.log(JSON.stringify({ error: msg }, null, 2));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
console.error(chalk.red(`\n ✗ ${msg}\n`));
|
|
120
|
+
}
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
addGlobalFlags(cmd);
|
|
125
|
+
program.addCommand(cmd);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=seepage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seepage.js","sourceRoot":"","sources":["../../src/commands/seepage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../../src/commands/settlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwPpC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBjE"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { calculateConsolidation, calculateSchmertmann, calculatePeckSettlement, } from '@geotechcli/core';
|
|
4
|
+
import { banner, keyValue, renderJSON, renderTable, renderChart, success, warn, renderSteps, heading, } from '../ui/terminal.js';
|
|
5
|
+
import { addGlobalFlags, getGlobalFlags } from '../util/flags.js';
|
|
6
|
+
import { writeFileSync } from 'node:fs';
|
|
7
|
+
function handleError(err, flags) {
|
|
8
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
9
|
+
if (flags.json) {
|
|
10
|
+
console.log(JSON.stringify({ error: msg }, null, 2));
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
console.error(chalk.red(`\n ✗ ${msg}\n`));
|
|
14
|
+
}
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// geotech settlement consolidation — Terzaghi 1D consolidation
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
function registerConsolidation(parent) {
|
|
21
|
+
const cmd = new Command('consolidation')
|
|
22
|
+
.description('Terzaghi 1D consolidation settlement (primary + time curve)')
|
|
23
|
+
.requiredOption('--cc <number>', 'Compression index Cc')
|
|
24
|
+
.requiredOption('--e0 <number>', 'Initial void ratio e₀')
|
|
25
|
+
.requiredOption('--thickness <m>', 'Clay layer thickness H in meters')
|
|
26
|
+
.requiredOption('--delta-sigma <kPa>', 'Stress increase Δσ in kPa')
|
|
27
|
+
.requiredOption('--sigma0 <kPa>', 'Initial effective stress σ₀ in kPa')
|
|
28
|
+
.option('--cr <number>', 'Recompression index Cr (default: Cc/5)')
|
|
29
|
+
.option('--sigmap <kPa>', 'Preconsolidation pressure σ_p in kPa')
|
|
30
|
+
.option('--drainage <type>', 'Drainage: single | double (default: double)', 'double')
|
|
31
|
+
.option('--cv <m2/yr>', 'Coefficient of consolidation Cv (m²/year) — enables time curve')
|
|
32
|
+
.action(async (opts) => {
|
|
33
|
+
const flags = getGlobalFlags(opts);
|
|
34
|
+
const input = {
|
|
35
|
+
compressionIndex: parseFloat(opts.cc),
|
|
36
|
+
voidRatio: parseFloat(opts.e0),
|
|
37
|
+
layerThickness: parseFloat(opts.thickness),
|
|
38
|
+
stressIncrease: parseFloat(opts.deltaSigma),
|
|
39
|
+
initialEffectiveStress: parseFloat(opts.sigma0),
|
|
40
|
+
recompressionIndex: opts.cr ? parseFloat(opts.cr) : undefined,
|
|
41
|
+
preconsolidationPressure: opts.sigmap ? parseFloat(opts.sigmap) : undefined,
|
|
42
|
+
drainagePath: (opts.drainage === 'single' ? 'single' : 'double'),
|
|
43
|
+
coefficientOfConsolidation: opts.cv ? parseFloat(opts.cv) : undefined,
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
const result = calculateConsolidation(input);
|
|
47
|
+
if (flags.json) {
|
|
48
|
+
renderJSON(result);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!flags.quiet)
|
|
52
|
+
banner();
|
|
53
|
+
heading('Terzaghi 1D Consolidation Settlement');
|
|
54
|
+
keyValue('Primary settlement', `${result.primarySettlement} mm`);
|
|
55
|
+
keyValue('Soil condition', result.isOverconsolidated ? 'Overconsolidated (OC)' : 'Normally consolidated (NC)');
|
|
56
|
+
renderSteps(result.steps, flags.verbose);
|
|
57
|
+
if (result.timeSettlement && result.timeSettlement.length > 0) {
|
|
58
|
+
console.log('');
|
|
59
|
+
renderTable(['Tv', 'U (%)', 'Time (yr)', 'Settlement (mm)'], result.timeSettlement.map(r => [
|
|
60
|
+
r.timeFactor.toFixed(3),
|
|
61
|
+
(r.consolidation * 100).toFixed(0),
|
|
62
|
+
r.timeYears.toFixed(2),
|
|
63
|
+
r.settlement.toFixed(1),
|
|
64
|
+
]));
|
|
65
|
+
if (flags.plot) {
|
|
66
|
+
renderChart(result.timeSettlement.map(r => r.settlement), { label: 'Settlement over time (mm)', height: 10 });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (flags.output) {
|
|
70
|
+
const data = JSON.stringify(result, null, 2);
|
|
71
|
+
writeFileSync(flags.output, data);
|
|
72
|
+
success(`Results saved to ${flags.output}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
handleError(err, flags);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
addGlobalFlags(cmd);
|
|
80
|
+
parent.addCommand(cmd);
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// geotech settlement immediate — Schmertmann elastic/creep settlement
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
function registerImmediate(parent) {
|
|
86
|
+
const cmd = new Command('immediate')
|
|
87
|
+
.description('Schmertmann immediate + creep settlement for shallow foundations')
|
|
88
|
+
.requiredOption('--stress <kPa>', 'Net applied stress q in kPa')
|
|
89
|
+
.requiredOption('--width <m>', 'Foundation width B in meters')
|
|
90
|
+
.requiredOption('--layers <json>', 'Soil layers as JSON: \'[{"thickness":1,"Es":5000},...]\' ')
|
|
91
|
+
.option('--depth <m>', 'Embedment depth D (default: 0)', '0')
|
|
92
|
+
.option('--unit-weight <kN/m3>', 'Unit weight γ in kN/m³ (default: 18)', '18')
|
|
93
|
+
.option('--time <years>', 'Time for creep factor (default: 1)', '1')
|
|
94
|
+
.action(async (opts) => {
|
|
95
|
+
const flags = getGlobalFlags(opts);
|
|
96
|
+
let layers;
|
|
97
|
+
try {
|
|
98
|
+
const raw = JSON.parse(opts.layers);
|
|
99
|
+
layers = raw.map(l => ({
|
|
100
|
+
thickness: l.thickness ?? 1,
|
|
101
|
+
elasticModulus: l.elasticModulus ?? l.Es ?? 5000,
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
console.error(chalk.red(" ✗ Invalid --layers JSON. Example: '[{\"thickness\":1,\"Es\":5000}]'"));
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
const input = {
|
|
109
|
+
appliedStress: parseFloat(opts.stress),
|
|
110
|
+
foundationWidth: parseFloat(opts.width),
|
|
111
|
+
layers,
|
|
112
|
+
embedmentDepth: parseFloat(opts.depth),
|
|
113
|
+
unitWeight: parseFloat(opts.unitWeight),
|
|
114
|
+
timeFactor: parseFloat(opts.time),
|
|
115
|
+
};
|
|
116
|
+
try {
|
|
117
|
+
const result = calculateSchmertmann(input);
|
|
118
|
+
if (flags.json) {
|
|
119
|
+
renderJSON(result);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (!flags.quiet)
|
|
123
|
+
banner();
|
|
124
|
+
heading('Schmertmann Immediate + Creep Settlement');
|
|
125
|
+
keyValue('Immediate settlement', `${result.immediateSettlement} mm`);
|
|
126
|
+
keyValue('Creep settlement', `${result.creepSettlement} mm`);
|
|
127
|
+
keyValue('Total settlement', `${result.totalSettlement} mm`);
|
|
128
|
+
renderSteps(result.steps, flags.verbose);
|
|
129
|
+
if (flags.output) {
|
|
130
|
+
writeFileSync(flags.output, JSON.stringify(result, null, 2));
|
|
131
|
+
success(`Results saved to ${flags.output}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
handleError(err, flags);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
addGlobalFlags(cmd);
|
|
139
|
+
parent.addCommand(cmd);
|
|
140
|
+
}
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
// geotech settlement tunnel — Peck surface settlement trough
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
function registerTunnelSettlement(parent) {
|
|
145
|
+
const cmd = new Command('tunnel')
|
|
146
|
+
.description('Peck Gaussian settlement trough above tunnel excavation')
|
|
147
|
+
.requiredOption('--diameter <m>', 'Tunnel diameter D in meters')
|
|
148
|
+
.requiredOption('--depth <m>', 'Depth to tunnel axis Z₀ in meters')
|
|
149
|
+
.option('--volume-loss <%>', 'Volume loss Vl in % (default: 1.0)', '1.0')
|
|
150
|
+
.option('--trough-k <K>', 'Trough width parameter K (default: 0.5)', '0.5')
|
|
151
|
+
.action(async (opts) => {
|
|
152
|
+
const flags = getGlobalFlags(opts);
|
|
153
|
+
const input = {
|
|
154
|
+
tunnelDiameter: parseFloat(opts.diameter),
|
|
155
|
+
tunnelDepth: parseFloat(opts.depth),
|
|
156
|
+
volumeLoss: parseFloat(opts.volumeLoss),
|
|
157
|
+
troughWidthParam: parseFloat(opts.troughK),
|
|
158
|
+
};
|
|
159
|
+
try {
|
|
160
|
+
const result = calculatePeckSettlement(input);
|
|
161
|
+
if (flags.json) {
|
|
162
|
+
renderJSON(result);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (!flags.quiet)
|
|
166
|
+
banner();
|
|
167
|
+
heading('Peck Tunnel Surface Settlement Trough');
|
|
168
|
+
keyValue('Maximum settlement', `${result.maxSettlement} mm`);
|
|
169
|
+
keyValue('Inflection point (i)', `${result.inflectionPoint} m`);
|
|
170
|
+
keyValue('Trough width (2.5i)', `${result.troughWidth} m`);
|
|
171
|
+
renderSteps(result.steps, flags.verbose);
|
|
172
|
+
if (flags.plot && result.profile.length > 0) {
|
|
173
|
+
const vals = result.profile.map(p => p.settlement);
|
|
174
|
+
renderChart(vals, { label: `Settlement trough (max = ${result.maxSettlement} mm)`, height: 10 });
|
|
175
|
+
}
|
|
176
|
+
if (!flags.quiet) {
|
|
177
|
+
console.log('');
|
|
178
|
+
warn('Peck trough assumes symmetrical ground conditions. Actual settlements depend on construction method, soil type, and monitoring data.');
|
|
179
|
+
}
|
|
180
|
+
if (flags.output) {
|
|
181
|
+
writeFileSync(flags.output, JSON.stringify(result, null, 2));
|
|
182
|
+
success(`Results saved to ${flags.output}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
handleError(err, flags);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
addGlobalFlags(cmd);
|
|
190
|
+
parent.addCommand(cmd);
|
|
191
|
+
}
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
// Root: geotech settlement
|
|
194
|
+
// ---------------------------------------------------------------------------
|
|
195
|
+
export function registerSettlementCommands(program) {
|
|
196
|
+
const cmd = new Command('settlement')
|
|
197
|
+
.description('Settlement analysis: consolidation, immediate (Schmertmann), and tunnel trough (Peck)')
|
|
198
|
+
.addHelpText('after', `
|
|
199
|
+
Subcommands:
|
|
200
|
+
consolidation Terzaghi 1D primary consolidation + time curve
|
|
201
|
+
immediate Schmertmann elastic + creep settlement
|
|
202
|
+
tunnel Peck Gaussian surface settlement trough
|
|
203
|
+
|
|
204
|
+
Examples:
|
|
205
|
+
geotech settlement consolidation --cc 0.35 --e0 1.2 --thickness 5 --delta-sigma 80 --sigma0 100 --verbose
|
|
206
|
+
geotech settlement immediate --stress 150 --width 2.5 --layers '[{"thickness":2,"Es":8000}]'
|
|
207
|
+
geotech settlement tunnel --diameter 6 --depth 15 --volume-loss 1.5 --plot
|
|
208
|
+
`);
|
|
209
|
+
registerConsolidation(cmd);
|
|
210
|
+
registerImmediate(cmd);
|
|
211
|
+
registerTunnelSettlement(cmd);
|
|
212
|
+
program.addCommand(cmd);
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=settlement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../src/commands/settlement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkH5D"}
|