Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Разработка фрагмента исходного кода для численного решения итерационным методом 2D уравнения теплопроводности






Для разработки фрагмента исходного кода для численного решения итерационным методом 2D уравнения теплопроводности необходимо использовать исходные коды учебного приложения «Sputnik000» (sputnik000.cpp, sputnik000.h, sputnik000.rc, файлы ресурсов, служебные файлы проекта) и выполнить следующие этапы.

1. Создать опцию и соответствующий тег в меню главного окна приложения. По этому тегу при обработке сообщения WM_COMMAND в главном окне вызывается немодальная диалоговая панель для задания параметров, начальных и граничных условий и управления ходом итерационного решения 2D нестационарного уравнения теплопроводности (рис.1).

2. Создать немодальную диалоговую панель (API-функция CreateDialog(…);) для задания параметров, начальных и граничных условий и управления ходом итерационного решения 2D нестационарного уравнения теплопроводности (рис.2). Диалоговая панель должна имеет кнопки:

· Start – для запуска вычислительного потока (нити) итерационного решения 2D уравнения теплопроводности (1) по формуле (3);

· Stop – для останова вычислительного потока (нити) итерационного решения 2D уравнения теплопроводности (1) по формуле (3);

· Set0 – для задания начальных и граничных условий (инициализации начальных значений) решения 2D уравнения теплопроводности (1) по формуле (3) – формулы (4) и (5);

· Color – для выбора палитры для 2D визуализации значений массивов в дочерних окнах средствами GDI;

· View – для вызова дочерних окон;

· Reset – для установки значений параметров по умолчанию с записью их в файл личных параметров и визуализаций в редактируемых полях диалоговой панели;

· Help – для предоставления контекстной помощи;

· Exit – для выхода из диалоговой панели с предварительным сохранением всех текущих параметров в файле личных параметров.

3. Создать функцию создания (API-функция CreateWindowEx(…);) дочернего окна с зарегистрированным классом (API-функция Register(…);), определяющим цикл обработки сообщений от этого дочернего окна. Назначить этому экземпляру дочернего окна ярлык (API-функция SetWindowLong(…);) (рис.3). Использовать в качестве образца функции типа:

· void View_ModelirungPsy_Fine();

· void View_ModelirungRoe_Fine();

· void View_Surface_Fine();

· void View_ModelirungRoe_Histogram();

· void View_ModelirungRoe_Journal();

4. Создать функции для динамического выделения и динамического освобождения 2D массивов в памяти компьютера (из кучи, виртуальные страницы, отображаемые в память файлы) для размещения значений динамического 2D распределения температуры – и . Использовать в качестве образца функции типа:

· void Osvobozhdenie_Surface_CF();

· void Videlenie_Surface_CF();

· void Inicializacia_Surface_CF();

5. Создать функции для вычислительных потоков (нитей) предназначенных для итерационного вычисления новых значений 2D распределения температуры на основе 2D распределения старых значений по формуле (3). Использовать в качестве образца функции типа:

· void Schrodinger_Start_Iterations_0_Process(PVOID pvoid);

· void Schrodinger_Start_Iterations_1_Process(PVOID pvoid);

· void Schrodinger_Start_Iterations_2_Process(PVOID pvoid);

· void Schrodinger_Start_Monte_Carlo_Process(PVOID pvoid);

· void Schrodinger_Start_Neural_Networks_Process(PVOID pvoid);

·

6. Создать фрагмент кода в функции обработки сообщения WM_PAINT дочернего цикла обработки сообщений для 2D визуализации распределения значений и средствами GDI (Graphic Device Interface) (рис.3). Например (wrd==1016).

7. Создать фрагмент кода для 3D визуализации распределения значений и средствами OpenGL (рис.4, рис.5). Использовать в качестве образца функции типа:

· void Scan_ModelirungQF_3D_S();

· void Scan_ModelirungRF_3D_S();

· void Scan_ModelirungIF_3D_S();

·

8. Создать фрагмент кода для записи 2D массива решения уравнения в файл. Использовать в качестве образца функции типа:

· void Zapis_2DTopologyForLithography();

· void Zagruzka_2DTopologyForLithography();

 

9. Создать фрагмент кода для определения авторства данной версии ПО (рис.6). Использовать в качестве образца функции типа:

· void Dialog_About_SM(HWND hwnd);

· BOOL CALLBACK Dates71DialogProc(HWND hwnd, WORD Msg, WPARAM wParam, LPARAM lParam);

· BOOL DoRectCommand_71(HWND hwnd, WORD wParam);

Рис.1. Создание опции и соответствующего тега в меню главного окна приложения.

Рис.2. Вызов немодальной диалоговой панели.

Рис.3. Создание дочерних окон и 2D визуализация значений массивов средствами GDI.

Рис.4. 3D визуализация значений массивов средствами OpenGL.

Рис.5. 3D визуализация значений массивов средствами OpenGL.

Рис.6. Определение авторства данной версии ПО с помощью собственной фотографии – студенты вставляют в свои версии ПО (курсовые проекты) свои фотографии.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал