Редактирование: Численное решение уравнения теплопроводности и волнового уравнения
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Виртуальная лаборатория]] > [[Численное решение уравнения теплопроводности и волнового уравнения]] <HR> | [[Виртуальная лаборатория]] > [[Численное решение уравнения теплопроводности и волнового уравнения]] <HR> | ||
− | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Tcvetkov/Equations/Equation%20v6- | + | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Tcvetkov/Equations/Equation%20v6-6-mini%20release/Equations.html |width=1030 |height=650 |border=0 }} |
− | Скачать программу: [[Медиа:Equation v6- | + | Скачать программу: [[Медиа:Equation v6-6-mini release.zip|Equation v6-6-mini release.zip]] |
− | + | Текст программы на языке JavaScript (разработчики [[Цветков Денис]], [[Кривцов Антон]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | |
− | |||
Файл '''"Equations.js"''' | Файл '''"Equations.js"''' | ||
− | < | + | <source lang="javascript" first-line="1"> |
+ | function MainBalls(canvas, slider_01, text_01, slider_02, text_02) { | ||
+ | // m: Уравнения | ||
+ | // Версия 6.6 от 05.10.2014 | ||
+ | |||
window.addEventListener("load", main_equations, false); | window.addEventListener("load", main_equations, false); | ||
function main_equations() { | function main_equations() { | ||
Строка 49: | Строка 52: | ||
wave = new Wave_model(a0, k0, m, c, dx, dt); | wave = new Wave_model(a0, k0, m, c, dx, dt); | ||
} | } | ||
− | + | button_restart.onclick = start_new_system; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
start_new_system(); | start_new_system(); | ||
Строка 207: | Строка 194: | ||
return D; | return D; | ||
} | } | ||
− | </ | + | </source> |
Файл '''"Config.js"''' | Файл '''"Config.js"''' | ||
− | < | + | <source lang="javascript" first-line="1"> |
var CONFIG = { | var CONFIG = { | ||
fps: 60 // количество кадров в секунду | fps: 60 // количество кадров в секунду | ||
Строка 223: | Строка 210: | ||
// IC_half_stair_random: половина ступеньки из случайных значений | // IC_half_stair_random: половина ступеньки из случайных значений | ||
// IC_Gauss: распределение Гаусса | // IC_Gauss: распределение Гаусса | ||
− | + | ,IC_Heat: IC_Gauss | |
− | + | ,IC_Wave: IC_Gauss | |
− | , | + | ,IC_Energy: IC_stair_random |
− | |||
,N_Heat: 1000 // количество частиц по оси x | ,N_Heat: 1000 // количество частиц по оси x | ||
Строка 234: | Строка 220: | ||
,smooth_wave: true // сглаживать волновое уравнение | ,smooth_wave: true // сглаживать волновое уравнение | ||
}; | }; | ||
− | </ | + | </source> |
Файл '''"IC_BC_LIB_v1.js"''' | Файл '''"IC_BC_LIB_v1.js"''' | ||
− | < | + | <source lang="javascript" first-line="1"> |
+ | // m: Библиотека начальных и граничных условий | ||
+ | // Версия 1.1 от 05.10.2014 | ||
+ | |||
// Аргументы в функции IC и BC: | // Аргументы в функции IC и BC: | ||
// M - массив (сформированный с помощью функции make_mass данной библиотеки) | // M - массив (сформированный с помощью функции make_mass данной библиотеки) | ||
Строка 264: | Строка 253: | ||
} | } | ||
− | + | function IC_stair(M, M_max, N, val) { // Задает "ступеньку" высоты M_max посередине экрана | |
− | |||
− | |||
− | |||
− | function IC_stair(M, M_max, N, val | ||
for (var i = 1; i < N - 1; i++) { | for (var i = 1; i < N - 1; i++) { | ||
− | if (i >= N | + | if (i >= N / 3 && i < 2 * N / 3) M[i][val] = M_max; |
else M[i][val] = 0; | else M[i][val] = 0; | ||
} | } | ||
Строка 307: | Строка 292: | ||
M[N - 1] = M[1]; | M[N - 1] = M[1]; | ||
} | } | ||
− | </ | + | </source> |
Файл '''"Equations.html"''' | Файл '''"Equations.html"''' | ||
− | < | + | <source lang="html" first-line="1"> |
<!DOCTYPE html> | <!DOCTYPE html> | ||
<html> | <html> | ||
Строка 323: | Строка 308: | ||
Скорость расчета: <input type="range" id="slider_dt" style="width: 150px;"><br><br> | Скорость расчета: <input type="range" id="slider_dt" style="width: 150px;"><br><br> | ||
<input type="checkbox" id="checkbox_graph_01" checked/><font color="#ff0000" size="5"><B>—</B></font> Уравнение теплопроводности<br> | <input type="checkbox" id="checkbox_graph_01" checked/><font color="#ff0000" size="5"><B>—</B></font> Уравнение теплопроводности<br> | ||
− | <input type="checkbox" id="checkbox_graph_02" checked/><font color="#00ff00" size="5"><B>—</B></font> Волновое уравнение | + | <input type="checkbox" id="checkbox_graph_02" checked/><font color="#00ff00" size="5"><B>—</B></font> Волновое уравнение<br> |
− | + | <input type="button" id="button_restart" value="Рестарт"/> | |
− | <input type="button" id=" | ||
− | |||
− | |||
</body> | </body> | ||
</html> | </html> | ||
− | </ | + | </source> |
− | </ | + | </toggledisplay> |
− | |||
[[Category: Виртуальная лаборатория]] | [[Category: Виртуальная лаборатория]] |