Методы построения сервис-ориентированных систем автоматизации схемотехнического проектирования тема диссертации и автореферата по ВАК РФ 05.13.12, кандидат наук Ахмад Алтаиб Давод
- Специальность ВАК РФ05.13.12
- Количество страниц 170
Оглавление диссертации кандидат наук Ахмад Алтаиб Давод
Введение
Глава 1. Структура клиент-серверных схемотехнических САПР
1.1. Основные принципы построения децентрализованных САПР с использованием сетевых служб
1.2. Построение сетевых служб децентрализованных схемотехнических САПР
1.2.1. Построение сетевых служб Java
1.2.2. Построение сетевых служб C#
1.3. Методика разработки приложений клиента децентрализованных схемотехнических САПР
1.4. Выводы по главе
Глава 2. Методы разработки сетевых служб для решения стационарных задач схемотехнического проектирования
2.1. Математическое и программное обеспечение сетевых служб для моделирования нелинейных электронных схем
2.2. Математическое и программное обеспечение сетевых служб для моделирования систем в частотной области
2.2.1. Построение сетевых служб для расчета частотных характеристик линейных электронных схем
2.2.2. Построение сетевых служб для расчета передаточных функций линеаризованных электронных схем
2.3. Выводы по главе
Глава 3. Методы построения сетевых служб для расчета переходных процессов
3.1. Расчет переходных процессов на основе уравнений состояния
3.2. Расчет динамического режима на основе дифференциально-алгебраических уравнений
3.3. Методика построения сетевых служб на основе дискретных моделей
компонентов
3.4. Выводы по главе
Глава 4. Методы построения сетевых служб для расчета чувствительности электронных схем к изменению их параметров
4.1. Проектирование электронных устройств для работы в условиях внешних воздействий
4.2. Методы построения сетевых служб для расчета нестабильности стационарного режима работы электронных схем
4.2.1 Сетевые службы для расчета нестабильности стационарного
режима методом дифференцирования
4.2.2. Сетевые службы для расчета чувствительности переменных стационарного режима на основе теоремы Теллегена
4.3. Расчет чувствительности схемных функций к вариации параметров и внешних воздействий
4.4. Выводы по главе
Заключение
Список литературы
Приложение
П1. Листинг 1. Сетевая служба для расчета чувствительности передаточных функций WebService VARY
П2. Акты о внедрении
Рекомендованный список диссертаций по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК
Исследование и разработка методов построения распределенных систем автоматизированного проектирования на основе технологии веб-сервисов2013 год, кандидат технических наук Анисимов, Денис Андреевич
Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования2018 год, кандидат наук Васильев Сергей Алексеевич
Методы построения высокопроизводительных схемотехнических САПР2019 год, кандидат наук Абу Хазим Монзер Мохаммед Салем
Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики2016 год, кандидат наук Алмаасали Саид Абдо Али
Математическое и программное обеспечение многоуровневого моделирования в САПР связной аппаратуры1998 год, кандидат технических наук Исса Мохамад Асаад
Введение диссертации (часть автореферата) на тему «Методы построения сервис-ориентированных систем автоматизации схемотехнического проектирования»
Введение
Значительная стоимость покупного программного обеспечения и большие временные и трудовые ресурсы, требуемые для разработки современных интегрированных САПР, делают весьма актуальной задачей разработку новых подходов к созданию собственных схемотехнических САПР. При реализации таких подходов следует, прежде всего, отказаться от построения САПР, структура которых отличается многофункциональностью, так как в процессе решения реальных конкретных задач проектирования такие системы используются весьма неэффективно. Это объясняется тем, что из общего перечня входящих в них подсистем в реальных условиях проектирования реальных задач в каждом подразделении обычно используется незначительная часть подсистем, которые требуются для использования в конкретной задаче проектирования.
Поэтому актуальной задачей при разработке современных САПР является построение систем, которые характеризуются децентрализованной структурой с использованием Интернет-технологий, при помощи которых выполняется информационный обмен данными в системе с распределенной архитектурой. Каждая часть такой системы решает фиксированную часть автоматизированного проектирования, при этом все подсистемы могут разрабатываться различными коллективами пользователей, решающих общую задачу. Приложения системы с распределенной структурой являются независимыми и в процессе своей эксплуатации выполняют общую задачу создания новых объектов в некоторой предметной области, для которой создана система.
Главным условием, которое должно выполняться для возможности построения такой децентрализованной системы является унификация и согласование входящих в нее подсистем при обмене данными между клиентом и сервером. В этом случае отдельные части системы могут функционировать в различных узлах сети, откуда они доставляются
разработчикам электронной аппаратуры.
Сравнительная оценка способов объединения отдельных подсистем показывает, что такую задачу целесообразнее всего решать путем организация доставки рабочих методов системы с распределенной архитектурой при помощи сетевых служб.
Технология сетевых служб позволяет использовать описание взаимодействий, а также интерфейсов, при помощи широко распространенного языка XML, что предоставляет широкие возможности для разработки и эксплуатации системы. Построенная таким образом система позволяет в дальнейшем реализовать изменение программного обеспечения для решения новых задач проектирования объектов. Главным условием для реализации такой возможности является сохранение выбранного при создании системы интерфейса. При этом оказывается возможным функцинирование сетевых служб на произвольной платформе и можно легко адаптировать разработанные ранее системы к новым условиям решения проектных з адач.
В системе, которая имеет клиент-серверную архитектуру, все вычислительные операции, связанные с проектированием объектов, выполняются сетевыми службами. Подготовка данных для функционирования сетевых служб осуществляется при помощи приложений, функционирующих на клиентской стороне. Такие приложения организуют посылку подготовленных ими данных на сетевую службу и отображают в требуемой форме возвращаемые этой службой результаты. В общем случае программное обеспечение клиентской стороны можно реализовать в виде приложений с консольной структурой или как Windows-приложения. Возможна также реализация работы клиента с использованием сетевых приложений.
Приложения клиента с консольной структурой являются приложениями самого простого вида, не имеющего графической поддержки для эффективной организации диалогового режима с пользователем. Вместе
с тем, использование таких приложений может в ряде случаев оказаться полезным, в частности для реализации ввода требуемых данных с планшетных систем, которые имеют ограниченную рабочую площадь экрана.
Windows-приложения обеспечивают графические средства для организации диалога пользователя с сетевыми службами. Приложения с консольной структурой, так же как и Windows-приложения, располагаются на локальном компьютере пользователя. Следует особо подчеркнуть, что взаимодействие с сетевыми службами для решения одной и той же задачи проектирования может быть реализовано при помощи различных клиентских приложений, которые характеризуются наиболее совершенными, с точки зрения пользователя, способами организации диалоговой работы клиента с системой.
Построение клиентских приложений в виде сетевых структур предоставляет возможность размещения в сети Интернет всего программного обеспечения, требуемого для организации диалога пользователя с системой. Достоинством сетевых приложений является возможность ввода данных для функционирования клиент-серверной системы через браузер пользовательского компьютера, некоторым недостатком следует считать дополнительные затраты времени для ввода данных при проектировании объектов.
Для всех приложений клиентской стороны вызов сетевых служб осуществляется одинаковым образом - путем передачи на службу имени вызываемого метода и списка передаваемых аргументов. Для каждой сетевой службы возможно одновременное использование различных способов построения клиентских приложений. В процессе развития системы клиентские приложения могут быть модифицированы, что позволяет учесть новые требования к организации диалога пользователя с системой.
Построенная таким образом распределенная система обеспечивает инвариантность к выбранной платформе и любому позволяющему создавать ХМЬ-документы языку программирования. Это позволяет организовать
взаимодействие с сетевыми службами распределнной системы из любой другой системы.
Таким образом, положенная в основу клиент-серверной сервис-ориентированной системы проектирования унификация, дает возможность обеспечить соединение созданных на произвольных платформах приложений, что приводит к возможности работы системы в средах, отличающихся от среды, в которой проводилась разработка системы. Цель диссертационной работы.
Целью диссертационной работы является исследование и разработка методики построения клиент-серверных схемотехнических САПР на основе технологии сетевых служб.
Для реализации поставленной цели необходимо решить следующие задачи:
1. Разработать методику реализации сетевых служб для клиент-серверных схемотехнических САПР, инвариантных к рабочей платформе.
2. Построить общую методику реализации клиентских приложений различных типов для клиент-серверных схемотехнических САПР.
3. Выполнить исследование и реализацию методики построения сетевых служб для моделирования частотных характеристик электронных схем.
4. Исследовать и реализовать методы построения сетевых служб для моделирования электронных схем в стационарном режиме.
5. Провести исследование общих методы построения сетевых служб для моделирования динамических характеристик нелинейных схем.
6. Выполнить исследование и реализацию методики создания сетевых служб для расчета чувствительности схем при изменении их параметров и внешних воздействий.
Объектом исследования являются клиент-серверные системы автоматизированного проектирования электронных схем с использованием сетевых служб.
Предметом исследования являются методы построения
математического и программного обеспечения клиент-серверных схемотехнических САПР.
Новые научные результаты
1. Построена методика разработки самодокументируемых сетевых служб .NET для клиент-серверных схемотехнических САПР.
2. Предложена структура и технология формирования расширенного WSDL-документа сетевых служб .NET, обеспечивающие унифицированное описание компонентов моделируемой схемы и возвращаемых результатов расчета.
3. Разработана методика построения программного обеспечения клиентской стороны клиент-серверных схемотехнических САПР на основе расширенного WSDL-документа.
4. Выполнено исследование и разработана методика построения сетевых служб . NET для моделирования частотных характеристик линеаризованных электронных схем на основе встроенного класса для работы с комплексными данными.
5. Разработаны методы построения сетевых служб .NET для моделирования стационарных и динамических характеристик нелинейных схем.
6. Построена методика создания сетевых служб .NET для моделирования электронных схем при изменении их параметров и внешних воздействий.
Практическая ценность результатов диссертационной работы
1. Структура расширенного WSDL-документа сетевых служб .NET обеспечивает возможность независимой разработки клиентских приложений схемотехнической САПР.
2. Разработанная методика построения сетевых служб .NET клиент-серверных схемотехнических САПР позволяет обеспечить платформенную независимость распределенной системы.
3. Разработанная методика реализации пользовательского интерфейса
клиент-серверных схемотехнических САПР позволяет реализовать модернизацию интерфейсных средств организации диалога пользователя с системой.
Результаты диссертации используются в организации «Модем» и внедрены на практических занятиях в СПбГЭТУ, о чем имеются соответствующие акты. Выносимые на защиту положения
1. Общая архитектура клиент-серверной САПР для автоматизированного проектирования электронных схем.
2. Методика построения сетевых служб .NET схемотехнических САПР на основе унифицированной структуры передаваемых методам сетевых служб аргументов.
3. Методика построения локальных и сетевых приложений клиентской стороны клиент-серверных схемотехнических САПР на основе расширенного WSDL-документа.
Достоверность результатов подтверждается материалами опытной эксплуатации разработанного программного обеспечения при взаимодействии сетевых служб и клиентских приложений в различных режимах работы, а также апробацией результатов исследований при обсуждении докладов на международных конференциях и на научно-технической конференции университета. Публикаций по теме диссиртации
Содержание исследований диссертации опубликовано в 14 научных работах, среди которых 7 статей в ведущих рецензируемых изданиях, рекомендованных в действующем перечне ВАК, 6 работ в других изданиях, 1 Свидетельство на программу ЭВМ(№2019613595). Структура и объем диссертации
Текст диссертационной работы состоит из введения, четырех глав с выводами по каждой главе, заключения и библиографического списка, содержащего 76 источников. Диссертационная работа изложена на 170
страницах текста, и содержит 18 рисунков и 7 таблиц.
В первой главе рассматриваются методы создания сетевых служб для клиент-серверных систем. Делается вывод, что при разработке систем с децентрализованной структурой на основе использования Интернет-технологий, каждая часть такой системы решает фиксированную часть общей задачи проектирования, при этом все подсистемы могут разрабатываться различными коллективами пользователей. Приложения системы с распределенной структурой являются независимыми и в процессе своей эксплуатации выполняют задачу создания новых объектов в некоторой предметной области, для которой создана система. Главным условием, которое должно выполняться для возможности построения такой децентрализованной системы является унификация и согласование входящих в нее подсистем при обмене данными между клиентом и сервером. В этом случае отдельные части системы могут функционировать в различных узлах сети, откуда они доставляются разработчикам электронной аппаратуры.
Технология сетевых служб позволяет использовать описание взаимодействий, а также интерфейсов, при помощи широко распространенного языка XML, что предоставляет широкие возможности при реализации децентрализованных систем. Построенная таким образом система позволяет в дальнейшем реализовать изменение своего содержания для выполнения новых задач проектирования объектов. Главным условием для этого является неизменность реализованных при создании системы интерфейсных средств. За счет этого реализуется надежная работа сетевых служб в используемой среде и появляется возможность модифицировать созданные ранее приложения к новым условиям проектирования разрабатываемых устроств.
В децентрализованной САПР, которая имеет клиент-серверную архитектуру, все вычислительные операции выполняются сетевыми службами. Подготовка данных для функционирования сетевых служб осуществляется при помощи приложений, функционирующих на клиентской
стороне. Такие приложения организуют посылку подготовленных ими данных на сетевую службу и отображают в требуемой форме возвращаемые этой службой результаты. В общем случае реализацию подсистем клиентской стороны можно реализовать в виде приложений с консольной структурой или как Windows-приложения. Возможна также реализация работы клиента на основе сетевых клиентских приложений.
В работе отмечается, что для надежной работы сетевых служб и клиентских приложений в неоднородных средах, необходимо отказаться от передачи информации между этими приложениями при помощи многомерных массивов. Такая задача может быть решена путем преобразования двумерных массивов в унифицированные одномерные массивы с последующей передачей созданных унифицированных структур в качестве аргументов при вызове требуемой сетевой службы. Аналогичную технологию преобразования к унифицированной форме многомерных массивов в сетевой службе необходимо реализовать при возвращении результатов работы сетевой службы на клиентскую сторону.
В работе отмечается, что хотя при построении сетевой службы формируется документ WSDL, содержащий определенную информацию о сетевой службе, построение клиентского приложения пользователями, не участвующими в создании сетевой службы, практически невозможно. Это объясняется тем, что созданный при построении веб-службы стандартный документ WSDL не содержит полной информации, необходимой для разработки клиентского приложения. Причина такой ситуации заключается в том, что в общепринятой форме документа WSDL нет информации о технологии приведения многомерных массивов клиентского приложения к используемой унифицированной форме массивов, что требуется для обеспечения гарантированного взаимодействия между клиентским приложением и сетевой службой в неоднородных средах. Это обстоятельство создает серьезные препятствия для создания и дальнейшего развития сервис-
ориентированных систем автоматизированного проектирования электронных схем.
В диссертационной работе указанная проблема решается организацией в сетевой службе технологии самодокументирования путем построения расширенного WSDL-документа. Для реализации такой технологии предлагается использовать аргумент Discription атрибута WebServices для рабочего метода сетевой службы. В качестве значения аргумента Discription предлагается принять некоторое текстовое значение, которое должно содержать дополнительную информацию, на основании которой можно выполнить независимое построение клиентских приложений. При этом содержание аргумента Discription отобразится в расширенном WSDL-документе в разделе documentation, что дает возможность получить необходимую полную информацию о моделируемой схеме и выполнить построение клиентского приложения независимо от разработчика сетевой службы.
В соответствии с изложенными подходами к построению сетевых служб .NET в диссертации разработана методика построения клиентских приложений как в виде Windows-приложений, так и в форме сетевых приложений. Windows-приложения позволяют наиболее полно реализовать графические возможности системы и построить требуемые для организации диалога интерфейсные средства. Сетевые приложения помимо этого предоставляют возможность разместить его в сети Интернет, что обеспечивает открытый доступ к клиентскому приложению.
В работе отмечается, что консольные приложения являются приложениями простейшего вида, их отличительной особенностью консольных приложений является отсутствие в них графического интерфейса. Вместе с тем, использование таких приложений может в ряде случаев оказаться полезным, в частности для реализации ввода требуемых данных с планшетных систем, которые имеют ограниченную рабочую площадь экрана. Windows-приложения предоставляют возможность
эффективно использовать графические средства и позволяют наилучшим образом организовать соответствующий интерфейс для реализации диалога клиентского и серверного приложений. Сетевые клиентские приложения предоставляют возможность расположить все используемое для диалогового взаимодействия программное обеспечение в сети. Открытый доступ к использованию системы через браузер любого типа, является значительным достоинством сетевых приложений, некоторым недостатком таких приложений следует считать дополнительные затраты времени, которое требуется для ввода полного описания разрабатываемой схемы.
Во второй главе рассматриваются методы разработки сетевых служб для решения задач расчета статического режима компонентов нелинейных схем и расчета частотных характеристик линеаризованных схем.
Основой для реализации таких задач является полученное в работе уравнение нелинейных схем, которое предлагается решать на основе схемотехнической интерпретации метода Ньютона-Рафсона
Линеаризация компонентов выполняется путем разложения в ряд Тейлора функциональных зависимостей нелинейных многополюсников.
Для выбора начального приближения в окрестности решения в работе используется метод продолжения решения по параметру источников и параметров схемы.
В работе отмечается, что моделирование в частотной области линеаризованных электронных схем возможно двумя различными способами: путем построения двух сетевых служб. Первая служба выполняет линеаризацию нелинейной схемы, а вторая решает задачу моделирования частотных свойств с использованием линеаризованных параметров, полученных от первой сетевой службы. Другим возможным решением является построение интегрированной системы на основе одной сетевой службы, которая решает задачу линеаризации, и затем выполняет расчет частотных характеристик линеаризованной схемы.
Хотя первый путь кажется весьма простым, использовать такой подход
в диссертационной работе не рекомендуется. Это объяснятся тем, что экономия времени не окупается значительным снижением надежности работы системы, поскольку вызов одной сетевой службы из другой вызвает возможное нарушение работы системы вследствие неизбежных отказов в работе сети, которые на клиентской стороне контролировать практически невозможно. В работе принят второй путь построения сетевой службы на основе интегрированной системы расчет частотных свойств. Такая система содержит программное обеспечение, которое сначала выполняет линеаризацию нелинейных компонентов и затем - моделирование частотных характеристик линеаризованной схемы.
В третьей главе рассматриваются методы построения сетевой службы для расчета динамических режимов нелинейных схем. Для явных методов интегрирования высших порядков за основу принята обобщенная итерационная формула, из которой вытекает выражение для группы явных методов Адамса-Бошфорта и для группы явных методов Гира.
В работе показано, что в случае, когда используются уравнения в нормальной форме Коши, расчет переходных режимов может быть наиболее просто проведен как при помощи явных методов, так и неявными методами. Однако явные методы характеризуются весьма низкой степенью устойчивости вычислительного процесса и поэтому их следует применять, только для расчета прогнозируемого значения при решении задачи интегрирования неявными методами.
В диссертационной работе делается вывод, что подход к решению задачи расчета динамического режима, основанный на решения уравнений, приведенных к нормальной форме Коши не следует рекомендовать. Это объясняется тем, что формирование уравнений в нормальной форме связано с построением ряда сложных топологических структур, что значительно усложняет построение программного обеспечения и увеличивает время расчета. Поэтому для построения сетевых служб, решающих задачи расчета динамического режима, наиболее эффективным методом решения является
использование алгебро-дифференциального уравнения моделируемой системы в неявной форме.
В диссертационной работе делается вывод, что при использовании математического описания в алгебро-дифференциальной форме наиболее целесообразным является методика дискретизации компонентов, основанная на подстановке значения требуемой производной в дифференциальные компонентные уравнения. Такой подход позволяет при построении сетевой службы для моделирования динамических процессов использовать заранее построенные дискретные модели, замещающие на каждом шаге расчета двухполюсные компоненты типа R и C, а также частотно-зависимые (инерционные) управляемые источники различных типов.
Программное обеспечение сетевой службы для расчета переходных характиристи моделируемых схем предусматривает выбор из всех базисных переменных некоторой совокупости дифференцируемых переменных. К таким пременным относятся все дифференцируемые переменные в уравнениях инерционных двухполюсных компонентов типа R, L, ^ а также все дифференцируемые переменные в уравнениях управляемых источников с частотно-зависимыми коэффициентами передачи.
При построении в координатном базисе расширенных узловых потенциалов математического описания моделируемой схемы в координатный базис включаются все составляющие вектора дифференцируемых переменных, а также составляющие, входящие в функциональные зависимости нелинейных компонентов схемы.
В работе показано, что при таком выборе переменных легко решаются задачи разгона вычислительного процесса. Особенно важным является тот факт, что на всех шагах работы программного обеспечения моделируемой схемы при таком подходе вычислительный процесс будет выполняться по унифицированной процедуре.
В четвертой главе рассматриваются методы построения сетевых служб для расчета электронных схем при изменениии их параметров вследствие
изменения условий работы или из-за неизбежного разброса технологических параметров при серийном изготовлении полупроводниковы.х компонентов. В диссертационной работе выполнена реализация и сравнительная оценка двух подходов к решению задачи: на основании дифференцирования уравнений схемы и на основании теоремы Теллегена.
Подход, основанный на дифференцировании уравнений, приводит к методу построения сетевой службы, выполняющему расчет векторной чувствительности всех переменных к вариации выбранного единственного параметра схемы. Возможен другой способ расчета нестабильности режима, основанный на применении чувствительности некоторой выбранной переменной к изменению всех параметров моделируемой схемы.
В диссертационной работе показано, что для моделирования электронных схем с целью определения чувствительности их на всех шагах работы программного обеспечения моделируемой схемы схемных функций к изменению параметров и внешних воздействий можно использовать выражения для чувствительности переменных, так как при s=1 они определяют соответствующие выражения для расчета чувствительности схемных функций. При этом следует полагать, что все нелинейные компоненты моделируемой схемы представлены в линеаризованной форме и, следовательно, схема является линейной. Кроме того, расчет чувствительности электронных схем в частотной области необходимо выполнять на основе комплексного типа данных.
Глава 1. Общая методика построения клиент-серверных схемотехнических САПР
1.1. Основные принципы построения децентрализованных САПР с использованием сетевых служб
Распределенной САПР называется система автоматизированного проектирования, отдельные приложения которой работают на разных компьютерах, использующих разные операционные платформы. Результаты работы распределенной системы автоматизированного проектирования воспринимаются пользователем таким же образом, как и в случае использования локального компьютера.
При интеграции автономных приложений в распределенную систему автоматизированного проектирования требуется сохранение определенных связей, обеспечивающих необходимые взаимодействия подсистем. Следовательно, в распределенной САПР должна обеспечиваться необходимая функциональность, одновременно допуская возможность изменения внутренней реализации интерфейсов объединяемых приложений.
Актуальной задачей при разработке современных САПР является построение систем, которые характеризуются децентрализованной структурой с использованием Интернет-технологий, при помощи которых выполняется информационный обмен данными в системе с распределенной архитектурой. Каждая часть такой системы решает фиксированную часть автоматизированного проектирования, при этом все подсистемы могут разрабатываться различными коллективами пользователей, решающих общую задачу. Приложения системы с распределенной структурой являются независимыми и в процессе своей эксплуатации выполняют общую задачу создания новых объектов в некоторой предметной области, для которой создана система.
Похожие диссертационные работы по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК
Исследование и разработка WEB-ориентированных САПР электронных схем2011 год, кандидат технических наук Мохсен Аяд Абдулазиз Али
Исследование и разработка программного и информационного обеспечений схемотехнических САПР со встроенным Интернет-браузером2010 год, кандидат технических наук Ларистов, Дмитрий Александрович
Исследование и разработка WEB-ориентированной базы данных сеанса проектирования для схемотехнических САПР2014 год, кандидат наук Мохаммед Хуссейн Ахмед Аль-Шами
Исследование и разработка интегрированных баз данных схемных компонентов для схемотехнических САПР2009 год, кандидат технических наук Мутаз Р. Ж. Абу Сара
Математическое и программное обеспечение схемотехнического проектирования на основе блочно-иерархического макромоделирования2018 год, кандидат наук Малина Анна Сергеевна
Список литературы диссертационного исследования кандидат наук Ахмад Алтаиб Давод, 2019 год
Список литературы
1. Мамонов С. С., Ионова И. В. Решение системы матричных уравнений при наличии линейной связи // Известия ТулГУ. Естественные науки. 2014. №2. C. 90-102.
2. Парамонов П. П., Гатчин Ю. А., Жаринов И. О., Жаринов О. О., Дейко М. С. Принципы построения отраслевой системы автоматизированного проектирования в авиационном приборостроении // Научно-технический вестник информационных технологий, механики и оптики. 2012. №6 (82). C. 111-117.
3. Тулупова Т. В. Автоматизация проектирования обучающих систем // Интернет-журнал Науковедение. 2013. №5 (18). C 1-8.
4. Анисимов, В. И., Скобельцын К. Б., Никитин А. В. Комплекс диалоговых пакетов моделирования аналоговых и цифровых электронных схем на IBM/PC // Автоматизированное проектирование в радиоэлектронике и приборостроении: межвуз. сб. - Л., 1991. - С. 3 - 6.
5. Анисимов В. И., Амахвр Ю. М. Чувствительность нелинейных систем к вариации параметров // Изв.СПБГЭТУ «ЛЭТИ». Сер. Информатика, управление и компьютерные технологии, - 2007. - Вып.2. - С. 22-26.
6. Шорников Ю. В., Достовалов Д. Н., Задворнов Д. С. Компьютерное моделирование дискретно-непрерывных систем инструментальными средствами // Известия вузов. Северо-Кавказский регион. Серия: Технические науки. 2013. №6 (175). C. 36-41.
7. Убайдуллаева Ш. Р. Графовое моделирование линейных непрерывных систем автоматического управления с запаздыванием // Современные материалы, техника и технологии. 2016. №2 (5). C. 197-201.
8. Гридин В. Н., Анисимов В. И., Осман А. А. Методы построения веб-служб. Net для распределенных систем автоматизации схемотехнического проектирования // Известия ЮФУ. Технические науки. 2015. №7 (168). C. 138-147
9. Арайс Е., Дмитриев В. М. Моделирование неоднородных цепей и систем на ЭВМ. //- М.: Радио и Связь, 1982. - 157с.
10.Зайченко Т. Н. Решение задач динамики электромеханических систем в среде автоматизированного моделирования Марс // Известия ТПУ. 2005. №4. С. 147-153
11.Нгуен В. Д., Сафонов В. О. Средства аспектно-ориентированного программирования для разработки Web-приложений в системе Aspect.NET // Вестник СПбГУ. Серия 10. Прикладная математика. Информатика. Процессы управления. 2011. №1. С. 85-105
12. Бесценный И. П., Султанкин Е. Н. Объектно-ориентированный анализ информационной системы для периодических изданий // МСиМ. 2011. №2 (23). С. 49-57.
13.Влах И., Сингхал К. Машинные методы анализа и проектирования электронных схем // монография / пер. с анг. - М.: Радио и связь, 1988. -560 с.
14. Крайнова Е. А. Теоретические аспекты паттерного программирования // Вестник ВУиТ. 2013. №2 (21). С. 82-90.
15. Терещенко А. А. Системы автоматизации проектирования // Вестник СибАДИ. 2009. №12. С. 60-65.
16. Першин В. А., Гугуев И. К., Ковалёв В. В. Функция чувствительности как критерий при диагностике технических систем методом подобия функционирования // Известия вузов. Северо-Кавказский регион. Серия: Технические науки. 2014. №3 (178). С. 16-19.
17.Гридин В. Н., Дмитревич Г. Д., Анисимов Д. А. Архитектура распределенных сервис-ориентированных систем автоматизированного проектирования // Известия ЮФУ. Технические науки. 2014. №7 (156). С. 51-58.
18.Гридин В. Н., Дмитревич Г. Д., Анисимов Д. А. Построение веб-сервисов систем автоматизации схемотехнического проектирования //
Информационные технологии и вычислительные системы - 2012. - №4. -С. 79-84.
19. Дей Н., Мандел Л., Райман А. Eclipse: Платформа Web-инструментов // монография / пер. с англ. - М.: КУДИН-ПРЕСС, 2008. - 688 с.
20. Плотко К. О., Багаева А. П. Анализ современных языков программирования // Актуальные проблемы авиации и космонавтики. 2015. №11. С. 600-602
21. Орлов А. И., Луценко Е. В. Системная нечеткая интервальная математика (сним) - перспективное направление теоретической и вычислительной математики // Научный журнал КубГАУ - Scientific Journal of KubSAU. 2013. №91. С. 163-215.
22. Куленко Н. А. Численные методы решения нелинейных уравнений как обучающий инструмент // Наука, техника и образование. 2015. №12 (18). С. 109-112.
23. Пушкарев М. С. Программа схемотехнического моделирования SwitcherCAD 3 // Компоненты и Технологии. 2009. №92. С. 100-106.
24. Достова А. А., Тынченко В. В. Анализ нововведений в объектно-ориентированном языке программирования Java // Актуальные проблемы авиации и космонавтики. 2014. №10. С. 312-313.
25. Зеленухина В.А. Разработка Интернет-ориентированных виртуальных лабораторий математического моделирования посредством разделения вычислительных и визуализационных задач // Информационные технологии, 2010. - №10. - С. 22 - 29.
26. Панюкова Т. А. Теория конечных графов и её приложения: математика или программирование? // Современные информационные технологии и ИТ-образование. 2011. №7. С. 165-173.
27. Мамонов С. С. Решение матричных уравнений // Вестник Рязанского государственного университета им. С.А. Есенина. 2009. №22. С. 115-136.
28.Озеркин Д. В., Русановский С. А., Бондаренко В. О. Автоматизация проектирования SPICE-моделей резисторных блоков Б19К с позиции температурной стабильности // Вестник ВГТУ. 2017. №4. С. 90-97.
29. Полях А. Н. Применение матриц и графов в расчетах систем электроснабжения // Наука и прогресс транспорта. Вестник Днепропетровского национального университета железнодорожного транспорта. 2012. №42. С. 133-137.
30. Яковлева М. С. Имитационное моделирование: подходы, этапы, существующие программные средства // Актуальные проблемы авиации и космонавтики. 2016. №12. С. 129-131.
31. Гавриленко С. Ю., Шитьков П. А. Использование языка хт1 для промежуточного представления программы // Вестник НТУ ХПИ. 2008. №24. С. 19-24.
32. Горохов В. Г. Логика и техника: от теории электрических цепей к наносистемотехнике // Логические исследования. 2012. №18. С. 97-126.
33. Алымбаев А. Т. Численные методы исследования краевых задач // Приволжский научный вестник. 2017. №4 (68). С. 12-18.
34.Жак С. В., Задорожный А. И. Модификации дифференциального уравнения модели Солоу и их анализ // Известия вузов. СевероКавказский регион. Серия: Естественные науки. 2006. №4. С. 8-15.
35. Кузнецов В. В., Кузнецова Н. А. Асимптотики решений дифференциального уравнения с вырождением // Известия МГТУ. 2013. №3 (17). С. 130-138.
36. Пахунов А. В. Языки программирования: классификация, особенности, критерии выбора // Современная наука. 2015. №4. С. 89-91.
37. Кочкаров А. А., Рахманов О. А. Новые задачи динамической теории графов // Новые информационные технологии в автоматизированных системах. 2014. №17. С. 314-318.
38.Ланкастер П. Теория матриц. // монография / пер. с анг. под ред. С.П. Демушкина. - М.: Наука, 1982. - 272 с.
39.Лавров В. В., Спирин Н. А., Бурыкин А. А., Рыболовлев В. Ю., Краснобаев А. В. Использование управляемого программного кода на платформе. Net Framework при разработке автоматизированной информационной системы анализа и прогнозирования работы доменного цеха // Известия ТПУ. 2011. №5. С. 92-97.
40. Фаттахов М. У. Сравнение основных аспектов современных подходов к разработке на Asp. Net: MVC и WebForms // ГИАБ. 2014. №S. С. 403-405.
41. Конкина М. С., Медведева С. Н. Сравнительный анализ графоаналитических методов исследования электрических цепей // Измерение. Мониторинг. Управление. Контроль. 2018. №2 (24). С. 19-25.
42.Абрамов О. В. Проектирование технических систем с элементами настройки // НиКСС. 2014. №2 (6). С. 51-55.
43. Агроник А. Ю., Талалаев А. А., Фраленко В. П., Хачумов В. М., Шишкин О. Г. Анализ систем проектирования технологических цепочек и процессов // Онтология проектирования. 2016. №3 (21). С. 255-269.
44. Гришин М. В, Павлов П. Ю., Плутахин В. В. Разработка системы автоматизированного проектирования универсальных сварочных приспособлений в условиях авиационного производства // Известия Самарского научного центра РАН. 2016. №4-6.
45.Вартанов С. П., Ермаков М. К. Применение статической инструментации байт-кода языка Java для динамического анализа программ // Труды ИСП РАН. 2015. №1. С. 25-38.
46. Ткачев Д. В. Графы и их применение при чрезвычайных ситуациях // Вестник науки и образования. 2019. №1-2 (55). С. 29-31.
47. Дудко О. Н., Нелюбина А. Д., Кожевникова Н. Ю., Хасанов А. Р. Обзор систем автоматизированного проектирования // Современные материалы, техника и технологии. 2015. №2 (2). С. 51-54.
48. Востриков А. В., Борисов Н. И. Разработка эффективного метода анализа эквивалентных электрических схем космических аппаратов, использующего редукцию и разреженность матриц моделей // Новые
информационные технологии в автоматизированных системах. 2012. №15. С. 113-120.
49. Разевиг В. Схемотехническое моделирование с помощью Micro-Cap 7// монография - М. : Горячая линия-Телеком, 2003. -368 с.
50. Морган С. Разработка распределенных приложений на платформе Microsoft .Net Framework // монография; пер. с англ. - М.: «Русская Редакция», 2008. - 608 с.
51. Гленн Д. Разработка клиентских веб-приложений на платформе Microsoft .Net Framework // монография; пер. с англ. - М.: «Русская Редакция», 2007. - 768 с.
52. Иванов В. А. К определению собственных значений в задачах математической физики // Вестник Казанского технологического университета. 2011. №8. С. 207-209.
53. Банщиков А. В., Ветров А. А., Иртегов В. Д., Титоренко Т. Н. Анализ электрических цепей средствами компьютерной алгебры в машиноведении // Современные технологии. Системный анализ. Моделирование. 2018. №4 (60). С. 46-54.
54. Симон Р. С# для профессионалов // монография / пер. с англ. С.Коротыгин [и др.]. - М.: Лори, 2005. - 1002 с.
55. Ярчук А. В. Операционные системы мобильных устройств // Вестник МГУП. 2015. №5. С. 72-74.
56. Зеленко О.В., Валеева Л.Р., Климанов С.Г. Обзор современных Web -технологий // Вестник Казанского технологического университета. 2015. №2. С. 354-356.
57. Костюков В. В., Канов Л. Н. Визуальное построение характеристических уравнений линейных электрических цепей // EiE. 2013. №6. С. 63-65.
58. Куроедов С. К., Светлов А. В. Реляционная модель и алгоритмы аппаратурного анализа характеристик электрических цепей // НиКа. 2013. №. 1 С. 36-39.
59. Грибкова Ю. В., Смирнов А. А. Практические аспекты математики // Проблемы Науки. 2016. №26 (68). С. 8-10.
60. Кантеров В.С., Казутов А.А., Ловчиков А.Н. Методы расчета, используемые в системах моделирования электронных схем // Актуальные проблемы авиации и космонавтики. 2011. №7. С. 360-361.
61. Михайлов Д.Д. Основы математического моделирования // Вестник Казанского технологического университета. 2015. №2. С 374-376.
62. Когут А. Т., Лаврухин А. А., Петров В. В. Автоматизация проектирования электротехнических систем на основе математического моделирования // Вестник СибАДИ. 2014. №3 (37). С. 79-83.
63. Фурсанов М. И., Дуль И. И. Основы автоматизированного проектирования электрической сети промышленного района // Энергетика. Известия высших учебных заведений и энергетических объединений СНГ. 2012. №5. С. 18-24.
64. Куликова Н. Н. Современное состояние и тенденции развития электронной промышленности в России // Теория и практика общественного развития. 2017. №12. С. 87-92.
65. Тиховод С. М. Усовершенствование итерационных методов решения систем нелинейных уравнений состояния магнитоэлектрических схем замещения // Електротехшка i електроенергетика. 2015. №1. С. 46-49.
66. Тарасик, В. П. Математическое моделирование технических систем // монография - Минск: Дизайн ПРО, 2004. - 639 с.
67. Троелсен, Э. Язык программирования C# 2005 и платформа .NET 2.0 // монография / пер. с англ. под ред. А.Г.Спивака. - М.: ООО «И.Д.Вильямс», 2007. - 1168 с.
68. Никитин С. И., Рождественский Ю. В., Юрьев М. С., Воронов А. А. Математические модели развития обслуживания объектов морской техники // ТТПС. 2010. №11. С. 18-23.
69. Ситник С. М., Булгаков О. М., Пакляченко М. Ю. Корректная разрешимость системы линейных алгебраических уравнений с
дополнительными условиями // Вестник ВИ МВД России. 2016. №2. С. 155-165.
70. Феррара А., Мак-Дональд М. Программирование web-сервисов для .NET // монография - СПб.: Питер, 2003. - 422 с.
71. Федотов В. Х., Новожилова Н. В. Высокоточный метод численного решения дифференциальных уравнений // Вестник ЧГУ. 2016. №1. С. 174184.
72. Шокин Ю. И., Федотов А. М., Жижимов О. Л. Технологии создания распределенных информационных систем для поддержки научных исследований // ЖВТ. 2015. №5. С. 251-274.
73. Гридин В. Н., Анисимов В. И., Альмаасали С. А. Применение метода диакоптики для моделирования и расчета больших систем // Проблемы управления. 2014. №4. С. 9-13.
74. Хайнеман Р. PSPICE Моделирование работы электронных схем // монография -M.: Издательство ДМК, 2005. - 327с.
75. Хабибулин И. Разработка Web-служб средствами Java // монография -СПб.: БХВ-Петербург, 2003. - 400 с.
76. Малина А.С. Математическое и программное обеспечение схемотехнического проектирования на основе блочно-иерархического Макромоделирования // Автореф. канд. дисс. СПбГЭТУ «ЛЭТИ». Санкт-Петербург. 2018. - 18 с.
ПриложениеП1. Листинг 1. Сетевая служба для расчета чувствительности передаточных функций WebService VARY
using System;
using System.Collections .Generic; using System.Linq; using System.Web; using System.Web.Services; /// Сводное описание для WebService [WebService(Namespace = "http://tempuri.org/", Description = "Чувствительность схемных функций", Name = "VARY")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public static Complex cn = new Complex(0, 0); public static Complex[] WD; public static Complex[] WU; public static Complex[] WL; public static Complex[] WD1; public static Complex[] WU1; public static Complex[] WL1; public static Complex[] SZ; public static Complex[] SZ2; public static Complex[] X; public static Complex[] X2;
public WebService () { }
[WebMethod(Description = "Выполняет расчет чувствительности передаточных функций")] public float[] getCalcV(int[] In_r, float[] z_r, int nr, int[] In_c, float[] z_c, int nc, int[] In_l, float[] z_l, int nl, int[] In_ju, float[] Z_ju, int nju, int[] In_eu, float[] Z_eu, int neu, int[] In_ji, float[] Z_ji, int nji, int[] In_ei, float[] Z_ei, int nei, int[] In_tr, float[] Z_tr, int ntr, int[] In_tri, float[] z_tri, int ntri, int[] In_tb, float[] Z_tb, int ntb, int[] In_tu, float[] Z_tu, int ntu, int[] In_ou, float[] Z_ou, int nou,int nv, int lp, int lm, String tv, int kv, float[] f, int nf)
{Преобразование одномерных массивов в двумерные GV.in_r = new int[nr + 1, 2];
for (int i = 1; i <= nr; i++) {
GV.in_r[i,0] = In_r[i];
GV.in_r[i,1] = In_r[nr + i];
}
GV.in_c = new int[nc + 1,2]; for (int i = 1; i <= nc; i++)
GV.in_c[i,0] = In_c[i]; GV.in_c[i,l] = In_c[nc + i];
I
GV.in_l = new int[nl + 1,2]; for (int i = 1; i <= nl; i++) I
GV.in_l[i,0] = In_l [i] ; GV.in_l[i,l] = In_l [nl + i];
I
GV.in_ju = new int[nju + 1,4]; for (int i = 1; i <= nju; i++) I
GV.in_ju[i,0] = In_ju[i]; GV.in_ju[i,l] = In_ju[nju + i]; GV.in_ju[i,2] = In_ju[2*nju + i]; GV.in_ju[i,3] = In_ju[3*nju + i];
I
GV.z_ju = new double[nju + 1,3]; for (int i = 1; i <= nju; i++) I
GV.z_ju[i,0] = Z _ju[i]; GV.z_ju[i,l] = Z _ju[nju + i]; GV.z_ju[i,2] = Z _ju[2*nju + i];
I
GV.in_eu = new int[neu + 1,4]; for (int i = 1; i <= neu; i++) I
GV.in_eu[i,0] = In_eu[i]; GV.in_eu[i,l] = In_eu[neu + i]; GV.in_eu[i,2] = In_eu[2*neu + i]; GV.in_eu[i,3] = In_eu[3*neu + i];
I
GV.z_eu = new double[neu + 1,3]; for (int i = 1; i <= neu; i++) I
GV.z_eu[i,0] = Z_eu[i]; GV.z_eu[i,l] = Z_eu[neu + i]; GV.z_eu[i,2] = Z_eu[2*neu + i];
I
GV.in_ji = new int[nji + 1,4]; for (int i = 1; i <= nji; i++) I
GV.in_ji[i,0] = In__j i [i] ;
GV.in_ji[i,1] = In_ji[nji + i]; GV.in_ji[i,2] = In_ji[2*nji + i]; GV.in_ji[i,3] = In_ji[3*nji + i];
}
GV.z_ji = new double[nji + 1,3];
for (int i = 1; i <= nji; i++) {
GV.z_ji[i,0] = Z_ji[i]; GV.z_ji[i,1] = Z_ji[nji + i]; GV.z_ji[i,2] = Z_ji[2*nji + i];
}
GV.in_ei = new int[nei + 1,4];
for (int i = 1; i <= nei; i++) {
GV.in_ei[i,0] = In_ei[i]; GV.in_ei[i,1] = In_ei[nei + i]; GV.in_ei[i,2] = In_ei[2*nei + i]; GV.in_ei[i,3] = In_ei[3*nei + i];
}
GV.z_ei = new double[nei + 1,3];
for (int i = 1; i <= nei; i++) {
GV.z_ei[i,0] = Z_ei[i]; GV.z_ei[i,1] = Z_ei[nei + i]; GV.z_ei[i,2] = Z_ei[2*nei + i];
}
GV.in_tr = new int[ntr + 1,4];
for (int i = 1; i <= ntr; i++) {
GV.in_tr[i,0] = In_tr[i]; GV.in_tr[i,1] = In_tr[ntr + i]; GV.in_tr[i,2] = In_tr[2*ntr + i]; GV.in_tr[i,3] = In_tr[3*ntr + i];
}
GV.z_tr = new float[ntr + 1,5];
for (int i = 1; i <= ntr; i++) {
GV.z_tr[i,0] = Z_tr[i]; GV.z_tr[i,1] = Z_tr[ntr + i]; GV.z_tr[i,2] = Z_tr[2*ntr + i]; GV.z_tr[i,3] = Z_tr[3*ntr + i]; GV.z_tr[i,4] = Z_tr[4*ntr + i];
GV.in_tri = new int[ntri + 1,4];
for (int i = 1; i <= ntri; i++) I
GV.in_tri[i,0] = In_tri[i]; GV.in_tri[i,1] = In_tri [ntri + i]; GV.in_tri[i,2] = In_tri[2*ntri + i]; GV.in_tri[i,3] = In_tri[3*ntri + i];
I
GV.in_oui = new int[noui + 1,4];
for (int i = 1; i <= noui; i++) I
GV.in_oui[i,0] = In_oui[i]; GV.in_oui[i,1] = In_oui[noui + i]; GV.in_oui[i,2] = In_oui[2*noui + i]; GV.in_oui[i,3] = In_oui[3*noui + i];
I
GV.in_tb = new int[ntb + 1,4];
for (int i = 1; i <= ntb; i++) I
GV.in_tb[i,0] = In_tb[i]; GV.in_tb[i,1] = In_tb[ntb + i]; GV.in_tb[i,2] = In_tb[2*ntb + i]; GV.in_tb[i,3] = In_tb[3*ntb + i];
I
GV.z_tb = new float[ntb + 1,6];
for (int i = 1; i <= ntb; i++) I
GV.z_tb[i,0] = Z_tb[i]; GV.z_tb[i,1] = Z_tb[ntb + i]; GV.z_tb[i,2] = Z_tb[2*ntb + i]; GV.z_tb[i,3] = Z_tb[3*ntb + i]; GV.z_tb[i,4] = Z_tb[4*ntb + i]; GV.z_tb[i,5] = Z_tb[5*ntb + i];
I
GV.in_tu = new int[ntu + 1,4];
for (int i = 1; i <= ntu; i++) I
GV.in_tu[i,0] = In_tu[i];//Зарезервирован (см DYN2) GV.in_tu[i,1] = In_tu[ntu + i]; GV.in_tu[i,2] = In_tu[2*ntu + i]; GV.in_tu[i,3] = In_tu[3*ntu + i];
I
GV.z_tu = new float[ntu + 1,5];
for (int i = 1; i <= ntu; i++) I
GV.z_tu[i,0] = Z_tu[i]; GV.z_tu[i,l] = Z_tu[ntu + i]; GV.z_tu[i,2] = Z_tu[2*ntu + i]; GV.z_tu[i,3] = Z_tu[3*ntu + i]; GV.z_tu[i,4] = Z_tu[4*ntu + i];
I
GV.in_ou = new int[nou + 1,5]; for (int i = 1; i <= nou; i++) I GV.in_ou[i,0] = In_ou[i]; GV.in_ou[i,l] = In_ou[nou + i]; GV.in_ou[i,2] = In_ou[2*nou + i]; GV.in_ou[i,3] = In_ou[3*nou + i]; GV.in_ou[i,4] = In_ou[4*nou + i];
I
GV.z_ou = new float[nou + 1,4]; for (int i = 1; i <= nou; i++) I GV.z_ou[i,0] = Z_ou[i]; GV.z_ou[i,l] = Z_ou[nou + i]; GV.z_ou[i,2] = Z_ou[2*nou + i]; GV.z_ou[i,3] = Z_ou[3*nou + i];
I
GV.z_r = z_r; GV.z_c = z_c; GV.z_l = z_l; GV.z_tri = z_tri; GV.f = f; GV.nv = nv; GV.nr = nr; GV.nc = nc; GV.nl = nl; GV.nju = nju; GV.neu = neu; GV.nji = nji; GV.nei = nei; GV.ntr = ntr; GV.ntri = ntri; GV.noui = noui; GV.ntb = ntb; GV.ntu = ntu; GV.nou= nou; GV.nf = nf; GV.lp = lp;
GV.lm = lm; GV.kv = kv; GV.tv = tv; float[] Out; Out = new float[4*GV.nv*GV.nf + 1];
int ne = 1;//Единственный источник сигнала int n = nv+nl+nji+ntri+2*noui+2*nei+neu+2*ntr+ne; int[]P=new int[n+1]; int[]ERC=new int[n+1]; int[] WJI; int[] SI;
int[] SI2; {
short[,]C=new short [n+1,n+3]; for(int i=0;i<=n;i++) for(int j=0;j<=n+2;j++) C[i,j]=0; GV.n=nv; sform_r(C); sform_c(C); sform_l(C); sform_ju(C); sform_eu(C); sform_ji(C); sform_ei(C); sform_tr(C); sform_tri(C); sform_oui(C); sform_tb(C); sform_tu(C); sform_ou(C); sform_s(C); sform_sv(C); fnp(C); slu(C);
us(C, GV.nu, GV.ns, GV.ns2); WJI = new int[GV.nu + 1]; SI = new int[GV.ns + 1]; SI2 = new int[GV.ns2 + 1];
cord(C,WJI,ERC,SI,SI2,P); }
WD = new Complex[n+1]; WL = new Complex[GV.nu + 1]; WU = new Complex[GV.nu + 1];
SZ = new Complex[GV.ns + 1]; SZ2 = new Complex[GV.ns2 + 1]; X = new Complex[n+1]; X2 = new Complex[n+1]; GV.sim=new float[nv+1]; GV.sia=new float[nv+1]; GV.sire=new float[nv+1]; GV.siim=new float[nv+1]; for(int kf=1 ;kf<=nf;kf++) I GV.s=new Complex(0.0,2*3.141593*f[kf]); for(int i=1;i<=n;i++) WD[i]=cn; for (int i = 1; i <= GV.nu; i++) IWL[i]=cn; WU[i]=cn;I for(int i=0;i<=n;i++)
I
X[i]=cn;
X2[i]=cn;
I
for (int i = 1; i <= GV.ns; i++)
SZ[i]=cn; for (int i = 1; i <= GV.ns2; i++)
SZ2[i]=cn; GV.n=nv;
form_r(WJI, ERC, P, WD, WU, WL); form_c(WJI, ERC, P, WD, WU, WL); form_l(WJI, ERC, P, WD, WU, WL);//0 form_ju(WJI, ERC, P, WD, WU, WL); form_eu(WJI, ERC, P, WD, WU, WL);//1 form_ji(WJI, ERC, P, WD, WU, WL);//2 form_ei(WJI, ERC, P, WD, WU, WL);//3 form_tri(WJI, ERC, P, WD, WU, WL);//4 form_oui(WJI, ERC, P, WD, WU, WL);//5 form_tr(WJI, ERC, P, WD, WU, WL);//6 form_tb(WJI, ERC, P, WD, WU, WL); form_tu(WJI, ERC, P, WD, WU, WL); form_ou(WJI, ERC, P, WD, WU, WL); //...
form_s(WJI,ERC, P, WD, WU, WL, SI, SZ);//7 lu(WJI,ERC,WD,WU,WL); xp(WJI, ERC, SI, P, X, GV.ns, WD, WU, WL, SZ); GV.X=X;
form_sv(SI2, P, SZ2);
xp(WJI, ERC, SI2, P, X2, GV.ns2, WD, WU, WL, SZ2); GV.X2=X2;
sfv();
for (int k = 1; k <= GV.nv; k++) { Out[k + 4*GV.nv*(kf-1)] = GV.sim[k]; Out[k + GV.nv + 4*GV.nv*(kf-1)] = GV.sia[k]; Out[k + 2*GV.nv + 4*GV.nv*(kf-1)] = GV.sire[k]; Out[k + 3*GV.nv + 4*GV.nv*(kf-1)] = GV.siim[k];
}
} //end for kf return Out; } //end getCalcV()
public void sform_r(short[,] C) {
int i, j;
for (int kr = 1; kr <= GV.nr; kr++)
for (int l = 0; l <= 1; l++) {
i = GV.in_r[kr,l]; if (i == 0) continue;
for (int m = 0; m <= 1; m++) {
j = GV.in_r[kr,m]; if (j == 0) continue; C[i,j] = 1;
}
}
}
public void sform_c(short[,] C) {
int i, j;
for (int kc = 1; kc <= GV.nc; kc++)
for (int l = 0; l <= 1; l++) {
i = GV.in_c[kc,l]; if (i == 0) continue;
for (int m = 0; m <= 1; m++) {
j = GV.in_c[kc,m]; if (j == 0) continue;
C[ij] = 1;
}
}
}
public void sform_l(short[,] C) { int i, j;
for (int kl = 1; kl <= GV.nl; kl++) {
i = GV.n + kl; C[i,i] = 1;
for (int m = 0; m <= 1; m++) {
j = GV.in_l[kl,m]; if (j == 0) continue;
C[ij] = 1; C[j,i] = 1;
}
}
GV.n += GV.nl;
}
public void sform_ju(short[,] C) { int i, j;
for (int kju = 1; kju <= GV.nju; kju++)
for (int l = 2; l <= 3; l++) {
i = GV.in_ju[kju,l]; if (i == 0) continue;
for (int m = 0; m <= 1; m++) {
j = GV.in_ju[kju,m]; if (j == 0) continue;
C[ij] = 1; C[j,i] = 1;
}
}
}
public void sform_eu(short[,] C) { int i, j;
for (int keu = 1; keu <= GV.neu; keu++) {
i = GV.n + keu;
for (int m = 0; m <= 3; m++) {
j = GV.in_eu[keu,m]; if (j == 0) continue;
C[ij] = 1; C[j,i] = 1;
}
}
GV.n += GV.neu;
public void sform_ji(short[,] C) { int i, j; for (int kji = 1; kji <= GV.nji; kji++) { j = GV.n + kji;
for (int l = 0; l <= 3; l++) {
i = GV.in_ji[kji,l]; if (i == 0) continue;
C[ij] = 1; C[j,i] = 1;
}
}
GV.n += GV.nji;
}
public void sform_ei(short[,] C) { int i, j1, j2; for (int kei = 1; kei <= GV.nei; kei++) { j1 = GV.n + kei; j2 = GV.n + GV.nei + kei; for (int l = 0; l <= 3; l++) { i = GV.in_ei[kei,l]; if (i == 0) continue; C[i,j 1] = 1; C[ij2] = 1; C[j1,i] = 1; C[j2,i] = 1; C[j1j2] = 1; C[j2,j1] = 1;
}
}
GV.n += 2 * GV.nei;
}
public void sform_tri(short[,] C) { int i, j;
for (int ktri = 1; ktri <= GV.ntri; ktri++) { i = GV.n + ktri; for (int m = 0; m <= 3; m++) { j = GV.in_tri[ktri,m]; if (j == 0) continue;
C[ij] = 1; C[j,i] = 1;
}
GV.n += GV.ntri;
public void sform_tr(short[,] C) { int i, j1, j2; for (int ktr = 1; ktr <= GV.ntr; ktr++) { j1 = GV.n + ktr; j2 = GV.n + GV.ntr + ktr; for (int l = 0; l <= 3; l++) { i = GV.in_tr[ktr,l]; if (i == 0) continue; C[i,j 1] = 1; C[ij2] = 1; C[j1,i] = 1; C[j2,i] = 1; C[j1j2] = 1; C[j2,j1] = 1; C[j1,j1] = 1; C[j2,j2] = 1;
}
}
GV.n += 2 * GV.ntr;
}
public void sform_tb(short[,] C) { int i, j, ii, jj; for (int ktb = 1; ktb <= GV.ntb; ktb++) for (i = 1; i <= 3; i++) { ii = GV.in_tb[ktb,i]; if (ii == 0) continue;
for (j = 1; j <= 3; j++) {
jj = GV.in_tb[ktb,j]; if (jj == 0) continue; C[ii,jj] = 1;
}
}
}
public void sform_tu(short[,] C) { int i, j, ii, jj; for (int ktu = 1; ktu <= GV.ntu; ktu++) for (i = 1; i <= 3; i++) { ii = GV.in_tu[ktu,i]; if (ii == 0) continue; for (j = 1; j <= 3; j++)
{ jj = GV.in_tu[ktu,j]; if (jj == 0) continue; C[ii,jj] = 1;
}
}
}
public void sform_ou(short[,] C) { int i, j, ii, jj; for (int kou = 1; kou <= GV.nou; kou++) for (i = 1; i <= 4; i++) { ii = GV.in_ou[kou,i]; if (ii == 0) continue;
for (j = 1; j <= 4; j++) {
jj = GV.in_ou[kou,j]; if (jj == 0) continue; C[ii,jj] = 1;
}
}
}
public void sform_s(short[,] C) { int i, j; int[] in_s = new int[2]; in_s[0] = GV.lp; in_s [1] = GV.lm; i = GV.n + 1; C[i,0] = 1;
for (int m = 0; m <= 1; m++) { j = in_s[m]; if (j == 0) continue; C[i,j] = 1; C[j,i] = 1;
}
GV.n += 1; //Единственный источник
}
public void sform_sv(short[,] C) { int i, j, k, l; if ^.^=="К")//Источник тока { k = GV.kv; for (l = 0; l <= 1; l++) { i = GV.in_r[k,l]; if (i == 0) continue; C[i, GV.n + 2] = 1;
else if (GV.tv=="C") //Источник тока { k = GV.kv; for (l = 0; l <= 1; l++) { i = GV.in_c[k,l]; if (i == 0) continue; C[i,GV.n + 2] = 1;
}
}
else if (GV.tv=-Ъ") //Источник напряжения { k = GV.kv; i = GV.nv + ^/Л-выходной ток EU C[i,GV.n + 2] = 1;
}
else if ^.^=="Ш")//Источник тока { k = GV.kv; for (l = 2; l <= 3; l++) { i = GV.in_ju[k,l]; //i-выходной ток JU if (i == 0) continue; C[i,GV.n + 2] = 1;
}
}
else if (GV.tv=="EU")//Источник напряжения { k = GV.kv; i = GV.nv + GV.nl + ^//ьвыходной ток EU C[i,GV.n + 2] = 1;
}
else if (GV.'^-'jry/Иеточник тока { k = GV.kv; for (l = 2; l <= 3; l++) { i = GV.in_ji[k,l]; //i-выходной ток JI if (i == 0) continue; C[i,GV.n + 2] = 1;
}
}
else if (GV.tv=-'ЕГ'у/Источник напряжения {
k = GV.kv;
i = GV.nv + GV.nl + GV.neu + GV.nji + GV.nei + k; //i-выходной ток EI C[i,GV.n + 2] = 1;
}
}
public void slu(short[,] C) { int l, i, j, ni;
short t;
for (int k = 1; k < GV.n; k++) { ni = (k <= GV.nv) ? GV.nv : GV.n; l = k;
for (i = k + 1; i <= ni; i++)
if (C[i,GV.n + 1] < C[l,GV.n + 1]) l = i; if (l != k)
(for (j = 0; j <= GV.n + 2; ]++)//Дополнительный столбец!! { t = C[lj]; C[l,j] = C[kj]; C[k,j] = t;
}
for (i = 0; i <= GV.n; i++) { t = C[i,l]; C[i,l] = C[i,k]; C[i,k] = t;
}
}
for (j = k + 1; j <= GV.n; j++) { if (C[k,j] == 0) continue; for (i = k + 1; i <= GV.n; i++) if ((C[i,k] != 0) && (C[ij] == 0)) { C[i,j] = 1; C[i,GV.n + 1] += 1;
}
}
for (i = k + 1; i <= GV.n; i++) if (C[i,k] != 0) C[i,GV.n + 1] -= 1;
}
}
public void fnp(short[,] C) { short i, k; for (i = 1; i <= GV.n; i++) { k = 0; for (int j = 1; j <= GV.n; j++)
if ((C[ij] != 0) && (i !=j)) k += 1; C[i,GV.n + 1] = k; C[0,i] = i;
}
}
public void us(short[,] C, int nu, int ns, int ns2) { nu = 0; ns = 0;
ns2 = 0;
for (int i = 1; i <= GV.n; i++) { for (int j = i + 1; j <= GV.n; j++) if (C[i,j] != 0) nu += 1; if (C[i,0] != 0) ns += 1; if (C[i,GV.n + 2] != 0) ns2 += 1;
}
GV.nu = nu; GV.ns = ns; GV.ns2 = ns2;
}
public void cord(short[,] C, int[] WJI, int[] ERC, int[] SI, int[] SI2, int[] P) { int i, j, aw = 0; int l = 0, l2 = 0;
for (i = 1; i <= GV.n; i++) {
ERC[i] = aw + 1; for (j = i + 1; j <= GV.n; j++) if (C[ij] != 0) { aw += 1; WJI[aw] = j; } if (C[i,0] != 0) { l += 1; SI[l] = i; } if (C[i,GV.n + 2] != 0) { l2 += 1; SI2[l2] = i; }
}
for (i = 0; i <= GV.n; i++) P[i] = С[0д];//Теперь С можно удалять! } // Шаг 1
public void form_r(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL) { double y, g; int i, j, ii, jj, a;
for (int kr = 1; kr <= GV.nr; kr++) { y = 1 / GV.z_r[kr]; for (int l = 0; l <= 1; l++) { i = GV.in_r[kr,l]; if (i == 0) continue; ii = i;
while (P[ii] != i) ii = P[ii]; for (int m = 0; m <= 1; m++) { j = GV.in_r[kr,m];
if (j == 0) continue;
jj = j;
while (P[jj] !=j) jj = P[jj];
g = (1 - 2 * l) * (1 - 2 * m); if (il == JJ) WD[ii] += g * y; //WD[ii] = z.add(WD[ii], g * y); else if (ii < JJ) { a = ERC[ii]; while (WJI[a] !=JJ) a++; WU[a] += g * y; WL[a] += g * y;
}
}
}
}
}
public void form_c(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL)
{ Complex y = new Complex(); double g; int i, J, ii, JJ, a;
for (int kc = 1; kc <= GV.nc; kc++) { y = GV.s * GV.z_c[kc]; for (int l = 0; l <= 1; l++) { i = GV.in_c[kc,l]; if (i == 0) continue; ii = i;
while (P[ii] != i) ii = P[ii]; for (int m = 0; m <= 1; m++) { J = GV.in_c[kc,m]; if (J == 0) continue;
JJ = J;
while (P[JJ] !=J) JJ = PJ g = (1 - 2 * l) * (1 - 2 * m); if (ii == JJ)
WD[ii] += g * y; else
if (ii < JJ)
{ a = ERC[ii]; while (WJI[a] !=JJ) a++; WU[a] += g * y; WL[a] += g * y;
}
}
public void form_l(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL)
{ Complex zs = new Complex(); double g; int i, j, ii, jj, a;
for (int kl = 1; kl <= GV.nl; kl++) { i = GV.n + kl; zs = GV.s * GV.z_l[kl]; ii = i;
while (P[ii] != i) ii = P[ii]; WD[ii] = zs; for (int m = 0; m <= 1; m++) { j = GV.in_l[kl,m];
if (j == 0) continue; jj = j;
while (P[jj] !=j) jj = P[jj]; a = ERC[jj];
while (WJI[a] != ii) a++; g = 1 - 2 * m; WL[a]-=g; WU[a]+=g;
}
}
GV.n += GV.nl;
}
public void form_ju(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL)
{ Complex ys = new Complex(); double g; int i, j, ii, jj, a;
for (int kju = 1; kju <= GV.nju; kju++)
{ ys=GV.z_ju[kju,0]*(1+GV.s*GV.z_ju[kju,1])/(1+GV.s*GV.z_ju[kju,2]); for (int l = 2; l <= 3; l++) { i = GV.in_ju[kju,l]; if (i == 0) continue; ii = i;
while (P[ii] != i) ii = P[ii]; for (int m = 0; m <= 1; m++) { j = GV.in_ju[kju,m];
if (j == 0) continue; jj = j;
while (P[jj] !=j) jj = P[jj];
g = (5 - 2 * l) * (1 - 2 * m); if (ii == JJ) WD[ii]+=g*ys; else if (ii < JJ) { a = ERC[ii]; while (WJI[a] !=JJ) a++; WU[a]+=g*ys;
}
else
{ a = ERC[JJ]; while (WJI[a] != ii) a++; WL[a]+=g*ys;
}
}
}
}
}
public void form_eu(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL)
{ Complex ms = new Complex(); double g; int i, J, ii, JJ, a;
for (int keu = 1; keu <= GV.neu; keu++) {
ms=GV.z_eu[keu,0]*(1+GV.s*GV.z_eu[keu,1])/(1+GV.s*GV.z_eu[keu,2]);
i = GV.n + keu;
ii = i;
while (P[ii] != i) ii = P[ii]; for (int m = 0; m <= 3; m++) { J = GV.in_eu[keu,m]; if (J == 0) continue;
JJ = J;
while (P[JJ] !=J) JJ = P[JJ]; a = ERC[JJ];
while (WJI[a] != ii) a++; if (m < 2) { g = 1 - 2 * m; WL[a]+=g*ms;
}
else
{ g = 5 - 2 * m; WL[a]-=g; WU[a]+=g;
GV.n += GV.neu;
public void form_ji(int[] WJI, int[] ERC, int[] P, Complex[] WD, Complex[] WU, Complex[] WL)
{ Complex bs = new Complex(); double g, d; int i, j, ii, jj, a;
for (int kji = 1; kji <= GV.nji; kji++)
{ bs=GV.z_eu[kji,0]*(1+GV.s*GV.z_ji[kji,1])/(1+GV.s*GV.z_ji[kji,2]);
j = GV.n + kji; jj = j;
while (P[jj] !=j) jj = P[jj]; for (int l = 0; l <= 3; l++) { i = GV.in_ji[kji,l]; if (i == 0) continue; ii = i;
while (P[ii] != i) ii = P[ii]; a = ERC[ii];
while (WJI[a] !=jj) a++; if (l < 2) { g = 1 - 2 * l; WU[a]+=g; WL[a]-=g;
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.