| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #import "/.template/lib/index.typ": corp-table, formula, vref, vrefs, eqref, numbered-list
- Абсолютные значения природного поля напряжений в осях разрезов и отношения $sigma_x slash sigma_y$ рассчитаны программой на языке Python с использованием библиотеки SymPy, её полный исходный код приведён ниже. Применяемые формулы и система уравнений описаны в пояснении в начале программы. Исходные данные -- азимуты разрезов по профильным линиям -- приведены в #vref(<profile_stresses>, "п"), глубина карьера каждого разреза -- в таблице результатов запуска, приведённой ниже.
- #block[
- #show raw: set text(8.5pt)
- #raw(read("/assets/code/profile_stress_ratio.py"), lang: "python")
- ]
- Результаты запуска приведены в табличной форме.
- #let reference-stresses = csv("/assets/tables/profile_stresses.csv", delimiter: ";")
- #let section-stresses = csv("/assets/tables/section_stresses.csv", delimiter: ";")
- #let sensitivity = csv("/assets/tables/stress_sensitivity.csv", delimiter: ";")
- #pagebreak()
- #block(breakable: false)[
- #figure(
- kind: table,
- caption: [Контрольный расчёт напряжений в осях профильных линий на глубине 400 м],
- table(
- columns: (1.2fr, 1fr, .8fr, 1fr, 1fr),
- align: right + horizon,
- fill: (_, y) => if y == 0 { rgb("#ffd35f") } else { rgb("#ffff") },
- [№ профильной линии],
- [Азимут разреза, °],
- [$Delta$, °],
- [$sigma_s$, МПа],
- [$sigma_x slash sigma_y$],
- ..reference-stresses.slice(1).flatten(),
- )
- )<profile_stress_check>
- ]
- #block(breakable: false)[
- #figure(
- kind: table,
- caption: [Расчёт напряжений на глубине карьера по разрезам],
- table(
- columns: (.7fr, .7fr, .85fr, .95fr, .95fr, .8fr, .8fr, 1.1fr),
- align: right + horizon,
- fill: (_, y) => if y == 0 { rgb("#ffd35f") } else { rgb("#ffff") },
- [Год контура],
- [№ профильной линии],
- [Азимут разреза, °],
- [Глубина карьера, м],
- [$P_p$, МПа],
- [$Delta$, °],
- [$sigma_s$, МПа],
- [$sigma_x slash sigma_y$],
- ..section-stresses.slice(1).flatten(),
- )
- )<section_stresses_table>
- ]
- #block(breakable: false)[
- #figure(
- kind: table,
- caption: [Анализ чувствительности отношения $sigma_x/sigma_y$],
- table(
- columns: (1fr, 1fr, 1fr),
- align: right + horizon,
- fill: (_, y) => if y == 0 { rgb("#ffd35f") } else { rgb("#ffff") },
- [$H$, м],
- [$P_p$, МПа],
- [$sigma_x slash sigma_y$],
- ..sensitivity.slice(1).flatten(),
- )
- )<sensitivity_table>
- ]
|