МКЭ-процессор. Главное окно МКЭ процессора. Подзадачи. Структура данных МКЭ. Решатели. Конечные элементы

Страницы работы

Содержание работы

МКЭ

документация

(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() – включает в себя набор функции, название которых соответствуют названию преобразуемых текстовых файлов:

Похожие материалы

Информация о работе