СПОСОБ И СИСТЕМА СИМУЛЯЦИИ В ВИРТУАЛЬНЫХ ЛАБОРАТОРИЯХ ПО ЭЛЕКТРОДИНАМИКЕ
METHOD AND SYSTEM FOR SIMULATION IN VIRTUAL ELECTRODYNAMICS LABORATORIES

ОБЛАСТЬ ТЕХНИКИ
Изобретения относятся к вычислительной технике и, в частности, к системам для обучения пользователей учебным дисциплинам.
УРОВЕНЬ ТЕХНИКИ
В настоящее время остро стоит необходимость в проведении различных лабораторных и исследовательских работ. Результаты таких работ, в частности экспериментов, как правило используются для опровержения или подтверждения различных теорий и гипотез, а также могут быть использованы для внесения уточнений, поправок и т.д. в существующие законы, в том числе с целью добавления или корректировки поправочных коэффициентов, и т.д. Проводимые работы могут отличаться целями, масштабами, стоимостью и т.д., причем стоимость таких работ довольно высока, особенно для сложных (в том числе технически сложных) экспериментов, в том числе в связи с высокими ценами на оборудование, расходные материалы, аренду помещений, выплату заработной платы специалистам, обеспечивающим проведение таких экспериментов, включая сопутствующие им работы (например, доставку оборудования и материалов, уборку помещений, обслуживание и ремонт оборудования и т.д.) и т.д.
Часть экспериментальных или исследовательских работ может быть выполнена (проведена) в виртуальном пространстве. Так, стоимость проведения работ может быть снижена за счет использования виртуализации таких работ. Объекты, процессы, окружающая среда и т.д. реального мира, а также прототипы оборудования, возможно существующие материалы и т.д., а также возможные взаимодействия между ними (их частями и т.д.) могут быть виртуализированы. Так, объекты, процессы, окружающая среда и т.д. реального мира, а также прототипы оборудования, возможно существующие материалы и т.д. могут быть перенесены из реального мира в виртуальный (в виртуальное пространство), в том числе посредством создания виртуального пространства (виртуальной среды, виртуального мира) с виртуальными объектами, процессами и т.д. в цифровом формате, в частности, в формате цифровых сущностей, например, в формате трехмерных моделей, компьютерных алгоритмов и т.д., причем объекты могут включать как простые объекты, например, брусок металла, деревянный шар, так и сложные объекты, такие, как осциллографы, ускорители, масс-спектрометры и т.д., а также различные вещества с различными параметрами (характеристиками, свойствами). Виртуализированные объекты, процессы и т.д. подчиняются различным законам, известным в настоящий момент, и могут быть добавлены в виртуальное пространство, а также могут быть добавлены новые законы или существующие в настоящее время только в теории.
Из уровня техники известна персонализированная среда обучения в виртуальной реальности (см. US 20190139430, опубл. 09.05.2019), в частности, способ, который включает получение устройством и от пользовательского устройства запроса на доступ к среде обучения виртуальной реальности (BP), запрос, включающий идентификатор, связанный с программой, поддерживающей среду обучения в виртуальной реальности; идентификацию устройством набора объектов для использования в среде обучения BP путем поиска структуры данных с использованием идентификатора, связанного с программой, поддерживающей среду обучения BP; предоставление устройством BP среды обучения, которая включает в себя набор объектов для пользовательского устройства; получение устройством и от пользовательского устройства информации, связанной с взаимодействиями в среде обучения в виртуальной реальности; определение устройством одного или нескольких дополнительных объектов для использования в среде обучения в виртуальной реальности с помощью одного или нескольких способов обработки естественного языка для анализа информации, связанной с взаимодействиями в среде обучения в виртуальной реальности; предоставление устройством одного или нескольких дополнительных объектов пользовательскому устройству, в том числе в связи с обучающей средой в виртуальной реальности; и выполнение устройством, в том числе после предоставления одного или нескольких дополнительных объектов пользовательскому устройству одного или нескольких действий, связанных с улучшением среды обучения в виртуальной реальности.
Также из уровня техники известна виртуальная лаборатория для практического обучения с использованием реальных взаимодействий пользователей (см. 20170140669, опубл. 18.09.2017), в частности, способ проведения виртуального эксперимента с использованием множества мобильных устройств связи, каждое из которых включает в себя экран дисплея и множество датчиков, причем способ включает в себя: отображение на экране дисплея каждого из устройств мобильной связи вида одной части заданного эксперимента, причем в указанном заранее заданном эксперименте указанные части перемещаются относительно друг друга определенным образом; один или несколько пользователей осязаемо манипулируют множеством устройств мобильной связи относительно друг друга для манипулирования указанными видами частей заранее заданного эксперимента относительно друг друга указанным определенным образом для имитации движения указанных частей в указанном эксперименте; определение событий, необходимых для виртуального эксперимента; определение списка датчиков, необходимых для восприятия определенных событий, необходимых для виртуального эксперимента; получение указанными датчиками одного или нескольких устройств мобильной связи набора заранее определенных параметров одного или нескольких устройств мобильной связи и генерирование выходных сигналов датчиков; множество слушателей событий, получающих выходные сигналы датчиков от указанными датчиков; обработка слушателями событий выходных сигналов датчиков и передачу обработанных выходных данных в систему обработки правил; объединение системой обработки правил указанных обработанных выходных данных в соответствии с набором заранее определенных правил для виртуального эксперимента и распознавание результатов осязаемого манипулирования множеством устройств мобильной связи, и генерирование выходных сигналов системы обработки правил; и использование выходных сигналов системы обработки правил для формирования отображения на экранах дисплеев мобильных устройств связи для демонстрации заданных особенностей виртуального эксперимента с целью имитации заданного эксперимента.
Таким образом, в уровне техники наблюдается необходимость в создании систем для виртуализации, в частности, полном (или частичном) переносе экспериментов в виртуальное пространство, создаваемое соответствующими аппаратными средствами. Так, например, весь эксперимент или часть эксперимента может быть выполнена в виртуальном пространстве. Результаты таких экспериментов в виртуальном пространстве могут полностью совпадать с результатами экспериментов в реальном мире или могут быть идентичны с определенной точностью (достоверностью), достаточной для того, чтобы говорить о воспроизводимости результатов экспериментов в реальном мире и в виртуальном пространстве (мире).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технический результат, достигаемый представленным решением состоит в повышении эффективности симулирования (моделирования), снижение ресурсоемкости, возможности создания виртуальных лабораторий по электродинамике.
Компьютерно-реализуемый способ симуляции в виртуальных лабораториях по электродинамике, выполняемый на компьютерной системе включающей, по крайней мере, один процессор, оперативную память, причем процессор считывает машиночитаемые инструкции, содержащие этапы, на которых инициализируют симулятор, осуществляющий симуляцию взаимодействия объектов виртуального пространства, поведения симулируемых электронных компонентов, создания и удаления компонентов за один итерационный цикл симуляции, инициализируют визуализацию электронных компонентов и инициализируют блок создания и удаления компонентов виртуального пространства и их соединений в схему, в котором:
- пользователь осуществляет создание новой электрической схемы с использованием электронных компонентов, поведение которых симулируется средствами, предоставляемыми системой, цифровое представление которых хранится в памяти системы в формате цифровых сущностей, или осуществляет изменение ранее созданной схемы, сохраненной в памяти системы, с использованием электронных компонентов;
- с заранее заданным промежутком времени итеративно осуществляют первичный анализ для созданной схемы, причем проверяют является ли схема только что сформированной, или проверяют изменения в схеме на предмет внесения в схему изменений с целью осуществления анализа схемы, осуществляемого впервые для созданной схемы, причем факт окончания создания схемы или изменения в схеме обрабатываются в формате полученных введенных пользователем данных при взаимодействии с элементами виртуального пространства с использованием, по крайней мере, одного устройства ввода данных;
- для вновь созданной схемы итеративно проверяют соединения между элементами с построением контуров, по которым строят системы уравнений, содержащие данные об источниках напряжения, об элементах с нулевым потенциалом, о характеристиках элементов, после чего строятся матрицы для решения уравнений с упрощением матриц проверкой на вырожденность, после чего осуществляют решение систем линейных уравнений методом Гаусса, причем для каждого элемента устанавливают значение напряжения на каждом узле элемента и ток на каждом узле элемента, причем итеративно для каждого элемента обрабатывают результаты вычислений электрической цепи для каждого элемента для предъявления этих изменений у связанных элементов пользователю;
- для измененной схемы осуществляют построение узлов схемы, в том числе исключают из расчета проводников с нулевым сопротивлением, осуществляют поиск точек с нулевым потенциалом, относительно которых осуществляется дальнейший расчет, где источники с нулевым потенциалом выступают в роли элементов, значения напряжения которых являются константами в уравнении, осуществляют поиск точек с заданным напряжением, относительно которых осуществляются дальнейшие вычисления, проверяют имеет ли заземление хотя бы один источник напряжения, причем при наличии заземления, осуществляют шунтирование нуля всех источников напряжения на виртуальный ноль, относительно которого осуществляются вычисления, а при отсутствии заземления осуществляют создание элемента «земля», относительно которого осуществляются вычисления, после чего осуществляют выявление участков цепи, которые не имеют косвенной связи с землей, и осуществляют их шунтирование с виртуальным нулем, осуществляя проверку наличия пути до "земли", и далее осуществляют сохранение информации о подключенных проводниках, которые не участвуют в расчетах, с сохранением элементов для расчета, и осуществляют построение системы линейных уравнений, а также осуществляют добавление информации о характеристиках элементов, которые будут использованы в решении уравнений, в матрицу системы линейных уравнений, и осуществляют выявление ошибок в схеме на наличие «петель», характеризующихся повторениями участков соединения без сопротивления, а также проверяют наличие подключенных источников напряжения параллельно и подключение конденсаторов параллельно, и осуществляют проверку на наличие ошибок и в случае их наличия останавливают симуляцию, а в случае их отсутствия предъявляют результаты симуляции пользователю.
Система симуляции в виртуальных лабораториях по электродинамике, включает, по крайней мере следующие модули:
- модуль создания и добавления объектов виртуального пространства, выполненный с возможностью создания виртуальных объектов с использованием заданных параметров и с возможностью добавления созданных объектов виртуального пространства в виртуальную рабочую область, являющуюся частью виртуального пространства, в которой размещаются виртуальные объекты и в которой осуществляются манипуляции виртуальными объектами пользователем или средствами системы в автоматизированном режиме и осуществляются взаимодействия между такими виртуальными объектами, а также манипуляции и взаимодействия с такими виртуальными объектами, а также симуляция взаимодействия между объектами виртуального пространства согласно заданным параметрам взаимодействия, причем для размещения и манипуляций с виртуальными объектами, являющимися цифровыми представлениями объектов реального мира, создается виртуальная область, где виртуальное пространство, в том числе, по крайней мере, одна его часть, в том числе виртуальные объекты, используется для размещения виртуальных объектов и манипуляций с виртуальными объектами, включая взаимодействие объектов между собой, с окружающей средой, управляемой модулем окружающей среды;
- модуль задания параметров виртуальных объектов, выполненный с возможностью задания параметров виртуальных объектов в автоматизированном режиме и/или пользователем с использованием данных из базы данных, содержащей данные, описывающие объекты реального и/или виртуального мира, в том числе их характеристики и/или с использованием данных, полученных с использованием средств ввода данных;
- модуль задания параметров взаимодействия объектов виртуального пространства, выполненный с возможностью задания параметров взаимодействия между объектами виртуального пространства с использованием, по крайней мере, одного набора управляющих воздействий, объединенных в управляющие цифровые сущности, сформированные для определенного типа объектов виртуального пространства, где упомянутым управляющим воздействием является возможность пользователя при помощи визуального интерфейса задавать взаимодействия между виртуальными объектами, и упомянутые параметры взаимодействия задаются алгоритмами взаимодействия, по крайней мере, одного виртуального объекта, по крайней мере, с одним другим виртуальным объектом с использованием физических и химических законов взаимодействия объектов, определяемых соответствующими формулами в формате цифровых сущностей;
- модуль управления объектами виртуального пространства и взаимодействия между объектами виртуального пространства, выполненный с возможностью управления объектами виртуального пространства в автоматизированном режиме и/или пользователем, где управление объектами включает возможность перемещения виртуальных объектов по виртуальному пространству, в том числе с использованием средств ввода данных, в том числе для осуществления взаимодействия между виртуальными объектами с возможностью выбора пользователем и/или в автоматизированном режиме типа взаимодействия, в том числе в зависимости от доступных типов взаимодействия;
- модуль симуляции взаимодействия объектов виртуального пространства, выполненный в возможностью симуляции взаимодействий между объектами виртуального пространства согласно заданным параметрам взаимодействия и определение возможных взаимодействий из типов взаимодействий, в том числе физически корректных с соблюдением заданных физических законов, в том числе с использованием заданных, в том числе выбранных пользователем и/или средствами системы, типов взаимодействий, и осуществляется обработка результатов взаимодействия виртуальных объектов в зависимости от параметров объектов виртуального пространства, параметров взаимодействия виртуальных объектов, сформированных в формате цифровых сущностей в виртуальном пространстве, где обработка результатов осуществляется виртуальных объектов или при взаимодействии виртуальных объектов между собой;
- модуль предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства, выполненный с возможностью предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства, включая отображение процессов, результатов процессов, в том числе связанных с параметрами объектов, включая изменение формы, цвета объектов;
- модуль хранения данных, выполненный с возможностью сохранения состояния и параметров процесса симуляции во времени, состояния или части и параметров виртуального пространства, объектов виртуального пространства и их параметров, причем модуль хранения данных включает хранилище данных или связано с хранилищем данных, а также выполненный с возможностью сохранения типов виртуальных объектов, неизменяемых параметров объектов, точек, указанных в полигональной сетке объекта, где находится зона взаимодействия, типов взаимодействий, связанных с точками взаимодействий, допустимых для каждого типа объекта через заранее определенные сценарии взаимодействия, названий объектов, индивидуальных изменяемых расчетных параметров объектов, индивидуальных изменяемых физических параметров объектов, и выполненный с возможностью сохранение данных в момент времени для передачи таких данных для обработки в следующий момент времени или для получения данных измерителей и вывода данных для предъявления пользователю через виртуальные объекты;
- модуль расчета логической модели, выполненный с возможностью расчета и визуализация эффектов от изменения соединения объектов симуляции, расположения относительно других объектов симуляции аналогично расположениям и соединениям в реальном мире, а также выполненный с возможностью представления визуализированной модели поведения моделируемых объектов, включая логическое поведение и расчет поведения объектов симуляции с симулируемой моделью окружающей среды;
- модуль окружающей среды, являющийся частью симулируемой модели и влияющий на поведение объектов и их изменяемые параметры;
- модуль инициализации, выполненный с возможностью задания параметров для объектов виртуального пространства, в том числе нелинейных компонентов, по крайней мере, диодов, лампочек, транзисторов, описанные моделью поведения, в том числе одинаковой для них, и выполненный с возможностью осуществления контроля с отслеживанием изменений в принципиальной электрической схеме для передачи полученных данных, в том числе информации о соединениях между элементами схемы, в том числе факт соединения одного коннектора с другим коннектором, параметрах элементов схемы, включающих сопротивление резисторов, емкость конденсаторов, замыкание и размыкание ключа, индуктивность катушек индуктивности, состояние транзисторов, об изменениях в другие модули системы, включая отслеживание добавления и удаления элементов схемы, изменения соединений виртуальных объектов между собой;
- модуль раскладывания матрицы 163, выполненный с возможностью разложения одной матрицы на несколько для дальнейшего ее вычисления и обработки, с предварительной проверкой матриц на вырожденность и с дальнейшим решением систем линейных уравнений методом Гаусса, причем если матрица вырождена, то уравнение не имеет решений, либо этих решений бесконечно много, и симуляция останавливается в связи с отсутствием возможности вычисления ее состояния в следующий момент времени, где матрицы используются для решения систем линейных уравнений и результатом решения является информация о протекающих в схеме токах, и с использованием таких полученных данных вычисляется состояние схемы в заданный момент времени, и в системе линейных уравнений содержится информация о потенциалах в точках, о сопротивлениях элементов, а также о емкостях и индуктивностях элементов, причем результатом решения является информация о токах и напряжениях на участках электрической цепи, и выполненный с возможностью вычисления устанавливаемого напряжения и значения токов для каждого узла элемента, образованного коннекторами элементов, клеммами, в единицу времени, в текущий момент времени, сформированную на стадии инициализации модулем инициализации, и выполненный с возможностью исключения из расчета проводников с нулевым сопротивлением, и выполненным с возможностью подготовки системы уравнений для решения уравнения методом Гаусса;
- модуль формирования и построения узлов схемы, выполненный с возможностью предоставления пользователю формировать и строить узлы схемы, и выполненный с возможностью осуществления вычислений, в том числе с исключением из расчета проводников с нулевым сопротивлением, поиском точек с нулевым потенциалом, поиском точек с заданным напряжением, причем если известен потенциал точки, то осуществляется поиск пути до этой точки, и в процессе вычислений используется информация об идентификаторах каждого узла с удалением проводов, а узлам элементов, которые соединены этими проводами, присваиваются одинаковые идентификаторы для формирования более компактной записи уравнений, и выполненный с возможностью выявления участков цепи, не связанных косвенно с заземлением, являющихся связанными через другие элементы схемы, а также выполненный с возможностью осуществления их шунтирования с виртуальным нулем, и выполненный с возможностью сохранения информации о подключенных проводниках, не участвующих в расчетах, с внесением информации о каждом элементе узла в матрицу для решения системы линейных уравнений с целью проведения вычислений при внесении изменений в узлах в сформированную схему, и выполненный с возможностью выявления составленных ошибок в схеме, составленной пользователем, и с возможностью остановки вычислений без продолжения расчета электрической цепи, в том числе при выявлении составленных ошибок в схеме, и выполненный с возможностью подготовки данных для вычислений сформированной и построенной узловой схемы в формате системы линейных уравнений, передаваемых в модуль раскладывания матрицы для их решения.
Устройство симуляции в виртуальных лабораториях по электродинамике, включает, по крайней мере следующие модули:
- модуль создания и добавления объектов виртуального пространства, выполненный с возможностью создания виртуальных объектов с использованием заданных параметров и с возможностью добавления созданных объектов виртуального пространства в виртуальную рабочую область, являющуюся частью виртуального пространства, в которой размещаются виртуальные объекты и в которой осуществляются манипуляции виртуальными объектами пользователем или средствами системы в автоматизированном режиме и осуществляются взаимодействия между такими виртуальными объектами, а также манипуляции и взаимодействия с такими виртуальными объектами, а также симуляция взаимодействия между объектами виртуального пространства согласно заданным параметрам взаимодействия, причем для размещения и манипуляций с виртуальными объектами, являющимися цифровыми представлениями объектов реального мира, создается виртуальная область, где виртуальное пространство, в том числе, по крайней мере, одна его часть, в том числе виртуальные объекты, используется для размещения виртуальных объектов и манипуляций с виртуальными объектами, включая взаимодействие объектов между собой, с окружающей средой, управляемой модулем окружающей среды;
- модуль задания параметров виртуальных объектов, выполненный с возможностью задания параметров виртуальных объектов в автоматизированном режиме и/или пользователем с использованием данных из базы данных, содержащей данные, описывающие объекты реального и/или виртуального мира, в том числе их характеристики и/или с использованием данных, полученных с использованием средств ввода данных;
- модуль задания параметров взаимодействия объектов виртуального пространства, выполненный с возможностью задания параметров взаимодействия между объектами виртуального пространства с использованием, по крайней мере, одного набора управляющих воздействий, объединенных в управляющие цифровые сущности, сформированные для определенного типа объектов виртуального пространства, где упомянутым управляющим воздействием является возможность пользователя при помощи визуального интерфейса задавать взаимодействия между виртуальными объектами, и упомянутые параметры взаимодействия задаются алгоритмами взаимодействия, по крайней мере, одного виртуального объекта, по крайней мере, с одним другим виртуальным объектом с использованием физических и химических законов взаимодействия объектов, определяемых соответствующими формулами в формате цифровых сущностей;
- модуль управления объектами виртуального пространства и взаимодействия между объектами виртуального пространства, выполненный с возможностью управления объектами виртуального пространства в автоматизированном режиме и/или пользователем, где управление объектами включает возможность перемещения виртуальных объектов по виртуальному пространству, в том числе с использованием средств ввода данных, в том числе для осуществления взаимодействия между виртуальными объектами с возможностью выбора пользователем и/или в автоматизированном режиме типа взаимодействия, в том числе в зависимости от доступных типов взаимодействия;
- модуль симуляции взаимодействия объектов виртуального пространства, выполненный в возможностью симуляции взаимодействий между объектами виртуального пространства согласно заданным параметрам взаимодействия и определение возможных взаимодействий из типов взаимодействий, в том числе физически корректных с соблюдением заданных физических законов, в том числе с использованием заданных, в том числе выбранных пользователем и/или средствами системы, типов взаимодействий, и осуществляется обработка результатов взаимодействия виртуальных объектов в зависимости от параметров объектов виртуального пространства, параметров взаимодействия виртуальных объектов, сформированных в формате цифровых сущностей в виртуальном пространстве, где обработка результатов осуществляется виртуальных объектов или при взаимодействии виртуальных объектов между собой;
- модуль предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства, выполненный с возможностью предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства, включая отображение процессов, результатов процессов, в том числе связанных с параметрами объектов, включая изменение формы, цвета объектов;
- модуль хранения данных, выполненный с возможностью сохранения состояния и параметров процесса симуляции во времени, состояния или части и параметров виртуального пространства, объектов виртуального пространства и их параметров, причем модуль хранения данных включает хранилище данных или связано с хранилищем данных, а также выполненный с возможностью сохранения типов виртуальных объектов, неизменяемых параметров объектов, точек, указанных в полигональной сетке объекта, где находится зона взаимодействия, типов взаимодействий, связанных с точками взаимодействий, допустимых для каждого типа объекта через заранее определенные сценарии взаимодействия, названий объектов, индивидуальных изменяемых расчетных параметров объектов, индивидуальных изменяемых физических параметров объектов, и выполненный с возможностью сохранение данных в момент времени для передачи таких данных для обработки в следующий момент времени или для получения данных измерителей и вывода данных для предъявления пользователю через виртуальные объекты;
- модуль расчета логической модели, выполненный с возможностью расчета и визуализация эффектов от изменения соединения объектов симуляции, расположения относительно других объектов симуляции аналогично расположениям и соединениям в реальном мире, а также выполненный с возможностью представления визуализированной модели поведения моделируемых объектов, включая логическое поведение и расчет поведения объектов симуляции с симулируемой моделью окружающей среды;
- модуль окружающей среды, являющийся частью симулируемой модели и влияющий на поведение объектов и их изменяемые параметры;
- модуль инициализации, выполненный с возможностью задания параметров для объектов виртуального пространства, в том числе нелинейных компонентов, по крайней мере, диодов, лампочек, транзисторов, описанные моделью поведения, в том числе одинаковой для них, и выполненный с возможностью осуществления контроля с отслеживанием изменений в принципиальной электрической схеме для передачи полученных данных, в том числе информации о соединениях между элементами схемы, в том числе факт соединения одного коннектора с другим коннектором, параметрах элементов схемы, включающих сопротивление резисторов, емкость конденсаторов, замыкание и размыкание ключа, индуктивность катушек индуктивности, состояние транзисторов, об изменениях в другие модули системы, включая отслеживание добавления и удаления элементов схемы, изменения соединений виртуальных объектов между собой;
- модуль раскладывания матрицы 163, выполненный с возможностью разложения одной матрицы на несколько для дальнейшего ее вычисления и обработки, с предварительной проверкой матриц на вырожденность и с дальнейшим решением систем линейных уравнений методом Гаусса, причем если матрица вырождена, то уравнение не имеет решений, либо этих решений бесконечно много, и симуляция останавливается в связи с отсутствием возможности вычисления ее состояния в следующий момент времени, где матрицы используются для решения систем линейных уравнений и результатом решения является информация о протекающих в схеме токах, и с использованием таких полученных данных вычисляется состояние схемы в заданный момент времени, и в системе линейных уравнений содержится информация о потенциалах в точках, о сопротивлениях элементов, а также о емкостях и индуктивностях элементов, причем результатом решения является информация о токах и напряжениях на участках электрической цепи, и выполненный с возможностью вычисления устанавливаемого напряжения и значения токов для каждого узла элемента, образованного коннекторами элементов, клеммами, в единицу времени, в текущий момент времени, сформированную на стадии инициализации модулем инициализации, и выполненный с возможностью исключения из расчета проводников с нулевым сопротивлением, и выполненным с возможностью подготовки системы уравнений для решения уравнения методом Гаусса;
- модуль формирования и построения узлов схемы, выполненный с возможностью предоставления пользователю формировать и строить узлы схемы, и выполненный с возможностью осуществления вычислений, в том числе с исключением из расчета проводников с нулевым сопротивлением, поиском точек с нулевым потенциалом, поиском точек с заданным напряжением, причем если известен потенциал точки, то осуществляется поиск пути до этой точки, и в процессе вычислений используется информация об идентификаторах каждого узла с удалением проводов, а узлам элементов, которые соединены этими проводами, присваиваются одинаковые идентификаторы для формирования более компактной записи уравнений, и выполненный с возможностью выявления участков цепи, не связанных косвенно с заземлением, являющихся связанными через другие элементы схемы, а также выполненный с возможностью осуществления их шунтирования с виртуальным нулем, и выполненный с возможностью сохранения информации о подключенных проводниках, не участвующих в расчетах, с внесением информации о каждом элементе узла в матрицу для решения системы линейных уравнений с целью проведения вычислений при внесении изменений в узлах в сформированную схему, и выполненный с возможностью выявления составленных ошибок в схеме, составленной пользователем, и с возможностью остановки вычислений без продолжения расчета электрической цепи, в том числе при выявлении составленных ошибок в схеме, и выполненный с возможностью подготовки данных для вычислений сформированной и построенной узловой схемы в формате системы линейных уравнений, передаваемых в модуль раскладывания матрицы для их решения.
В некоторых вариантах реализации модули соединены при помощи шины данных/команд. В некоторых вариантах реализации модули могут включать по крайней мере один процессор и/или оперативную память.
В некоторых вариантах реализации, описанные устройство и/или система могут быть реализованы с использованием архитектуры MIMD (MIMD - концепция архитектуры компьютера, используемая для достижения параллелизма вычислений) и имеют несколько процессоров (у всех или некоторых модулей), которые функционируют асинхронно и независимо. В любой момент различные процессоры могут выполнять различные команды над различными частями данных.
В некоторых вариантах реализации в качестве процессоров используется GPU или нейронные процессоры или иные векторные или матричные процессоры.
В некоторых вариантах реализации для избегания блокировок и делоков при работе с разными потоками данных используют семафоры, чтобы препятствовать тому, чтобы один поток вмешался в другой, в случае если они содержат ссылку на одни и те же данные
В некоторых вариантах реализации модули могут быть виртуализированы и быть выполнены в виде процесса и/или потока операционной системы.
В некоторых вариантах реализации модули могут иметь совместную общую память.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
ФИГ. 1 иллюстрирует примерный вариант составных частей, в частности, модулей (блоков) системы, реализующей настоящее изобретение;
ФИГ. 2-5 иллюстрируют примерный вариант диаграммы электродинамики, согласно настоящему изобретению;
ФИГ. 6 процесс обработки пользовательского ввода;
ФИГ. 7 иллюстрирует пример вычислительной системы общего назначения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
Используемые в настоящем описании настоящего технического решения термины «модуль», «компонент», «элемент» и подобные используются для обозначения компьютерных сущностей, которые могут являться аппаратным обеспечением/оборудованием (например, устройством, инструментом, аппаратом, аппаратурой, составной частью устройства, например, процессором, микропроцессором, интегральной схемой, печатной платой, в том числе электронной печатной платой, макетной платой, материнской платой и т.д., микрокомпьютером и так далее), программным обеспечением (например, исполняемым программным кодом, скомпилированным приложением, программным модулем, частью программного обеспечения или программного кода и так далее) и/или микропрограммой (в частности, прошивкой). Так, например, компонент может быть процессом, выполняющемся на процессоре (процессором), объектом, исполняемым кодом, программным кодом, файлом, программой/приложением, функцией, методом, (программной) библиотекой, подпрограммой, сопрограммой и/или вычислительным устройством (например, микрокомпьютером или компьютером) или комбинацией программных или аппаратных компонентов.
Настоящее изобретение относится к учебно-исследовательским системам, в том числе программному и аппаратному обеспечению, и включает (универсальную) виртуальную среду для проведения различных лабораторных и исследовательских экспериментов по предметам (учебным дисциплинам), в том числе входящим в Федеральные государственные образовательные стандарты.
Программные средства в совокупности с аппаратными средствами позволяют (пользователям, в частности, обучающимся, ученикам, студентам и т.д.) проводить (ставить) различные эксперименты, проверять существующие гипотезы, проводить различные исследования, а также подтверждать реальность законов и расширять спектр возможных взаимодействий с объектами и между объектами и т.д.
ФИГ. 1 иллюстрирует примерный вариант составных частей, в частности, модулей (блоков) системы, реализующей настоящее изобретение.
Виртуальное пространство, в том числе, по крайней мере, одна его часть, в том числе объекты виртуального пространства, используется для размещения виртуальных объектов и манипуляций с виртуальными объектами, включая взаимодействие объектов между собой, с окружающей (виртуальной) средой, контролируемой модулем окружающей среды 145. Модуль окружающей среды 145 в частном случае может являться частью (входить в состав) симулируемой модели (модели окружающей среды, визуализированной модели поведения моделируемых объектов, их взаимодействие и т.д.) и влияет на поведение всех объектов и их изменяемые параметры. Так, в частном случае, в электродинамике (при моделировании соответствующих процессов) осуществляется симуляция поведения объектов при нормальных условиях. Некоторые элементы, например, лампочки, содержат такой параметр, как температура, до которой они остывают в выключенном состоянии, и от которой осуществляется нагрев при включенном. Так, окружающая среда может влиять на объекты, например, при охлаждении нитей ламп накаливания, в частности, после выключения лампочек.
Виртуальные объекты в формате цифровых виртуальных сущностей являются цифровыми (компьютерными) представлениями сущностей, в том числе объектов, процессов и т.д., существующих или которые могут существовать в реальном (в частности, физическом) мире.
Так, например, виртуальные объекты могут быть сформированы, в том числе созданы и настроены, с использованием параметров (характеристик) объектов реального мира, их соединения, процессов, протекающих в них, на их границах и т.д., результатов таких процессов и т.д. Например, для объекта реального мира существует ряд параметров, в том числе физических, геометрических, химических, электрических и т.д., включая параметры окружающей среды, параметры взаимодействия окружающей среды с объектом реального мира, параметры взаимодействия объекта, в том числе элемента, реального мира с окружающей средой и т.д., в которой находится или в которую может находиться (размещен, в том числе потенциально размещен) объект реального мира, включая параметры материалов объектов, включая их свойства, различные законы взаимодействия, изменения параметров реальных объектов в зависимости от взаимодействия (воздействия и т.д.).
Упомянутые взаимодействия (между виртуальными объектами, окружающей средой и т.д.), а также результаты таких взаимодействий, отображаются (предъявляются) в виртуальном пространстве модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130.
Так, например, виртуальным объектом может являться поверхность, например, поверхность плоскости, куба и других геометрических объектов, на которой может быть размещен виртуальный объект.
Виртуальный объект (объект виртуального мира, объект виртуального пространства) может быть создан модулем создания и добавления объектов виртуального пространства 105 (в автоматизированном режиме) и/или пользователем (в том числе в полуавтоматизированном режиме) с использованием модуля создания и добавления объектов виртуального пространства 105, в частности, с использованием средств такого модуля, например, посредством (в том числе использования) предоставляемого им интерфейса, в том числе с использованием интерфейса пользователя, например, текстового интерфейса пользователя, графического интерфейса пользователя, в том числе с использованием данных из базы данных, содержащей данные, описывающие объекты реального и/или виртуального мира, в том числе их характеристики, например, материал объекта с соответствующими характеристиками такого объекта (например, плотность и т.д.).
Виртуальные объекты отображаются, а также размещаются, в виртуальной среде и предъявляются пользователям в виртуальной среде средствами описываемой системы, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130.
Модуль создания и добавления объектов виртуального пространства 105, как, в частном случае, и любой другой описываемый модуль (в том числе со схожим исполнением, функционалом и т.д.), может являться программным обеспечением, в том числе выполненным в виртуальном пространстве (например, в формате, поддерживаемом виртуальным пространством и включающим элементы виртуального пространства, объекты для взаимодействия в виртуальном пространстве с виртуальным пространством и его параметрами, объектами виртуального пространства и т.д.), или включать программную часть, в том числе выполненную в виртуальном пространстве.
Так, модуль создания и добавления объектов виртуального пространства 105 выполнен с возможностью создания (в автоматизированном режиме и/или пользователем) объектов виртуального пространства на основе (с использованием) заданных параметров и возможностью добавления созданных объектов виртуального пространства в виртуальную рабочую область.
Упомянутая виртуальная область является частью виртуального пространства, на (или в) которой могут быть размещены (в которую могут быть помещены) объекты виртуального пространства и в которой осуществляются манипуляции виртуальными объектами пользователем (или средствами системы в автоматизированном режиме) и взаимодействия между такими виртуальными объектами, а также манипуляции и взаимодействия с такими виртуальными объектами.
Так, виртуальная область используется для размещения и манипуляций с виртуальными объектами, являющимися цифровыми представлениями объектов реального мира. Виртуальной областью может являться плоскостью в виртуальном пространстве, на которой могут быть размещены виртуальные объекты и на которой могут осуществляться манипуляции с виртуальными объектами, а также на которой может предъявляться информация (данные) пользователю, в том числе различные сообщения, предупреждения, а также виртуальные приборы (например, средства индикации) и т.д.
В виртуальной области средствами описываемой системы (в частности, модулем или с использованием его, например, модулем симуляции взаимодействия объектов виртуального пространства 125) осуществляются симуляция взаимодействия между объектами виртуального пространства согласно заданным параметрам взаимодействия модулем задания параметров взаимодействия объектов виртуального пространства 115 и/или с использованием модуля задания параметров взаимодействия объектов виртуального пространства 115 (в модуле задания параметров взаимодействия объектов виртуального пространства 115.).
Параметры объектов могут быть заданы (изменены, добавлены и т.д.) модулем задания параметров объектов виртуального пространства (виртуальных объектов) 110, например в автоматизированном режиме, и/или пользователем с использованием модуля задания параметров объектов виртуального пространства 110, где объекты виртуального мира соответствуют объектам реального мира
Параметры объектов могут быть заданы (в автоматизированном режиме и/или пользователем, в частности, в том числе в полуавтоматизированном режиме) с использованием данных из базы данных, содержащей данные, описывающие объекты реального и/или виртуального мира, в том числе их характеристики, например, материал объекта с соответствующими характеристиками такого объекта (например, плотность и т.д.).
Параметры объектов могут быть заданы с использованием данных, полученных с использованием средств ввода данных, таких как, например, камера, клавиатура, средства сканирования и распознавания текста, изображения, объектов (например, 3D-сканер) и т.д.
Так, модулем задания параметров объектов виртуального пространства 110 и/или с использованием модуля задания параметров объектов виртуального пространства 110 может осуществляться задание параметров объектов виртуального пространства, причем задаваемые параметры могут включать физические и химические свойства объектов виртуального пространства, соответствующие, по крайней мере, физическим и химическим свойствам объектам реального мира.
Параметры объектов виртуального пространства (виртуальных объектов) могут включать, по крайней мере, один набор изменяемых (неизменных) параметров и, по крайней мере, один набор изменяемых параметров объектов виртуального пространства.
Набор неизменяемых параметров может включать, по крайней мере, тип объекта, точки в полигональной сетке объекта, в которой находится, по крайней мере, одна зона взаимодействия такого объекта, типы взаимодействий, связанные с точками взаимодействий, допустимых для каждого типа объекта и т.д.
Набор изменяемых параметров может включать, по крайней мере, название объекта, расчетные параметры объекта, изменяемые параметры, в том числе физические параметры, объекта и т.д.
В частном случае упомянутая зона (область) взаимодействия объекта заранее задана, в частности, задается пользователем с использованием средств описываемой системы (например, средств ввода данных с использованием интерфейса пользователя).
При приближении к зоне взаимодействия объекта другого объекта, с которым возможно взаимодействие, средствами описываемой системы (в частности, по крайней мере, одним модулем, например, модулем симуляции взаимодействия объектов виртуального пространства 125) осуществляется симуляция взаимодействия с объектом или между объектами согласно заданным в модуле задания параметров взаимодействия объектов виртуального пространства 115 (пользователем и/или в автоматизированном режиме) параметрам взаимодействия, при условии если такое взаимодействие возможно (согласно заданным возможным взаимодействиям) между такими объектами.
В частном случае зона взаимодействия (объекта) может быть выбрана автоматически (в автоматизированном режиме), например, в зависимости от типа объекта, с которым осуществляется взаимодействие, или пользователем может быть выбрана одна из допустимых (заранее заданных) зон взаимодействия объекта.
Упомянутое задание параметров взаимодействия объектов (виртуального пространства) осуществляется модулем задания параметров взаимодействия объектов виртуального пространства 115 и/или с использованием модуля задания параметров взаимодействия объектов виртуального пространства 115 (пользователем). Так, в упомянутом модуле (модулем) обеспечивается возможность задания параметров взаимодействия объектов виртуального пространства с использованием, по крайней мере, одного набора управляющих воздействий, объединенных в управляющие цифровые сущности, сформированные для определенного типа объектов виртуального пространства. Так, например, управляющими воздействиями может являться возможность при помощи интерфейса (например, интерфейса пользователя, в частности, визуального интерфейса пользователя) создавать связи между элементами схемы, менять их параметры, объединять в схемы.
Упомянутые параметры взаимодействия могут быть заданы алгоритмами взаимодействия, по крайней мере, одного объекта виртуального пространства, по крайней мере, с одним другим объектом виртуального пространства с использованием физических и химических законов взаимодействия объектов, определяемых соответствующими формулами в формате цифровых сущностей. Например, связь между источником напряжения и резистором приводит к течению тока через резистор с силой прямо пропорциональной напряжению и обратно пропорциональной его сопротивлению.
Упомянутые алгоритмы взаимодействия определяются областью знаний, соответствующей виртуальному пространству. Так, алгоритмы взаимодействия определяются в реализации конкретного элемента электродинамики. Например, резисторы ведут себя как пассивные линейные элементы, катушки индуктивности могут вести себя как источники напряжения, при изменении протекающего в них тока.
Управление объектами виртуального пространства в автоматизированном режиме и/или пользователем осуществляется модулем управления объектами виртуального пространства и взаимодействия между объектами виртуального пространства 120 и/или с использованием модуля управления объектами виртуального пространства и взаимодействия между объектами виртуального пространства 120. Управление объектами может включать возможность перемещения виртуальных объектов по виртуальному пространству, в том числе с использованием средств ввода данных, в том числе для осуществления взаимодействия между объектами виртуального пространства с возможностью выбора (пользователем и/или в автоматизированном режиме) типа взаимодействия, в том числе в зависимости от доступных типов взаимодействия.
Как описано выше в виртуальной области модулем симуляции взаимодействия объектов виртуального пространства 125 осуществляется симуляция взаимодействий, связанных с объектами виртуального пространства с использованием заданных параметров взаимодействия, а также определение возможных взаимодействий из типов взаимодействий. Так, модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 осуществляются взаимодействия объектов между собой, в том числе физически корректные (в частности, с соблюдением заданных физических законов), в том числе в зависимости от заданных (в том числе выбранных пользователем и/или средствами системы) типов взаимодействия.
Модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 также осуществляется обработка результатов взаимодействия объектов виртуальной среды в зависимости от параметров объектов виртуального пространства, параметров взаимодействия объектов виртуального пространства, сформированных в формате цифровых сущностей в виртуальном пространстве. Результат обработки результатов это состояние системы в конце итерации. Так, например, результаты обработки могут быть использованы для дальнейших вычислений, обработки, предъявления и т.д. Например, пользователю могут быть предъявлены результаты обработки в формате состояния системы, например, пользователь может наблюдать состояние системы при помощи измерительных приборов либо визуально, если результат обработки может быть визуально интерпретирован.
Также, модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 осуществляется управление процессом симуляции проведения лабораторной работы или исследовательской работы во времени. Так, может осуществляться управление (контроль и т.д.) временем внутри эксперимента, в том числе посредством его замедления или ускорения, например для наблюдения протекающих с высокой скоростью процессов (так чтобы не упустить важные детали) или занимающих длительное время (чтобы не тратить время на наблюдение менее важных событий или сократить время, в течение которого нет изменений).
Также, модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 осуществляется возможность фиксирования состояния процесса симуляции проведения лабораторной работы или исследовательской работы во времени, а также с возможностью фиксирования состояния процесса симуляции проведения лабораторной или исследовательской работы для его сохранения с последующим восстановлением с сохраненного момента времени, например, в модуле хранения данных 135 (модулем хранения данных).
Так, модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 может осуществляться сохранение (в частности, в модуле хранения данных 135) состояния виртуального пространства или его части, включая объекты виртуального пространства, процессов и т.д., включая симуляцию (процесс симуляции с параметрами процесса, объектами, параметрами виртуальных объектов, состояний объектов и т.д.). Так, модулем симуляции взаимодействия объектов виртуального пространства 125 и/или с использованием модуля симуляции взаимодействия объектов виртуального пространства 125 может осуществляться восстановление состояния процесса симуляции к зафиксированному (в частности, сохраненному, например, в модуле хранения данных 135) состоянию пользователем или в автоматизированном режиме. В частном случае может осуществляться запись (в том числе непрерывная или с заданными промежутками времени) симуляции с упомянутыми объектами, параметрами и т.д., в том числе для возможности возврата (восстановления, «отката») к одному из сохраненных состояний (в том числе во времени или характеристик состояния, например, до начала того или иного взаимодействия, после завершения одного из этапов симуляции, например, к переходу вещества из одного агрегатного состояния в другое и т.д.).
Как описано выше, средствами описываемой системы, например, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130 осуществляется отображение (предъявление) виртуальных объектов, а также осуществляется отображение взаимодействий виртуальных объектов между собой (друг с другом), с окружающей средой и т.д., а также результаты таких взаимодействий. Так, например, могут отображаться различные процессы, результаты процессов, в том числе связанные с параметрами объектов, например, изменение формы, цвета и т.д. объектов.
Хранение данных осуществляется средствами описываемой системы, например, модулем хранения данных 135, который включает хранилище данных или может быть связан с таким хранилищем данных.
Хранилище данных может являться, по крайней мере, одним накопителем на жестких магнитных дисках (НЖМД/HDD, англ. hard (magnetic) disk drive), твердотельным накопителем (SSD, англ. solid-state drive), гибридным жестким диском (SSHD, англ. solid-state hybrid drive), флеш-памятью (флеш-накопителем), сетью хранения данных (СХД/SAN, англ. Storage Area Network), сетевой системой хранения данных/сетевым хранилищем (NAS, англ. Network Attached Storage) и/или любым другим устройством, позволяющим осуществлять, по крайней мере, запись на устройство, чтение с устройства и/или хранение данных на устройстве. Данные в хранилище данных могут храниться в любом известном формате, например, в базе данных (БД) в соответствующем формате БД, например, в виде, по крайней мере, одной таблицы или набора связанных или не связанных между собой таблиц базы данных. По крайней мере, одна упомянутая база данных может являться иерархической, объектной, объектно-ориентированной, объектно-реляционной, реляционной, сетевой и/или функциональной базой данных, каждая из которых может быть централизованной, сосредоточенной, распределенной, неоднородной, однородной, фрагментированной/секционированной, тиражированной, пространственной, временной, пространственно-временной, циклической, сверх-большой базой данных и т.д., причем для управления, создания и использования баз данных могут использоваться различные системы управления базами данных (СУБД). Также, данные в хранилищах данных могут храниться, по крайней мере, в одном файле, в частном случае, в виде текстового файла, либо данные могут храниться в любом, по крайней мере, одном другом известном формате хранения данных (информации).
Так, модулем хранения данных 135 может осуществляться хранение данных, по крайней мере, одного модуля описываемой системы (передаваемых, по крайней мере, из одного модуля описываемой системы).
Модулем хранения данных 135 может осуществляться хранение типов объектов виртуального пространства, неизменяемых параметров объектов, точек, указанных в полигональной сетке объекта, где находится зона взаимодействия, типов взаимодействий, связанных с точками взаимодействий, допустимых для каждого типа объекта через заранее определенные сценарии взаимодействия, названий (имен) объектов, индивидуальных изменяемых расчетных параметров объектов, индивидуальных изменяемых физических параметров объектов, состояния процесса симуляции проведения лабораторной работы или исследовательской работы.
Сохраненные данные (в модуле или модулем хранения данных 135) могут быть переданы, по крайней мере, в один из других модулей описываемой системы, в том числе для корректировки параметров объектов, параметров взаимодействия объектов, управления объектами, симуляции взаимодействия объектов с восстановлением процесса взаимодействия с сохраненного момента времени и т.д.
Так, модуль хранения данных 135 осуществляет получение данных, по крайней мере, от одного другого модуля. Так, в частном случае, модулем хранения данных 135 осуществляется сохранение данных на текущую итерацию для передачи таких данных для обработки следующей итерации или для получения данных измерителей и вывода данных для предъявления (визуально) пользователю через объекты описываемых в рамках настоящего изобретения измерителей: осциллограф, амперметр, вольтметр, омметр и т.д.
Модуль расчета логической модели 140 может являться программным обеспечением, в том числе выполненным в виртуальном пространстве (например, в формате, поддерживаемом виртуальным пространством и включающим элементы виртуального пространства и параметры виртуального пространства и элементов виртуального пространства и т.д.), или может включать программную часть, в том числе выполненную в виртуальном пространстве, а также включать используемые модели, в частности, полигональные модели, с заранее заданными (определенными настроенными) в них веществами. Модулем расчета логической модели 140 осуществляется расчет и визуализация эффектов от изменения состояния, температуры, объема, давления, расположения относительно других симулируемых веществ и расположения в виртуальном пространстве, в частности, в виртуальной области (рабочем пространстве), занимаемой области в рамках проведения лабораторной работы аналогично реальным реакциям (реакциям в реальном мире). Также модулем расчета логической модели 140 осуществляется представление визуализированной модели поведения моделируемых веществ, в том числе логическое поведение и расчет поведения симулируемых веществ с симулируемой моделью окружающей среды.
Параметры виртуального пространства и виртуальных объектов могут устанавливаться и изменяться в процессе (в том числе в результате) работы, по крайней мере, одного из модулей описываемой системы, в частности, например, модулем окружающей среды 145, модулем инициализации 153, модулем раскладывания матрицы 163, модулем формирования и построения узлов схемы 173, модулем окружающей среды 145 с использованием взаимодействий (в частности, через (под-)систему взаимодействия, в том числе которая может быть заранее задана). Так, как описано в рамках настоящего изобретения взаимодействия (и (под-)система взаимодействия) включает описанные выше зону взаимодействия виртуального объекта, типы взаимодействий, связанные с точками взаимодействий, допустимых для каждого типа виртуального объекта, параметры виртуальных объектов, включая физические параметры, причем зона взаимодействия виртуального объекта может быть заранее задана и при приближении (в том числе при перемещении) к ней другого виртуального объекта, с которым возможно взаимодействие, осуществляется симуляция взаимодействия с виртуальным объектом или между виртуальными объектами согласно заданным параметрам взаимодействия, где зона взаимодействия может выбираться средствами системы или пользователем.
Упомянутый модуль инициализации 153 позволяет задавать параметры для объектов виртуального пространства, в частности, нелинейных компонентов, таких как диоды, лампочки, транзисторы и т.д., описанные моделью поведения, в том числе одинаковой для них. Модуль инициализации 153 также контролирует, в частности, отслеживает изменения в принципиальной электрической схеме для передачи полученных данных (информации, например, информации о соединениях между элементами схемы, в частности, о факте соединения - какой коннектор с каким коннектором соединен; о параметрах элементов схемы, таких, как, например, сопротивление резисторов, емкость конденсаторов, замкнут/разомкнут ключ, индуктивность катушек индуктивности, состояние транзисторов и т.д.) об изменениях в другие модули, в том числе модули расчета и вывода новых формул с последующим их вычислением, в частности, в модуль раскладывания матрицы 163, в частности, с формированием систем линейных уравнений. Так, например, Модуль инициализации 153 реагирует на добавление, удаление элементов схемы, изменение соединений приборов между собой и т.д.
В частном случае отслеживание изменений в схему, в том числе в ранее созданную и сохраненную, а также в создаваемую схему, может осуществляться с использованием нейронной сети и предоставляемых такой нейронной сетью средствами. Так, может быть сохранено в памяти системы, по крайней мере, одно состояние схемы (включая, но не ограничиваясь, элементы схемы и их связи), в том числе текущее состояние схемы и, по крайней мере, одно из предыдущих состояний схемы. При изменении схемы (в частности, пользователем), например, посредством добавления новых элементов, замены одного элемента на другой, добавление соединений элементов и т.д., нейронная сеть осуществляет анализ предыдущего состояния схемы и состояния после внесенного изменения.
Так, на вход нейронной сети может подаваться текущее состояние схемы (после изменения), а для выявления внесенных изменений и требуемых вычислений, в том числе предоставление результатов описываемых в настоящем изобретении вычислений после изменения схемы, могут использоваться результаты обучения нейронной сети. Для обучения нейронной сети может использоваться размеченный набор данных или неразмеченный набор данных (например, в зависимости от того, обучается нейронная сеть с учителем или без. В процессе обучения может осуществляться извлечение полезных признаков и их анализ, классификация, например, с формированием необходимых вычислений (расчетов) и/или результатов расчетом для всей схемы или ее части; с выявлением частей, необходимых для перерасчета; подходящих результатов вычислений, связанных с тем или иным изменением и т.д., причем классификация может использоваться для сегментации и выявления элементов, частей схемы, результатов вычислений и т.д.
В качестве нейронной сети может использоваться нейронная сеть с архитектурой многослойный перцептрон, сверточная нейронная сеть, прямая нейронная сеть, рекурсивная нейронная сеть (рекурсивная искусственная нейронная сеть ИНС), рекуррентная нейронная сеть и т.д.
Модуль инициализации 153 может содержать такую нейронную сеть (в частности, средства нейронной сети) или являться частью такой нейронной сети.
Модуль раскладывания матрицы 163 – модуль, раскладывающий одну матрицу на несколько, для дальнейшего ее вычисления и обработки, с предварительной проверкой матриц на вырожденность и с дальнейшим решением систем линейных уравнений методом Гаусса. Так, если матрица вырождена, то уравнение не имеет решений, либо этих решений бесконечно много, и в этом случае симуляция может быть остановлена, поскольку отсутствует возможность вычисления (расчета) ее состояния в следующий момент времени (t). Так, в случае остановки симуляции пользователю может быть отправлено (в частности, предъявлено) сообщение о том, что симуляция не может быть продолжена из полученного состояния. Сообщение может содержать информацию, на основе которой пользователь может внести исправление в схему и продолжить работу, сбросив состояние схемы. Матрицы используются для решения систем линейных уравнений. Результатом решения является информация о протекающих в схеме токах. На основе этих данных вычисляется состояние схемы в заданный момент времени. В системе линейных уравнений содержится информация о потенциалах в точках, о сопротивлениях элементов, а также о емкостях и индуктивностях элементов. Результатом решения является информация о токах и напряжениях на участках электрической цепи. Также, модуль раскладывания матрицы 163 осуществляет расчет (вычисление) устанавливаемого напряжения и значения токов для каждого узла элемента (коннекторы элементов, их клеммы, где соединение элементов между собой образует узел) в конкретную единицу времени (в частности, в текущий момент времени), сформированную на стадии инициализации модулем инициализации 153. Упомянутый расчет (вычисление) устанавливаемого напряжения и значения токов для каждого узла элемента может осуществляться с использованием известных решений, в том числе, как осуществляется с использованием программного обеспечения Матлаб (MATLAB), Simulink и т.д. (например, примеры решения таких уравнений с методом Гаусса описаны по ссылке https://hub.exponenta.ru/post/raschet-elektricheskoy-tsepi-v-matlab-i-simulink558, методом Кирхгофа - по ссылке https://docplayer.ru/52891232-Raschyot-razvetvlyonnyh-elektricheskih-cepey-metodom-kirhgofa-s-pomoshchyu-personalnogo-kompyutera.html).
Модуль формирования и построения узлов схемы 173 позволяет пользователю формировать и строить узлы схемы, а также позволяет осуществлять вычисления (расчеты), в том числе с исключением из расчета проводников с нулевым сопротивлением, поиском точек с нулевым потенциалом, поиском точек с заданным напряжением и т.д. Если известен потенциал точки, например, источника ЭДС, то осуществляется поиск пути до этой точки. В процессе расчетов (вычислений) используется информация об идентификаторах каждого узла, так, в частности, удаляются ("выбрасываются", не участвуют в расчетах) все провода, а узлам элементов, которые соединены этими проводами присваиваются одинаковые идентификаторы для формирования более компактной записи уравнений. Также, модуль формирования и построения узлов схемы 173 позволяет выявлять участки цепи, не связанные косвенно с заземлением (в частности, связанные через другие элементы схемы), а также позволяет осуществлять их шунтирование с виртуальным нулем и позволяет осуществлять сохранение информации о подключенных проводниках, которые не участвуют в расчетах, с внесением информации о каждом элементе узла в матрицу (для решения системы линейных уравнений) для проведения расчетов (по крайней мере, одним модулем, в частности, модулем, осуществляющим решение уравнений, в частности системы линейных уравнений/СЛАУ) при внесении изменений (в частности, при любых изменениях в узлах) в сформированную (пользователем или одним из модулей, сохраненную ранее и т.д.) схему. Так, например, сохраняется информация о том, к каким элементам подключен проводник. В частном случае никакие проводники не участвуют в расчетах, что используется для оптимизации вычислений.
Модуль формирования и построения узлов схемы 173 также выполнен с возможностью выявления составленных ошибок в схеме, в частности, составленной пользователем, и с возможностью (включает функции) остановки вычислений (системы) без продолжения (осуществления) расчета электрической цепи, например, при выявлении составленных ошибок в схеме (например, ошибок пользователя), ошибок подключения элементов. Поскольку, в частном случае, проводники не имеют сопротивления, подключение двух источников напряжения может привести к ошибке расчетов. Осуществляется обработка таких ошибок, и предъявляет уведомление пользователю о таких ошибках. Так, например, параллельное подключение конденсаторов/источников напряжения является ошибкой пользователя.
Модуль формирования и построения узлов схемы 173 также выполнен с возможностью осуществления подготовки данных для вычисления (расчета) сформированной (и построенной) узловой схемы в формате системы линейных уравнений, которые передаются в модуль раскладывания матрицы 173 для дальнейшего их решения.
На ФИГ. 2-5 показана диаграмма электродинамики. Так, на ФИГ. 2 - ФИГ. 5 показаны логические циклы:
1. первый цикл инициализации, содержащий в себе системы инициализации симулятора (в частности, по крайней мере, одного модуля с описанием всех элементов электродинамики и регистрации элементов, причем для каждого элемента задаются свои параметры для инициализации, например, для резисторов - сопротивление), математических моделей нелинейных элементов, визуализации электронных компонентов и менеджера создания и удаления электронных компонентов и их соединений, а также, обработку пользовательского ввода и начало итерации для времени;
2. система (в частности, модуль 173), реализующая описываемый в настоящем изобретении способ, осуществляет первичный анализ схемы или проверяет на изменения существующую схему (в частности, осуществляется проверка изменений соединений между элементами, свойства элементов), и в соответствии с этим определяется дальнейший блок процессов (если, например, произведен обрыв цепи - необходимо заново считать контуры цепи и строить системы уравнений).
3. при первичном запуске или после изменений (изменений структуры схемы, например, при добавлении/удалении элемента, или если был замкнут разомкнут ключ) в схеме подключается подсистема (система, в частном случае, запускается процесс) построения узлов схемы (в частности, осуществляется поиск контурных токов для построения системы уравнений). Система, реализующая описываемый в настоящем изобретении способ или, по крайней мере, его часть, формирует схему узлов и исключает из расчета проводники (Убираются все проводники, т.к. все проводники с нулевым сопротивлением) с нулевым сопротивлением, как показано на ФИГ. 4. Так, упомянутое исключение осуществляется модулем раскладывания матрицы 163, осуществляющим подготовку системы уравнений для решения уравнения методом Гаусса. Так, каждому элементу присваивается свой идентификатор коннектора. Во время расчетов коннекторам, соединенным проводами, временно присваивается одинаковый идентификатор, а сами провода убираются из расчетов (временно). Далее осуществляется поиск точек с нулевым потенциалом и заданным напряжением, так, осуществляется обход схемы и поиск возможного пути от элемента к источнику ЭДС или заземлению. Источники проверяются на наличие заземления. Так, в частном случае, соединения между элементами схемы (по сути) являются графом, элементы схемы могут пропускать через себя ток, в этом случае считается что через них может пойти ток. Если ток пойти может ведется поиск пути до известного потенциала (источника ЭДС или заземления). В частности, осуществляется обход графа. Если заземления не было, то создается элемент «земля», который создается как один из элементов. Также как резистор или любой другой элемент. Это элемент с известным потенциалом, равным нулю («0»). Иначе осуществляется шунтирование нуля любого источника напряжения на виртуальный ноль («земля»), относительно которого осуществляются расчеты. Далее выявляются участки цепи, которые не имеют косвенной связи с землей, и осуществляется их шунтирование с виртуальным нулем. Для выявления чего осуществляется обход элементов, проверяется соединение между элементами, есть ли элементы, у которых не задан потенциал, например, если резистор ни к чему не подключен, оба его коннектора имеют «неизвестный» потенциал. Информация о подключенных, но не участвующих в расчетах, проводниках сохраняется в хранилище чанных (в частности, в базе данных), связанным с модулем хранения данных 135 или являющимся частью модуля хранения данных 135, поскольку в частном случае, только данная информация выбрасывается из расчетов (не участвует в расчетах). По окончании расчетов (в частности, всех расчетов) в каждый проводник передается информация какой ток по нему протекает. Далее информация о каждом элементе вносится в матрицу системы линейных алгебраических уравнений (СЛАУ) для дальнейших расчетов (в частности для решения уравнение, и далее - вычисления состояния приборов на основе этого решения) в отдельном модуле, например, в модуле, осуществляющем решение уравнений, в частности системы линейных уравнений/СЛАУ, модулем симуляции взаимодействия объектов виртуального пространства 125. Перед передачей данных (информации) выявляются ошибки, как описано в рамках настоящего изобретения. И если они найдены, то симуляция, осуществляемая модулем симуляции взаимодействия объектов виртуального пространства 125 (с использованием модуля раскладывания матрицы 163, модуля формирования и построения узлов схемы 173; так, модуль симуляции взаимодействия объектов виртуального пространства 125 получает на вход данные из модуля раскладывания матрицы 163 и решает систему уравнения; модуль формирования и построения узлов схемы 173 готовит уравнения для модуля раскладывания матрицы 163), останавливается. После остановки симуляции пользователь может либо сбросить симуляцию и перезапустить ее из исходного для приборов состояния. Пока он это не сделал - симуляция остановлена. Так, пользователь может добавлять и удалять приборы, изменять их настройки, однако, в частном случае, сама симуляция в это время не осуществляется, поскольку приостановлена (на "паузе" по ошибке). В случае если ошибок найдено не было, вся информация (информация о токах, известных напряжениях, сопротивлениях и прочих параметров системы) передается в модуль раскладывания матрицы 163 для дальнейших соответствующих расчетов.
4. модулем раскладывания матрицы 163 осуществляется разложение матрицы для дальнейших вычислений (решения уравнения), а также проверяются условия вырожденности матрицы, как описано в рамках настоящего изобретения. Так, сначала проверяются соединения между элементами. На основе этих данных осуществляется построение контуров. По этим контурам строятся системы уравнений, которые содержат данные: 1) информация об источниках напряжения; 2) информация об элементах с нулевым потенциалом; 3) с информацией об элементах (их характеристики). Далее строятся матрицы для решения уравнений. Эти матрицы упрощаются, и проверяются на вырожденность.
Далее осуществляется решение системы уравнений. Далее осуществляется запуск процесса решения систем линейных уравнений методом Гаусса, как описано в рамках настоящего изобретения. И каждый элемент проходит установку значения напряжения на каждом узле элемента (шаг 245, ФИГ. 3) и токов на каждом узле элемента (шаг 248, ФИГ. 3). В этом модуле (модуле раскладывания матрицы 163) в конце работы цикла в модуль симуляции взаимодействия объектов виртуального пространства 125 и в модуль предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130 отправляются данные об элементах (информация о напряжениях и токах во всех соединениях), чтобы отразить изменения напряжений и токов в этой единице времени. В случае если пользователь внес изменения в схему, осуществляется передача данных о полученных новых данных, в том числе об изменении схемы, в модуль формирования и построения узлов схемы 173 (п.3). Система вновь обрабатывает данные и сводит к матрице, которую возвращает обратно в модуль раскладывания матрицы 163 (п.4). Так, сначала обсчитывается набор данных за кадр, далее обрабатывается пользовательский ввод, далее обсчитывается следующий пул данных. Расчеты в зависимости от производительности вычислительного устройства (на котором выполняется способ, описанный в рамках настоящего изобретения) осуществляются в среднем от 20 до 60 раз в секунду. Так, модуль формирования и построения узлов схемы 173 позволяет построить связи между элементами, а также определить какие части схемы известны, а какие необходимо рассчитывать. К примеру, если удалить какой либо провод, модуль формирования и построения узлов схемы 173 перестроит схему, эта информация передается в модуль раскладывания матрицы 163, который по этим данным построит систему уравнений и будет ее решать.
Описанное выше, изложено ниже в виде шагов.
В шаге 203, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, по крайней мере, модулем инициализации 153 и модулем окружающей среды 145, а также может осуществляться модулем раскладывания матрицы 163 и модулем формирования и построения узлов схемы 173) осуществляется инициализация симулятора, а также настройка размеров итераций тика времени, а также осуществляется инициализация математических моделей (в частности, вольт-амперных характеристик элементов) нелинейных элементов.
Так, в шаге 203 инициализируются классы, которые отвечают за расчеты, в частности, осуществляется запуск модуля, осуществляющего общие расчеты для всех элементов схемы (расчеты электрических цепей) каждый цикл итерации.
В шаге 206, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется инициализация модуля визуализации электронных компонентов 130, по крайней мере, одним из модулей системы, в частности модулем инициализации 153 и может осуществляться самим модулем визуализации электронных компонентов 130.
В шаге 209, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор осуществляется инициализация модуля создания и добавления объектов виртуального пространства 105 (в частности, менеджера создания и удаления электронных компонентов и их соединений), по крайней мере, одним из модулей системы, в частности, модулем инициализации 153 и самим модулем создания и добавления объектов виртуального пространства 105, так, осуществляется настройка компонентов, которые отвечают за создание и удаление элементов и следят за связями между элементами. Так, например, при удалении элемента, будут удалены все его провода-связи с другими элементами.
В шаге 218, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем задания параметров взаимодействия объектов виртуального пространства 115, модулем управления объектами виртуального пространства и взаимодействия между объектами виртуального пространства 120, модулем задания параметров объектов виртуального пространства 110, модулем инициализации 153) обработка пользовательского ввода. Так, пользовательским вводом могут являться данные, вводимые пользователем с использованием средств ввода данных, в частности, информация с периферийных устройств, например, компьютерной мыши, клавиатуры, тач-панелей (от англ. touch касание, прикасаться), экранов мобильных устройств и т.д. Шаг 218 может осуществляться параллельно (в частности, одновременно), по крайней мере, с одним (или несколькими) любым другим описанным шагом.
В шаге 212, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, запускается (по крайней мере, одним из модулей системы, в частности, модулем симуляции взаимодействия объектов виртуального пространства 125, модулем раскладывания матрицы 163) итерационный цикл симуляции и осуществляется начало итерации для времени t. Так, симуляция осуществляется короткими (маленькими) итерациями. Минимальная единица времени задана равной 0.0005 секунды, на каждой итерации осуществляется вычисление (расчет) состояния системы относительно предыдущего известного состояния, где t - текущий момент времени, t+0.0005 следующий, t-0.0005 предыдущий.
В шаге 215, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) проверка является ли схема только что сформированной (созданной, составленной) или измененной, т.е. проверяется, были ли внесены в схему изменения или схема является новой (для которой необходимо осуществлять первичный анализ схемы). Если в шаге 215 установлено, что изменение было, то осуществляется переход к шагу 254, в противном случае осуществляется переход к шагу 233.
В шаге 233, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163) LU-разложение матрицы для СЛАУ.
В шаге 236, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163) проверка вырожденности упомянутой матрицы.
В шаге 239, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163) решение систем линейных уравнений методом Гаусса.
Для каждого элемента (242), выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130 и модулем раскладывания матрицы 163) обработка (в цикле) результатов вычислений электрической цепи для каждого элемента, в том числе для последующей визуализации этих изменений у всех соответствующих элементов, Если элементы закончились, итерация вычисления уравнения заканчивается.
Так, в шаге 245, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130) установка значения напряжения на узле элемента.
В шаге 248, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130) установка значения токов на каждом узле элемента.
В шаге 251, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130) «проброс событий» в элементы об изменениях в тике симуляции (вызов события изменения состояния элемента схемы). В частном случае, осуществляется в момент отрисовки (визуализации, предъявления) изменений. Сначала осуществляются расчеты электрической цепи, в момент, когда готовится кадр для отрисовки этих изменений, вызываются события, которые оповещают визуальные компоненты о необходимости обновить свои внешние параметры. Например, если сила тока в светодиоде на момент отрисовки достаточная для свечения, то он начинает визуально светиться. Далее осуществляется возврат к шагу 242.
Так, как показано на ФИГ. 3, снова и снова осуществляется считывание изменений для следующих моментов времени, до тех пор пока симуляция не остановлена.
В шаге 254, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) построение узлов схемы, в том числе осуществляется исключение из расчета проводников с нулевым сопротивлением.
В шаге 257, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) поиск точек с нулевым потенциалом, относительно которых осуществляется дальнейший расчет. Источники с нулевым потенциалом выступают в роли элементов, значения напряжения которых являются константами в уравнении.
В шаге 260, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173, модулем расчета логической модели 140) поиск точек с заданным напряжением, относительно которых ведется дальнейший расчет. Источники напряжения и земля выступают в роли элементов, значения напряжения которых являются константами в уравнении. Т.е. заземленные элементы в местах заземления имеют нулевой потенциал, а те которые напрямую подключены к ЭДС -значения напряжения на ЭДС.
В шаге 263, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) проверка того факта, имеет ли заземление какой-нибудь (в частности, хотя бы один) источник напряжения. Если в шаге 263 установлено наличие заземления, то осуществляется переход к шагу 269, в противном случае осуществляется переход к шагу 266.
В шаге 266, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) создание элемента «земля», относительно которого осуществляются расчеты (так, в уравнении будет добавлен элемент, потенциал которого заранее известен и будет равен нулю), после чего осуществляется переход к шагу 272
В шаге 269, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) шунтирование нуля всех источников напряжения на виртуальный ноль («заземление», которое используется для того, чтобы было известно относительно какого потенциала ведется расчет), относительно которого осуществляются расчеты, после чего осуществляется переход к шагу 272.
В шаге 272, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем формирования и построения узлов схемы 173) выявление участков цепи, которые не имеют косвенной связи с землей, и осуществляется их шунтирование с виртуальным нулем, как только будет установлено, что необходимо это шунтирование. Если виртуальный ноль уже был создан, все остальные элементы шунтируются к нему же. Так, осуществляется проверка того, что до земли есть путь, такие элементы как ключ могут возвращать информацию о том, что они разомкнуты. Если ключ был единственным элементом который соединял элемент с землей и больше нет других элементов с заданным потенциалом, то будет получена информация о том, что этой связи нет.
В шаге 275, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем хранения данных 135, модулем формирования и построения узлов схемы 173) сохранение информации о подключенных проводниках, которые не участвуют в расчетах. Так, каждый элемент добавляется в список элементов, каждый проводник добавляется в этот же список. В расчетах проводники не участвуют, участвуют только элементы.
В шаге 278, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163) построение системы линейных уравнений (СЛАУ), а также осуществляется внесение информации о параметрах элементов, которые будут использованы в решении уравнений, в матрицу СЛАУ, упомянутую выше.
В шаге 281, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163, модулем формирования и построения узлов схемы 173) выявление ошибок в схеме. Так, осуществляется проверка того факта, что имеются так называемые «петли» - повторения участков соединения без сопротивления, также проверяется наличие подключенных источников напряжения параллельно, а также подключение конденсаторов параллельно.
В шаге 284, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется (по крайней мере, одним из модулей системы, в частности, модулем раскладывания матрицы 163, модулем формирования и построения узлов схемы 173, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130) проверка, выявлены ли ошибки в шаге 281, и, если да, то осуществляется остановка симуляции. Если ошибки не найдены, то осуществляется переход к шагу 233.
На ФИГ. 6 показан процесс обработки пользовательского ввода (ввода данных пользователем) и его взаимодействие с модулем, который осуществляет расчеты, в частности, с модулем раскладывания матрицы 163. Так, ФИГ. 6 иллюстрирует цикл обработки пользовательского ввода и его влияние на электрическую схему и состояние электронных компонентов.
В шаге 606, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется обработка пользовательского ввода модулем задания параметров объектов виртуального пространства 110. Так, пользовательским вводом могут являться данные, вводимые пользователем с использованием средств ввода данных, в частности, информация с периферийных устройств, например, компьютерной мыши, клавиатуры, тач-панелей (от англ. touch касание, прикасаться), экранов мобильных устройств и т.д.
Далее, в шаге 616, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, модулем задания параметров объектов виртуального пространства 110 осуществляется создание новых элементов, например, трехмерных моделей и связанных с ними описания, в частности которые служат средствами визуализации проходящих процессов (в рамках проведения работы). Так, создание новых элементов может являться процессом, когда пользователь создает новый элемент и может либо сохранить его, что является фактом, подтверждающим создание нового элемента, либо отказаться от создания элемента, т.е. когда факта, подтверждающего создание нового элемента, нет.
Далее, в шаге 626, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, модулем задания параметров объектов виртуального пространства 110 осуществляется проверка того факта, был ли создан новый элемент. В частном случае осуществляется анализ схемы и проверка на изменения существующей схемы. Так, каждый элемент может проверяться по серии (набору) условий, по которым он может быть создан или нет. Если элемент не удовлетворяет условиям создания, то не создается. Если элемент удовлетворяет всем условиям, то элемент создается. Таким образом, пользователю может быть продемонстрировано, в частности, модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130, что созданный объект участвует в расчетах (системы). Так, если в шаге 626 было определено, что не был создан новый элемент, то в шаге 656 осуществляется создание и/или удаление проводов для соединения элементов. В противном случае (если в шаге 626 было определено, что был создан новый элемент), то в шаге 636 осуществляется редактирование выделенных элементов. Так, пользователь может выделять и изменять элементы схемы. При выделении элементов пользователю предъявляется окно редактирования параметров элементов. Эти параметры пользователь может изменять, например, менять емкость конденсаторов или мощность лампочек накаливания и т.д.
В шаге 646, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется проверка того факта, повлияло ли на анализ метода узловых потенциалов изменение параметров, в частности, влияли ли действия пользователя на систему уравнений. Если в результате действий пользователя были изменены параметры элементов и это влияет (повлияет) на расчеты, то осуществляется заново расчет потенциалов и построение уравнений. Если изменение параметров не повлияло на анализ метода узловых потенциалов, то в шаге 656 осуществляется выставление флага (маркера) для осуществления анализа схемы и осуществляется анализ схемы модулем формирования и построения узлов схемы 173.
Если в шаге 646, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, было установлено, что изменение параметров повлияло на анализ метода узловых потенциалов, то осуществляется переход на шаг 658.
В шаге 658, выполняемом процессором, посредством выполнения (в частности, с использованием) хранящихся в памяти машиночитаемых инструкций, в том числе перенесенных на, по крайней мере, один сопроцессор или предоставляемый в сопроцессор, осуществляется создание и/или удаление соединений, например, проводов для соединения элементов, и в шаге 656 осуществляется выставление флага (маркера) для осуществления анализа схемы, а также в шаге 666 осуществляется обновление модуля визуализации элементов схемы, который может являться модулем предъявления объектов виртуальной среды, взаимодействия объектов виртуальной среды и результатов взаимодействия объектов виртуального пространства 130 или его частью, в том числе после получения, по крайней мере, одного события изменения параметров напряжений и токов в шаге 676, и осуществляется возврат к шагу 606. После того, как получена информация о состоянии системы, эта информация поступает во все элементы схемы, а оттуда - в визуальное представление этих элементов (и отображается на дисплеях измерителей и т.д.). Упомянутое обновление модуля включает обновление данных, хранящихся в модуле визуализации элементов схемы или связанных с ним (генерируемых, вычисляемых, передаваемых в него и т.д.). Так, у элементов обновляются изменения позиции в зависимости от пользовательского ввода, изменения состояния соединений, характеристик объектов (элементов), отображаются новые созданные и/или измененные элементы, удаляются удаленные элементы и т.д.
На ФИГ. 7 показан пример вычислительной (компьютерной) системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера, включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.
Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.
Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.
Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.
Различные программные модули, включая операционную систему 35, могут быть сохранены на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.
Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.
Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.
Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.
Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.