Coder Social home page Coder Social logo

orionapplepie / mathematical-physics Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.63 MB

Лабы по ЧММ (решение краевых задач Дирихле, Неймана, Синьорини, 1d FEM, 2d FEM)

Python 17.16% Jupyter Notebook 82.84%
mathematics physics numerical-methods numerical-integration finite-element-methods fem fea signorini python variational-inequalities

mathematical-physics's Introduction

Репозиторий для лабораторных работ и РГР по предметам "Численное моделирование в математических пакетах" и пр.

Установка

Для запуска необходимы пакеты numpy, matplotlib, scipy. установить нужные пакеты так:

pip install --user numpy scipy matplotlib

В Windows проще всего установить стек Anaconda.

В папке res находятся ресурсы с теорией: книги и пр. а также ссылки.

(лабы будут добавляться по мере написания.)


Лабораторная работа №1. Одномерная задача.

Реализованы:

  • решение задачи методом конечных элементов в одномерном случае
  • Метод Зейделя решения СЛАУ (Seidel method)
  • Метод прогонки (Tridiagonal matrix algorithm - TDMA)

Лабораторная работа №2. Решение задачи Дирихле в двумерном случае методом конечных элементов, область - единичный квадрат.

Реализован обход области по узла и сборка глобальной матрицы жёсткости. Т.к. область квадратная - то реализация тривиальная.


...

РГР "Модельная Задача Синьорини"

(код находится в папке lab-04)

РГР "Плоская задача теории упругости" (2 курс, 3 семестр)

(код к ргр находится в папке lab-05)

Собственно, плоская задача теории упругости, область -- квадрат. В подпапке integrals - Jupyter ноутбук с вычислениями интегралов КЭ. Запускать через Анаконду, требует SymPy.

Как запустить в Windows

  1. Установить интерпретатор Python 3 с добавлением в переменную Path

  2. Проверить, запускается ли Python из командной строки, набрав в ней:

    python
    

    должен запуститься интерактивный режим Python (там же отобразиться версия Python)

  3. Для удобства работы можно установить эмулятор терминала -- Cmdr, версию с Git for Windows.

  4. Установить virtualenv и virtualenvwrapper-win (инструкция здесь, или здесь или здесь).

  5. Склонировать проект. Для этого в терминале перейти в папку отведенную для хранения проектов и выполнить:

    git clone https://github.com/OrionApplePie/Mathematical-physics.git
    
  6. Создать виртуальное окружения для этого проекта. Для этого перейти в каталог содержащий репозиторий и выполнить

    mkvirtualenv -a Mathematical-physics math-phys
    

    где math-phys - имя для виртуального окружения.

  7. Установить зависимости:

    pip install -r requirements.txt
    
  8. Прейти в нужную папку с лабораторной/РГР и запустить main.py:

    python main.py
    

TODO

  • Добавить картинок области, КЭ

Лаб. 5

(решение пока не получено)

Задача теории упругости. Без учета трения.

При сборке списка узлов - граничные узлы верхней и нижней границ игнорируются, т.к. на этих границах = жесткое закрепление и перемещения равны нулю. Эти узлы не нумеруются. Также не учитываются функциями вычисления типа узла и типа соседства узлов.

P1, P2 в уравнениях -- компоненты поверхностной силы. На стороны слева и справа (это все граница Гамма1) действуют поверхностные силы -- сжимают тело. Т.е. на левой границе задается, например P = (100, 0), а на правой - P = (-100, 0).

TODO:

  • проверить интеграл по границе в п.ч.
  • проверить значения вычисленных интегралов, особенно комбинации с граничными узлами.

mathematical-physics's People

Contributors

orionapplepie avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.