https://github.com/sadevans/mimapr
extended node method
https://github.com/sadevans/mimapr
Last synced: 3 months ago
JSON representation
extended node method
- Host: GitHub
- URL: https://github.com/sadevans/mimapr
- Owner: sadevans
- Created: 2023-12-03T14:59:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-19T21:48:56.000Z (over 1 year ago)
- Last Synced: 2025-01-19T00:46:32.497Z (5 months ago)
- Language: C++
- Size: 2.79 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Расширенный узловой метод
Базис расширенного узлового метода составляют:
1. производные переменных состояния;
2. переменные состояния;
3. Переменные типа узловых потенциалов (далее узловые потенциалы);
4. Переменные типа потока для идеальных источников переменной типа потенциала (далее ток идеальных источников ЭДС).## Архитектура
## Создание схемы
### Типы элементов
В программе можно добавить элементы типа:
- E - ЭДС,
- C - конденсатор,
- R - резистор,
- L - катушка,
- I - источник тока,
- Id - ток диода.Также для каждого элемента необходимо указать начальный узел `start_node` и `end_node`. Направление стрелки по умолчанию считается от `start_node` к `end_node`.
### Добавление элемента в схему
Добавить новый элемент необходимо в файле [main](https://github.com/sadevans/mimapr/blob/main/main.cpp)Добавление осуществляется по шаблону:
```cpp
Element* el = new Element(ElementType::type, start node, end node, value, "name");
schema->add_element(*el);
```### Особенности добавления элементов
#### Элементы типа E - ЭДС
Для элементов типа `E` можно указать наличие синусоидального источника с помощью флага **true** или **false**.По умолчанию флаг установлен в **false**.
Пример добавления элемента `E`:
```cpp
Element* e1 = new Element(ElementType::E, 1, 0, 1, "E1", true);
```#### Элементы типа Id - ток диода
Для элементов типа `Id` можно задать параметры диода: $I_t$ и $m \cdot phit_t$.По умолчанию $I_t = 1e^{-12}$ и $m \cdot phit_t = 0.026$.
Пример добавления элемента `Id`:
```cpp
Element* id1 = new Element(ElementType::Id, 2, 3, 1, "Id1", It_ = 1e-12, m_phit_ = 0.026);
```## Запуск программы
Чтобы запустить программу со необходимо ввести следующую команду:
```cpp
g++ main.cpp -o main.out
```После запуска в директории проекта сохранится файл `out.txt` и в директорию `figs` сохранятся построенные графики для потенциалов.