OpenGeoRock
5.2

Interfaz de línea de comandos

Válido para OGR Slip2D 0.1.235

ogr-slip2d-cli ejecuta OGR Slip2D sin abrir su ventana. Resume un proyecto, lo calcula tal como está configurado y guarda los resultados en HDF5, muestra la lista de métodos y de modelos de resistencia y escribe el talud de demostración en un archivo. compute utiliza el mismo código de análisis que Analysis → Compute, de modo que una ejecución sin opciones da los mismos números que la ventana. La última sección describe las opciones del lanzador del programa gráfico.

5.2.1Ejecución#

El comando se instala con el paquete (Sección 1.1); python -m ogr_cli es el mismo programa. Todos los comandos aceptan --help.

Tabla 5.2.1 Comandos de ogr-slip2d-cli.
ComandoQué hace
info PROJECTMuestra un resumen de un proyecto .ogr.
compute PROJECT [options]Ejecuta el análisis que describe el proyecto, muestra el valor crítico de cada método y guarda los resultados en HDF5.
methodsEnumera los métodos de equilibrio límite y el equilibrio que satisface cada uno.
strength-modelsEnumera los modelos de resistencia con sus parámetros y unidades.
new-demo OUTPUTGuarda el talud de demostración en un archivo .ogr.

Además de --help, el comando incorpora dos opciones de la biblioteca de línea de comandos en que se basa, --install-completion y --show-completion, para autocompletar en el intérprete de comandos.

5.2.2info#

ogr-slip2d-cli info slope.ogr

Muestra una tabla con la ruta, el autor y la empresa del resumen del proyecto, el número de contornos, de materiales, de soportes, de cargas distribuidas y de cargas lineales, si la carga sísmica pseudoestática está activada y el rectángulo envolvente (xmin, ymin, xmax, ymax, en m). Una segunda tabla lista cada material con su modelo de resistencia, su peso específico γ, su peso específico saturado γsat (solo si el material lo usa por debajo de la superficie del agua) y su color. Si el archivo no existe, termina con el código de salida 1.

5.2.3compute#

ogr-slip2d-cli compute PROJECT [--method M] [--slices N] [--nx N] [--ny N]
                               [--dr N] [--search S] [--samples N] [--output FILE]

Si no se indica una opción, se toma el valor guardado en el proyecto; la opción que se indica sustituye únicamente ese ajuste, y solo en esta ejecución. Las sustituciones se aplican a la copia cargada en memoria, por lo que un cálculo no modifica el archivo .ogr.

Tabla 5.2.2 Opciones de compute y ajuste del proyecto que sustituye cada una.
OpciónValorSustituyeNotas
--methodtextomethods.enabled_methodsUn identificador o un alias de método (Tabla 5.2.3). Si se omite, los métodos activados en el proyecto o, si no hay ninguno, Bishop simplificado. Un nombre desconocido termina con el código de salida 2.
--slicesenteromethods.num_slicesNúmero de dovelas por superficie.
--nxenterosearch.grid_nxRejilla de centros: número de intervalos en la dirección x (centros = nx + 1).
--nyenterosearch.grid_nyLo mismo en la dirección y.
--drnúmerosearch.radius_incrementIncremento de radio, como número de intervalos (radios por centro = dr + 1); la búsqueda por rejilla lo redondea a un entero.
--searchtextosearch.search_methodgrid, slope, auto_refine, block, path, simulated_annealing o particle_swarm.
--samplesenterosearch.num_surfaces, search.block_num_surfaces, search.path_num_surfacesNúmero de superficies de Slope Search, Block Search y Path Search.
--outputruta—Archivo de resultados HDF5; por defecto, la ruta del proyecto con la extensión .h5 (véase Archivos de salida).
--search no se comprueba

La ayuda de --search enumera seis valores, pero también se acepta particle_swarm, la séptima búsqueda. Un valor que no sea uno de los siete no se rechaza: el motor ejecuta una Grid Search con cualquier identificador que no reconoce, sin que ninguna nota lo indique. Escribe el nombre de la búsqueda exactamente como es, o fíjala en el proyecto.

Tabla 5.2.3 Nombres que acepta --method. No se distingue entre mayúsculas y minúsculas, y los guiones y los espacios cuentan como guiones bajos.
Id del métodoTambién se acepta
bishop_simplifiedbishop
janbu_simplifiedjanbu
janbu_corrected—
ordinary_felleniusordinary, fellenius
spencer—
gle_morgenstern_pricegle, morgenstern_price
lowe_karafiathlowe
corps_engineers_1corps1, coe1, modified_swedish
corps_engineers_2corps2, coe2

