Інструменти інженера

Інженерові для розрахунків як правило потрібні різні інструменти – програми.
Не всі, кому доводиться стикатися з чисельними розрахунками знають про вільні, з відкритим кодом і безкоштовні програми. Найчастіше за все на слуху пару назв комерційних продуктів із закритим кодом і астрономічною ціною.
На щастя, в цій сфері написано багато якісних вільних програм.
Приведу деякі програми (безкоштовні), які може використовувати інженер в своїх розрахунках:

Система комп’ютерної алгебри Maxima – вільна комп’ютерна алгебраїчна система, основана на Macsyma версії 1982 року. Написана на мові програмування Common Lisp, та розповсюджується за умовами ліцензії GNU General Public License. Працює в Microsoft Windows та на всіх POSIX-сумісних платформах (UNIX, Linux, FreeBSD …).

Python(Пайтон) — інтерпретована об’єктно-орієнтована мова програмування високого рівня. Структури даних високого рівня разом із динамічною семантикою та динамічним зв’язуванням, роблять її привабливою для швидкої розробки програм, а також в якості засобу поєднання існуючих компонент. Інтерпретатор Python та стандартні бібліотеки доступні на всіх основних платформах. Багата стандартна бібліотека і наявність пакетів для наукових і інженерних розрахунків (NumPy,SciPy, PySparse – розріджені матриці, FiPy …) є одною із привабливих сторін Python.
Більше можна взнати тут.

R — мова програмування і програмне середовище для статистичних обчислень. Для R вже створено велику кількість пакетів для статистичних обчислень, біоінформатики, оптимізації, тощо (більш ніж 800 пакетів). Також, в системі присутні засоби для візуалізації результатів обчислень (2-вимірні, 3-вимірні графіки, діаграми, гістограми, Схеми Ганта, тощо).

Tcl – (від англ. Tool Command Language — «командна мова інструментів », читається «тикль») — скріптова мова високого рівня. Зручна для склеювання інших інструментів. Tcl часто застосовується спільно з графічною бібліотекою Tk. Більше можно почитати в статтях А. Зубинского

Scilab – пакет наукових програм для чисельних обчислень, що надає потужне відкрите оточення для інженерних і наукових розрахунків а також для візуалізації результатів.

GNU Octave -
пакет наукових програм для для інженерних і наукових розрахунків а також для візуалізації результатів (використовує для графіків gnuplot)

Euler Math Toolbox – ще один пакет наукових програм для інженерних і наукових розрахунків, а також для візуалізації результатів. Для символьних розрахунків використовує Maxima і Yacas.

Elmer - 1-2-3d програма яка реалізує метод скінченних елементів і розрахована для вирішення завдань з різних областей фізики: теплопровідності, гідродинаміки, механіки твердого тіла, акустики, електромагнетизму, квантової механіки; завдання описуються у вигляді текстових файлів, є графічний інтерфейс, підтримує розпаралелювання. Поширюється під ліцензією GPL.

FreeFEM+ – С-подобна мова, що реалізовує метод скінченних елементів та має вбудовані типи тріангуляцій. Транслюється в C++. Добра документація, багато прикладів використання на різних завданнях. Ліцензія LGPL.

Бібліотеки для Python


  • NumPy-
    Бібліотека для роботи з багатовимірними масивами. Дозволяє досягти продуктивності наукових розрахунків, порівнянною із спеціалізованими пакетами.

  • SciPy – це відкрита бібліотека високоякісних наукових інструментів.
    Scipy містить модулі для оптимізації, інтегрування, спеціальних функцій, обробки сигналів, обробки зображень, генетичних алгоритмів, вирішення звичайних диференціальних рівнянь, і інших завдань, зазвичай вирішуваних в науці і при інженерній розробці. Поширюється під ліцензією BSD.
    Використовує Numpy і надає доступ до широкого спектру математичних алгоритмів (матрична алгебра (BLAS, LAPACK)).

  • PySparse – робота з розрідженими матрицями

Ganttproject – для планування своєї роботи.
Корисна також програма FreeMind – мапа пам’яті.

Огляд САПР в wikipedia.
Ще один огляд