Приложение предназначено для парсинга K-файлов геофизической модели (для программы "Логос Прочность"), проведения расчетов и автоматической генерации CD-файлов. С его помощью можно быстро и без ошибок выделить блоки по element_solid, определить напряженности, сгруппировать их и подготовить данные к моделированию.
-
Чтение и анализ K-файла (сбор элементов по слоям)
-
Автоматическое определение и расчет напряженности по каждому element_solid
-
Группировка элементов
-
Генерация корректного .cd, пригодного для импорта в "Логос Прочность"
-
Асинхронная обработка с помощью потоков
-
GUI-обёртка для удобного использования
-
Поддержка сборки под .app для macOS и .exe для windows
Проект был реализован как практическое задание с целью ускорить работу с K/CD-файлами в программе "Логос Прочность"
Логика работы построена на следующем:
-
Чтение входящего .k файла и сбор узлов (*NODE) и элементов (*ELEMENT_SOLID)
-
Фильтрация элементов по подобласти
-
Выделение "параллелепипеда" от возможного объекта сверху и нахождение высоты грунта ("параллелепипеда")
-
Отбор id слоев по порядку от 0 по координатам
-
Отбор элементов, которые принадлежат слою
-
Выполнение математических вычислений, сбор данных в требуемом формате (формат, который способна прочитать программа "Логос Прочность") и запись во временный файл _debug.txt
-
Вставка во входящий .cd файл данных из _debug.txt (для корректной работы .txt переводится в .cd, а по завершению блока кода выполняется обратное действие) и получение конечного файла -_output.cd, который в дальнейшем открывается программой "Логос Прочность"
-
tkinter
-
PyInstaller
-
PyYAML
Временная зависимость для вертикальной скорости точки поверхности массива с необработанным файлом (ограничение по Y от -0.75 до 0.75)
Временная зависимость для вертикальной скорости точки поверхности массива с обработанным файлом (ограничение по Y от -0.75 до 0.75)
Временная зависимость для вертикальной скорости точки поверхности массива с обработанным файлом (ограничение по Y от -0.001 до 0.001)
Видим, что задание начального поля позволило значительно уменьшить остаточные колебания массива сплошной среды от приложения поля силы тяжести. Таким образом, определение НДС подобласти от поля силы тяжести проведено с большей точностью. Программа автоматизированного построения наборов элементов и задания начальных полей напряжений позволила упростить и ускорить этот процесс.