IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Расчет поля температур С++.
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


В общем,я как всегда радую всех,новыми веселыми задачами.Сегодня на повеске дня следующая.
Рассчитать стационарное поле температур в пластине заданной формы. Предусмотреть возможность задания произвольных граничных условий (первого рода) и произвольной правой части (в коде программы).
ПОРЯДОК РЕШЕНИЯ ЗАДАЧИ:
1. Составить разностную схему “крест” для уравнения Пуассона в области заданной формы.
2. Проанализировать структуру получившейся системы линейных алгебраических уравнений и составить алгоритм расчета температурного поля.
3. Выписать расчетные формулы метода Зейделя и выбрать начальное приближение на основе задания граничного условия.
4. В качестве критерия окончания использовать условие . Предусмотреть подсчет числа итераций, потребовавшихся для достижения точности .
5. Решить задачу методом Зейделя.
6. Решить задачу методом релаксации. Параметр релаксации подобрать экспериментально.

Все фигуры составлены из квадратов с единичной стороной (т.о. вся фигура вписывается в квадрат 3х3). Начало координат выбирается в любом удобном для заданной фигуры месте.

Даааа,планы, как говорится грандиозные,не знаешь, как начинать разгребать.
Вот фото самой пластины.
Изображение

К написанию кода я еще не приступил,нужна помощ в выборе реализации,а именно:
1)Как лучше реализовать хранение данных?одним массивом или как 7 массивов,которые с последствии будут склеиваться,чтоб выполнить пункт 1 задания,в общем,на данный момент я не совсем понимаю как лучше реализовать хранение данных,чтобы ими было удобно в последствии оперировать.

Буду рад любым идеям.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ну просто можно использовать 1 большой массив и те кубики,что не входят в пластину заполнить * например,а можно разбить на 3 (например) фигуры и обрабатывать их отдельно, а потом отдельно просмотреть те точки, что находятся на стыке фигур.Затем я не могу определиться,что лучше использовать либо массивы,тогда проще разбить,либо std:vector,тогда целиком всю фигуру будет проще,но с вектором я знаком весьма посредственно,вполне возможно что его можно инициализировать вообще без лишних элементов....

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 0:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name