Qué hace compute#

  1. Carga el proyecto y aplica las sustituciones en memoria.
  2. Comprueba que el proyecto se puede analizar tal como está configurado. Si no es así, muestra todos los motivos tras Cannot compute: y termina con el código de salida 3, en lugar de dar un número calculado con ajustes que habría que descartar. Por ejemplo, materiales que toman la presión intersticial de un campo de elementos finitos sin calcular (el cálculo daría u=0u = 0 en todas partes, lo que parece un talud seco), una configuración de desembalse rápido que no se puede aplicar, una Block Search sin los objetos que necesita, coeficientes sísmicos fuera de los límites permitidos, un modelo de resistencia con parámetros no válidos o el nombre de un ajuste obsoleto.
  3. Ejecuta el análisis con el mismo ejecutor que la ventana, es decir, con los coeficientes parciales de la norma de diseño aplicados a una copia, el desembalse rápido, la búsqueda del proyecto con sus filtros, límites del talud y objetos de foco, los ajustes de convergencia, la semilla aleatoria y las comprobaciones de admisibilidad (Sección 5.3).
  4. Muestra las notas del cálculo (líneas que empiezan por Note:) y después una fila de tabla por método, con el valor crítico, el número de superficies válidas, no válidas e intentadas, las superficies eliminadas por objetos de foco (columna que solo aparece si algún objeto de foco elimina alguna) y si la superficie crítica ha convergido.
  5. Guarda los resultados en HDF5 (véase Archivos de salida).
Tabla 5.2.4 Qué contiene la columna de valores de compute.
Encabezado de la columnaCuándoValor
Critical FoSsin norma de diseño ni modo sísmico Kyfactor de seguridad de la superficie crítica
Over-design factorhay una norma de diseño activael factor obtenido con los datos de entrada afectados por los coeficientes parciales; debe superar 1. Una línea Design standard applied: … lo indica y enumera las notas de la norma.
Critical KyCompute Ky activadoel menor coeficiente sísmico crítico de las superficies buscadas
Newmark disp. (cm)análisis de Newmark activadodesplazamiento permanente de la superficie crítica, en centímetros
Defecto conocido

Si están activados a la vez una norma de diseño y un modo sísmico Ky o Newmark, la columna se titula Over-design factor, pero los valores que muestra son los coeficientes sísmicos críticos (o los desplazamientos). La ventana y la capa de operaciones los rotulan con la magnitud sísmica. El código del programa declara esto como un defecto de la línea de comandos y no lo corrige en v0.1.235.

Ejemplo de cálculo sobre el talud de demostración (Sección 5.2.6), cuyo proyecto activa Bishop simplificado y Janbu simplificado:

ogr-slip2d-cli new-demo demo
ogr-slip2d-cli compute demo.ogr

Note: The Failure Direction is set to Right to Left, which puts the crest on the right,
but the ground surface is higher on the left (y = 25 at the left end against y = 15 at
the right end). Tension-crack water thrust, support force direction and the Path Search
starting face all read this setting.
                              grid — 2 method(s)
┌───────────────────┬──────────────┬───────┬─────────┬───────────┬───────────┐
│ Method            │ Critical FoS │ Valid │ Invalid │ Attempted │ Converged │
├───────────────────┼──────────────┼───────┼─────────┼───────────┼───────────┤
│ bishop_simplified │ 1.0914       │ 1366  │ 493     │ 1859      │ True      │
│ janbu_simplified  │ 1.0434       │ 1379  │ 480     │ 1859      │ True      │
└───────────────────┴──────────────┴───────┴─────────┴───────────┴───────────┘
Results saved: demo_bishop_simplified.h5
Results saved: demo_janbu_simplified.h5

La rejilla de la demostración tiene 12 × 12 intervalos y un incremento de radio de 10, así que se intentan 13 × 13 × 11 = 1859 círculos por método. La nota sobre la dirección de rotura aparece porque la demostración se guarda con la dirección predeterminada del programa (de derecha a izquierda), aunque el talud desciende hacia la derecha. Como dice la nota, ese ajuste influye en el empuje del agua en la grieta de tracción, en los soportes y en la Path Search, y este cálculo no usa ninguno de ellos.

Archivos de salida#

  • Un método: el archivo indicado con --output o, si no se indica, la ruta del proyecto con la extensión .h5 (slope.ogr → slope.h5).
  • Varios métodos: un archivo por método, cuyo nombre es el del archivo base seguido del id del método: slope_bishop_simplified.h5, slope_spencer.h5… Con --output results/run.h5, los nombres son results/run_<method_id>.h5.
  • Si la carpeta no existe, se crea; si ya hay un archivo con el mismo nombre, se sobrescribe.

Cada archivo contiene una búsqueda: todas las superficies analizadas, con sus dovelas, y matrices resumen. Su estructura se describe en la Sección 5.4.5. Cuando la ventana calcula un proyecto que tiene archivo (abierto o guardado), el resultado del primer método se guarda con ese mismo nombre, <project>.h5.

Códigos de salida#

Tabla 5.2.5 Códigos de salida de ogr-slip2d-cli.
CódigoSignificado
0Correcto. Un método que no encuentra ninguna superficie válida figura como no valid surface en su fila, y el programa termina igualmente con 0.
1El archivo del proyecto no existe (info, compute).
2Nombre de método desconocido en --method y, además, cualquier error de uso que detecte la biblioteca de línea de comandos (falta un argumento, opción desconocida).
3El proyecto no se puede analizar tal como está configurado; se muestran los motivos.
4El cálculo no ha dado resultado con ningún método.

5.2.4methods#

Enumera los nueve métodos registrados con su identificador, su nombre visible y si cumplen el equilibrio de fuerzas y el de momentos. Los identificadores son los que aceptan --method y la capa de operaciones (Sección 3.2).

ogr-slip2d-cli methods

                           Registered LEM methods
┌───────────────────────┬─────────────────────────┬───────────┬────────────┐
│ ID                    │ Display Name            │ Force eq. │ Moment eq. │
├───────────────────────┼─────────────────────────┼───────────┼────────────┤
│ bishop_simplified     │ Bishop Simplified       │ —         │ ✓          │
│ gle_morgenstern_price │ GLE / Morgenstern-Price │ ✓         │ ✓          │
│ janbu_simplified      │ Janbu Simplified        │ ✓         │ —          │
│ janbu_corrected       │ Janbu Corrected         │ ✓         │ —          │
│ corps_engineers_1     │ Corps of Engineers #1   │ ✓         │ —          │
│ corps_engineers_2     │ Corps of Engineers #2   │ ✓         │ —          │
│ lowe_karafiath        │ Lowe-Karafiath          │ ✓         │ —          │
│ ordinary_fellenius    │ Ordinary / Fellenius    │ —         │ ✓          │
│ spencer               │ Spencer                 │ ✓         │ ✓          │
└───────────────────────┴─────────────────────────┴───────────┴────────────┘

5.2.5strength-models#

Enumera los 22 modelos de resistencia registrados con su identificador, su nombre visible y sus parámetros con unidades; por ejemplo, mohr_coulomb (cohesión en kPa y ángulo de rozamiento en grados), hoek_brown (sigci en kPa, mb, s, a) o barton_bandis (phi_r, JRC, JCS, max_total_friction). Los modelos definidos mediante una tabla o a partir de otros materiales, como shear_normal_function o generalized_anisotropic, no muestran parámetros. Los modelos se describen en la Sección 3.5.

ogr-slip2d-cli strength-models

5.2.6new-demo#

ogr-slip2d-cli new-demo demo          # writes demo.ogr

Guarda el talud de demostración, que es el mismo modelo que File → Load Demo Slope en la ventana y que project_new(template="demo") para un agente: un talud homogéneo de 10 m de altura y pendiente 1V:1H, contorno externo (0, 0)–(50, 0)–(50, 15)–(35, 15)–(25, 25)–(0, 25), un único material Mohr-Coulomb, «Silty clay» (arcilla limosa; c′=10c' = 10 kPa, ϕ′=25∘\phi' = 25^\circ, γ=19\gamma = 19 kN/m³), y un nivel freático horizontal en y = 8 m asignado a ese material. Si el nombre no termina en .ogr, se añade esa extensión, que sustituye a cualquier otra.

5.2.7El lanzador gráfico#

El programa de escritorio se arranca con ogr-slip2d o, de forma equivalente, con python -m ogr_gui. El lanzador tiene una opción propia:

Tabla 5.2.6 Opciones del lanzador gráfico.
OpciónSignificado
--no-agent-bridgeArranca sin el puente para agentes, de modo que ningún servidor MCP pueda trabajar sobre esta ventana (Sección 5.1.6). Se puede activar después desde Tools → Agent bridge (MCP).
ogr-slip2d
python -m ogr_gui --no-agent-bridge

Cualquier otro argumento se pasa al objeto de aplicación de Qt. El lanzador no abre el proyecto que se indique en la línea de comandos: la ventana arranca con un proyecto vacío y los archivos se abren con File → Open Project….

En OGR Slip2D

La línea de comandos, la ventana y la capa de operaciones usan un mismo ejecutor de análisis, el único lugar donde se construyen los métodos y las búsquedas a partir de un proyecto. Existe porque, antes de v0.1.77, la línea de comandos no leía nada de los ajustes del proyecto y omitía sin avisar el desembalse rápido, los coeficientes parciales y la mayoría de las búsquedas.

Código: ogr_cli/__main__.py · ogr_slip2d/analysis_runner.py · ogr_gui/__main__.py