МКЭ
документация
(13_02_07)
1.Главное окно МКЭ процессора.
Главное окно МКЭ процессора (Рис.1) представляет собой стандартное окно Windows приложений и имеет стандартный пользовательский интерфейс.
Главное окно МКЭ процессора состоит из 3 элементов: главного меню, информационной панели и поля сообщений.
Рис. 1 Главное окно МКЭ
1.1 Главное меню.
Главное меню предоставляет доступ ко всем элементам интерфейса МКЭ-процессора: окнам подзадач, опциям подзадач, окну материалов, информационным окнам данных и окнам результатов.
Рассмотрим каждый пункт меню подробнее.
Меню “Файл” предоставляет возможность открытия данных. Данные могут быть открыты как из текстового файла “Из текста”, так и из бинарного “Открыть”. Для открытия данных не обязательно указывать какой-то конкретный файл, достаточно выбрать любой из директории, в которой находится необходимые файлы. МКЭ сам определит что открыть. Существует возможность редактирования материалов “Материалы”. |
|
Меню “Данные” - открытие окна для визуального анализа открытых данных. Название подпункта меню совпадают с данными, которые будут отображаться в окне просмотра. |
|
Меню “Процесс” – доступ к подзадачам и опциям соответствующих подзадач. Пока реализовано только 2 подзадачи: статики и устойчивости. |
|
Меню “Результаты” – открытие окон для просмотра соответствующих результатов вычисления, а также для экспорта в такие программные продукты как “Surfer” или “Grapher”. |
1.2 Поле сообщений.
Представляет собой поле текстового редактора, в котором выводится информация о результатах выполненных действий и о возможных ошибках программы.
2. Класс главного окна МКЭ процессора.
Класс главного окна МКЭ процессора называется TForm1 и находится в файле U_DumpRoot.h. Данный класс отвечает за ввод и конвертирование параметров задачи, а также за регистрацию подзадач.
2.1 Исходные данные.
Параметры задачи задаются следующими глобальными переменными:
KY |
int |
Число узлов |
KSS |
int |
Число степеней свободы узла |
KEL |
int |
Число конечных элементов |
KUE |
int |
Максимальное число узлов |
NUP |
TNUP |
Коды перемещений узлов. [TNUP - целочисленный массив, размерностью равной максимальному количеству степеней свободы узла (6)]. |
Динамические данные, необходимые для моделирования задачи:
*XYZ |
TNodeCoord |
Общие координаты узлов. [Массив [KY*3] вещественных чисел] |
*CN |
TOrient |
Ориентация главных осей узлов. [Направляющие косинусы трех осей; массив TOrient размерностью [1*3] типа TNodeCoord] |
NG |
TNodeNg |
Коды закреплений. [Одномерный массив целых чисел размерностью KY*KSS (Степени свободы по каждому элементу имеют сквозную нумерацию)] |
Q |
TNodeForc |
Узловые силы. [Одномерный массив вещественных чисел] |
Qpg |
TElemForce |
Распределенные силы. [Вещественный массив длиной KEL и шириной KSS] |
U |
TNodeForce |
Узловые перемещения. [Одномерный массив вещественных чисел] |
Top |
TElemTop |
Топология. [Одномерный массив целых чисел, размерностью KUE+1] |
*CM |
TOrient |
Ориентация местных осей. [см. п. 2.] |
*EXC |
TNodeCoord |
Эксцентриситеты элементов. [Узловая характеристика, расстояние от узлов элемента до главных осей] |
*DIS |
TNodeCoord |
Выносы элементов. |
*MT |
TMatStruct |
Число слоев, материалы, углы армирования. |
*Stiff |
TStiffStruct |
Массив жесткостных параметров длинной KEL. [TStiffStruct – структура содержащая вещественный массив Del и его длину Leng. Где Del – массив содержащий жесткостные параметры элемента] |
*Temper |
TStiffStruct |
Массив температур размерностью KEL. [см. п. 12.]; |
2.2 Методы работы с данными.
В данном классе существует два метода работы с исходными данными: int LoadData() – читает данные в бинарном формате и intConvertData() – конвертирует текстовые файлы в бинарные. Файлы в бинарном формате имеют расширение .loa, а в текстовом .txt.
int LoadData() – включает в себя следующие функции:
Процедуры чтения бинарных файлов: |
|
LoadXYZ() |
Чтение файла координат coord.loa и заполнение массива XYZ. |
LoadOrient() |
Чтение файла координат orient.loa и заполнение массива CN. |
LoadNg() |
Чтение файла закреплений Ng.loa и заполнение массива кодов закреплений Ng. |
LoadQ() |
Чтение Q.loa и заполнение массива узловых сил Q. [Этих данных может и не быть] |
LoadU() |
Чтение U.loa и заполнение массива узловых перемещений U. [Этих данных может и не быть] |
LoadTop() |
Чтение top.loa и заполнение массива топологии Top. |
LoadCM() |
Чтение cm.loa и заполнение массива ориентация местных осей CM. [Этих данных может и не быть] |
LoadExcentr() |
Чтение Excentr.loa и заполнение массива эксцентриситетов EXC. [Этих данных может и не быть] |
LoadStiff() |
Чтение Del.loa и заполнение массива жесткостных параметров элементов Stiff. [Этих данных может и не быть] |
LoadTemper() |
Чтение Temper.loa и заполнение массива температур Temper. [Этих данных может и не быть] |
LoadMat() |
Чтение matdata.txt и заполнение массива MatData. [Этих данных может и не быть] |
LoadMD() |
Чтение Md.loa и заполнение массива типов материалов конечных элементов MT. |
LoadQpg() |
Чтение Qpg.loa и заполнение массива распределенных сил Qpg. [Этих данных может и не быть] |
LoadDistance() |
Чтение Distance.loa и заполнение массива выносов DIS. [Этих данных может и не быть] |
LoadNUP() |
Чтение Param.loa и заполнение массива номеров узловых перемещений. [Этих данных может и не быть] |
Все процедуры конвертирования выполнены по одному общему алгоритму. Сначала читается текстовый файл, после преобразуется в бинарный формат и сохраняется во временный файл Template.loa, далее переписывается из Template.loa в соответствующий файл c расширением .loa.
intConvertData() – включает в себя набор функции, название которых соответствуют названию преобразуемых текстовых файлов:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.