МКЭ
документация
(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).
Ссылка на скачивание - внизу страницы.