В статье описывается расчёт природного НДС грунтового массива. В основе рассматриваемой задачи лежит реальный отчёт по ИГИ (инженерно-геологическим изысканиям), из которого были взяты таблица физико-механических свойств, 2 инженерно-геологических разреза и описание 5-ти скважин.
Геологами было выделено 4 слоя и 2 ИГЭ (инженерно-геологических элемента): Дресва и Аргиллит.
Построение геометрической модели
За координату (0, 0, 0) принята нижняя точка скважины 81, которая располагается на пересечении 2-х разрезов. Приняты следующие размеры расчётной модели:
- В горизонтальной плоскости - 37х42 м;
- По вертикальной оси - 50 м.
Геометрия в этом примере строится снизу вверх восходящим методом:
- Вершины расставляются по координатам определённого слоя грунта;
- По вершинам строится поверхность;
- Из ограничивающих поверхностей создаётся объём, моделирующий слой грунта.
Примечание: если поверхность уже принадлежит другому объёму, то включить её в создаваемый объём не получится, поэтому сначала нужно создать дубликат этой поверхности.
Создайте восемь вершин, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Расположение и задайте необходимое расположение: -4 23 0. Нажмите Применить.
Проделайте то же самое для расположений: -22 -3 0, 15 1 0, 1 -19 0, -22 23 0, 15 23 0, 15 -19 0, -22 -19 0.
Создайте поверхность по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 8 2 5 1 6 3 7 4. Нажмите Применить.
Создайте девять вершин, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Расположение и задайте необходимое расположение: -4 23 1. Нажмите Применить.
Проделайте то же самое для расположений: -22 -3 16, 0 0 10, 15 1 8, 1 -19 18, -22 23 18.5, 15 23 14.5, 15 -19 13, -22 -19 17.
Создайте двенадцать поверхностей по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 5 14 9 1. Нажмите Применить.
Проделайте то же самое для вершин: 1 9 15 6, 6 15 12 3, 25 12 16 7, 7 16 13 4, 4 13 17 8, 8 17 10 2, 37 10 14 5, 14 9 11 10, 9 15 12 11, 12 30 13 11, 11 13 36 10.
Соедините свободные поверхности для формирования замкнутого объёма. Для этого на панели команд выберите модуль Режим - Геометрия, Объект - Объём, Действие - Создать. Из списка геометрических примитивов выберите Ограничивающая поверхность и укажите все поверхности. Нажмите Применить.
Создайте девять вершин, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Расположение и задайте необходимое расположение: -4 23 26. Нажмите Применить.
Проделайте то же самое для расположений: -22 -3 18, 0 0 16, 15 1 12, 1 -19 20, -22 23 22, 15 23 19, 15 -19 16, -22 -19 19.
Создайте восемь поверхностей по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 14 64 59 9. Нажмите Применить.
Проделайте то же самое для вершин: 9 59 65 15, 15 65 62 12, 12 62 66 16, 16 66 63 13, 81 63 67 17, 84 67 60 10, 87 60 64 14.
Создайте копии поверхностей. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Копировать и изменить и выберите поверхности: 10 to 13. Нажмите Применить.
Создайте четыре поверхности по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 60 64 59 61. Нажмите Применить.
Проделайте то же самое для вершин: 59 74 62 61, 62 61 63 66, 86 60 61 63.
Соедините свободные поверхности для формирования замкнутого объёма. Для этого на панели команд выберите модуль Режим - Геометрия, Объект - Объём, Действие - Создать. Из списка геометрических примитивов выберите Ограничивающая поверхность и укажите ID поверхностей: 16 17 14 15 28 26 29 27 21 23 22 25 24 19 18 20. Нажмите Применить.
Создайте девять вершин, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Расположение и задайте необходимое расположение: -4 23 30. Нажмите Применить.
Проделайте то же самое для расположений: -22 -3 22, 0 0 19, 15 1 17, 1 -19 23, -22 23 26, 15 23 23.5, 15 -19 22.5, -22 -19 20.
Создайте восемь поверхностей по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 132 64 59 127. Нажмите Применить.
Проделайте то же самое для вершин: 137 127 133 74, 130 62 140 133, 141 130 134 66, 146 134 131 121, 149 131 135 123, 152 135 128 112, 155 128 132 136.
Создайте копии поверхностей. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Копировать и изменить и выберите поверхности: 26 to 29. Нажмите Применить.
Создайте четыре поверхности по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 158 139 129 157. Нажмите Применить.
Проделайте то же самое для вершин: 177 143 145 129, 181 148 151 182, 186 151 154 178.
Соедините свободные поверхности для формирования замкнутого объёма. Для этого на панели команд выберите модуль Режим - Геометрия, Объект - Объём, Действие - Создать. Из списка геометрических примитивов выберите Ограничивающая поверхность и укажите ID поверхностей: 39 38 40 41 36 34 33 35 32 43 44 45 42 31 30 37. Нажмите Применить.
Создайте девять вершин, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из списка геометрических примитивов выберите Расположение и задайте необходимое расположение: -4 23 46. Нажмите Применить.
Проделайте то же самое для расположений: -22 -3 50, 0 0 46, 15 1 40, 1 -19 44, -22 23 45, 15 23 43, 15 -19 42, -22 -19 44.
Создайте восемь поверхностей по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 176 197 192 179. Нажмите Применить.
Проделайте то же самое для вершин: 179 192 198 143, 205 198 195 145, 145 195 199 134, 134 199 196 131, 214 196 200 135, 217 200 193 128, 128 193 197 201.
Создайте копии поверхностей. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Копировать и изменить и выберите поверхности: 42 to 45. Нажмите Применить.
Создайте четыре поверхности по свободным вершинам. Для этого на панели команд выберите модуль построения геометрии Режим - Геометрия, Объект - Поверхность, Действие - Создать. Из списка геометрических примитивов выберите Список вершин и укажите ID вершин: 197 192 194 193. Нажмите Применить.
Проделайте то же самое для вершин: 192 207 195 194, 194 195 199 196, 193 250 253 200.
Соедините свободные поверхности для формирования замкнутого объёма. Для этого на панели команд выберите модуль Режим - Геометрия, Объект - Объём, Действие - Создать. Из списка геометрических примитивов выберите Ограничивающая поверхность и укажите ID поверхностей: 60 58 59 61 46 49 53 48 47 56 55 54 57 52 51 50. Нажмите Применить.
Срастите геометрическую модель. Введите в командную строку команду: merge all.
Построение конечно-элементной сетки
Создайте сетку на объёмах. На панели команд выберите Режим - Сетка, Объект - Объёмная, Действие - Интервалы. Из выплывающего списка выберите Автоматический размер и задайте необходимые параметры. Нажмите на Построить сетку.
Проделайте то же самое для объёмов с ID: 20, 13, 50 с точностью 4.
Задание материала и свойств блока
По результатам ИГИ было выявлено, что установившийся уровень грунтовых вод находится на абсолютной отметке соответствующей вертикальной координате 38.3. Эта отметка соответствует верхнему слою массива, что соответствует ИГЭ-1, дресва.
В данном примере вода учитывается лишь как дополнительная масса. Мера влияния массы на расчёт устанавливается с помощью задания плотности при создании материала. Так как ИГЭ-1 водонасыщенный частично, то плотность дресвы задаётся таблично.
Слои ИГЭ-2, аргиллита залегают ниже отметки уровня грунтовых вод, то ИГЭ-2 является водонасыщенным во всей расчётной области, следовательно, плотность аргиллита будет задаваться константно.
Создайте два типа материала. На панели команд выберите Режим - Материал, Объект - Управление материалами. В открывшемся виджете Управление материалами в средней колонке укажите имя первого материала Дресва. В колонке свойств откройте список Упругость и перетащите название Изотропный материал в колонку Свойства материала. Далее перейдите в раздел Пластичность и перетащите Критерий Кулона-Мора. Задайте необходимые значения.
Затем из раздела Общие перетащите Плотность. Задайте зависимость плотности от Z. Для этого дважды нажмите на значение свойства и задайте таблицу (три точки справа).
Создайте таблицу для плотности. Добавьте в таблицу 4 строки. Задайте нужные значения. Нажмите Ok.
В виджете Управление материалами нажмите Применить.
Cоздайте второй материал с названием Аргиллит. Затем перетащите название Изотропный материал в колонку Свойства материала. Перейдите в раздел Общие перетащите Плотность. Из раздела Пластичность и перетащите Критерий Кулона-Мора. Задайте необходимые значения и нажмите Применить.
Создайте четыре блока. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры и нажмите Применить.
Задайте параметры для первого и третьего блоков. На панели команд выберите модуль задания свойств материала Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте материал Дресва первому и третьему блокам. Задайте необходимые параметры и нажмите Применить.
Задайте параметры для второго и четвёртого блоков. Задайте второму и четвёртому блокам материал Аргиллит. Задайте необходимые параметры и нажмите Применить.
Задание граничных условий
Закрепите нижние грани модели по всем степеням свободы. На панели команд выберите Режим - Граничные условия, Объект - Перемещение, Действие - Создать. Задайте необходимые параметры и нажмите Применить.
Закрепите боковые грани по оси Х. На панели команд выберите Режим - Граничные условия, Объект - Перемещение, Действие - Создать. Задайте необходимые параметры и нажмите Применить.
Закрепите боковые грани по оси Y. На панели команд выберите Режим - Граничные условия, Объект - Перемещение, Действие - Создать. Задайте необходимые параметры и нажмите Применить.
Задайте гравитацию. На панели команд выберите Режим - Граничные условия, Объект - Гравитация, Действие - Создать. Задайте необходимые параметры и нажмите Применить.
Запуск расчёта
Для запуска на расчет в CAE Fidesys выберите на панели команд Режим - Расчёт, Расчёт - Статический, Статический - Общие. Задайте необходимые параметры и нажмите Применить.
Задать настройки полей вывода. На панели команд выберите Режим - Расчёт, Расчёт - Статический, Статический - Поля вывода. Задайте требуемые параметры и нажмите Применить, Начать расчет.
Анализ результатов
Так как пластический расчёт завершился, то есть сошёлся, то можно сделать вывод о том, что грунтовый массив под воздействием гравитации не разрушился. Исходя из того, что прочностные характеристики дресвы куда более низкие, чем характеристики аргиллита, выполнение пластического критерия Кулона-Мора в более "слабых" слоях наиболее вероятно.
Для дальнейшего рассмотрения этих слоёв применяется фильтр Мультипорог.
Откройте файл с результатами. Это можно сделать тремя способами:
- Нажмите Ctrl+E;
- В главном меню выберите Расчёт - Результаты. Нажмите Открыть Результаты;
- На панели команд выберите Режим - Результаты, Результаты - Открыть Результаты.
Появится окно Fidesys Viewer, в котором вы сможете ознакомиться с результатами расчёта.
В стандартной строке выберите Фильтр → Алфавитный указатель → Мультипорог. Рассмотрим основные кнопки фильтра, слева направо:
- логическая операция «И»;
- логическая операция «ИЛИ»;
- логическая операция «ИСКЛ. ИЛИ»;
- логическая операция «НЕ»;
- добавление закрытого интервала значений.
Слева направо:
- удалить текущую строку;
- удалить все строки.
Выберите логическое "И":
Добавьте два массива при помощи кнопки:
Перетащите добавленные массивы в логическое "И" и раскройте его, нажав на стрелочку:
Замените массив "ID блока" на "Пластические деформации". Для этого нажмите два раза на "ID блока" и из списка выберите Пластические деформации.
Выберите в столбце Компонента "Мизес". Для этого нажмите два раза на "XX" и из списка выберите Мизес.
Задайте необходимые параметры для массива Пластические деформации:
- Минимальное значение 0.001;
- Максимальное оставьте по умолчанию;
- Включите галочку "Только элементы, значения в узлах которых лежат в границах диапазона".
Для массива ID блока задайте максимальное значение 1.
На панели Свойства нажмите Применить. Затем в качестве полей для отображения на графике выберите Пластические деформации Мизес. В результате отобразились элементы, принадлежащие Блоку 1 (верхнему слою дресвы), в которых пластические деформации не нулевые.
Для второго слоя ИГЭ-1 мы запишем такое же условие, но другим способом для демонстрации функционала фильтра "Мультипорог".
Задайте необходимые параметры:
- Логическое "И";
- Два массива;
- Логическое "НЕ".
Перетащите добавленные массивы и логическое "НЕ" в оператор "И" и раскройте его, нажав на стрелочку:
Перетащите один массив "ID блока" в оператор "НЕ" и раскройте его, нажав на стрелочку:
Замените массив "ID блока" на "Пластические деформации" с компонентом "Мизес", который находится внутри оператора "НЕ". Задайте необходимые параметры.
Для массива ID блока задайте максимальное и минимальное значение 3.
На панели Свойства нажмите Применить. В результате отобразились элементы обоих слоёв дресвы, в которых выполнился пластический критерий "Кулона-Мора".
Использование консольного интерфейса
Построение геометрии, генерацию сетки, задание граничных условий и материалов можно выполнить с использованием консольного интерфейса. Ниже приведён код программы, позволяющий выполнить шаги описанного выше руководства, необходимо только самостоятельно указать полный путь и название сохраняемого файла.
reset create vertex -4 23 0 create vertex -22 -3 0 create vertex 15 1 0 create vertex 1 -19 0 create vertex -22 23 0 create vertex 15 23 0 create vertex 15 -19 0 create vertex -22 -19 0 create surface vertex 8 2 5 1 6 3 7 4 create vertex -4 23 21 create vertex -22 -3 16 create vertex 0 0 10 create vertex 15 1 8 create vertex 1 -19 18 create vertex -22 23 18.5 create vertex 15 23 14.5 create vertex 15 -19 13 create vertex -22 -19 17 create surface vertex 5 14 9 1 create surface vertex 1 9 15 6 create surface vertex 6 15 12 3 create surface vertex 25 12 16 7 create surface vertex 7 16 13 4 create surface vertex 4 13 17 8 create surface vertex 8 17 10 2 create surface vertex 37 10 14 5 create surface vertex 14 9 11 10 create surface vertex 9 15 12 11 create surface vertex 12 30 13 11 create surface vertex 11 13 36 10 create volume surface all heal create vertex -4 23 26 create vertex -22 -3 18 create vertex 0 0 16 create vertex 15 1 12 create vertex 1 -19 20 create vertex -22 23 22 create vertex 15 23 19 create vertex 15 -19 16 create vertex -22 -19 19 create surface vertex 14 64 59 9 create surface vertex 9 59 65 15 create surface vertex 15 65 62 12 create surface vertex 12 62 66 16 create surface vertex 16 66 63 13 create surface vertex 81 63 67 17 create surface vertex 84 67 60 10 create surface vertex 87 60 64 14 Surface 10 to 13 copy nomesh create surface vertex 60 64 59 61 create surface vertex 59 74 62 61 create surface vertex 62 61 63 66 create surface vertex 86 60 61 63 create volume surface 16 17 14 15 28 26 29 27 21 23 22 25 24 19 18 20 heal create vertex -4 23 30 create vertex -22 -3 22 create vertex 0 0 19 create vertex 15 1 17 create vertex 1 -19 23 create vertex -22 23 26 create vertex 15 23 23.5 create vertex 15 -19 22.5 create vertex -22 -19 20 create surface vertex 132 64 59 127 create surface vertex 137 127 133 74 create surface vertex 130 62 140 133 create surface vertex 141 130 134 66 create surface vertex 146 134 131 121 create surface vertex 149 131 135 123 create surface vertex 152 135 128 112 create surface vertex 155 128 132 136 Surface 26 to 29 copy nomesh create surface vertex 158 139 129 157 create surface vertex 177 143 145 129 create surface vertex 181 148 151 182 create surface vertex 186 151 154 178 create volume surface 39 38 40 41 36 34 33 35 32 43 44 45 42 31 30 37 heal create vertex -4 23 46 create vertex -22 -3 50 create vertex 0 0 46 create vertex 15 1 40 create vertex 1 -19 44 create vertex -22 23 45 create vertex 15 23 43 create vertex 15 -19 42 create vertex -22 -19 44 create surface vertex 176 197 192 179 create surface vertex 179 192 198 143 create surface vertex 205 198 195 145 create surface vertex 145 195 199 134 create surface vertex 134 199 196 131 create surface vertex 214 196 200 135 create surface vertex 217 200 193 128 create surface vertex 128 193 197 201 Surface 42 to 45 copy nomesh create surface vertex 197 192 194 193 create surface vertex 192 207 195 194 create surface vertex 194 195 199 196 create surface vertex 193 250 253 200 create volume surface 60 58 59 61 46 49 53 48 47 56 55 54 57 52 51 50 heal merge all volume 37 size auto factor 1 mesh volume 37 volume 20 size auto factor 4 mesh volume 20 volume 13 size auto factor 4 mesh volume 13 volume 50 size auto factor 4 mesh volume 50 create material 1 modify material 1 name 'Дресва' modify material 1 set property 'POISSON' value 0.2 modify material 1 set property 'MODULUS' value 5.43e+07 create table 1 modify table 1 dependency z modify table 1 insert row 1 modify table 1 insert row 1 modify table 1 cell 1 2 value 2210 modify table 1 cell 2 1 value 38.3 modify table 1 cell 2 2 value 2210 modify table 1 insert row 3 modify table 1 cell 3 1 value 38.31 modify table 1 cell 3 2 value 2030 modify table 1 insert row 4 modify table 1 cell 4 1 value 50 modify table 1 cell 4 2 value 2030 modify material 1 set property 'DENSITY' table 1 modify material 1 set property 'MC_DILATANCY_ANGLE' value 0 modify material 1 set property 'MC_INT_FRICTION_ANGLE' value 36 modify material 1 set property 'MC_COHESION' value 6000 create material 2 modify material 2 name 'Аргиллит' modify material 2 set property 'POISSON' value 0.3 modify material 2 set property 'MODULUS' value 5.727e+08 modify material 2 set property 'DENSITY' value 2490 modify material 2 set property 'MC_DILATANCY_ANGLE' value 0 modify material 2 set property 'MC_INT_FRICTION_ANGLE' value 27 modify material 2 set property 'MC_COHESION' value 505000 block 1 add volume 50 block 2 add volume 37 block 3 add volume 20 block 4 add volume 13 block 'Block 1' material 1 cs 1 category solid order 1 block 'Block 3' material 1 cs 1 category solid order 1 block 'Block 2' material 2 cs 1 category solid order 1 block 'Block 4' material 2 cs 1 category solid order 1 create displacement on surface 1 modify displacement 1 dof all value 0 create displacement on surface 4 5 17 16 32 33 49 48 9 21 37 53 52 36 20 8 modify displacement 2 dof 1 value 0 create displacement on surface 2 3 15 14 30 31 47 46 51 50 34 35 19 18 6 7 modify displacement 3 dof 2 value 0 create gravity global modify gravity 1 dof 3 value -9.81 analysis type static elasticity plasticity dim3 static results everysubstep 1 output nodalforce off energy off midresults on record3d off material on without_smoothing off fullperiodic off
fidesys